2011-06-08 2 views
1

en travaillant avec Xmlbeans, j'ai remarqué que lorsqu'un élément est défini comme une restriction d'un type mixte, s'il y a du texte dans cet élément, la validation de Xmlbeans échoue.Cependant, le même xml Le fichier est valide si je l'exécute avec la validation de schéma dans XmlSpy. Voici l'exemple (j'ai essayé de le rendre aussi simple que possible):L'élément mixte et restreint échoue à la validation avec Xmlbeans

schéma xml:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> 
    <xs:element name="RootElement"> 
     <xs:annotation> 
      <xs:documentation>Comment describing your root element</xs:documentation> 
     </xs:annotation> 
     <xs:complexType> 
      <xs:sequence> 
       <xs:element ref="Child"/> 
       <xs:element ref="ChildExtended"/> 
       <xs:element ref="ChildRestricted"/> 
      </xs:sequence> 
     </xs:complexType> 
    </xs:element> 
    <xs:element name="Child" type="MixedType"/> 
    <xs:element name="ChildRestricted" type="MixedTypeRestricted"/> 
    <xs:element name="ChildExtended" type="MixedTypeExtended"/> 
    <xs:complexType name="MixedType" mixed="true"/> 
    <xs:complexType name="MixedTypeExtended" mixed="true"> 
     <xs:complexContent mixed="true"> 
      <xs:extension base="MixedType"/> 
     </xs:complexContent> 
    </xs:complexType> 
    <xs:complexType name="MixedTypeRestricted" mixed="true"> 
     <xs:complexContent mixed="true"> 
      <xs:restriction base="MixedType"/> 
     </xs:complexContent> 
    </xs:complexType> 
</xs:schema> 

fichier xml:

<RootElement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <Child>text</Child> 
    <ChildExtended>text1</ChildExtended> 
    <ChildRestricted>text2</ChildRestricted> 
</RootElement> 

Pour XMLSpy, ceci est valable. Voici ce que je reçois lors de la validation avec XMLBeans:

Message: Element 'ChildRestricted' with empty content type cannot have text or element content. 
Location of invalid XML: <xml-fragment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> 

Comme vous pouvez le voir, il est juste l'enfant défini comme un type restreint qui cause le problème. Ma question est: qui a raison? XmlSpy (aucune erreur) ou Xmlbeans?

Répondre

2

Comme cela a déjà été commenté dans le numéro XMLBEANS-457 que vous avez créé, revision 1102771 a résolu le problème.

+0

Merci, j'ai essayé avec la révision 1102771 et cela a fonctionné. – rosinc

Questions connexes