তাহলে এক্সএইচটিএমএল 5 এর কি হল?
এই পৃষ্ঠাটি এক্সএইচটিএমএল 5 এবং এইচটিএমএল 5 উভয়ের জন্য একটি খসড়া? তাহলে এই ডক্টাইপগুলির মধ্যে কোনও পার্থক্য নেই?
তাহলে এক্সএইচটিএমএল 5 এর কি হল?
এই পৃষ্ঠাটি এক্সএইচটিএমএল 5 এবং এইচটিএমএল 5 উভয়ের জন্য একটি খসড়া? তাহলে এই ডক্টাইপগুলির মধ্যে কোনও পার্থক্য নেই?
উত্তর:
2012 সালে লেখার মুহুর্তে, এটি স্পষ্ট ছিল যে ডাব্লু 3 সি এইচটিএমএল 5 এর জন্য এক্সএইচটিএমএল ছেড়ে দেওয়ার সিদ্ধান্ত নিয়েছে এই সিদ্ধান্তটি বিভিন্ন কারণে প্রেরণা পেয়েছিল:
খুব কম লোকই এক্সএইচটিএমএলে সত্যিই আগ্রহী ছিল। বেশিরভাগ ওয়েবসাইটগুলি সরল এইচটিএমএল লেখা হয়েছিল।
এমনকি এক্সএইচটিএমএল কী এবং কীভাবে এটি ব্যবহার করতে হয় তা খুব কমই বুঝতে পেরেছে। এক্সএইচটিএমএল পরিবেশন করার ভান করে এমন অনেকগুলি ওয়েবসাইটের পরিবর্তে ভুল শিরোনাম ব্যবহার করেছে Content-Type: application/xhtml+xml
।
এমনকি যখন আপনি সম্পূর্ণরূপে বুঝতে পারবেন যে এক্সএইচটিএমএল আসলে কী এবং শিরোনামটি কী হতে হবে, জিনিসটি কিছু কৃপযুক্ত ব্রাউজারগুলি application/xhtml+xml
সামগ্রী / সমর্থনযোগ্য সামগ্রী / সমর্থন না করার কারণে সত্যই জটিল । এর অর্থ হ'ল ব্রাউজার অনুসারে আপনাকে হেডার পরিবর্তন করতে হবে।
এক্সএইচটিএমএলের এক্সএমএল অংশটি কিছু অদ্ভুত পরিস্থিতিও বিকাশকারীদের সমাধান করতে হয়েছিল। একটি হ'ল এই INVALID_STATE_ERR: DOM Exception 11
বার্তাটি উপস্থিত হয় যখন আপনি এইচটিএমএল é
পৃষ্ঠার মধ্যে কোনও উপাদানকে এইচটিএমএল অক্ষরযুক্ত (যেমন ) পাঠ্য নির্ধারণ করেন । একটি এজেএক্স অনুরোধ করার পরে আপনি যখন একটি বৃহত ওয়েব অ্যাপ্লিকেশনটিতে এটির খুব সহায়ক বার্তার সাথে এই ত্রুটিটি সম্মুখীন হন, তখন জিকুয়েরি, এজেএক্স, বা অন্য কোনও কিছুর দোষ থাকলে আপনার সত্যিই ধারণা নেই।
এইচটিএমএল 5 কোড লেখার অর্থ চারপাশে ট্যাগগুলি মেশানো নয়। আপনি যদি এক্সএমএল এবং এক্সএইচটিএমএল সম্পর্কে উত্সাহী হন তবে আপনি এখনও এইচটিএমএল 5 কোড লিখতে পারেন যা এক্সএমএল এর খুব কাছে দেখাবে।
মোবাইল ফোনের প্রথম দিনগুলিতে, এক্সএইচটিএমএল মোবাইল ডিভাইসগুলির জন্য আকর্ষণীয় ছিল যা খুব শক্তিশালী ছিল না। এক্সএমএল পার্সিং HTML এর চেয়ে অনেক সহজ। এখন, ডুয়াল-কোর মোবাইল ডিভাইসগুলির সাথে, তাদের ক্লিন বৈধ এক্সএমএল বা হ্যাক এবং মিশ্র ট্যাগ পূর্ণ মলিন এইচটিএমএল পার্স করতে হবে কিনা তা সত্যিই কিছু যায় আসে না।
অক্টোবর ২০১৪-এর বর্ণনায় এক্সএইচটিএমএল সিনট্যাক্সের উল্লেখ রয়েছে । এই মুহুর্তের জন্য, এটি নতুন স্পষ্ট নয় যে নতুন এক্সএইচটিএমএল ভাষা ( সিনট্যাক্স নয় ) এর মতো কোনও জিনিস আছে এবং যদি থাকে তবে এক্সএইচটিএমএলের অবস্থান কী হবে না, বা মূলধারার ব্রাউজারগুলির দ্বারা নতুন এক্সএইচটিএমএল স্ট্যান্ডার্ড গ্রহণ করা হবে।
XHTML5 হয় জন্য "HTML5 এর এক্সএমএল যেমন ধারাবাহিকভাবে" একটি প্রতিশব্দ।
এমন বিভিন্ন কংক্রিট বাক্য গঠন রয়েছে যা এই বিমূর্ত ভাষাটি ব্যবহার করে এমন সংস্থানগুলি সংক্রমণ করতে ব্যবহার করা যেতে পারে, যার মধ্যে দুটি এই স্পেসিফিকেশনে সংজ্ঞায়িত হয়েছে।
...
দ্বিতীয় কংক্রিট সিনট্যাক্সটি হল এক্সএইচটিএমএল সিনট্যাক্স যা এক্সএমএল এর একটি প্রয়োগ an যখন কোনও ডকুমেন্ট এক্সএমএল এমআইএমআই টাইপ যেমন অ্যাপ্লিকেশন / এক্সএইচটিএমএল + এক্সএমএল দ্বারা প্রেরণ করা হয়, তখন এটি ওয়েব ব্রাউজারগুলির দ্বারা এক্সএমএল ডকুমেন্ট হিসাবে বিবেচিত হয়, এক্সএমএল প্রসেসরের মাধ্যমে পার্স করার জন্য। লেখককে মনে করিয়ে দেওয়া হয় যে এক্সএমএল এবং এইচটিএমএল প্রসেসিং পৃথক; বিশেষত, এমনকি ছোট ছোট সিনট্যাক্স ত্রুটিগুলি XML হিসাবে চিহ্নিত একটি নথি পুরোপুরি রেন্ডার হতে বাধা দেয়, যেখানে এইচটিএমএল সিনট্যাক্সে এগুলি উপেক্ষা করা হবে। এই স্পেসিফিকেশনটি এক্সএইচটিএমএল সিনট্যাক্সের 5.0 সংস্করণ সংজ্ঞায়িত করে, যা "এক্সএইচটিএমএল 5" নামে পরিচিত।
এছাড়াও, এইচটিএমএল 5 পলিগ্লটগুলি লেখার জন্য একটি দুর্দান্ত নথি আছে (পৃষ্ঠা, এটি নিয়মিত এইচটিএমএল 5 এবং এক্সএমএল উভয়ই সিরিয়ালাইজ করা যায়):
http://dev.w3.org/html5/html-polyglot/html-polyglot.html#bib-HTML5
এমনকি একটি বৈধকরণকারী!
এটি আজকাল খুব কমই এক্সএইচটিএমএল 5 বলা হয় (এবং সম্ভবত এর থেকে সম্ভবত খুব বেশি ব্যবহৃত হয়), এটি মূলত এখনও এইচটিএমএল 5 হলেও এটি এখনও রয়েছে।
সোজা কথায়: এইচটিএমএল 5 স্পেকের প্রতিটি পরিবর্তনও একটি অন্তর্নিহিত, এক্সএইচটিএমএল 5 এর সাথে সম্পর্কিত পরিবর্তন।
এইচটিএমএল 5 একটি ডি ফ্যাক্টো এবং ডি জুর স্ট্যান্ডার্ড! এক্সএইচটিএমএল আছে, মান হিসাবে।
ডাব্লু 3 সি সুপারিশ 28 অক্টোবর 2014
স্ট্যান্ডার্ডের শিরোনামে স্ট্রিং "এবং এক্সএইচটিএমএল" রয়েছে , সুতরাং, আমরা ডাব্লু 3 সি এর এইচটিএমএল এবং এক্সএইচটিএমএলকে একক মানতে একীভূত করার চূড়ান্ত সিদ্ধান্তের কথা বলছি ; এবং এই স্ট্যান্ডার্ডটি দেখায় যে কীভাবে কোনও এইচটিএমএল ফাইলকে এক্সএইচটিএমএল ফাইল এবং তদ্বিপরীত থেকে সিরিয়াল করা যায়।
XHTML
অংশ এবং গুরুত্বপূর্ণ নোট:
application/xhtml+xml
এলএফ সিকোস সংক্ষিপ্তসার হিসাবে
এক্সএইচটিএমএল 5 এইচটিএমএল 5 এর এক্সএমএল সিরিয়ালাইজেশন। সিনট্যাক্সটি HTML5 স্পেসিফিকেশন দ্বারা বর্ণিত হয়। তবে, এক্সএইচটিএমএল 5 এক্সএমএল এর প্রয়োগ হিসাবে বিভ্রান্ত হওয়া উচিত নয় be অন্য কথায়, এইচটিএমএল 5 এবং এক্সএইচটিএমএল 5 এর অভিন্ন শব্দভাণ্ডার তবে পৃথক পৃথককরণের নিয়ম রয়েছে।
এইচটিএমএল 5 নথিগুলি বৈধ এক্সএমএল নথিও হতে পারে। এই মার্কআপটি প্রায়শই একটি "বহুভক্ত" ভাষা হিসাবে চিহ্নিত হয়। এটি একই সাথে HTML5 এবং XML নথি যা নথির ওভারল্যাপ ভাষা। এইচটিএমএল 5 এবং এক্সএইচটিএমএল 5 ক্রমিক-সামঞ্জস্যপূর্ণ। তবে এক্সএইচটিএমএল 5-তে একটি কঠোর বাক্য গঠন রয়েছে। তদুপরি, এক্সএইচটিএমএল 5 এর কিছু অংশ HTML5 তে বৈধ নয়, উদাহরণস্বরূপ, প্রক্রিয়াকরণের নির্দেশাবলী।
সুতরাং, কঠোরভাবে বলা (এবং @ ভ্যাক্সকুইস দ্বারা জোর দেওয়া) "এক্সএইচটিএমএল এটি এক্সএমএল সিরিয়ালাইজের জন্য কেবল একটি বাক্য গঠন", কোনও ডিটিডি বা অন্য ধরণের এক্সএমএল স্কিমা নেই ।
কিছু লোক "এক্সএইচটিএমএল 5 এটি এক্সএইচটিএমএল" বলতে পছন্দ করেন না। "আমি কখন এটি এক্সএইচটিএমএল হিসাবে ব্যবহার করতে পারি" সে সম্পর্কে প্রশ্নটি অবশ্যই একটি মিনি-এফএকিউতে বিভক্ত হবে। এটি একটি WIKI, কিছু "ভুল বোঝাবুঝি" থাকলে দয়া করে সংশোধন করুন ...
একটি "নিখুঁত এবং জেনেরিক HTML5-থেকে-এক্সএইচটিএমএল 5 / এক্সএইচটিএমএল 5-থেকে এইচটিএমএল 5 রূপান্তর" তে কিছু সমস্যা রয়েছে, আপনার অবশ্যই "ব্যক্তিগত পছন্দ" এবং হারিয়ে যাওয়া তথ্য করতে হবে। প্রসঙ্গে যেমন বিভিন্ন উত্তর হবে:
আলগা কথা বলা : হ্যাঁ। অনেকগুলি (সাধারণ) উদাহরণ রয়েছে যেখানে ম্যাপিং নিখুঁত এবং বিপরীত।
কড়া কথায় কথায় : না। এই পৃষ্ঠায় নীচে @ ভ্যাক্সুয়েস মন্তব্য এবং পুরানো উত্তরগুলি দেখুন। কিছু সাধারণ সমস্যা:
হ্যা, তুমি পারো. এমনকি টুকরো সিরিয়াল করা।
হ্যাঁ, তবে পুরাতন ডিটিডি-র চেয়ে এত দ্রুত এবং সহজ নয় ... জটিল বৈধকারককে বৈধতা প্রদানকারী হিসাবে দেখুন nu
হ্যা, তুমি পারো. আসুন আপনি কী করতে পারেন তা ব্যাখ্যা করুন।
কিছু ফ্রেমওয়ার্ক, যেমন কোকুন , " এক্সএসএলটি চেইন " ব্যবহার করে । এইচটিএমএল 5 এবং এক্সএইচটিএমএল 5 আউটপুটগুলি "চেইনের শেষ আউটপুট" হিসাবে ব্যবহার করা যেতে পারে ... অবশ্যই, মধ্যস্থতাকারী পদক্ষেপগুলিতে, এইচটিএমএল 5 ব্যবহার করা যাবে না কারণ এক্স-এক্সএমএল নয়, তবে এক্সএইচটিএমএল 5 ব্যবহার করা যেতে পারে।
বৈধতার উপরোক্ত সমস্যাটি এখানে আবার উপস্থিত হয়: কোনও শক্তিশালী কনভেনশন নেই, তাই, কখনও কখনও "এক্সএইচটিএমএল স্ট্যান্ডার্ড স্ট্রাকচার" এর কম স্পষ্টতা উপস্থিত হয়। সেই পরিস্থিতিতে আপনাকে অবশ্যই "নিজেকে কনভেনশনস" এ মনোযোগ দিতে হবে এবং ধারাবাহিক হতে হবে।
saveXML()
কী কোনও পদ্ধতি ব্যবহার করতে পারি ?হ্যাঁ. এটি একটি সাধারণ পরিস্থিতি যেখানে সিরিয়ালাইজন প্রস্তাবনাগুলি ব্যবহৃত হয়। এক্সএমএলটি বৈধ হবে, এক্সএইচটিএমএল 5 কোডটি মূল এইচটিএমএল 5 এবং ডিওএম রাষ্ট্র থেকে ম্যাপ করা আছে ... তবে, কিছু কাঠামোগুলিতে কিছু তথ্য হারিয়ে যেতে পারে, যেমন উপরে মন্তব্য করা হয়েছে।
হ্যাঁ দুর্ভাগ্যক্রমে এক্সএইচটিএমএল চলে গেছে।
ময়নামার দুর্দান্ত উত্তরে আরও 1 টি কারণ যুক্ত করা:
যখন এক্সএইচটিএমএল তৈরি করা হয়েছিল, তখন এটি ওয়েব অ্যাপস দ্বারা কাঠামোগত সামগ্রী সরবরাহ করার জন্য ব্যবহার করা হত যা ব্রাউজার নন সফ্টওয়্যার দ্বারা বোঝা যায়, এতে ট্যাগ-স্যুপ এইচটিএমএল পার্সার নেই not স্ক্রিনরিডার্সের জন্য এক্সএইচটিএমএল এখনও দুর্দান্ত, তবে অন্য যে কোনও ধরণের সফ্টওয়্যারের জন্য, ওয়েব সার্ভিসগুলি প্রয়োজনীয়তার সাথে খাপ খায় এবং এগুলি বেশিরভাগই এক্সএমএল বা জেএসএন ব্যবহার করে। এসওএপি-র নিজস্ব এক্সএমএল স্কিমা রয়েছে, এক্সএইচটিএমএল থেকে সহজ এবং অপারেশন-ভিত্তিক।
যতক্ষণ আমি জানি, বিশ্বে এমন কোনও ওয়েব অ্যাপ নেই যা ব্রাউজার এবং অন্যান্য ক্লায়েন্ট উভয়ের জন্য একই HTTP বার্তা সরবরাহ করে। এমনকি REST আর্কিটেকচার, যা ক্লায়েন্টের পছন্দের ভিত্তিতে একাধিক সামগ্রীর ধরণের একটি সামগ্রীর একই প্রতিনিধিত্ব পরিবেশন করার উদ্দেশ্যে তৈরি করা হয়েছিল, এটি এক্সএইচটিএমএল / ফিড ব্রাউজারগুলিকে পরিবেশন করতে ব্যবহৃত হয় না।
উদাহরণস্বরূপ জাভা EE তে, Eclipse ব্যবহার করে আমরা সার্ভিস + জেএসপি এইচটিএমএল পরিবেশনার জন্য অক্ষরযুক্ত এক অনন্য যুদ্ধ ফাইল স্থাপন করতে পারি, যার সাথে এক্সেস 2 এর সাথে একটি ওয়েব সার্ভিস পরিবেশন করা যায়। ব্রাউজার এবং ওয়েব সার্ভিসের উদ্দেশ্যে পৃথক সফ্টওয়্যারগুলি বিকাশ করা সহজতর, যার মধ্যে একটি অনন্য, জটিল সফ্টওয়্যার রয়েছে যা তাদের সকলকে পরিবেশন করে।
আরআরএসটি প্রত্যাখ্যান হওয়ার প্রধান কারণ হ'ল কোনও সার্ভার বিকাশের জটিলতা (এবং এটি সরল বোঝানো হয়েছিল!) যা সম্পর্কে কোনও কিছু না জেনে কোনও ধরণের ক্লায়েন্টের জন্য একই সামগ্রী সরবরাহ করে। এবং ওয়েবের দ্রুত বিকাশের প্রয়োজনীয়তা পরিচালনা করাও একসাথে স্থিতিশীল সংজ্ঞা রাখার সাথে সাথে ব্রাউজার ক্লায়েন্টদের যখনই কোনও এক্সএইচএমএল পরিবর্তন করে প্রতিবার আপডেট করতে বাধ্য না করে, এক্সএইচটিএমএলকে এটি বিভিন্ন মডিউল দ্বারা নির্মিত হওয়ার সময় বৈধ রাখতে বলুন।
একইভাবে, ব্রাউজার-উপস্থাপিত লেআউটটির কাঠামো গঠনের উদ্দেশ্যে তৈরি এবং সামগ্রী সংরক্ষণের উদ্দেশ্যে নয় এমন সমস্ত এক্সএমএল উপাদানগুলির কারণে এটি একটি এক্সএইচএমএল ডকুমেন্টকে পার্স করে এমন একটি ব্রাউজারবিহীন ক্লায়েন্ট তৈরি করা খুব শক্ত।
যদি REST অ্যাডাপ্টররা ইতিমধ্যে SOAP- এর এক্সএমএল জটিলতা সম্পর্কে অভিযোগ করে যা ব্রাউজারের জন্য বোঝানো কোনও এক্সএইচটিএমএল থেকে সহজতর হয়, তবে একাধিক ক্লায়েন্টের ধরণের, সার্ভার এবং ক্লায়েন্ট-সাইডের জন্য এক্সএইচটিএমএল পরিচালনা করা কতটা কঠিন তা কল্পনা করুন।
অনুশীলনে: ব্রাউজারগুলির জন্য ওয়েব সাইট তৈরি করতে এবং ব্রাউজারবিহীন ক্লায়েন্টদের জন্য যেকোন ধরণের ওয়েব সার্ভিস সলিউশন ব্যবহার করতে এইচটিএমএল, এক্সএমএল-মতো ব্যবহার করুন।
কিন্তু, আমি আরও মনে করি যে এক্সএইচটিএমএল 5 তৈরি করা আবশ্যক। এক্সএইচটিএমএল ১.১ (ঠিক আছে, ০.০, ১.১ ব্যবহারযোগ্য নয়) এইচটিএমএল 5 এর সাথে পুরানো হয়ে যাবে এবং আমাদের এখনও একটি বৈধতা প্রদানকারী দরকার যা এইচটিএমএল 5 এর উপাদানগুলি গ্রহণ করে এবং এক্সএমএল সুস্পষ্টতাকে বৈধতা দেয়।