W3C

ExtendedSequenceStrictOther Example

<xs:schema targetNamespace="http://www.w3.org/2002/ws/databinding/examples/6/09/" elementFormDefault="qualified">
<xs:element name="extendedSequenceStrictOther" type="ex:ExtendedSequenceStrictOther"/>
<xs:complexType name="ExtendedSequenceStrictOther">
<xs:sequence>
<xs:element name="firstElement" type="xs:string"/>
<xs:element name="lastElement" type="xs:string"/>
<xs:element name="extension" type="ex:ExtendedSequenceStrictOtherExtension" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ExtendedSequenceStrictOtherExtension">
<xs:sequence>
<xs:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:element name="echoExtendedSequenceStrictOther">
<xs:complexType>
<xs:sequence>
<xs:element ref="ex:extendedSequenceStrictOther"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

The example schema [ExtendedSequenceStrictOther.xsd] has been classified as being an Advanced XML Schema Patterns for Databinding 1.0 conformant document as it only exhibits the following patterns:

Status Nodes Name XPath
basic TargetNamespace .[@targetNamespace]/ (., @targetNamespace)
basic QualifiedLocalElements .[@elementFormDefault = 'qualified']/ (@elementFormDefault)
basic UnqualifiedLocalAttributes .[not(@attributeFormDefault) or @attributeFormDefault = 'unqualified']/ (., @attributeFormDefault)
basic IdentifierName .//.[matches(@name, "^[A-Za-z_]([A-Za-z0-9_]0 31)$")]/ (@name)
basic NonIdentifierName .//.[@name and not(matches(@name, "^[A-Za-z_]([A-Za-z0-9_]0 31)$"))]/ (@name)
basic GlobalElement ./xs:element[@name and @type and contains(@type, ':')]/ (., @name, @type)
basic ElementMinOccurs0 .//xs:element[@minOccurs = '0' and (not(@maxOccurs) or @maxOccurs = '1')]/ (@minOccurs, @maxOccurs)
basic GlobalComplexType ./xs:complexType[@name]/ (., @name)
basic ComplexTypeSequence .//xs:complexType/xs:sequence/ (., xs:element/(., @name))
basic GlobalElementSequence ./xs:element[@name]/xs:complexType/xs:sequence[xs:element]/ (../../(., @name), .., ., xs:element/(., @name))
advanced ExtendedSequenceStrictOther .//xs:sequence/xs:any[(not(@processContents) or @processContents = 'strict') and (not (@minOccurs) or @minOccurs = '1' or @minOccurs = '0') and (not (@maxOccurs) or @maxOccurs = '1' or @maxOccurs='unbounded') and @namespace = '##other']/ (., @processContents, @minOccurs, @maxOccurs, @namespace)
basic SequenceElement .//xs:sequence/xs:element/(.)
basic ElementTypeReference .//xs:element[@name and @type and namespace-uri-from-QName(resolve-QName(@type,.)) != 'http://www.w3.org/2001/XMLSchema' and contains(@type, ':')]/ (., @name, @type)
basic ElementReference .//xs:element[@ref and contains(@ref, ':')]/ (., @ref)
basic StringElement .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:string')]

To facilitate testing, the example schema element has been wrapped in the following descriptions:

The following valid instance documents are provided:

Instance Validity
ExtendedSequenceStrictOther01 C:\testsuite\databinding\examples\6\09\ExtendedSequenceStrictOther\ExtendedSequenceStrictOther-ExtendedSequenceStrictOther01.xml:21:27: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'ex2:anyElement'.C:\testsuite\databinding\examples\6\09\ExtendedSequenceStrictOther\ExtendedSequenceStrictOther-ExtendedSequenceStrictOther01.xml is not a valid XML document1 file(s) have been successfully validated.

  <ex:extendedSequenceStrictOther>
        <ex:firstElement>String</ex:firstElement>
        <ex:lastElement>String</ex:lastElement>
        <ex:extension>
          <ex2:anyElement>Stuff</ex2:anyElement>
        </ex:extension>
      </ex:extendedSequenceStrictOther>

This document was produced by the W3C XML Schema Patterns for Databinding Working Group. Comments on this document may be sent to the public public-xsd-databinding-comments@w3.org mailing list (public archive).

Generated from examples.xml $Date$