मुझे पता है कि यह एक पुरानी पोस्ट है, लेकिन मैं इसे पार कर गया, और दुर्भाग्य से, अंकित का जवाब मेरे लिए बहुत उपयोगी नहीं था। यह इस बात पर सबसे अच्छा ध्यान केंद्रित करता है कि इनपुट वैध एक्सएमएल सिंटैक्स है, न कि स्कीमा का पालन किया गया है, जो ओपी का हिस्सा था।
मुझे libxmljs मिला है जो आप ढूंढ रहे हैं के लिए सबसे अच्छा समाधान है। आप पार्स कर सकते हैं, बुनियादी स्ट्रिंग को मान्य कर सकते हैं, साथ ही विस्तृत संरचना भी कर सकते हैं।
एक XML वाक्यविन्यास के लिए जाँच की तरह कुछ के साथ किया जाएगा का एक उदाहरण:
var xsd = '<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="comment" type="xs:string"/></xs:schema>';
var xml_valid = '<?xml version="1.0"?><comment>A comment</comment>';
var xml_invalid = '<?xml version="1.0"?><commentt>A comment</commentt>';
var xsdDoc = libxml.parseXml(xsd);
var xmlDocValid = libxml.parseXml(xml_valid);
var xmlDocInvalid = libxml.parseXml(xml_invalid);
assert.equal(xmlDocValid.validate(xsdDoc), true);
assert.equal(xmlDocInvalid.validate(xsdDoc), false);
पहले लिंक:
एक विशिष्ट संरचना के लिए जाँच का एक उदाहरण/स्कीमा की तरह कुछ के साथ होगा एक्सएमएल पार्सर मॉड्यूल को अब टूटा हुआ है। – spoulson
@spoulson मेरे ध्यान में लाने के लिए धन्यवाद। सीधे एनपीएम वेबसाइट पर इंगित करने के लिए हल किया गया। –