का उपयोग करते समय xmllint सत्यापन त्रुटि "कोई डीटीडी नहीं मिली" मैं मूल एक्सएसडी यानी एक्सएमएल स्कीमा स्कीमा विकसित करते समय अपने काम की जांच करने के लिए xmllint का उपयोग करने की कोशिश कर रहा हूं। हालांकि यह मुझे एक त्रुटि दे रहा हैएक्सएमडी
प्रमाणीकरण विफल: कोई डीटीडी नहीं मिला।
मैं क्या गलत कर रहा हूं?
मेरे xmllint आदेश:
xmllint --noout --valid --schema simple.xsd lucas-basic.xml
lucas-basic.xml:5: validity error : Validation failed: no DTD found !
>
^
lucas-basic.xml validates
टेस्ट XSD फ़ाइल:
<?xml version = "1.0" encoding = "UTF-8"?>
<!--Generated by XML Authority. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
<xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema">
<xsd:element name = "vehicles">
<xsd:complexType>
<xsd:sequence>
<xsd:element name = "nickname" type = "xsd:string" maxOccurs = "unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
टेस्ट एक्सएमएल फ़ाइल:
<?xml version="1.0"?>
<vehicles
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation = "http://lucas.ucs.ed.ac.uk/xml-schema/xmlns/simple.xsd"
>
<nickname>Bog Hopper</nickname>
<nickname>Wee Beastie</nickname>
<nickname>Count Zero</nickname>
</vehicles>
xsi पर यूआरएल: noNamespaceSchemaLocation ऊपर XSD वापसी करता है। इसके अलावा, मैंने xsd फ़ाइल डाउनलोड की है और इसे एक अतिरिक्त उपाय के रूप में वर्तमान निर्देशिका में डाल दिया है, लेकिन ऐसा लगता है कि ऐसा कुछ भी नहीं बदला है।
अब जब मैं इसे काम कर रहा हूं तो मुझे टिप्पणी करनी चाहिए कि स्थानीय फ़ाइल का उपयोग करना या दूरस्थ स्कीमा निर्दिष्ट करना समान रूप से अच्छी तरह से काम करता है। --chechema simple.xsd OR --chechema http://lucas.ucs.ed.ac.uk/xml-schema/xmlns/simple.xsd – Tristan