xml - त्रुटि को ठीक कैसे करें: रूट तत्व के बाद दस्तावेज़ में मार्कअप को अच्छी तरह से बना होना चाहिए



xslt xml-parsing (1)

सामान्य मामला

मूल तत्व के बाद दस्तावेज़ में मार्कअप अच्छी तरह से बनना चाहिए।

यह त्रुटि इंगित करती है कि आपका XML रूट तत्व के बाद मार्कअप है अच्छी तरह से बनने के लिए , एक्सएमएल में बिल्कुल एक रूट तत्व होना चाहिए , और एकल रूट तत्व के बाद कोई और मार्कअप नहीं हो सकता।

एक रूट तत्व उदाहरण (GOOD)

<r>
  <a/>
  <b/>
  <c/>
</r>

इस त्रुटि के लिए सबसे सामान्य स्रोत हैं:

  1. आवारा या अतिरिक्त नज़दीकी टैग (बीएडी) सहित:

    <r>
      <a/>
      <b/>
      <c/>
    </r>
    </r>  <!-- shouldn't be here -->
  2. जानबूझकर कई मूल तत्व (बीएडी) होने:

    <a/>
    <b/>  <!-- second root element shouldn't be here -->
    <c/>  <!-- third root element shouldn't be here -->
  3. अनजाने में कई मूल तत्व (बीएडी) हैं:

    <r/>  <!-- shouldn't be self-closing -->
      <a/>
      <b/>
      <c/>
    </r>
  4. आपको लगता है कि तुलना में अलग XML पार्सिंग (बीएडी):

    पार्स को प्रदान करने से पहले तुरंत लॉग इन करें, जो यह सुनिश्चित करने के लिए विफल हो रहा है कि पार्सर देख रहा एक्सएमएल वही है जो XML आपको लगता है कि यह देख रहा है। यहां सामान्य त्रुटियां शामिल हैं:

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

आपकी विशेष समस्या

आपके विशेष मामले में, आपके एक्सएमएल में कई मूल तत्व होते हैं क्योंकि xsl:stylesheet तत्व समय से पहले बंद हो जाता है (ऊपर केस # 3 )।

परिवर्तन

            xmlns:xsl="http://www.w3.org/1999/XSL/Transform"/>

सेवा मेरे

            xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

अपनी तत्काल समस्या को ठीक करने के लिए, और एक बंद टैग जोड़ने के लिए,

</xsl:stylesheet>

अगर कोई आपके वास्तविक दस्तावेज़ में पहले से मौजूद नहीं है।

मैं अपना कोड XML सत्यापन वेबसाइट में डाल दिया और मुझे यह त्रुटि देता है:

रेखा 8: 4 रूट तत्व के बाद दस्तावेज़ में मार्कअप को अच्छी तरह से बना होना चाहिए।

जिस पंक्ति में समस्या हो रही है वह है <xsl:output method = "html" doctype-system = "about:legacy-compat"/> , पंक्ति।

एक्सएमएल

<?xml version="1.0"?>

<!-- Fig. 15.21: sorting.xsl -->
<xsl:stylesheet version = "1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"/>

<!-- write XML declaration and DOCTYPE DTD information -->
*<xsl:output method = "html" doctype-system = "about:legacy-compat" />*

 <!-- match document root -->
 <xsl:template match="/"> -<html> <xsl:apply-templates/> </html> 
 </xsl:template>




xml-validation