2010-07-08 18 views
15

http://www.w3.org/TR/html401/interact/forms.html#h-17.4 के अनुसार, एक इनपुट तत्व को एक > के साथ समाप्त होना चाहिए और /> नहीं होना चाहिए। हालांकि अधिकांश ब्राउज़र /> के साथ समाप्त होने वाले इनपुट तत्व को संभाल सकते हैं, क्या HTML इनपुट वाक्य के अनुसार मान्य इनपुट तत्व मान्य है? दूसरे शब्दों में <input ... /> और <br /> जैसे तत्व HTML 4 में मान्य हैं?क्या स्वयं बंद इनपुट टैग HTML 4 में मान्य हैं?

(यह सवाल HTML और नहीं एक्सएचटीएमएल के बारे में है !!!)

उत्तर

11

वाक्य रचना वैध में कुछ स्थानों है, लेकिन मतलब यह नहीं है XHTML में के रूप में ही है, इसलिए का उपयोग नहीं करते उन्हें।

HTML में 4 <foo /> (जहां foo एक तत्व के रूप खाली परिभाषित का नाम है) <foo>> के रूप में ही है जो (<foo>&gt; रूप में एक ही मतलब है, हालांकि लगभग कोई ब्राउज़र ठीक से वाक्य रचना का समर्थन करता है, Emacs-डब्ल्यू 3 इस्तेमाल किया मतलब है करने के लिए, लेकिन तथाकथित HTML संगत XHTML 1.0 दस्तावेज़ों को सही ढंग से प्रस्तुत करने के पक्ष में मानक के साथ संगतता तोड़ दी)।

यह है, इसलिए, स्थानों आप कहीं भी रूप में एक &gt; इस तरह हो सकता है जहां में मान्य आप एक <img> नहीं बल्कि अन्य स्थानों में अनुमति दी जाती है (जैसे एक <hr><body> का एक बच्चा तत्व है कि के रूप में (सख्त में))।

वैकल्पिक प्रारंभ और अंत टैग के नियमों के साथ बातचीत अधिक जटिलता जोड़ती है। एक संक्रमणकालीन दस्तावेज़ में, यह मान्य है:

<link …/> 
<h1>Hello, world</h1> 

और अर्थ है:

<link> 
</head> 
<body> 
&gt; 
<h1>Hello, world</h1> 

यह आशुलिपि वाक्यविन्यास उपयोगी हो सकता है, या कम से कम समय की बचत होती, जैसी चीजों के लिए:

<title/The quick brown fox/ 
अधिक verbose के बजाय

:

<title>The quick brown fox</title> 

... लेकिन the syntax has never been well supported और विनिर्देश कहता है कि इसे टालना चाहिए।

+0

क्या आपको पता है कि Emacs-W3 ने नेट सिंटैक्स को पूर्ण रूप से समर्थित किया है या नहीं? – Alohci

+0

@Alohci - कोई विचार नहीं, मुझे बस एक झटका लगा जब उसने अपने एक्सएचटीएमएल दस्तावेजों में 2000 के दशक में वापस '> 'पात्रों को बिछाया (जिसके कारण मुझे एचटीएमएल में नेट" काम "के बारे में बहुत कुछ सीखना पड़ा) – Quentin

+0

लिंक्स शॉर्टंड सिंटैक्स का समर्थन करता है आज तक। – grawity

2

वास्तव में हल ... W3C एचटीएमएल 4 सत्यापनकर्ता यह एचटीएमएल 4 में लेखन तत्व नामों की इस शैली का उपयोग न करना बेहतर है के अनुसार:

NET-enabling start-tag requires SHORTTAG YES 
<br /> 
The sequence <FOO /> can be interpreted in at least two different ways, 
depending on the DOCTYPE of the document. For HTML 4.01 Strict, the '/' terminates 
the tag <FOO (with an implied '>'). However, since many browsers don't interpret it 
this way, even in the presence of an HTML 4.01 Strict DOCTYPE, it is best to avoid 
it completely in pure HTML documents and reserve its use solely for those written in XHTML. 
+1

हां, जैसा कि रोवलैंड शॉ ने नोट किया, ** यह स्वीकार्य है, लेकिन मान्य नहीं है **। – fmark

+2

@ फ़मार्क - आपके पास पीछे की ओर है, यह मान्य है (कभी-कभी) लेकिन स्वीकार्य नहीं है। उपरोक्त उद्धृत सत्यापनकर्ता संदेश एक चेतावनी है, त्रुटि नहीं। – Quentin

+0

@ डेविड डोरवर्ड - ऐसा लगता है कि आप सही हैं, HTML spec के अनुसार। मुझे सही साबित होना है! – fmark

-1

HTML Compatibility Guidelines से:

के पहले एक रिक्ति खाली तत्वों के पीछे / और > पीछे, उदाहरण के लिए <br />, <hr /> और <img src="karen.jpg" alt="Karen" />। साथ ही, रिक्त तत्वों के लिए न्यूनतम टैग सिंटैक्स का उपयोग करें, उदा। <br />, एक्सएमएल द्वारा अनुमत वैकल्पिक वाक्यविन्यास <br></br> के रूप में कई मौजूदा उपयोगकर्ता एजेंटों में अनिश्चित परिणाम देता है।

+0

एचटीएमएल के रूप में ब्राउज़र को एक्सएचटीएमएल संभालने के दिशानिर्देशों में एचटीएमएल में मान्य होने के साथ बहुत कुछ नहीं है (क्योंकि वे ब्राउज़र से क्या करते हैं, न कि उन्हें क्या करना चाहिए) – Quentin

+0

सहमत हैं। मेरा जवाब एक निश्चित उत्तर के रूप में एक संबंधित विषय पर एक दिलचस्प टिप्पणी के रूप में अधिक था। मुझे लगता है कि मुझे इसे अगली बार टिप्पणी करना चाहिए। – Sjoerd

संबंधित मुद्दे