de l'analyse .xsd en python
J'ai besoin d'analyser un fichier .xsd en Python que je parse un fichier XML.
Je suis à l'aide de libxml2.
Je dois analyser un xsd qui regardent comme suit:
<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>
quand j'ai accès à
doc.xpathEval('//xs:complexType/xs:sequence/xs:element[@name="IeplcHeader"]'):
me dit que ne peut pas trouver le chemin.
alors que si je supprime tous les xs: suivez
<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>
de cette manière, il fonctionne
doc.xpathEval('//complexType/sequence/element[@name="IeplcHeader"]'):
Personne ne sait comment je peux lire de ce problème de fixation d'un préfixe? droit maintenant, je suis preparsing la suppression de fichier xs: mais c'est un orrible solution et j'espère vraiment être en mesure de trouver une meilleure solution.
(Je n'ai pas essayer avec py-dom-xpath encore et je ne sais pas si peut fonctionner même avec le xs:)
grâce,
ste
OriginalL'auteur Stefano | 2011-07-21
Vous devez vous connecter pour publier un commentaire.
Si vous avez à traiter avec les fichiers xsd, peut-être aussi de les utiliser pour la validation des fichiers xml, je vous suggère de passer à lxml qui a un bon soutien pour les XMLSchema fichiers.
exemple de code:
résultats dans:
n'est pas bon pour la validation, mais également à l'aide de
xpath
. L'affichage complet (dépouillé) fichier xsd pour faire des tests sur aideraitOriginalL'auteur neurino