2009-07-28 11 views
25

क्या XML फ़ाइल में XML घोषणा से पहले टिप्पणियां रखना ठीक है?एक्सएमएल घोषणा से पहले टिप्पणियां देने के लिए ठीक है?

<!-- 
Is this bad to do? 
--> 
<?xml version="1.0" encoding="utf-8"?> 
<someElement /> 
+2

जब आपने इसे आजमाया, तो क्या हुआ? –

+1

हे! पहले पूछने और बाद में प्रयोग करने की मेरी बुरी आदत पर मुझे फोन न करें ...^_^ –

+4

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

उत्तर

41

नहीं, यह ठीक नहीं है।

Appendix F of the XML spec का कहना है:

क्योंकि प्रत्येक एक्सएमएल इकाई नहीं बाहरी एन्कोडिंग जानकारी से और UTF-8 या UTF-16 एन्कोडिंग एक एक्सएमएल एन्कोडिंग घोषणा से आरंभ होने चाहिए में नहीं के साथ है, जो में पहले अक्षर '<? xml' होना चाहिए, अनुरूप प्रोसेसर इनपुट के दो से चार ऑक्टेट्स के बाद पता लगा सकता है, में से निम्नलिखित मामले लागू होते हैं।

आह, लेकिन, अनुभाग एफ गैर-मानक है, आप कहते हैं।

खैर, section 2.1, एक अच्छी तरह से गठित XML दस्तावेज़ के लिए उत्पादन देता है इस प्रकार:

[1]  document  ::=  prolog element Misc* 

... और section 2.8 में हम "prolog" के लिए उत्पादन प्राप्त करें:

[22] prolog  ::=  XMLDecl? Misc* (doctypedecl Misc*)? 
[23] XMLDecl ::=  '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>' 

तो , आप < से बाहर निकल सकते हैं? xml घोषणा, लेकिन आप इसे किसी भी चीज़ से उपसर्ग नहीं कर सकते हैं।

(संयोग से, "Misc" वह श्रेणी है जो टिप्पणियों में पड़ती है)।

+1

+ 1 सबसे गहन और आधिकारिक उत्तर के लिए – rmeador

+1

सुंदर उत्तर, बिल्कुल सही शोध जो मुझे चाहिए था। +1। – Josh

8

this page के अनुसार, यह अवैध है।

+10

क्या आप गिरफ्तार हो सकते हैं? –

+10

मुझे पीटा गया और इसके लिए सिंगापुर जेल सेल में रखा गया! – Chap

5

एक्सएमएल घोषणा दस्तावेज़ एन्कोडिंग निर्दिष्ट करती है, जो संरचनात्मक एक्सएमएल के लिए टिप्पणियों के लिए महत्वपूर्ण है। इसलिए, घोषणा पहले जाना चाहिए। मुझे आश्चर्य नहीं होगा अगर कई एक्सएमएल पाठक इससे निपटने में सक्षम थे, लेकिन यह एक बुरा विचार है।

+1

अच्छी तरह से, मैं आपसे सहमत हूं। असल में पार्सर को यह पता होना चाहिए कि दस्तावेज़ को कैसे पढ़ा जाए क्योंकि वह एन्कोडिंग को पढ़ने में सक्षम नहीं होगा। इसलिए केवल इस टिप्पणी में बहु-बाइट वर्ण डालने की अनुमति नहीं दी जानी चाहिए ... – Atmocreations

1

नहीं, यह एक्सएमएल मानकों का पालन नहीं करता है, लेकिन टिप्पणियां अच्छी हैं।

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