XHTML सख्त कैसे हल करता है?




project-planning xhtml-1.0-strict (11)

सख्त का इरादा है सामग्री और शैली के बीच जुदाई को औपचारिक रूप देने के लिए, दो को संगठित करना अधिक मुश्किल बनाकर। इलियटट रस्टी हेरोल्ड ने अपनी पुस्तकों में से एक में एक्सएचटीएमएल पर अच्छा लिखा है, यहां ' क्यों एक्सएचटीएमएल ' पर प्रासंगिक अंश है

मैं वास्तव में एक्सएचटीएमएल कड़ी से मोह को नहीं समझता इनलाइन जावास्क्रिप्ट को विशेष रूप से एक्सट्रीम और एमएसआईई 5 और 6 के साथ संगत एक्सएमटीएम के साथ अर्ध-पीछे की तरफ से संगत बनाने के लिए बचने के लिए एक चूहों की घोंसले की आवश्यकता होती है। फिर यह सुनिश्चित करने के लिए कि आप किसी भी अवैध वर्णों को नहीं याद करते हैं, उपयोगकर्ता इनपुट पर पर्याप्त OCD नहीं होने का मुद्दा है । यह सिर्फ अधिक प्रयास की तरह लग रहा है, इसके लायक है कोई बात नहीं है कि लगभग हर डेवलपर ने मेरे साथ काम किया है, यह सुनिश्चित करने के लिए भूल जाते हैं कि सर्वर से लौटा गया सामग्री प्रकार टेक्स्ट / html से एप्लिकेशन / एक्सएचटीएमएल + एक्सएमएल एक्सएचटीएमएल पृष्ठों के लिए रीसेट है।

काश मैं ब्लॉगर का नाम जानता था, लेकिन किसी और ने यह बताया कि एक्सएमटीएम के अनुरूप बहुमत वाली वेबसाइटों और ओपन सोर्स पैकेजों का हिस्सा वास्तव में उस अंतिम अंक के कारण नहीं है, जो सामग्री-प्रकार के शीर्षलेख को सही ढंग से सेट करने के लिए भूल गया है

मैं यह समझने की कोशिश कर रहा हूं कि एक्सएचटीएमएल उपयोगी क्यों है, या भविष्य में उन परियोजनाओं में इस्तेमाल होने से बचने के लिए तर्कों के एक शस्त्रागार का निर्माण करना है, जिन पर मुझे प्रभाव है।


निजी तौर पर, मुझे एक्सएचटीएमएल की अवधारणा पसंद है: अधिकांश एचटीएमएल से ज्यादा क्लीनर हम देख सकते हैं, पार्स करने और मान्य करने में आसान है। सभी की तरह, मैंने एक्सएचटीएमएल पृष्ठों को कोड करना शुरू कर दिया। बीटीडब्लू, मुझे इनलाइन जावास्क्रिप्ट के साथ एक मुद्दा नहीं दिख रहा है, अगर आप सीडीएटीए में कोड डालते हैं तो बचने की कोई ज़रूरत नहीं है और IE5 सौभाग्य से ब्राउज़र परिदृश्य से थोड़ा सा है, जैसे नेटस्केप 4 जिसने हमें / > बजाय लिखने के लिए मजबूर कर दिया था, अब भी मैं कुछ समय शुद्ध XML में देख रहा हूं ...

अब, मैंने कई सारे लेख पढ़े हैं, जैसे ब्रूनो द्वारा लिखी गयी एक जैसी, जिसमें अधिकांश मामलों में इसकी उपयोग के खिलाफ बहुत अच्छे तर्क हैं असल में, यह कहता है कि अधिकांश ब्राउज़रों सख्त एक्सएचटीएमएल (एक्सएमएल के रूप में सेवा के लिए) के लिए तैयार नहीं हैं, यह सर्वर एक्सएचटीएमएल को एचटीएमएल के रूप में ज्यादा समझ में नहीं आता है, और वैसे भी यह अधिकांश साइटों में उपयोगी नहीं है।

ऊपर दिए गए तर्कों को देखो: वे पूरी तरह से मान्य हैं, और XML में एक XML पार्सर के साथ पृष्ठ को प्रोसेस करने के लिए एक्सएमएल को XSLT पार्सर के साथ बदलने के लिए पृष्ठ में सीधे MathML या SVG को सक्षम करने के लिए महान है।

लेकिन आप कितनी बार ऐसा करते हैं? पृष्ठ को पार्स करना अक्सर अंत उपयोगकर्ताओं की समस्या है, जो एक अच्छा HTML पार्सर का उपयोग कर सकते हैं और MathML, SVG या XSLT का प्रबंधन करने में सक्षम ब्राउज़रों की संख्या को देखते हुए, यह विशाल इंटरनेट की तुलना में इंट्रानेट की अधिक आवश्यकता है।

आपके पास ई-कॉमर्स या ब्लॉग या फोरम हो सकता है, जो अच्छे एक्सएचटीएमएल पृष्ठों को छोड़ता है। और जिन व्यक्तियों को विवरण, लेख या संदेश लिखते हैं <p><p><p> कुछ पंक्तियों को छोड़ने के लिए, जब यह <p/> या किसी अन्य विदेशी निर्माण होता है ...

मुझे एक्सएचटीएमएल में विश्वास है, लेकिन मुझे लगता है कि मैं इसे अपनी साइट के लिए किए गए छोटे पृष्ठों के लिए उपयोग नहीं करूँगा। मैं अच्छी तरह से लिखित कोड के साथ एचटीएमएल 4 का उपयोग करूँगा (उद्धृत विशेषताओं, यदि वैकल्पिक हो, तब भी टैग बंद करना)।
और आखिरकार, यदि डब्ल्यू 3 सी एचटीएमएल 5 में काम कर रहा है, तो यह एक कारण के लिए है: एचटीएमएल अभी भी आगे चल रहा है, अन्यथा इसे एक्सएचटीएमएल 2 के पक्ष में मार दिया जाएगा।


एक्सएचटीएमएल हमारे ब्रह्मांड में अन्य सभी एक्सएमएल-आधारित संरचनाओं के साथ एचटीएमएल ऑर्थोगोनल बनाता है, जिसमें दो प्राथमिक लाभ हैं

एक्सएमएल के साथ व्यवहार करने में हम डिजाइन पैटर्न एचटीएमएल पर लागू किए जा सकते हैं।

सॉफ्टवेयर उपकरण


यह एक वैश्विक मानक मुद्दा है

यह सिर्फ एक्सएचटीएमएल के बारे में नहीं है, लेकिन दुनिया के सभी मानकों के बारे में है। संस्करण से लेकर संस्करण तक आपको चीजों को स्पष्ट करने की आवश्यकता है।

xHTML चौकोर है और कोड को सिमेंटिक मान जोड़ने के लिए कोडर्स को धक्का देता है। यह पूरी तरह से एक्सएमएल संगत है और इसके लिए अधिक आसानी से पर्सैबल, स्टाइलिसबल आदि।

याद रखें कि कोड केवल कोडर के लिए नहीं है, मशीनों के लिए बोट भी है 10 वर्षों में, ब्राउज़र या लाइब्रेरी बनाने वाले लोग पुराने एचटीएमएल प्रसंस्करण के लिए एक ही परिसरों के नियमों को लागू नहीं करना चाहते हैं, बल्कि संभवतः कुछ चीजें संभव के रूप में साफ होने की उम्मीद करेंगे।

मूल्य के बीच सिमेंटिक लिंक बनाने के लिए खोज इंजन पर भरोसा करने के लिए कुछ आवश्यक है और ऐसा करने के लिए केवल एक आसान तरीका है तो बेहतर होगा।

और मैं स्क्रीन रीडर के बारे में बात नहीं कर रहा हूं ...

मानक, सभी से ऊपर है, एक अनूठे खुले समाधान की तरफ जाने के बारे में जो सभी की जरूरतों को ठीक करता है। नई चमकदार सुविधाओं को जोड़ने के बारे में न सिर्फ


एक्सएचटीएमएल द्वारा हल किए गए केवल एक चीज सफारी का इस्तेमाल करने वाले उपयोगकर्ताओं की "समस्या" है: मुझे नहीं पता कि बग अभी भी वहां है, लेकिन जब हमें आखिरी बार एक्सएचटीएमएल में लिखने के लिए कहा गया था, तो हमने एक बग में भाग लिया सफारी के साथ XHTML अनुपयोगी एक्सएचटीएमएल में, एन्परर टैग में निम्नलिखित यूआरएल की इजाजत नहीं है, क्योंकि एपरसेंड बच नहीं है:

http://www.example.com/page.php?arg1=val1&arg2=val2

तो आपको क्या करना है, इसके साथ इसे & amp; इस तरह:

http://www.example.com/page.php?arg1=val1&amp;arg2=val2

लेकिन सफ़ारी धर्मान्तरित & amp; के लिए & # 38; तो आपको यह यूआरएल मिलता है:

http://www.example.com/page.php?arg1=val1&#38;arg2=val2

... और हैश प्रतीक यूआरएल को समाप्त कर देता है जहां तक ​​पीएचपी का संबंध है मुझे पता है कि बदसूरत हैक्स हैं जो आपको अन्य तरीकों से दो चर को पारित करने की अनुमति देता है, लेकिन अगर एक्सएचटीएमएल आपको बदसूरत हैक्स का इस्तेमाल करने के लिए मजबूर करने जा रहा है, तो आप इसके बिना बेहतर हो।


एक्सएचटीएमएल एचटीएमएल के विपरीत परिभाषा XML है

इसका मतलब है कि आप इसके साथ काफ़ी उपयोगी चीजें कर सकते हैं, जैसे कि इसे आसानी से मान्य और पार्स कर सकते हैं (क्योंकि आप जानते हैं कि यह एक्सएमएल है और इस तरह से उपलब्ध उपकरणों के असंख्य का उपयोग कर सकते हैं)।

इसके अलावा, चीजों को "अधिक सही" बनाने की तरह ;-)


एक्सएचटीएमएल 1.0 सख्त चार समस्याओं को हल करने की कोशिश करता है:

  1. एक्सएमएल डब्ल्यू 3 सी टेक्नोलॉजी है और एचटीएमएल 4 इसका उपयोग नहीं कर रहा था। आपकी समस्या नहीं है

  2. सशक्त प्रथागतवाद की बात आती है जब संक्रमणकालीन से अधिक सैद्धांतिक रूप से शुद्ध होना चाहता है। लेकिन यह एक एक्सएचटीएमएल बनाम एचटीएमएल मुद्दा नहीं है

  3. एक्सएमएल पार्सर माना जाता है कि सरल है। (पूरी तरह से सच नहीं है, डीटीडी भाग से निपटने के लिए कोड बहुत जटिल है।) इन दिनों, आपको एक्सएमएल और एचटीएमएल पार्सर्स को ऑफ-शेल्फ दोनों मिलता है, इसलिए यह आपकी समस्या नहीं है। (एक तरफ: मोबाइल तर्क पूरी तरह फर्जी है ।)

  4. एप्लिकेशन / एक्सएचटीएमएल + एक्सएमएल (यद्यपि मान्य एक्सएचटीएमएल 1.0 सख्त नहीं है!) आपको अन्य शब्दावली को मिश्रण करने की अनुमति देता है यदि आप आजकल इनलाइन मैथिकल या एसवीजी का उपयोग करना चाहते हैं, तो यह आज के अनुप्रयोग / एक्सएचटीएमएल + एक्सएमएल का उपयोग करने का मुख्य कारण है। हालांकि, एचटीएमएल 5 काम की दिशा में ले जा रही दिशा में MathML और SVG को टेक्स्ट / html में इस्तेमाल करना संभव है।


एक्सएचटीएमएल उपयोगी है क्योंकि यह एक साधारण रूपांतरित स्टाइलशीट बनाने या अपने खुद के पार्सर को इसके लिए एचएएल के मुकाबले रोल करने के लिए आसान है।


एक्सएचटीएमएल @ बीएयर के एक्सएचटीएमएल के उपयोग के बारे में एक महान पोस्ट है

उम्मीद है कि यह मदद करता है, ब्रूनो Figueiredo


क्या आपको अपने एचटीएमएल को एक प्रोग्राम के साथ विश्लेषण करना है, ओ कुछ परीक्षणों के लिए? फिर, एक्सएचटीएमएल का उपयोग करें

बाकी सब के लिए, HTML 4.01 (सख्त, ढीले, संक्रमणकालीन, जो भी) बिल्कुल "मानक" और कम "परेशानी" है


XHTML1 बनाम एचटीएमएल 4 और सख्त बनाम संक्रमणकालीन पूरी तरह से ओर्थोगोनल मुद्दे हैं।

एक्सएमएल आज ब्राउज़रों को कोई बड़ा फायदा नहीं दे सकता है, लेकिन सर्वर के अंत में यह एक्सएमएल का इस्तेमाल करने वाले दस्तावेजों को पुराने स्कूल एसजीएमएल-को छोड़कर-वास्तव में एचटीएमएल 4 के पार्स को पार्स करने की कोशिश में आसान बनाने का आदेश है।

अपने आप को [एक्स] एचटीएमएल सख्त के लिए प्रतिबंधित करना अपने आप में कुछ भी हासिल नहीं करता है, बस इसके अलावा कि यह पुराने, कम-बनाए रखने योग्य तकनीकों का उपयोग करने से आपको निराश करता है, आपको वैसे भी उपयोग नहीं करना चाहिए।

इनलाइन जावास्क्रिप्ट को विशेष रूप से एक्सएचटीएमएल के साथ संगत बनाने के लिए पलायन की एक चूहों की आवश्यकता होती है

आप किसी भी पलायन के बिना भाग ले सकते हैं जब तक कि आप अक्षर <या & amp; और '// <[सीडीएटीए [' वास्तव में '<! -' से बहुत बुरा नहीं है पुराने दिनों में था।

किसी भी मामले में, स्क्रीप्टिंग बाहरी रखते हुए अधिक प्रबंधनीय है; आप कुछ भी महत्वपूर्ण इनलाइन नहीं करना चाहते हैं

फिर उपयोगकर्ता इनपुट पर पर्याप्त OCD नहीं होने का मुद्दा यह सुनिश्चित करने के लिए है कि आप किसी भी अवैध वर्णों को नहीं याद करते हैं।

एक्स-एचटीएमएल 1 स्ट्रिंग के रूप में आउट-ऑफ-बैंड वर्ण बिल्कुल एचटीएम 4 के रूप में संक्रमणकालीन हैं।

यदि आप उपयोगकर्ता द्वारा जमा किए गए HTML स्वीकार कर रहे हैं और अच्छी तरह से गठबंधन की त्रुटियों को रोकने के लिए पर्याप्त दाँत की कंग के साथ जांच नहीं कर रहा / बचते हैं, तो आपके पास सिर्फ एक कार्यप्रणाली का पालन करने की तुलना में बड़ी समस्या नहीं है। आप इंजेक्शन के माध्यम से हैक्स दे देंगे और क्रॉस-साइट-स्क्रिप्टिंग सुरक्षा छेद के लिए आपकी साइट को कमजोर कर देगा।

सर्वर से लौटा गया सामग्री-प्रकार को सुनिश्चित करने के लिए भूलना टेक्स्ट / html से application / html + xml के XHTML पृष्ठों के लिए रीसेट है

यह 'भूल' नहीं है, यह जानबूझकर है: आज वास्तव में आवेदन / एक्सएचटीएमएल + एक्सएमएल देने में ज्यादा बात नहीं है। आईई के खाते में आपको यूए को सूँघना होगा, और फिर सुनिश्चित करें कि आप सीएसएस और जावास्क्रिप्ट के अंतर को समझते हैं जो दोनों पार्सिंग मोड में पॉप अप कर रहे हैं ... आप इसे अपनी तकनीकी कौशल साबित करने के लिए कर सकते हैं, लेकिन यह वास्तव में आपको कुछ नहीं प्राप्त करता है ।

विरासत एचटीएमएल के रूप में एक्सएचटीईंग करना आदर्श नहीं हो सकता है, लेकिन इससे आपको एक्सएमएल (और एसवीजी जैसी अन्य एक्सएमएल भाषाओं के साथ संभावित इंटरऑपरेबिलिटी) सरल और अधिक संसाधित सिंटैक्स रखने में मदद मिलती है, जबकि अभी भी ब्राउज़र-अनुकूल है

लोग अच्छी तरह से गठबंधन की त्रुटियों के बारे में शिकायत करते हैं, लेकिन उन त्रुटियों को ठीक करने के लिए उन त्रुटियों को उठाते हुए उन्हें चुपचाप छोड़ने से बेहतर है, कुछ भविष्य के ब्राउज़र को जाने के लिए तैयार है।







buzzword-compliance