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