तो XHTML5 का क्या हुआ?
वह पृष्ठ xHTML5 और html5 दोनों के लिए एक मसौदा है? तो इन सिद्धांतों के बीच कोई अंतर नहीं है?
तो XHTML5 का क्या हुआ?
वह पृष्ठ xHTML5 और html5 दोनों के लिए एक मसौदा है? तो इन सिद्धांतों के बीच कोई अंतर नहीं है?
जवाबों:
2012 में लेखन के समय, यह स्पष्ट था कि W3C ने HTML 5 के लिए XHTML को छोड़ने का फैसला किया। यह निर्णय कई कारणों से प्रेरित था:
केवल कुछ ही लोग XHTML में रुचि रखते थे। अधिकांश वेबसाइटें सादे HTML में लिखी गई थीं।
यहां तक कि कम वास्तव में समझ में आया कि एक्सएचटीएमएल क्या है और इसका उपयोग कैसे करना है। बहुत सी वेबसाइटें जो एक्सएचटीएमएल की सेवा करने का दिखावा करती थीं, ने इसके बजाय गलत हेडर का इस्तेमाल किया Content-Type: application/xhtml+xml
।
यहां तक कि जब आप पूरी तरह से समझते हैं कि एक्सएचटीएमएल क्या है और हेडर क्या होना चाहिए, तो बात वास्तव में कुछ भद्दे ब्राउज़रों के साथ मुश्किल है जो application/xhtml+xml
सामग्री प्रकार को स्वीकार / समर्थन नहीं करते हैं । इसका मतलब था कि आपको ब्राउज़र के अनुसार हेडर बदलना होगा।
एक्सएचटीएमएल के एक्सएमएल भाग ने कुछ अजीब स्थितियों का कारण बना दिया, जिसे डेवलपर्स को हल करना था। INVALID_STATE_ERR: DOM Exception 11
जब आप HTML वर्णों (जैसे é
) को XHTML पृष्ठ के तत्व में लिखते हैं, तो एक संदेश प्रदर्शित होता है । जब आप AJAX अनुरोध करने के बाद एक बड़े वेब अनुप्रयोग में इसके बहुत ही उपयोगी संदेश के साथ इस त्रुटि का सामना करते हैं, तो आपको वास्तव में कोई अंदाजा नहीं है कि यह JQuery, AJAX या कुछ और का दोष है।
HTML 5 कोड लिखने का मतलब यह नहीं है कि टैग को चारों ओर से मिला दिया जाए। यदि आप XML और XHTML के शौक़ीन हैं, तो आप अभी भी HTML 5 कोड लिख सकते हैं जो XML के बहुत करीब लगेगा।
मोबाइल फोन के शुरुआती दिनों में, XHTML उन मोबाइल उपकरणों के लिए दिलचस्प था जो बहुत शक्तिशाली नहीं थे। XML को पार्स करना HTML की तुलना में बहुत आसान है। अब, दोहरे कोर मोबाइल उपकरणों के साथ, यह वास्तव में कोई फर्क नहीं पड़ता कि उन्हें हैक और मिश्रित टैग से भरे हुए वैध XML या गंदे HTML को पार्स करना है।
अक्टूबर 2014 की कल्पना में एक्सएचटीएमएल सिंटैक्स का उल्लेख है । फिलहाल, यह स्पष्ट नहीं है कि नई XHTML भाषा ( वाक्यविन्यास नहीं ) जैसी कोई चीज़ है या नहीं , और यदि है, तो XHTML की स्थिति क्या होगी, और न ही मुख्यधारा के ब्राउज़रों द्वारा नए XHTML मानक को अपनाने की।
एक्सएचटीएमएल 5 "एचटीएमएल 5 एक्सएमएल के रूप में क्रमबद्ध" का एक पर्याय है।
विभिन्न ठोस वाक्यविन्यास हैं जिनका उपयोग इस अमूर्त भाषा का उपयोग करने वाले संसाधनों को प्रसारित करने के लिए किया जा सकता है, जिनमें से दो को इस विनिर्देश में परिभाषित किया गया है।
...
दूसरा ठोस सिंटैक्स एक्सएचटीएमएल सिंटैक्स है, जो एक्सएमएल का एक अनुप्रयोग है। जब किसी डॉक्यूमेंट को XML MIME टाइप के साथ ट्रांसमिट किया जाता है, जैसे एप्लिकेशन / xhtml + xml, तो इसे XML प्रोसेसर द्वारा पार्स किए जाने के लिए वेब ब्राउज़र द्वारा XML डॉक्यूमेंट के रूप में व्यवहार किया जाता है। लेखकों को याद दिलाया जाता है कि XML और HTML के लिए प्रसंस्करण में अंतर है; विशेष रूप से, यहां तक कि मामूली वाक्यविन्यास त्रुटियां XML के रूप में लेबल किए गए दस्तावेज़ को पूरी तरह से प्रस्तुत करने से रोकेंगी, जबकि उन्हें HTML सिंटैक्स में अनदेखा किया जाएगा। यह विनिर्देश XHTML सिंटैक्स के संस्करण 5.0 को परिभाषित करता है, जिसे "XHTML 5" के रूप में जाना जाता है।
इसके अलावा, एचटीएमएल 5 पॉलीग्लॉट (पृष्ठ, जो नियमित एचटीएमएल 5 और एक्सएमएल दोनों के रूप में क्रमांकित किए जा सकते हैं) लिखने पर एक अच्छा दस्तावेज है:
http://dev.w3.org/html5/html-polyglot/html-polyglot.html#bib-HTML5
और एक सत्यापनकर्ता भी!
यह शायद ही कभी XHTML5 कहा जाता है (और शायद अधिक शायद ही कभी इस्तेमाल किया जाता है), क्योंकि यह मूल रूप से अभी भी HTML5 है, लेकिन यह अभी भी वहाँ है।
सीधे शब्दों में कहें: एचटीएमएल 5 कल्पना में हर परिवर्तन भी एक निहित है, एक्सएचटीएमएल 5 के अनुरूप परिवर्तन।
HTML5 एक वास्तविक और de jure मानक है! XHTML वहाँ है, मानक के रूप में भी।
डब्ल्यू 3 सी सिफारिश 28 अक्टूबर 2014
मानक के शीर्षक में स्ट्रिंग "और एक्सएचटीएमएल" शामिल है , इसलिए, हम HTML और XHTML को एक एकल मानक में विलय करने के लिए W3C के अंतिम निर्णय के बारे में बात कर रहे हैं ; और यह मानक दिखाता है कि HTML फ़ाइल को एक्सएचटीएमएल फ़ाइल में कैसे क्रमांकित किया जाए और इसके विपरीत।
XHTML
भागों और महत्वपूर्ण नोट:
application/xhtml+xml
जैसा कि एलएफ सिकोस द्वारा संक्षेप में
XHTML5 HTML5 का XML क्रमांकन है। HTML5 विनिर्देश द्वारा वाक्यविन्यास का वर्णन किया गया है। हालाँकि, किसी को भ्रमित नहीं होना चाहिए क्योंकि XHTML5 XML के एक अनुप्रयोग के रूप में है। दूसरे शब्दों में, HTML5 और XHTML5 में समान शब्दावली लेकिन अलग-अलग पार्सिंग नियम हैं।
HTML5 दस्तावेज़ भी वैध XML दस्तावेज़ हो सकते हैं। इस मार्कअप को अक्सर "बहुभाषाविद" भाषा के रूप में संदर्भित किया जाता है। यह दस्तावेजों की ओवरलैप भाषा है जो एक ही समय में एचटीएमएल 5 और एक्सएमएल दस्तावेज हैं। एचटीएमएल 5 और एक्सएचटीएमएल 5 धारावाहिक क्रॉस-संगत हैं। हालाँकि, XHTML5 में एक सख्त सिंटैक्स है। इसके अलावा, HTML5 में XHTML5 के कुछ भाग मान्य नहीं हैं, उदाहरण के लिए, प्रसंस्करण निर्देश।
इसलिए, सख्ती से बोलना (और @vaxquis द्वारा जोर दिया गया) "एक्सएचटीएमएल एक्सएमएल क्रमांकन के लिए सिर्फ एक वाक्यविन्यास है", कोई डीटीडी या अन्य प्रकार के एक्सएमएल स्कीमा नहीं हैं ।
कुछ लोगों को "XHTML5 XHTML" कहना पसंद नहीं है। प्रश्न "जब मैं इसे एक्सएचटीएमएल के रूप में उपयोग कर सकता हूं" के बारे में एक मिनी-एफएक्यू में विभाजित होना चाहिए। यह एक WIKI है, कृपया सही हो अगर कुछ "गलतफहमी" हो ...
"परिपूर्ण और सामान्य एचटीएमएल 5-टू-एक्सएचटीएमएल 5 / एक्सएचटीएमएल-टू-एचटीएमएल 5 रूपांतरण" में कुछ समस्याएं हैं, आपको "व्यक्तिगत विकल्प" और खोई जानकारी को करना होगा। चूंकि संदर्भ अलग-अलग उत्तर होंगे:
ढीली बोलना : हाँ। ऐसे बहुत से (सरल) उदाहरण हैं जहाँ मैपिंग सही और प्रतिवर्ती है।
सख्ती से बोलना : नहीं। इस पेज में नीचे और पुराने उत्तर @vaxquis टिप्पणी भी देखें। कुछ सामान्य समस्याएं:
हाँ तुम कर सकते हो। यहां तक कि टुकड़े टुकड़े करना।
हां, लेकिन पुराने डीटीडी की तुलना में इतना तेज और आसान नहीं ... देखें वैद्य के रूप में जटिल सत्यापनकर्ता
हाँ तुम कर सकते हो। आइए बताते हैं कि आप क्या कर सकते हैं।
कोकून जैसे कुछ चौखटे, " XSLT चेन " का उपयोग करते हैं । HTML5 और XHTML5 आउटपुट को "श्रृंखला में अंतिम आउटपुट" के रूप में इस्तेमाल किया जा सकता है ... बेशक, मध्यस्थ चरणों में, HTML5 का उपयोग नहीं किया जा सकता है क्योंकि गैर- XML है, लेकिन XHTML5 का उपयोग किया जा सकता है।
सत्यापन की उपरोक्त समस्या यहां फिर से दिखाई देती है: कोई मजबूत सम्मेलन नहीं है, इसलिए, कभी-कभी, "एक्सएचटीएमएल मानक संरचना" की कम स्पष्टता दिखाई देती है। उस स्थिति में आपको "स्वयं सम्मेलनों" पर ध्यान देना चाहिए, और सुसंगत होना चाहिए।
saveXML()
विधि का उपयोग कर सकता हूं ?हाँ। यह एक विशिष्ट स्थिति है जहां क्रमिक अनुशंसाओं का उपयोग किया जाता है। एक्सएमएल मान्य होगा, एक्सएचटीएमएल 5 कोड को मूल एचटीएमएल 5 और डोम राज्य से मैप किया जाता है ... लेकिन, कुछ संरचनाओं में, कुछ जानकारी खो सकती है, जैसा कि ऊपर टिप्पणी की गई है।
हाँ दुर्भाग्य से एक्सएचटीएमएल चला गया है।
मेनमा के शानदार जवाब के लिए 1 और कारण जोड़ना:
जब एक्सएचटीएमएल बनाया गया था, तो इसका उपयोग वेबऐप द्वारा संरचित सामग्री की सेवा के लिए किया जाना था जो कि गैर-ब्राउज़र सॉफ्टवेयर्स द्वारा समझा जाएगा, जिसमें टैग-सूप HTML पार्सर नहीं होगा। ScreenReaders XHTML के लिए अभी भी बहुत अच्छा है, लेकिन किसी भी अन्य प्रकार के सॉफ़्टवेयर के लिए, WebServices फिट बैठते हैं जिनकी आवश्यकता होती है, और वे ज्यादातर XML या JSON का उपयोग करते हैं। SOAP के पास स्वयं का XML स्कीमा है, जो XHTML की तुलना में सरल और ऑपरेशन-उन्मुख है।
जब तक मैं जानता हूं, दुनिया में 1 वेबएप भी नहीं है जो ब्राउज़र और अन्य क्लाइंट दोनों के लिए समान HTTP संदेश प्रदान करता है। यहां तक कि REST आर्किटेक्चर, जो ग्राहक की पसंद के आधार पर कई सामग्री प्रकारों में एक सामग्री के समान प्रतिनिधित्व को पूरा करने के लिए था , का उपयोग XHTML / फ़ीड ब्राउज़र की सेवा के लिए नहीं किया जाता है।
उदाहरण के लिए जावा ईई में, ग्रहण का उपयोग करके हम HTML की सेवा करने के लिए सर्वलेट्स + JSPs धारण करने वाली एक अद्वितीय युद्ध फ़ाइल को तैनात कर सकते हैं, साथ में Axis2 के साथ एक वेबसेवा परोस सकते हैं। ब्राउज़रों और वेबसर्विस के लिए अलग से बनाए गए सॉफ्टवेयर्स को विकसित करना केवल एक आसान, जटिल सॉफ़्टवेयर है, जो उन सभी को पेश करता है।
REST को अस्वीकार किए जाने का प्रमुख कारण वास्तव में जटिलता है (और इसका अर्थ सरल होना था!) एक ऐसे सर्वर को विकसित करने के लिए जो किसी भी प्रकार के क्लाइंट के लिए उसी सामग्री को प्रस्तुत करता है जो उसके बारे में कुछ भी जाने बिना करता है। और वेब की तेजी से विकसित होने की आवश्यकता को संभालना मुश्किल है, साथ में एक स्थिर परिभाषा रखने के लिए जो गैर-ब्राउज़र क्लाइंट को हर बार एक एक्सएचटीएमएल परिवर्तन के लिए अद्यतन होने के लिए मजबूर नहीं करेगा, इसे कई अलग-अलग मॉड्यूल द्वारा बनाए जाने पर एक्सएचटीएमएल को वैध रखने के लिए कहें।
उसी तरह, एक गैर-ब्राउज़र क्लाइंट विकसित करना बहुत मुश्किल है जो एक्सएचटीएमएल दस्तावेज़ को पार्स करता है, यहां तक कि यह वैध होने के कारण, उन सभी एक्सएमएल तत्वों के लिए जो ब्राउज़र-रेंडर लेआउट की संरचना करने के लिए हैं, और सामग्री रखने के लिए नहीं हैं।
यदि REST को गोद लेने वाले पहले से ही SOAP की XML जटिलता के बारे में शिकायत करते हैं, जो कि ब्राउज़र के लिए XHTML की तुलना में सरल है, तो कल्पना करें कि कई क्लाइंट प्रकार, सर्वर और क्लाइंट-साइड के लिए XHTML को संभालना कितना कठिन है।
व्यवहार में: यदि आप चाहते हैं कि HTML, XML- जैसे का उपयोग करें, तो ब्राउज़र के लिए वेबसाइट का निर्माण करें, और गैर-ब्राउज़र क्लाइंट के लिए किसी भी तरह का WebService समाधान।
लेकिन, मुझे भी लगता है कि XHTML5 बनाना होगा। XHTML 1.1 (ठीक है, 1.0, 1.1 अनुपयोगी है) HTML5 के साथ पुराना हो जाएगा, और हमें अभी भी एक सत्यापनकर्ता की आवश्यकता है जो HTML5 के तत्वों को स्वीकार करता है और XML वेलफ़ॉर्मनेस को मान्य करता है।