এক্সএইচটিএমএল 5 কেন নয়?


53

সুতরাং, এইচটিএমএল 5 হ'ল বিগ স্টেপ ফরোয়ার্ড, আমাকে বলা হয়েছে। আমরা যে সর্বশেষ পদক্ষেপটি নিয়েছিলাম যেটি সম্পর্কে আমি অবগত ছিল তা হ'ল এক্সএইচটিএমএল প্রবর্তন। সুবিধাগুলি সুস্পষ্ট ছিল: সরলতা, কঠোরতা, ওয়েব পৃষ্ঠাগুলির সাথে কাজ করার জন্য স্ট্যান্ডার্ড এক্সএমএল পার্সার এবং জেনারেটর ব্যবহারের ক্ষমতা এবং আরও অনেক কিছু।

কী আশ্চর্যজনক এবং হতাশার পরে, সেই HTML5 সমস্ত পিছনে ঘূর্ণায়মান: আবার আমরা একটি অ-মানক সিনট্যাক্স নিয়ে কাজ করছি; আবারও, আমাদের historicalতিহাসিক লাগেজ এবং পার্সিং জটিলতা মোকাবেলা করতে হবে; আবার আমরা আমাদের স্ট্যান্ডার্ড এক্সএমএল লাইব্রেরি, পার্সার, জেনারেটর বা ট্রান্সফর্মার ব্যবহার করতে পারি না; এবং এক্সএমএল দ্বারা প্রবর্তিত সমস্ত সুবিধাগুলি (এক্সটেনসিবিলিটি, নেমস্পেসস, স্ট্যান্ডার্ডাইজেশন ইত্যাদি), যে ডব্লু 3 সি এক দশক ধরে ভাল কারণে চালিয়েছে, তা হারিয়ে গেছে।

ভাল, আমাদের কাছে এক্সএইচটিএমএল 5 আছে তবে মনে হয় এটি এইচটিএমএল 5 এনকোডিংয়ের মতো জনপ্রিয়তা অর্জন করতে পারেনি। উদাহরণস্বরূপ, এই তাই প্রশ্ন দেখুন । এমনকি এইচটিএমএল 5 স্পেসিফিকেশনটি বলে যে এক্সএইচটিএমএল 5 নয়, HTML5 "বেশিরভাগ লেখকের জন্য প্রস্তাবিত ফর্ম্যাট the"

আমার কি আমার সত্য ভুল আছে? অন্যথায়, আমি কেন এইভাবে অনুভব করি? লোকেরা এইচটিএমএল 5 এর চেয়ে এইচটিএমএল 5 বেছে নিচ্ছে কেন?


6
+1 আমি দেখতে পাচ্ছি যে এইচটিএমএল 5 এর সমস্ত এক্সএমএল সুবিধা হারাতে পেরে আমি হতাশ হয়েছি।
আর্সেনী মরজেনকো

ভাল প্রশ্ন মানা, ভাল করা।
কনরাড রুডল্ফ

1
আমি আশা করি যে আমিই একা নন যিনি এইচটিএমএল 5 এর সমস্ত এক্সএমএলের অসুবিধাগুলি হারাতে পেরে খুশি। উদাহরণস্বরূপ, আসুন বৈধ এইচটিএমএল 5 টি বৈধ এক্সএইচটিএমএলের সাথে তুলনা করি। এইচটিএমএল 5 <!DOCTYPE html>Hello World<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"><html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml"><head><title></title></head><body>Hello World</body></html>
:,

@zzzzBov, আপনি খুব খুশি যে একমাত্র তিনিই নন এবং এই কারণেই আমি এই প্রশ্নটি প্রথম স্থানে জিজ্ঞাসা করেছি। এছাড়াও: আপনি সিরিয়াসলি লিখবেন না <!DOCTYPE html>Hello World, তাই না? এই যাচাইকারী উপর চেষ্টা করুন ।
জামেশফিশার

1
@eegg, দৃশ্যত আপনার উপর বৈশিষ্ট পড়েন নি ঐচ্ছিক শুরু ট্যাগ , কারণ আমি গম্ভীরভাবে হবে লিখতে <!DOCTYPE html>Hello World!, এটা পুরোপুরি বৈধ HTML5 এর হিসাবে। সংক্ষিপ্ত দলিলগুলির অর্থ ওভারহেড কম ব্যান্ডউইট যা বড় সংস্থাগুলির জন্য গুরুত্বপূর্ণ সঞ্চয়গুলির সমান (আপনি কি দেখেছেন গুগল www.google.com- এ কী পাঠায়?)।
zzzzBov

উত্তর:


25

আমি কীভাবে আমরা এখানে এসেছি তা পড়ার পরামর্শ দেব ? । মার্ক পিলগ্রিম এইচটিএমএল 5 পর্যন্ত HTML এর একটি দুর্দান্ত এবং সংক্ষিপ্ত ইতিহাস দেয়।

মূলত যদিও, আমার বোধগম্যতা হল যে অনেক ওয়েব পৃষ্ঠাগুলি এমনকি এক্সএইচটিএমএল এর "এক্স" এর সুবিধা নেয় না কারণ তারা এর জন্য যথাযথ এমআইএমআই টাইপ নির্দিষ্ট করে না।


18
হ্যাঁ। আমার সেই গল্পটির সংক্ষিপ্তসারটি হ'ল, "আরে, স্পেসিফিকেশনটির সাথে কারওই মানা হচ্ছে না Maybe সম্ভবত আমরা তাদের নির্দিষ্টকরণের সাথে মেনে চলতে পারি যে লোকেদের যে কোনও ত্রুটি তারা করতে পারে can তারপরে অবশেষে আমাদের সমস্ত নথি ত্রুটিমুক্ত হবে will এবং মানদণ্ড অনুসারে। " প্রাথমিক অনুমানের সাথে কোনও স্পেসিফিকেশন লেখার মাধ্যমে কোনও ভালই আসতে পারে না যে নির্দিষ্টকরণগুলিকে কেউ সম্মান করে না।
জামেশফিশার

1
@ আইজিজি, আপনার শেষ লাইনটি আপনার অজ্ঞতাটিকে বাস্তবতার প্রতি দেখায়। অনেকের ইতিমধ্যে কারও নিখুঁত ধারণা ধরেই এসেছে । "আপনি যদি কোনও ভুল করেন তবে সবকিছুই ভেঙে যায়" বলে অনুমানের পরিবর্তে এটির পরিবর্তে বলা হয়, "আপনি যদি [এই ধরণের ভুল] করেন তবে [এই ফলাফল] যা হওয়া উচিত"। আমাদের তাকগুলিতে কতটি বই থাকবে যদি তাদের প্রকাশের জন্য তাদের 100% সঠিক বানান, বিরামচিহ্ন এবং ব্যাকরণ থাকতে হয়?
zzzzBov

6
@zzzzBov, প্রকাশিত বইগুলির সাথে আপনার উপমা অদ্ভুত। এইচটিএমএল বিশ্লেষককে কেন এখানে [অন্য কোনও ভাষায়] পার্সারের চেয়ে ক্ষমা করা উচিত, যেখানে কোনও সিন্ট্যাক্স ত্রুটি ত্রুটির বার্তার সাথে দেখা হয়? আমাদের সি সংকলকরা ভাঙা বাক্যবিন্যাসকে নিঃশব্দে নতুন করে ব্যাখ্যা করার জন্য যথাসাধ্য চেষ্টা করলে আমরা যে বিশৃঙ্খলায় থাকব তা কল্পনা করুন।
জামেশফিশার

@ আইজিজি, আমি অন্য কোনও ভাষার পার্সার যদি ক্ষতিকারক পদ্ধতিতে সিনট্যাক্স ত্রুটির প্রতিক্রিয়া দেখায় তবে কী হবে তা আমি চিত্রিত করতে পারি: আমরা ভুল জায়গায় রাখা বন্ধনী এবং নিখোঁজ আধা কলোন নিখরচায় কম সময় ব্যয় করব এবং ফাংশনাল কোড টাইপ করতে বেশি সময় ব্যয় করব। আমি বলছি না যে ভাল প্রোগ্রামাররা এখনও তাদের প্রোগ্রামগুলি সুগঠিত করে না, তবে এটি অবশ্যই মধ্যম প্রোগ্রামারদের কার্য কোড লিখতে সহায়তা করবে । একটি Cপ্রোগ্রাম সম্ভবত সম্ভবত একটি Pythonঅর্ধ-কলোন এবং বন্ধনী অদৃশ্য হয়ে যেতে পারে যে কোনও প্রোগ্রামের সাথে অনেক বেশি অনুরূপ খুঁজছেন এবং যা অবশিষ্ট থাকবে তা হ'ল গুরুত্বপূর্ণ কোড।
zzzzBov

"অনুরোধ করা সংস্থানটি /past.htmlএই সার্ভারে আর উপলব্ধ নেই এবং কোনও ফরওয়ার্ডিং ঠিকানা নেই” "
মার্কো

6

আপনি যদি এক্সএমএল সামঞ্জস্যপূর্ণ এইচটিএমএল 5 তৈরি করেন এবং xML সহ মাইম প্রকার হিসাবে প্রেরণ করেন, তবে এক্সএমএল পার্সার সমস্ত ভাল জাজ ফিরে আসার জন্য ব্যবহার করা হবে;)

সম্পাদনা: আরও কিছু তথ্যের জন্য দেখুন: http://wiki.whatwg.org/wiki/HTML_vs._XHTML


"গুড জাজ" সংজ্ঞা দিন। এএফএইচএমএলকে এক্সএমএল হিসাবে পার্স করার কোনও সুবিধা নেই। উত্পন্ন করা ও রূপান্তর করা অন্যান্য বিষয়, সেগুলি সুবিধাজনক হতে পারে তবে নিজেই পার্সিং কোনও সুবিধা দেয় না, কেবল ডাউনসাইড (এটি প্রসাধনী বাগগুলি মারাত্মক করে তোলে)।
জোয়ারি সেব্রেচটস

3
@ জোয়েরি বিভিন্ন কারণে বিভিন্ন কারণে (এটি কঠোরভাবে পার্সিংয়ের ফলে ত্রুটিগুলি সন্ধান করা, আরও ভাল সরঞ্জাম সহায়তা সহজলভ্য কারণ সরঞ্জামগুলি লিখতে সহজ, ইনপুট সহজতরকরণ ইত্যাদি) সহজেই সহজেই পার্স করা আমার বইয়ের একটি সুবিধা an
কনরাড রুডল্ফ

আপনি স্ট্যান্ডার্ড এইচটিএমএলগুলিতে মেশিন এক্সএইচটিএমএলের মতো অন্যান্য এক্সএমএল বিষয়বস্তুগুলির মতো অনুপলব্ধ কিছু কার্যকারিতা সরবরাহ করতে পারেন এবং উদাহরণ হিসাবে উদাহরণস্বরূপ সমস্ত এক্সএমএল ক্রিয়াকলাপ, নেমস্পেস ব্যবহার করতে পারেন। এইচটিএমএল পার্সার খারাপ উত্স কোডটি ঠিক করতে সক্ষম হয় - প্রসাধনী বাগগুলি আপনি যেমন ডাকছেন- তবে এই ফিক্সগুলির একটি মূল্য রয়েছে। দামটি হ'ল ব্রাউজারটি কোডে এটি কী সন্ধান করতে পারে তা জানতে হবে, সুতরাং এটি উপলব্ধ ক্রিয়াকলাপগুলিকে সীমিত করে।
ডেডালনিক্স

3

এইচটিএমএল 5 হ'ল পোষ্টেলের আইন ("আপনি যা গ্রহণ করেন তাতে উদার হন") ব্রাউজারগুলির যৌক্তিক এবং অনিবার্য উপসংহার।

পর্যাপ্ত বাজারে ভাগযুক্ত একটি ব্রাউজার একবার এই নীতিটি গ্রহণ করে, অন্যরা কেবল অনুসরনকারী সামগ্রীকে স্বীকৃতি দিয়ে উদারপন্থী হয়েই নয়, বরং তাদের প্রতিযোগীদের মতোই এটি উপস্থাপন করতে বাধ্য হয়। এইচটিএমএল 5 সেই পরিস্থিতির যৌক্তিক পরিণতি: ব্রাউজার বিক্রেতারা সিদ্ধান্ত নিয়েছেন যেহেতু তারা কোনও বিষয়বস্তুকে অবৈধ বলে প্রত্যাখ্যান করবেন না (কমপক্ষে, এইচটিএমএল স্তরে নয় - জাভাস্ক্রিপ্ট অন্য বিষয়!) তারা পাশাপাশি বসে থাকতে পারে টেবিল এবং বিষয়বস্তু লেখক তাদের এড়াতে পারে এমন কিছুর জন্য একটি ব্যাখ্যাতে সম্মত হন। এই পরিবেশে, তারা স্ট্যান্ডার্ড-গিক্সের সাথে দয়া করে প্রতিক্রিয়া জানায় না যে কেবল যদি তারা শব্দটি থেকে দূষিত বিষয়বস্তু প্রত্যাখ্যান করে তবে তারা এই গোলযোগের মধ্যে পড়ত না।

সুতরাং আপনি এবং আমি পক্ষ থেকে চিৎকার করতে পারি এবং ব্রাউজার বিক্রেতাদের এবং তাদের ব্যবহারকারীদের বলতে পারি যে তারা জন পোস্টেলকে বিশ্বাস না করে থাকলে পৃথিবী আরও ভাল জায়গা হতে পারে তবে ক্ষতিটি হয়েছিল এবং এটিকে পূর্বাবস্থাপন করা খুব কঠিন to


3
ব্রাউজারগুলির প্রতিযোগিতার opালু গল্পটি যথেষ্ট সত্য। তবে এখানে জিনিসটি রয়েছে: সে কারণেই মানদণ্ডগুলি রয়েছে। যদি সমস্ত ব্রাউজারগুলি শুরু থেকেই সরল এবং সংকীর্ণ প্রয়োগ করে থাকে, তবে ডাব্লু 3 সি এর মতো সংস্থাগুলি জিনিসগুলি নিয়ন্ত্রণে রাখার জন্য এখানে থাকার দরকার পড়েনি। মানগুলির পুরো পয়েন্টটি ক্ষয়-নিয়ন্ত্রণ; bodyালুতা বজায় রাখতে এবং মান্য করার জন্য মানদণ্ডগুলি তার উদ্দেশ্যকে হারাতে পারে।
জামেসফিশার

1
@ আইজিজি: এইচটিএমএল 5 সমস্ত ইনপুট বৈধ করতে পার্সিং বিধিগুলিকে নতুন করে সংজ্ঞায়িত করে এবং তারপরেও অনুমানযোগ্য পরিণতি হতে পারে। সিনট্যাক্স ত্রুটিগুলি যদি অসম্ভব হয়ে থাকে তবে শুরু থেকেই পুরো ক্লাসের বাগগুলি প্রত্যাখ্যান করা হবে। এক্সএমএলের পার্স ত্রুটিযুক্ত থাকার ক্ষমতা একটি ডিজাইনের ত্রুটি, এবং এটির হিসাবে স্বীকৃত হওয়া উচিত।
জোয়ারি সেব্রেচটস

1
@ জোয়েরি, আপনার অবস্থানটি এইচটিএমএল 5 টির মতো বলে মনে হচ্ছে, এটি তার উন্মাদ যৌক্তিক উপসংহারে নিয়ে গেছে। "এইচটিএমএল 5 সমস্ত ইনপুট বৈধ করতে পার্সিং বিধিগুলি পুনরায় সংজ্ঞা দেয়" - এটি হয় না। ত্রুটি বিশ্লেষণের ধারণাটি এখনও বিদ্যমান। "সিনট্যাক্স ত্রুটিগুলি যদি অসম্ভব হয়ে থাকে তবে শুরু থেকেই পুরো ক্লাসের বাগগুলি প্রত্যাখ্যান করা হয়েছে" - এটি কি প্যারোডি? এই যুক্তিটি হ'ল আমি @ মন্তব্যের উত্তর সম্পর্কে আমার মন্তব্যে ব্যঙ্গাত্মকভাবে চিত্রিত করেছি। হ্যাঁ, সিন্ট্যাক্স ত্রুটির শ্রেণিটি মুছে ফেলা হয়েছে, ব্রাউজার সিনট্যাক্স সংশোধন ত্রুটির বৃহত্তর শ্রেণীর দ্বারা প্রতিস্থাপন করতে ।
জামেশফিশার

2

এইচটিএমএল 5 স্পেসিফিকেশনটি এইচটিএমএল 4 স্পেসিফিকেশনের চেয়ে প্রকৃতপক্ষে অনেক উন্নত হয়েছে। বিশেষত, ত্রুটি শর্তগুলির পরিচালনা ও অবৈধ মার্কআপটি আসলে মানসম্পন্ন, অর্থাত সমস্ত ব্রাউজারগুলি যা সঠিকভাবে স্ট্যান্ডার্ডটি প্রয়োগ করে একইভাবে অবৈধ মার্কআপ পরিচালনা করবে handle

এইচটিএমএল মানুষের দ্বারা প্রায়শই বেশি লেখা হয় (সাধারণত কোনও ধরণের টেম্প্লেটিং ভাষার সাথে একত্রে), এবং মানুষ ভুল করে। যতক্ষণ না সমস্ত ব্রাউজার একই পদ্ধতিতে সিনট্যাক্স ত্রুটিগুলি পরিচালনা করে, তারপরে "আপনি যা গ্রহণ করেন তাতে উদার হন" নিয়মটি পুরোপুরি গ্রহণযোগ্য।

বৈধ এক্সএমএল উত্পাদন করার সত্যিই খুব কম সুবিধা রয়েছে, যেহেতু এইচটিএমএল হ্যান্ডল করার সরঞ্জামগুলি এবং গ্রন্থাগারগুলি প্রায় সহজেই সহজলভ্য এবং এক্সএমএল এর চেয়ে এইচটিএমএল লিখতে মানুষের পক্ষে সহজ।


এইচটিএমএল 4 স্পেসিফিকেশন জুড়ে , হ্যাঁ। তবে আমার বক্তব্যটি হ'ল এক্সএইচটিএমএল 1.1 এর মধ্যে ইতিমধ্যে উন্নত হয়েছে। এইচটিএমএল হ্যান্ডেল করার জন্য সরঞ্জামগুলি / গ্রন্থাগারগুলি বিউটিফুলসুপের মতো হয়ে থাকে - দুর্দান্ত সরঞ্জামগুলি থাকা অবস্থায়, তারা যে পৃষ্ঠাগুলিকে বিশ্লেষণের জন্য তৈরি করেছিল সেগুলি সহ তাদেরও মরতে হবে।
জামেশফিশার

1

আপনি কোনওভাবেই ক্লায়েন্টের পক্ষে সহজ পার্সার বা স্ট্যান্ডার্ড এক্সএমএল সরঞ্জামগুলির সুবিধা পাবেন না।

এইচটিএমএলটিতে ওয়েবে কোটি কোটি পৃষ্ঠা রয়েছে, এর কয়েকটি লম্বা মৃত ব্যক্তির দ্বারা লিখিত, তাই সেগুলি কখনই এক্সএমএলে আপডেট হবে না। তাই আপনি যদি একটি সাধারণত দরকারী ইউজার এজেন্ট তৈরি করতে চান যদি আপনি আছে যাহাই হউক না কেন পুরানো ঢঙের এইচটিএমএল বিশ্লেষণ করতে পাবে। আপনার পক্ষে ইতিমধ্যে সমর্থনযোগ্য এইচটিএমএল পার্সিংয়ের পাশাপাশি পার্সিংয়ের একটি নতুন মোডের প্রয়োজন হওয়ায় যুক্তিযুক্তভাবে এক্সএইচটিএমএল কেবল অতিরিক্ত জটিলতার পরিচয় দেয়।

সার্ভারে আপনি এখনও এক্সএমএল সরঞ্জামগুলির উদাহরণস্বরূপ সুবিধা নিতে পারেন। এক্সএসএলটি ব্যবহার করে এক্সএইচটিএমএল তৈরি করা। তবে আপনি যদি বিশেষত কোনও এক্সএমএল সরঞ্জামচেন ব্যবহার না করে থাকেন তবে কেবল এইচটিএমএল না করে এক্সএমএল সিনট্যাক্স ব্যবহারের কোনও সুবিধা নেই।

(আপনি সঠিক নন যে এইচটিএমএল "অ-মানক" সিনট্যাক্স HTML এইচটিএমএল এর বাক্য গঠনটি HTML5 স্পেসে শ্রুতিমধুর বিবরণে নির্দিষ্ট করা হয়েছে, সুতরাং এটি এক্সএমএল সিনট্যাক্সের মতোই একটি মান))

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.