क्या कोई तरीका है, जब मैं एलएक्सएमएल का उपयोग कर एक XML दस्तावेज़ का विश्लेषण करता हूं, उस दस्तावेज़ को बाहरी कैटलॉग फ़ाइल का उपयोग करके अपने डीटीडी के विरुद्ध सत्यापित करने के लिए? मुझे दस्तावेज़ के डीटीडी में परिभाषित निश्चित विशेषताओं को काम करने में सक्षम होना चाहिए।पायथन के एलएक्सएमएल के साथ एक एक्सएमएल कैटलॉग का उपयोग करना?
उत्तर
क्या आप एक उदाहरण दे सकते हैं? lxml validation docs के अनुसार, एलएक्सएमएल डीटीडी सत्यापन (एक्सएमएल दस्तावेज़ में या बाहरी रूप से कोड में निर्दिष्ट) और सिस्टम कैटलॉग को संभाल सकता है, जिसमें अधिकांश मामलों को शामिल किया जा सकता है।
f = StringIO("<!ELEMENT b EMPTY>")
dtd = etree.DTD(f)
dtd = etree.DTD(external_id = "-//OASIS//DTD DocBook XML V4.2//EN")
यह है कि lxml लगता है इस libxml2 सुविधा का खुलासा नहीं करता grepping स्रोत केवल त्रुटि से निपटने के लिए कुछ #defines जाता:
C:\Dev>grep -ir --include=*.px[id] catalog lxml-2.1.1/src | sed -r "s/\s+/ /g"
lxml-2.1.1/src/lxml/dtd.pxi: catalog.
lxml-2.1.1/src/lxml/xmlerror.pxd: XML_FROM_CATALOG = 20 # The Catalog module
lxml-2.1.1/src/lxml/xmlerror.pxd: XML_WAR_CATALOG_PI = 93 # 93
lxml-2.1.1/src/lxml/xmlerror.pxd: XML_CATALOG_MISSING_ATTR = 1650
lxml-2.1.1/src/lxml/xmlerror.pxd: XML_CATALOG_ENTRY_BROKEN = 1651 # 1651
lxml-2.1.1/src/lxml/xmlerror.pxd: XML_CATALOG_PREFER_VALUE = 1652 # 1652
lxml-2.1.1/src/lxml/xmlerror.pxd: XML_CATALOG_NOT_CATALOG = 1653 # 1653
lxml-2.1.1/src/lxml/xmlerror.pxd: XML_CATALOG_RECURSION = 1654 # 1654
lxml-2.1.1/src/lxml/xmlerror.pxi:CATALOG=20
lxml-2.1.1/src/lxml/xmlerror.pxi:WAR_CATALOG_PI=93
lxml-2.1.1/src/lxml/xmlerror.pxi:CATALOG_MISSING_ATTR=1650
lxml-2.1.1/src/lxml/xmlerror.pxi:CATALOG_ENTRY_BROKEN=1651
lxml-2.1.1/src/lxml/xmlerror.pxi:CATALOG_PREFER_VALUE=1652
lxml-2.1.1/src/lxml/xmlerror.pxi:CATALOG_NOT_CATALOG=1653
lxml-2.1.1/src/lxml/xmlerror.pxi:CATALOG_RECURSION=1654
catalog implementation in libxml2 page से
यह संभव लगता है कि 'पारदर्शी'/etc/xml/catalog में संस्थापन के माध्यम से हैंडलिंग अभी भी lxml में काम कर सकता है, लेकिन यदि आपको उससे अधिक की आवश्यकता है तो आप हमेशा lxml को छोड़ सकते हैं और डिफ़ॉल्ट पायथन बाइंडिंग का उपयोग कर सकते हैं, जो कैटलॉग फ़ंक्शंस का पर्दाफाश करते हैं।
आप XML_CATALOG_FILES
वातावरण चर को सूची में जोड़ सकते हैं:
os.environ['XML_CATALOG_FILES'] = 'file:///to/my/catalog.xml'
this thread देखें। ध्यान दें कि XML_CATALOG_FILES
में प्रविष्टियां स्थान से अलग यूआरएल हैं। पथ पथ से यूआरएल उत्पन्न करने के लिए आप पाइथन के pathname2url
और urljoin
(file:
के साथ) का उपयोग कर सकते हैं।
- 1. एक्सएमएल पार्सिंग एलएक्सएमएल और पायथन
- 2. पायथन एलएक्सएमएल?
- 3. पायथन के साथ डीपीएपीआई का उपयोग करना?
- 4. एलएक्सएमएल के एट्री
- 5. एलएक्सएमएल का उपयोग कर एक्सएमएल के टैग के लिए रिकर्सिवली कैसे खोजें?
- 6. एलएक्सएमएल
- 7. पायथन एक्सएमएल पार्सिंग
- 8. एलएक्सएमएल
- 9. पायथन [एलएक्सएमएल] - एचटीएमएल टैग की सफाई
- 10. एक्सएमएल क्लास गुणों का उपयोग करना, आंतरिक पाठ और विशेषताओं दोनों के साथ एक एक्सएमएल टैग का प्रतिनिधित्व कैसे करें?
- 11. एक्लिप्स के एक्सएमएल कैटलॉग में एकाधिक एक्सएसडी फाइलों को आयात करना
- 12. पायथन के साथ ffmpeg का उपयोग 2.7
- 13. एलएक्सएमएल के साथ नेमस्पेड तत्व विशेषताओं को कैसे लिखें?
- 14. gevent का उपयोग करना और एक उपप्रक्रिया के साथ संवाद के लिए एक साथ बहु
- 15. एंड्रॉइड एक्सएमएल लेआउट के साथ जीएलएसयूफेस व्यू क्लास का उपयोग
- 16. क्लस्टर के साथ socket.io का उपयोग करना?
- 17. डायरेक्टएक्स के साथ क्यूटी का उपयोग करना?
- 18. node.js के साथ mustache.js का उपयोग करना?
- 19. CouchDB के साथ Knockout.js का उपयोग करना -
- 20. सी # के साथ ओपनजीएल का उपयोग करना?
- 21. सीक्वेल के साथ यूटीसी का उपयोग करना?
- 22. लेआउट एक्सएमएल का उपयोग करना और
- 23. विम एक्सएमएल के साथ जी gg का उपयोग कर स्वरूपण =
- 24. एक लाइब्रेरी के साथ प्रोगार्ड का उपयोग करना जो
- 25. roxygen2 के साथ एक @ चिह्न का उपयोग करना
- 26. इस कीवर्ड के साथ एक रेफ पैरामीटर का उपयोग करना?
- 27. एक टीम के साथ आईआईएस एक्सप्रेस का उपयोग करना - स्थानीयहोस्ट
- 28. अनुकूली दहलीज के साथ एक मुखौटा का उपयोग करना?
- 29. एक और बग-ट्रैकर के साथ गिटहब का उपयोग करना?
- 30. क्या जीसीएम का उपयोग एक पायथन जीएई बैकएंड के साथ करना संभव है?