2010-04-11 4 views
1

Dans le schéma suivant, je suis en train de faire un xml non ordonnée qui va simpleConfigurationObject:comment puis-je écrire un schéma qui produit un fichier XML non ordonnée avec l'extension

<xs:complexType name="forTestingConfigurationObjectCreator"> 
    <xs:complexContent> 
    <xs:extension base="simpleConfigurationObject"> 
     <xs:all> 
     <xs:element name="a" type="xs:string"/> 
     <xs:element name="b" type="xs:string" minOccurs="0"/> 
     </xs:all> 
    </xs:extension> 
    </xs:complexContent> 
</xs:complexType> 

<xs:complexType name="simpleConfigurationObject"> 
    <xs:all> 
    <xs:element name="base" type="xs:string" minOccurs="0"/> 
    </xs:all> 
</xs:complexType> 

Mais je reçois l'erreur suivante sur les xs: all « tout est pas la seule particule dans le groupe, ou est utilisé comme une extension » (ce qui est correct)

Off-sûr, si mettre l'élément de base à l'intérieur des xs: tout et ne pas utiliser xs : extension du tout, je vais obtenir un schéma non ordonné re striction. (mais ce n'est pas ce que je veux)

La question est: comment puis-je produire un schéma non ordonné avec l'extension?

Merci

Répondre

1

Vous ne pouvez pas, cela est interdit par la spécification du schéma. Voir this post de Henry Thompson (l'auteur de la spécification) pour une explication. En résumé: le modèle de contenu du type de base doit être complètement analysé au moment où l'analyseur arrive au type dérivé; ce n'est pas possible avec ce que vous essayez d'accomplir.

Questions connexes