Comment remplir la valeur par défaut dans mon XML lors de la validation contre XSD? Si mon attribut n'est pas défini comme use="require"
et a default="1"
, il peut être possible de remplir ces valeurs par défaut du fichier XSD au format XML.Validation et remplissage des valeurs par défaut en XML basé sur XSD en Python
Exemple: XML d'origine:
<a>
<b/>
<b c="2"/>
</a>
schéma XSD:
<xs:element name="a">
<xs:complexType>
<xs:sequence>
<xs:element name="b" maxOccurs="unbounded">
<xs:attribute name="c" default="1"/>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
Je veux valider le XML original en utilisant XSD et remplir toutes les valeurs par défaut:
<a>
<b c="1"/>
<b c="2"/>
</a>
Comment l'obtenir en Python? Avec la validation, il n'y a pas de problème (par exemple, XMLSchema). Le problème sont les valeurs par défaut.
Je viens de poser une question similaire à voir si cela est pris en charge dans une bibliothèque de validation de toute langue http://stackoverflow.com/questions/4900867/is-there-a-xml-schema-validation-library- that-supports-the-default-attribute-valu –
Je ne l'ai pas fait auparavant, cependant, à partir de [documentation lxml] (http://lxml.de/validation.html#validation-at-parse-time) il semble comme il va «tisser» les valeurs par défaut dans le document. –