Search code examples
xmlxsdxml-parsingxsd-validationxml-validation

Failed to parse a schema xsd


Error! Issue with parsing this Xsd file while converting to JAXB classes.

If I remove the xs:simpleType right after xOperatorId it works What is the issue?

s4s-elt-must-match.1: The content of 'sequence' must match (annotation?, (element | group | choice | sequence | any))*

<xs:complexType name="inputSegmantData">
        <xs:sequence>
            <xs:element nillable="true" name="rstClass" type="tns:flag"/>
            <xs:element nillable="true" name="rstType">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:length value="2"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>

            <xs:element nillable="true" name="rstLowSerialNo" type="tns:checkNum"/>
            <xs:element nillable="true" name="rstHighSerialNo" type="tns:checkNum"/>
            <xs:element nillable="true" name="rstLowAmount" type="tns:amount"/>
            <xs:element nillable="true" name="rstHighAmount" type="tns:amount"/>

            <xs:element nillable="true" name="rstDatePlaced" type="tns:date"/>
            <xs:element nillable="true" name="rstDateToExpire" type="tns:date" />

            <xs:element nillable="true" type="tns:date" name="xOperatorId" />
                <xs:simpleType>
                        <xs:restriction base="xs:string">
                            <xs:minLength value="1"/>
                            <xs:maxLength value="10"/>
                        </xs:restriction>
                </xs:simpleType>
            <xs:element nillable="true" name="xProjectName">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:minLength value="1"/>
                        <xs:maxLength value="20"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element nillable="true" type="tns:date" name="xChannelId" />
            <xs:element nillable="true" name="segDelimeter" default="\u07" type="xs:string" />
        </xs:sequence>
    </xs:complexType>

Solution

  • The particle <xs:element nillable="true" type="tns:date" name="xOperatorId" /> should contain the following xs:simpleType element. At present, despite the indentation, the two elements are at the same level.