Uploaded image for project: 'XMLBeans'
  1. XMLBeans
  2. XMLBEANS-457

Mixed and restricted element fails validation

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Critical
    • Resolution: Unresolved
    • Affects Version/s: Version 2.4
    • Fix Version/s: None
    • Component/s: Validator
    • Environment:
      jdk1.6.0_25

      Description

      I have noticed that when an element is defined as a restriction from a mixed type, if there is some text in this element the Xmlbeans validation fails.However the same xml file is valid if I run it against schema validation in XmlSpy. Here is the example (I tried to make it as simple as possible):

      xml schema:
      <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>

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

      For XmlSpy, this is valid. Here's what I get when validating with 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"/>

      I guess this is linked to this issue :
      http://www.mail-archive.com/dev@xmlbeans.apache.org/msg02004.html

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              rosinc Caroline Rosin
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated: