क्या दस्तावेज़ में कई XML घोषणाएं अच्छी तरह से बनाई गई XML हो सकती हैं?



xml-declaration (1)

अच्छी तरह से बनाई गई XML में केवल एक XML घोषणा की अनुमति है, और कहीं भी अगर शीर्ष पर होना चाहिए

शीर्ष पर होना चाहिए

एक्सएमएल सिफारिश की अच्छी तरह से बने XML दस्तावेज़ अनुभाग में document की परिभाषा देखें:

[1]     document ::= prolog element Misc*

फिर prolog जांच करें:

[22]    prolog   ::= XMLDecl? Misc* (doctypedecl Misc*)?

और फिर XMLDecl :

[23]    XMLDecl  ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>'

इसलिए, हम देखते हैं कि ईएनबीएफ़ दस्तावेज़ के शीर्ष पर एक XML घोषणा की अनुमति देता है

केवल एक

निर्देश प्रसंस्करण ...

[16]    PI       ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>'
[17]    PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))

... सामान्य रूप में कहीं और हो सकता है, लेकिन एक दूसरा एक्सएमएल घोषणा PITarget की परिभाषा के PITarget और इस कथन से PITarget में PITarget :

लक्ष्य नाम "एक्सएमएल", "एक्सएमएल", और इतने पर इस विनिर्देश के या भविष्य के संस्करणों में मानकीकरण के लिए आरक्षित हैं।

क्या इसी दस्तावेज़ में दो XML घोषणाएं अच्छी तरह से बनाई गई XML हैं?

<?xml version="1.0" encoding="UTF-8"?>
<a>
 <?xml version="1.0" encoding="UTF-8"?>
 <b>
  hello
 </b>
</a>

मेरा मानना ​​है कि ऐसा नहीं है, लेकिन मुझे इस पर मुझे वापस करने के लिए एक स्रोत नहीं मिल सकता है।

एक्स्टेंसिबल मार्कअप लैंग्वेज (XML) 1.0 से

परिभाषा: एक्सएमएल दस्तावेज एक्सएमएल के इस्तेमाल के संस्करण को निर्दिष्ट करते हुए एक्सएमएल घोषणा के साथ शुरू करना चाहिए।

इस शब्द का शब्द "होना चाहिए" वहां मौजूद है यह आदर्श रूप से दस्तावेज़ को XML घोषणा के साथ शुरू होता है यह दस्तावेज के भीतर कोई अन्य होने के बारे में कुछ भी नहीं कहता है।

दस्तावेज प्रकार की घोषणा दस्तावेज़ में पहले तत्व से पहले दिखाई देनी चाहिए।

यह करीब है, लेकिन यह XML घोषणापत्र के बारे में ही बात नहीं करता, भले ही इसे इसके पहले आना चाहिए।





xml-declaration