क्या XHTML5 मृत है या यह HTML5 का सिर्फ एक पर्याय है?


87

तो XHTML5 का क्या हुआ?

http://www.w3.org/TR/html5/

वह पृष्ठ xHTML5 और html5 दोनों के लिए एक मसौदा है? तो इन सिद्धांतों के बीच कोई अंतर नहीं है?


1
यह 2014-12-08 तक प्रतीत होता है कि W3C अभी भी मानक पर काम कर रहा है। w3.org/TR/html5 और w3.org/TR/html5/the-xhtml-syntax.html को 10-10-28 अपडेट किया गया।
रसेल विंडर

6
आजकल, 2015 की, XHTML W3C मानक है! ... अद्यतन चर्चा
पीटर क्रूस

2
आपने गलत उत्तर स्वीकार कर लिया। वाक्विवि द्वारा उत्तर सही उत्तर है।
जैक्सबी

जवाबों:


77

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 मानक को अपनाने की।


11
मुझे लगता है कि केवल एक चीज जो आपके उत्तर को याद कर रही है, वह पॉलीग्लॉट मार्कअप का
यनीस

2
आप XML5 के रूप में HTML5 की सेवा कर सकते हैं, और कठोर सिंटैक्स का लाभ प्राप्त कर सकते हैं।
एरिक रेपेन

3
@ ErikReppen लेकिन आप इकाई संदर्भों का लाभ खो देंगे जैसे 
श्री लिस्टर

4
एक भयानक निर्णय। हमने XSL टूलींग को फेंक दिया जो XML के साथ उपलब्ध होता।
मिहाई दानिला

5
यह कथन असत्य है। W3C ने एचटीएमएल 5 में एक्सएचटीएमएल को नहीं छोड़ा है । एक्सएचटीएमएल सिंटैक्स, शब्दावली और एपीआई
रोब

32

एक्सएचटीएमएल 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

और एक सत्यापनकर्ता भी!

http://html5.validator.nu/

यह शायद ही कभी XHTML5 कहा जाता है (और शायद अधिक शायद ही कभी इस्तेमाल किया जाता है), क्योंकि यह मूल रूप से अभी भी HTML5 है, लेकिन यह अभी भी वहाँ है।

सीधे शब्दों में कहें: एचटीएमएल 5 कल्पना में हर परिवर्तन भी एक निहित है, एक्सएचटीएमएल 5 के अनुरूप परिवर्तन।


10

HTML5 एक वास्तविक और de jure मानक है! XHTML वहाँ है, मानक के रूप में भी।

HTML5 - HTML और XHTML के लिए एक शब्दावली और संबद्ध एपीआई

डब्ल्यू 3 सी सिफारिश 28 अक्टूबर 2014

मानक के शीर्षक में स्ट्रिंग "और एक्सएचटीएमएल" शामिल है , इसलिए, हम HTML और XHTML को एक एकल मानक में विलय करने के लिए W3C के अंतिम निर्णय के बारे में बात कर रहे हैं ; और यह मानक दिखाता है कि HTML फ़ाइल को एक्सएचटीएमएल फ़ाइल में कैसे क्रमांकित किया जाए और इसके विपरीत।

XHTML भागों और महत्वपूर्ण नोट:


समझना और उपयोग करना

जैसा कि एलएफ सिकोस द्वारा संक्षेप में

XHTML5 HTML5 का XML क्रमांकन है। HTML5 विनिर्देश द्वारा वाक्यविन्यास का वर्णन किया गया है। हालाँकि, किसी को भ्रमित नहीं होना चाहिए क्योंकि XHTML5 XML के एक अनुप्रयोग के रूप में है। दूसरे शब्दों में, HTML5 और XHTML5 में समान शब्दावली लेकिन अलग-अलग पार्सिंग नियम हैं।

HTML5 दस्तावेज़ भी वैध XML दस्तावेज़ हो सकते हैं। इस मार्कअप को अक्सर "बहुभाषाविद" भाषा के रूप में संदर्भित किया जाता है। यह दस्तावेजों की ओवरलैप भाषा है जो एक ही समय में एचटीएमएल 5 और एक्सएमएल दस्तावेज हैं। एचटीएमएल 5 और एक्सएचटीएमएल 5 धारावाहिक क्रॉस-संगत हैं। हालाँकि, XHTML5 में एक सख्त सिंटैक्स है। इसके अलावा, HTML5 में XHTML5 के कुछ भाग मान्य नहीं हैं, उदाहरण के लिए, प्रसंस्करण निर्देश।

इसलिए, सख्ती से बोलना (और @vaxquis द्वारा जोर दिया गया) "एक्सएचटीएमएल एक्सएमएल क्रमांकन के लिए सिर्फ एक वाक्यविन्यास है", कोई डीटीडी या अन्य प्रकार के एक्सएमएल स्कीमा नहीं हैं

कुछ लोगों को "XHTML5 XHTML" कहना पसंद नहीं है। प्रश्न "जब मैं इसे एक्सएचटीएमएल के रूप में उपयोग कर सकता हूं" के बारे में एक मिनी-एफएक्यू में विभाजित होना चाहिए। यह एक WIKI है, कृपया सही हो अगर कुछ "गलतफहमी" हो ...


सामान्य प्रश्न

क्या मैं XHTML5 का उपयोग "2014 के XHTML मानक के संस्करण" के रूप में कर सकता हूँ?

"परिपूर्ण और सामान्य एचटीएमएल 5-टू-एक्सएचटीएमएल 5 / एक्सएचटीएमएल-टू-एचटीएमएल 5 रूपांतरण" में कुछ समस्याएं हैं, आपको "व्यक्तिगत विकल्प" और खोई जानकारी को करना होगा। चूंकि संदर्भ अलग-अलग उत्तर होंगे:

  • ढीली बोलना : हाँ। ऐसे बहुत से (सरल) उदाहरण हैं जहाँ मैपिंग सही और प्रतिवर्ती है।

  • सख्ती से बोलना : नहीं। इस पेज में नीचे और पुराने उत्तर @vaxquis टिप्पणी भी देखें। कुछ सामान्य समस्याएं:

क्या मैं XSLT, XPath, आदि के साथ (HTMLless) XHTML5 क्रमांकन का उपयोग कर सकता हूं?

हाँ तुम कर सकते हो। यहां तक ​​कि टुकड़े टुकड़े करना।

क्या मैं XHTML5 को मान्य कर सकता हूँ?

हां, लेकिन पुराने डीटीडी की तुलना में इतना तेज और आसान नहीं ... देखें वैद्य के रूप में जटिल सत्यापनकर्ता

क्या मैं XHTMLT श्रृंखला में XHTML5 को गैर-टर्मिनल आउटपुट के रूप में उपयोग कर सकता हूँ?

हाँ तुम कर सकते हो। आइए बताते हैं कि आप क्या कर सकते हैं।

कोकून जैसे कुछ चौखटे, " XSLT चेन " का उपयोग करते हैं । HTML5 और XHTML5 आउटपुट को "श्रृंखला में अंतिम आउटपुट" के रूप में इस्तेमाल किया जा सकता है ... बेशक, मध्यस्थ चरणों में, HTML5 का उपयोग नहीं किया जा सकता है क्योंकि गैर- XML ​​है, लेकिन XHTML5 का उपयोग किया जा सकता है।

सत्यापन की उपरोक्त समस्या यहां फिर से दिखाई देती है: कोई मजबूत सम्मेलन नहीं है, इसलिए, कभी-कभी, "एक्सएचटीएमएल मानक संरचना" की कम स्पष्टता दिखाई देती है। उस स्थिति में आपको "स्वयं सम्मेलनों" पर ध्यान देना चाहिए, और सुसंगत होना चाहिए।

एक HTML5 पृष्ठ के DOMDocument का उपयोग करते समय, क्या मैं एक saveXML()विधि का उपयोग कर सकता हूं ?

हाँ। यह एक विशिष्ट स्थिति है जहां क्रमिक अनुशंसाओं का उपयोग किया जाता है। एक्सएमएल मान्य होगा, एक्सएचटीएमएल 5 कोड को मूल एचटीएमएल 5 और डोम राज्य से मैप किया जाता है ... लेकिन, कुछ संरचनाओं में, कुछ जानकारी खो सकती है, जैसा कि ऊपर टिप्पणी की गई है।


नहीं। XHTML HTML5 के XML क्रमांकन के लिए सिर्फ एक वाक्यविन्यास है , जो एक विषय है जो मैंने लगभग एक साल पहले अपने उत्तर में कवर किया था। कोई "मर्ज" नहीं है, क्योंकि यह पहले से ही "विलय" किया गया था शुरुआती X3C / WHATWG HTML5 ड्राफ्ट XHTML 2.0 को ठंडे बस्ते में डालने के बाद; आप यहाँ संदर्भ को गलत समझ रहे हैं। इसके अलावा, XPath और XSLT केवल मामले से संबंधित हैं; यह भी, एक प्रसिद्ध MIME प्रकार "XHTML भाग और / या नोट" कैसे है? इसके अलावा, आप मूल रूप से HTML को एक्सएचटीएमएल में अनुक्रमित नहीं कर सकते हैं - प्रस्तावित समाधान पॉलीग्लॉट्स को दोनों के रूप में क्रमबद्ध करना लिखना है, न कि "पुन: क्रमबद्ध करना"।
vaxquis

हम ... @vaxquis, ठीक है, मैंने संपादित किया, कृपया मदद करें। और यहां, टिप्पणियों पर, उसी भाषा में बात की जाती है: आप "कड़ाई से बोलते हैं" और मैंने परिचय में "व्यापक बोल" का उपयोग किया ... अब हम उत्तर के पाठ में इंगित कर सकते हैं कि आप क्या सही करना चाहते हैं।
पीटर क्रूस

9

हाँ दुर्भाग्य से एक्सएचटीएमएल चला गया है।

मेनमा के शानदार जवाब के लिए 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 वेलफ़ॉर्मनेस को मान्य करता है।


1
शायद मैं थोड़ा लेट हो गया हूं, लेकिन 1.0 की तुलना में एक्सएचटीएमएल 1.1 अनुपयोगी कैसे है? यदि कुछ भी हो, तो इसके DTD में अधिक तत्व होते हैं। जब तक आप फ्रेमसेट और उस तरह की चीजों के बारे में बात नहीं कर रहे हैं?
मिस्टर लिस्टर

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.