Мне нужно проанализировать файл .xsd на Python, как если бы я анализировал XML.
Я использую libxml2.
Мне нужно разобрать xsd, который выглядит следующим образом:
<xs:complexType name="ClassType">
<xs:sequence>
<xs:element name="IeplcHeader">
<xs:complexType>
<xs:sequence>
<xs:element name="device-number" type="xs:integer" fixed="1"/>
</xs:sequence>
<xs:attribute name="version" type="xs:integer" use="required" fixed="0"/>
</xs:complexType>
</xs:element>
, когда я обращаюсь с
doc.xpathEval('//xs:complexType/xs:sequence/xs:element[@name="IeplcHeader"]'):
, сообщает мне, что не могу найти путь.
в то время как если я удалю все xs: как следует
<complexType name="ClassType">
<sequence>
<element name="IeplcHeader">
<complexType>
<sequence>
<element name="device-number" type="xs:integer" fixed="1"/>
</sequence>
<attribute name="version" type="xs:integer" use="required" fixed="0"/>
</complexType>
</element>
таким образом, это работает
doc.xpathEval('//complexType/sequence/element[@name="IeplcHeader"]'):
Кто-нибудь знает, как я могу прочитать этой проблемы исправление приставки? Хорошо, сейчас я готовлю файл, удаляя xs: но это ужасное решение, и я действительно надеюсь, что смогу найти лучшее решение.
(Я еще не пробовал с py-dom-xpath, и я не знаю, может работать даже с хз :)
спасибо, ste