2009-12-31 12 views
9

कई doctype एक URL लिंक का प्रयोगक्या डॉकटाइप वाले प्रत्येक एचटीएमएल पेज को पृष्ठ को सही ढंग से प्रस्तुत करने के लिए इंटरनेट कनेक्शन की आवश्यकता है?

इस

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

की तरह है और इस DTD फ़ाइल को लाइव यूआरएल http://www.w3.org/TR/html4/strict.dtd

पर है क्या इस ऑनलाइन लाइव DTD का प्रयोग होता है और कैसे किसी भी पृष्ठ (जो प्रयोग यह सिद्धांत) इस यूआरएल तक पहुंच के बिना इस सिद्धांत के अनुसार उचित रूप से प्रस्तुत करेगा (मेरा मतलब है कि इंटरनेट का उपयोग उपलब्ध नहीं है?)

अद्यतन: मैं विकिपीडिया http://en.wikipedia.org/wiki/System_identifier

HTML और XML में से यह जानकारी भी मिली, जिसमें प्रणाली पहचानकर्ता एक fragmentless यूआरआई संदर्भ है। यह आमतौर पर दस्तावेज़ प्रकार घोषणा में होता है। इस संदर्भ में, यह जबकि एक सार्वजनिक पहचानकर्ता एक दस्तावेज़ प्रकार कि अधिक से अधिक एक आवेदन अवधि सकता है की पहचान करने के लिए है, एक दस्तावेज प्रकार जो एक आवेदन में विशेष रूप से प्रयोग किया जाता है की पहचान करने का इरादा है।

अद्यतन 2: यह केवल प्रमाणकों के लिए उपयोग करने के लिए है

निम्न उदाहरण में, प्रणाली पहचानकर्ता पाठ उद्धरण के भीतर निहित है? dreamweaver जैसे कुछ सॉफ़्टवेयर ऑफ़लाइन सत्यापन प्रदान करते हैं?

अद्यतन 3: मैं क्यों एक doctype निर्दिष्ट W3C साइट http://www.w3.org/QA/Tips/Doctype

से यह जानकारी मिल गया? क्योंकि यह परिभाषित करता है का कौन सा संस्करण (एक्स) एचटीएमएल अपने दस्तावेज़ वास्तव में (क्या ब्राउज़र या सत्यापनकर्ता? के लिए संस्करण ) का उपयोग कर रहा है, और इस जानकारी का एक महत्वपूर्ण टुकड़ा कुछ उपकरण (जो उपकरण की जरूरत है? किसी अन्य उपकरण के बाद वैधकर्ता?) दस्तावेज़ को संसाधित करना।

उदाहरण के लिए, अपने दस्तावेज़ के doctype को निर्दिष्ट आप अपने (एक्स) एचटीएमएल के सिंटैक्स की जाँच करने के लिए इस तरह के मार्कअप सत्यापनकर्ता के रूप में उपकरण उपयोग करने के लिए अनुमति देता है। ऐसे उपकरण काम नहीं कर पाएंगे अगर वे नहीं जानते हैं कि आप किस प्रकार के दस्तावेज़ का उपयोग कर रहे हैं।

लेकिन सबसे महत्वपूर्ण बात यह है कि ब्राउज़रों के सबसे परिवारों के साथ, एक doctype घोषणा करेंगे इस प्रकार ट्रिगर एक "मानक" प्रतिपादन मोड का एक बहुत अनावश्यक अनुमान लगा कर देगा, और है।

+0

मैं उम्मीद करते हैं कि यूआरएल वास्तव में नहीं किया जाता है, लेकिन यह doctype परिभाषा का हिस्सा है, तो यह नहीं होना चाहिए। लेकिन, यदि कोई इंटरनेट कनेक्शन नहीं है तो यह वैसे भी ठीक काम करेगा। –

+0

क्या मेरा उत्तर पहले से अपडेट किए गए प्रश्नों को पहले से संबोधित नहीं करता है? क्विर्क/मानक मोड स्विचिंग के लिए उपयोग किए जाने वाले विशिष्ट सिद्धांतों के अलावा ब्राउज़र परवाह नहीं है। मान्यकर्ता आमतौर पर देखभाल करते हैं, लेकिन आमतौर पर डीटीडी डाउनलोड नहीं करते हैं। अन्य उपकरण देखभाल कर सकते हैं या नहीं; आप सवाल में उपकरण के बारे में पूछकर एक बेहतर जवाब प्राप्त करने में सक्षम होंगे, क्योंकि कोई भी आकार-फिट नहीं है-सभी जवाब। –

उत्तर

14

नहीं, कोई ब्राउज़र वास्तव में कार्यप्रणाली के खिलाफ लाने या मान्य नहीं करता है।डीटीडी लाने और मान्य करने के लिए एक अच्छा तर्क के लिए DTDs Don't Work on the Web देखें एक बुरा विचार है।

सिद्धांत रूप में यह कहने के लिए कि दस्तावेज़ मानक के किस संस्करण का उपयोग करता है, सिद्धांत सिद्धांत है। आमतौर पर ब्राउज़र switch between quirks and standards mode के अलावा, इस जानकारी का उपयोग नहीं करते हैं। इस उद्देश्य के लिए सभी आधुनिक ब्राउज़र सबसे आसान संभव कार्यप्रणाली स्वीकार करते हैं, जिसमें कोई यूआरएल या संस्करण जानकारी नहीं है, <!DOCTYPE html>; इस वजह से, HTML5 ने इसे अनुशंसित कार्यप्रणाली के रूप में अपनाया है।

प्रमाणकों कभी कभी इस जानकारी का उपयोग DTD के खिलाफ क्या मान्य करने के लिए बताने के लिए है, लेकिन दस्तावेज़ में एम्बेडेड DTDs वास्तव में मान्यता जानकारी निर्दिष्ट की एक बहुत अच्छी तरह से नहीं कर रहे हैं। दस्तावेज़ में संदर्भित डीटीडी के खिलाफ सत्यापन करने में समस्या यह है कि उस दस्तावेज़ का उपभोक्ता वास्तव में इस बात की परवाह नहीं करता है कि दस्तावेज़ स्वयं-संगत है या नहीं, लेकिन क्या यह एक स्कीमा का पालन करता है जिसे उपभोक्ता विश्वसनीय रूप से समझने के बारे में जानता है। इसके बजाए, RELAX NG जैसी अधिक शक्तिशाली स्कीमा भाषा में बाहरी स्कीमा के विरुद्ध मान्य होना आम तौर पर बेहतर होता है।

प्रमाणकों के लिए इस जानकारी का उपयोग करते हैं, वे अक्सर यूआरआई एक पहचानकर्ता के रूप में नहीं, बल्कि केवल एक लोकेटर के रूप में इस्तेमाल करते हैं। इसका मतलब है कि सत्यापनकर्ता पहले से ही सभी सामान्य HTML सिद्धांतों के बारे में जानता है, और उस ज्ञान का उपयोग यूआरआई से डाउनलोड करने के बजाय सत्यापन के लिए करता है। यह हर समय डीटीडी डाउनलोड करने की समस्या से बचने के लिए है, और यह भी कि क्योंकि एक डीटीडी वास्तव में बहुत अच्छी प्रमाणीकरण और त्रुटि संदेश प्रदान करने के लिए पर्याप्त जानकारी निर्दिष्ट नहीं करता है, इसलिए सत्यापनकर्ता के कुछ हिस्सों को कस्टम कोड में निर्दिष्ट किया जा सकता है या एक और अधिक शक्तिशाली स्कीमा भाषा। अधिक जानकारी के लिए, validator.nu एचटीएमएल 5 अनुरूपता जांचकर्ता के कार्यान्वयन पर देखें।

कुछ प्रमाणकों भी कैश DTDs डाउनलोड कर सकते हैं और उसके बाद, तो वे इसे डाउनलोड करने के ऑनलाइन एक बार अवश्य होना चाहिए कि, लेकिन बाद में कैश किए गए संस्करण से काम करेंगे।

+0

मेरी अपडेट हुआ 2 –

+0

लेकिन कैसे सख्त मोड के लिए इंटरनेट कनेक्शन परिवर्तन quirks के बिना किसी भी ब्राउज़र अगर एक्सएचटीएमएल फ़ाइल इस प्रणाली पहचानकर्ता है –

+0

ब्राउज़र वास्तव में DTD आदेश quirks और मानकों मोड के बीच स्विच करने में संदर्भित लोड नहीं; वे सिर्फ < 'घोषणा पर एक स्ट्रिंग मैच करते हैं। नहीं (लोकप्रिय, आधुनिक) ब्राउज़र वास्तव में संदर्भित डीटीडी लोड करेगा। अधिकांश वैधकर्ता या तो नहीं करते हैं। वे इसे पहचानकर्ता के रूप में उपयोग करते हैं। ध्यान दें कि मेरे उत्तर में दूसरे लिंक में सूचीबद्ध कई सिद्धांतों में यूआरआई भी नहीं है, वे केवल एफपीआई (औपचारिक सार्वजनिक पहचानकर्ता http://en.wikipedia.org/wiki/Formal_Public_Identifier) ​​का उपयोग करते हैं जैसे "- // W3C // डीटीडी एचटीएमएल 4.01 // एन "। –

2

यूआरआई वहाँ दस्तावेज़ प्रकार की पहचान के लिए है - यह पुनः प्राप्ति और कोई ब्राउज़र (या सॉफ्टवेयर के अन्य टुकड़ा) के लिए नहीं होती है एक दस्तावेज है कि वेब पते पर मौजूदा पर भरोसा करना चाहिए।

+1

यह एक यूआरएल की तुलना में एक यूआरआई का वास्तव में अधिक है। इसका उद्देश्य दस्तावेज़ प्रकार की पहचान करना है - यह वास्तव में यह पता लगाने के लिए भी काम करता है कि यह आकस्मिक है। – fennec

+0

सुधार के लिए धन्यवाद - बहुत सावधान। फिक्स्ड। – Oded

+0

यह पुनर्प्राप्ति के लिए बहुत अधिक मतलब है। एक बाह्य-इकाई-जिसमें पार्सर शामिल है जैसे एक वैध पार्सर (जो ब्राउज़र नहीं है) को डीटीडी बाहरी सबसेट की आवश्यकता होगी; अगर इसमें स्थानीय प्रतिलिपि नहीं है तो उसे सिस्टम आईडी को यूआरआई के रूप में अव्यवस्थित करना होगा। आप उम्मीद करेंगे कि अधिकांश उपकरणों में उनके सार्वजनिक आईडी के तहत जाने-माने एचटीएमएल डीटीडी की स्थानीय प्रतिलिपि होगी। – bobince

0

मैं अपने आप को उस के बारे में आश्चर्य करते थे। लेकिन अगर आपके पास अपना स्वयं का HTTP सर्वर है, तो यह साबित करना बहुत आसान है कि इससे कोई फर्क नहीं पड़ता। केबल को बाहरी दुनिया में यंक करें और देखें कि क्या आप अभी भी अपने सर्वर पर पेज खोल सकते हैं।

+0

हेक देखें, बस केबल को यंक करें और अपनी हार्ड डिस्क पर सहेजे गए HTML पृष्ठ को देखें। – fennec

+1

हमें किसी भी एचटीएमएल फाइल को साबित करने के लिए किसी भी सर्वर की आवश्यकता नहीं है –

+1

इस बात पर निर्भर करता है कि आप स्थानीय फाइलों के लिए ब्राउज़र पर कितना भरोसा करते हैं क्योंकि यह वेब से खींची गई फाइलों के लिए करता है। –