mirror of
https://github.com/rn10950/RetroZilla.git
synced 2024-11-15 04:00:12 +01:00
1133 lines
29 KiB
XML
1133 lines
29 KiB
XML
<?xml version="1.0" ?>
|
|
<schema targetNamespace="http://www.mozilla.org/schema/test"
|
|
xmlns:test="http://www.mozilla.org/schema/test"
|
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
|
|
attributeFormDefault="qualified"
|
|
xmlns="http://www.w3.org/2001/XMLSchema">
|
|
|
|
<import namespace="http://www.mozilla.org/schema/test_imported" schemaLocation="schema_imported.xsd" />
|
|
|
|
<simpleType name="integer-test-1">
|
|
<restriction base='integer'>
|
|
<totalDigits value="3"/>
|
|
<maxExclusive value="101"/>
|
|
<minExclusive value="5"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="integer-test-2">
|
|
<restriction base='integer'>
|
|
<totalDigits value="3"/>
|
|
<maxInclusive value="2"/>
|
|
<minInclusive value="-40"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="nonPositiveInteger-test-1">
|
|
<restriction base='nonPositiveInteger'>
|
|
<totalDigits value="3"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="nonNegativeInteger-test-1">
|
|
<restriction base='nonNegativeInteger'>
|
|
<totalDigits value="3" />
|
|
<maxInclusive value="500" />
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="positiveInteger-test-1">
|
|
<restriction base='positiveInteger'>
|
|
<totalDigits value="3"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="negativeInteger-test-1">
|
|
<restriction base='negativeInteger'>
|
|
<totalDigits value="3"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name='long-test-1'>
|
|
<restriction base='long'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name='int-test-1'>
|
|
<restriction base='int'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name='short-test-1'>
|
|
<restriction base='short'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name='unsignedLong-test-1'>
|
|
<restriction base='unsignedLong'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name='unsignedInt-test-1'>
|
|
<restriction base='unsignedInt'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name='unsignedShort-test-1'>
|
|
<restriction base='unsignedShort'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name='unsignedByte-test-1'>
|
|
<restriction base='unsignedByte'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="byte-test-1">
|
|
<restriction base='byte'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="byte-test-2">
|
|
<restriction base='byte'>
|
|
<totalDigits value="2"/>
|
|
<maxExclusive value="40"/>
|
|
<minExclusive value="-40"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="byte-test-3">
|
|
<restriction base='byte'>
|
|
<maxInclusive value="40"/>
|
|
<minInclusive value="-40"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="float-test-1">
|
|
<restriction base='float'>
|
|
<maxExclusive value="3.34"/>
|
|
<minExclusive value="0.98"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="float-test-2">
|
|
<restriction base='float'>
|
|
<maxInclusive value="3.34"/>
|
|
<minInclusive value="-1.98"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="float-test-3">
|
|
<restriction base="float">
|
|
<maxExclusive value="INF" />
|
|
<minInclusive value="-INF" />
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="double-test-1">
|
|
<restriction base='double'>
|
|
<maxExclusive value="3.34"/>
|
|
<minExclusive value="0.98"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="double-test-2">
|
|
<restriction base='double'>
|
|
<maxInclusive value="3.34E45"/>
|
|
<minInclusive value="1.98e-13"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="double-test-3">
|
|
<restriction base="double">
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="double-test-4">
|
|
<restriction base="double">
|
|
<maxExclusive value="INF" />
|
|
<minInclusive value="-INF" />
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="decimal-test-1">
|
|
<restriction base='decimal'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="decimal-test-2">
|
|
<restriction base='decimal'>
|
|
<maxExclusive value="220.343435"/>
|
|
<minExclusive value="100.34"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
|
|
<simpleType name="decimal-test-3">
|
|
<restriction base='decimal'>
|
|
<maxInclusive value="220.343435"/>
|
|
<minInclusive value="100.34"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="decimal-test-4">
|
|
<restriction base='decimal'>
|
|
<totalDigits value="3"/>
|
|
<fractionDigits value="2"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="string-test-1">
|
|
<restriction base='string'>
|
|
<length value="5"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="string-test-2">
|
|
<restriction base='string'>
|
|
<minLength value="4"/>
|
|
<maxLength value="17"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="string-test-3">
|
|
<restriction base='string'>
|
|
<enumeration value="test"/>
|
|
<enumeration value="test2"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="boolean-test-1">
|
|
<restriction base='boolean'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="gday-test-1">
|
|
<restriction base='gDay'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="gday-test-2">
|
|
<restriction base='gDay'>
|
|
<maxExclusive value="---21"/>
|
|
<minExclusive value="---05"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="gday-test-3">
|
|
<restriction base='gDay'>
|
|
<maxInclusive value="---21Z"/>
|
|
<minInclusive value="---05"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="gmonth-test-1">
|
|
<restriction base='gMonth'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="gmonth-test-2">
|
|
<restriction base='gMonth'>
|
|
<maxExclusive value="--11Z"/>
|
|
<minExclusive value="--05"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="gmonth-test-3">
|
|
<restriction base='gMonth'>
|
|
<maxInclusive value="--11"/>
|
|
<minInclusive value="--05"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="gyear-test-1">
|
|
<restriction base='gYear'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="gyear-test-2">
|
|
<restriction base='gYear'>
|
|
<maxInclusive value="10000"/>
|
|
<minInclusive value="1900"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="gyear-test-3">
|
|
<restriction base='gYear'>
|
|
<maxExclusive value="10000"/>
|
|
<minExclusive value="1900"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="gyearmonth-test-1">
|
|
<restriction base='gYearMonth'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="gyearmonth-test-2">
|
|
<restriction base='gYearMonth'>
|
|
<maxExclusive value="10000-11Z"/>
|
|
<minExclusive value="1990-01Z"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="gyearmonth-test-3">
|
|
<restriction base='gYearMonth'>
|
|
<maxInclusive value="10000-11Z"/>
|
|
<minInclusive value="1990-02Z"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="gmonthday-test-1">
|
|
<restriction base='gMonthDay'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="gmonthday-test-2">
|
|
<restriction base='gMonthDay'>
|
|
<maxExclusive value="--08-03Z"/>
|
|
<minExclusive value="--02-21Z"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="gmonthday-test-3">
|
|
<restriction base='gMonthDay'>
|
|
<maxInclusive value="--08-03Z"/>
|
|
<minInclusive value="--02-21Z"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="datetime-test-1">
|
|
<restriction base='dateTime'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="datetime-test-2">
|
|
<restriction base='dateTime'>
|
|
<maxExclusive value="2004-02-18T12:21:03Z"/>
|
|
<minExclusive value="2001-02-18T12:21:03Z"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="datetime-test-3">
|
|
<restriction base='dateTime'>
|
|
<maxInclusive value="2004-02-18T12:21:03Z"/>
|
|
<minInclusive value="2001-02-18T12:21:03Z"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="date-test-1">
|
|
<restriction base='date'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="date-test-2">
|
|
<restriction base='date'>
|
|
<maxExclusive value="2004-02-18"/>
|
|
<minExclusive value="2001-02-18"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="date-test-3">
|
|
<restriction base='date'>
|
|
<maxInclusive value="2004-02-18"/>
|
|
<minInclusive value="2001-02-18"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="time-test-1">
|
|
<restriction base='time'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="time-test-2">
|
|
<restriction base='time'>
|
|
<minExclusive value="12:30:45"/>
|
|
<maxExclusive value="22:30:45"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="time-test-3">
|
|
<restriction base='time'>
|
|
<minInclusive value="12:30:45"/>
|
|
<maxInclusive value="22:30:45"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="duration-test-1">
|
|
<restriction base='duration'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="duration-test-2">
|
|
<restriction base='duration'>
|
|
<maxExclusive value="P5M"/>
|
|
<minExclusive value="P1M"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="duration-test-3">
|
|
<restriction base='duration'>
|
|
<maxInclusive value="P5M"/>
|
|
<minInclusive value="P1M"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="anyuri-test-1">
|
|
<restriction base='anyURI'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="anyuri-test-2">
|
|
<restriction base='anyURI'>
|
|
<maxLength value="50"/>
|
|
<minLength value="17"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="anyuri-test-3">
|
|
<restriction base='anyURI'>
|
|
<length value="17"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="base64-test-1">
|
|
<restriction base='base64Binary'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="base64-test-2">
|
|
<restriction base='base64Binary'>
|
|
<length value="14"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="base64-test-3">
|
|
<restriction base='base64Binary'>
|
|
<maxLength value="14"/>
|
|
<minLength value="3"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="hexbinary-test-1">
|
|
<restriction base='hexBinary'>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="qname-test-1">
|
|
<restriction base='QName'>
|
|
<maxLength value="13"/>
|
|
<minLength value="3"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="name-test-1">
|
|
<restriction base='Name'>
|
|
<maxLength value="13"/>
|
|
<minLength value="3"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="ncname-test-1">
|
|
<restriction base='NCName'>
|
|
<maxLength value="13"/>
|
|
<minLength value="3"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="id-test-1">
|
|
<restriction base='ID'>
|
|
<maxLength value="13"/>
|
|
<minLength value="3"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="idref-test-1">
|
|
<restriction base='IDREF'>
|
|
<maxLength value="13"/>
|
|
<minLength value="3"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="idrefs-test-1">
|
|
<restriction base='IDREFS'>
|
|
<maxLength value="13"/>
|
|
<minLength value="3"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="nmtoken-test-1">
|
|
<restriction base='NMTOKEN'>
|
|
<maxLength value="13"/>
|
|
<minLength value="3"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="nmtokens-test-1">
|
|
<restriction base='NMTOKENS'>
|
|
<maxLength value="13"/>
|
|
<minLength value="3"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name='better-us-zipcode'>
|
|
<restriction base='string'>
|
|
<pattern value='[0-9]{5}(-[0-9]{4})?'/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="list-test-1">
|
|
<list itemType="boolean"/>
|
|
</simpleType>
|
|
|
|
<simpleType name="list-test-2">
|
|
<list>
|
|
<simpleType>
|
|
<restriction base="integer">
|
|
<enumeration value="100" />
|
|
<enumeration value="4" />
|
|
<enumeration value="33" />
|
|
</restriction>
|
|
</simpleType>
|
|
</list>
|
|
</simpleType>
|
|
|
|
<simpleType name="union-test-1">
|
|
<union>
|
|
<simpleType>
|
|
<restriction base="integer"/>
|
|
</simpleType>
|
|
<simpleType>
|
|
<restriction base="string">
|
|
<enumeration value="N/A"/>
|
|
</restriction>
|
|
</simpleType>
|
|
</union>
|
|
</simpleType>
|
|
|
|
<simpleType name="TypeCode">
|
|
<restriction base="test:UrType">
|
|
<enumeration value="Applicanter"/>
|
|
<enumeration value="Applicant"/>
|
|
<enumeration value="Third_Party"/>
|
|
<enumeration value="Trustee"/>
|
|
<maxLength value="50"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="UrType">
|
|
<restriction base="string">
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="IndividualRole">
|
|
<restriction base="test:TypeCode">
|
|
<enumeration value="Applicant"/>
|
|
<enumeration value="Third_Party"/>
|
|
<enumeration value="Trustee"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name='IndividualRoleList'>
|
|
<list itemType='test:IndividualRole'/>
|
|
</simpleType>
|
|
|
|
<simpleType name='IndividualRoleListType'>
|
|
<restriction base='test:IndividualRoleList'>
|
|
<maxLength value='4'/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name='IndividualRoleListType2'>
|
|
<restriction base='test:IndividualRoleList'>
|
|
<length value='4'/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name='IndividualRoleListType3'>
|
|
<restriction base='test:IndividualRoleList'>
|
|
<minLength value='4'/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="RoleUnion">
|
|
<union>
|
|
<simpleType>
|
|
<restriction base="test:IndividualRoleListType"/>
|
|
</simpleType>
|
|
<simpleType>
|
|
<restriction base="string">
|
|
<enumeration value="N/A"/>
|
|
</restriction>
|
|
</simpleType>
|
|
<simpleType>
|
|
<restriction base="string">
|
|
<maxLength value="4"/>
|
|
</restriction>
|
|
</simpleType>
|
|
</union>
|
|
</simpleType>
|
|
|
|
<simpleType name='IndividualRoleListType5'>
|
|
<restriction base='test:IndividualRoleList'>
|
|
<enumeration value='Applicant Trustee'/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<!-- complex types -->
|
|
<element name="foo" type="test:duration-test-2"/>
|
|
|
|
|
|
<attributeGroup name="attrgroup-1">
|
|
<attribute name="id" type="string" form="unqualified"/>
|
|
</attributeGroup>
|
|
|
|
<element name="transaction">
|
|
<complexType>
|
|
<sequence minOccurs="0">
|
|
<element name="date" type="date"/>
|
|
<element name="desc" type="string"/>
|
|
<element name="withdraw" type="boolean"/>
|
|
<element name="amount" type="decimal"/>
|
|
</sequence>
|
|
</complexType>
|
|
</element>
|
|
|
|
<element name="balance">
|
|
<complexType>
|
|
<sequence>
|
|
<element ref="test:transaction" />
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
</element>
|
|
|
|
<element name="balance2">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="transaction">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="date" type="date"/>
|
|
<element name="desc" type="string"/>
|
|
<element name="withdraw" type="boolean"/>
|
|
<element name="amount" type="decimal" minOccurs="0"/>
|
|
</sequence>
|
|
</complexType>
|
|
</element>
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
</element>
|
|
|
|
<element name="balance3">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="transaction">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="date" type="date"/>
|
|
<element name="desc" type="string" minOccurs="0"/>
|
|
<element name="withdraw" type="boolean"/>
|
|
<element name="amount" type="decimal" minOccurs="0"/>
|
|
</sequence>
|
|
</complexType>
|
|
</element>
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
</element>
|
|
|
|
<element name="balance4">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="transaction">
|
|
<complexType>
|
|
<sequence minOccurs="0" maxOccurs="unbounded">
|
|
<element name="date" type="date"/>
|
|
<element name="desc" type="string" minOccurs="0"/>
|
|
<element name="withdraw" type="boolean"/>
|
|
<element name="amount" type="decimal" minOccurs="0"/>
|
|
</sequence>
|
|
</complexType>
|
|
</element>
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
</element>
|
|
|
|
<element name="balance5">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="transaction">
|
|
<complexType>
|
|
<sequence minOccurs="2" maxOccurs="4">
|
|
<element name="date" type="date"/>
|
|
<element name="desc" type="string" minOccurs="0"/>
|
|
<element name="withdraw" type="boolean"/>
|
|
<element name="amount" type="decimal" minOccurs="0"/>
|
|
</sequence>
|
|
</complexType>
|
|
</element>
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
</element>
|
|
|
|
<element name="balance6">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="transaction">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="date" type="date"/>
|
|
<element name="amount" type="decimal" minOccurs="0"/>
|
|
<element name="desc" type="string" minOccurs="0" maxOccurs="3"/>
|
|
<element name="withdraw" type="boolean"/>
|
|
<element name="amount" type="decimal" minOccurs="0"/>
|
|
</sequence>
|
|
</complexType>
|
|
</element>
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
</element>
|
|
|
|
<attribute name="testAttr3" type="boolean" />
|
|
<attribute name="testAttr4" type="boolean"/>
|
|
|
|
<element name="balance7">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="transaction">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="date" type="date"/>
|
|
<element name="desc" type="string" minOccurs="0"/>
|
|
<element name="withdraw" type="boolean"/>
|
|
<element name="amount" type="decimal" minOccurs="0"/>
|
|
</sequence>
|
|
<attribute name="testAttr" type="boolean" use="required"/>
|
|
<attribute name="testAttr2" type="boolean" use="optional" form="unqualified"/>
|
|
<attribute ref="test:testAttr3" use="optional"/>
|
|
<attribute ref="test:testAttr4" use="required"/>
|
|
</complexType>
|
|
</element>
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
</element>
|
|
|
|
<element name="balance8">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="transaction">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="date" type="date"/>
|
|
<element name="desc" type="string" minOccurs="0"/>
|
|
<element name="withdraw" type="boolean"/>
|
|
<element name="amount" type="decimal" minOccurs="0"/>
|
|
</sequence>
|
|
</complexType>
|
|
</element>
|
|
<sequence minOccurs="0" maxOccurs="unbounded">
|
|
<element name="name" type="string"/>
|
|
<element name="lastname" type="string" minOccurs="0"/>
|
|
</sequence>
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
</element>
|
|
|
|
<element name="balance9">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="transaction">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="date" type="date"/>
|
|
<element name="desc" type="string" minOccurs="0"/>
|
|
<element name="withdraw" type="boolean"/>
|
|
<element name="amount" type="decimal" minOccurs="0"/>
|
|
</sequence>
|
|
</complexType>
|
|
</element>
|
|
<sequence minOccurs="0" maxOccurs="unbounded">
|
|
<element name="name" type="string"/>
|
|
<element name="lastname" type="string" minOccurs="0"/>
|
|
</sequence>
|
|
<sequence>
|
|
<element name="test" type="string"/>
|
|
<element name="test2" type="string" />
|
|
</sequence>
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
</element>
|
|
|
|
<element name="balance10">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="transaction">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="date" type="date"/>
|
|
<element name="desc" type="string" minOccurs="0"/>
|
|
<element name="withdraw" type="boolean"/>
|
|
<element name="amount" type="decimal" minOccurs="0"/>
|
|
</sequence>
|
|
</complexType>
|
|
</element>
|
|
<sequence minOccurs="0" maxOccurs="unbounded">
|
|
<element name="name" type="string"/>
|
|
<element name="lastname" type="string" minOccurs="0"/>
|
|
</sequence>
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
</element>
|
|
|
|
<element name="balance11">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="transaction">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="date" type="date"/>
|
|
<element name="desc" type="string" minOccurs="0"/>
|
|
<element name="withdraw" type="boolean"/>
|
|
<element name="amount" type="decimal" minOccurs="0"/>
|
|
<element name="foopy">
|
|
<complexType>
|
|
<sequence minOccurs="2" maxOccurs="4">
|
|
<element ref="test:balance9"/>
|
|
</sequence>
|
|
</complexType>
|
|
</element>
|
|
</sequence>
|
|
</complexType>
|
|
</element>
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
</element>
|
|
|
|
<element name="balance12">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="transaction">
|
|
<complexType>
|
|
<choice minOccurs="1" maxOccurs="3">
|
|
<element name="amount2" type="decimal"/>
|
|
<sequence>
|
|
<element name="date" type="date"/>
|
|
<element name="desc" type="string" minOccurs="0"/>
|
|
<element name="withdraw" type="boolean"/>
|
|
<element name="amount" type="decimal" minOccurs="0"/>
|
|
</sequence>
|
|
<element name="date2" type="date"/>
|
|
</choice>
|
|
</complexType>
|
|
</element>
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
</element>
|
|
|
|
<element name="date" type="date"/>
|
|
|
|
<element name="balance13">
|
|
<complexType>
|
|
<sequence>
|
|
<element ref="test:date"/>
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
</element>
|
|
|
|
<!-- Chilled -->
|
|
<simpleType name="chilledDecimal">
|
|
<restriction base="decimal">
|
|
<totalDigits value="5"/>
|
|
<fractionDigits value="2"/>
|
|
<minInclusive value="0"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="milk">
|
|
<restriction base="string">
|
|
<enumeration value="full-cream"/>
|
|
<enumeration value="semi-skimmed"/>
|
|
<enumeration value="skimmed"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="milk2">
|
|
<restriction base="test:milk">
|
|
<enumeration value="full-cream"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<simpleType name="butter">
|
|
<restriction base="string">
|
|
<enumeration value="salted"/>
|
|
<enumeration value="non-salted"/>
|
|
</restriction>
|
|
</simpleType>
|
|
|
|
<element name="volume">
|
|
<complexType>
|
|
<simpleContent>
|
|
<extension base="test:chilledDecimal">
|
|
<attribute name="uom" fixed="litres" type="string" form="unqualified"/>
|
|
</extension>
|
|
</simpleContent>
|
|
</complexType>
|
|
</element>
|
|
|
|
<element name="weight">
|
|
<complexType>
|
|
<simpleContent>
|
|
<extension base="test:chilledDecimal">
|
|
<attribute name="uom" fixed="kg" type="string" form="unqualified"/>
|
|
</extension>
|
|
</simpleContent>
|
|
</complexType>
|
|
</element>
|
|
|
|
<element name="fridge">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="contents">
|
|
<complexType>
|
|
<sequence>
|
|
<element name="dairyProduce" type="test:dairy_Produce" minOccurs="0"/>
|
|
</sequence>
|
|
</complexType>
|
|
</element>
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
</element>
|
|
|
|
<complexType name="dairy_Produce">
|
|
<sequence>
|
|
<element name="milk" minOccurs="1" maxOccurs="unbounded">
|
|
<complexType>
|
|
<sequence>
|
|
<element ref="test:volume"/>
|
|
</sequence>
|
|
<attribute name="type" type="test:milk" form="unqualified"/>
|
|
<attribute name="type2" type="test:milk2" use="optional" form="unqualified"/>
|
|
</complexType>
|
|
</element>
|
|
<element name="butter" minOccurs="0" maxOccurs="unbounded">
|
|
<complexType>
|
|
<sequence>
|
|
<element ref="test:weight"/>
|
|
</sequence>
|
|
<attribute name="type" type="test:butter" form="unqualified"/>
|
|
</complexType>
|
|
</element>
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
|
|
<element name="dairy" type="test:dairy_Produce"/>
|
|
|
|
<!-- xsd:all checks -->
|
|
<element name="name" type="string"/>
|
|
<element name="born" type="date"/>
|
|
<element name="dead" type="date"/>
|
|
|
|
<element name="author">
|
|
<complexType>
|
|
<all>
|
|
<element ref="test:name"/>
|
|
<element ref="test:born"/>
|
|
<element ref="test:dead" minOccurs="0"/>
|
|
</all>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
</element>
|
|
|
|
<element name="author-2">
|
|
<complexType>
|
|
<sequence>
|
|
<element ref="test:author"/>
|
|
<element ref="test:transaction"/>
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
</element>
|
|
|
|
<element name="author-3">
|
|
<complexType>
|
|
<sequence>
|
|
<element ref="test:author" minOccurs="0"/>
|
|
<element ref="test:transaction"/>
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
</element>
|
|
|
|
<element name="author-4">
|
|
<complexType>
|
|
<all minOccurs="0">
|
|
<element ref="test:name"/>
|
|
<element ref="test:born"/>
|
|
<element ref="test:dead" minOccurs="0"/>
|
|
</all>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
</element>
|
|
|
|
<!-- attr group -->
|
|
<attributeGroup name="attrgroup-2">
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
<attribute name="test" type="boolean" use="optional"/>
|
|
</attributeGroup>
|
|
|
|
<element name="balance-attrgroup-1">
|
|
<complexType>
|
|
<sequence>
|
|
<element ref="test:transaction" />
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-2"/>
|
|
</complexType>
|
|
</element>
|
|
|
|
<!-- group -->
|
|
<group name="group-1">
|
|
<sequence>
|
|
<element ref="test:name"/>
|
|
<element ref="test:born"/>
|
|
<element ref="test:dead" minOccurs="0"/>
|
|
</sequence>
|
|
</group>
|
|
|
|
<element name="balance-group-1">
|
|
<complexType>
|
|
<sequence>
|
|
<group ref="test:group-1" />
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
</element>
|
|
|
|
<!-- deriviation by extension -->
|
|
<complexType name="deriv-base">
|
|
<sequence>
|
|
<element ref="test:name"/>
|
|
<element ref="test:born"/>
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
|
|
<complexType name="deriv-ext-type-1">
|
|
<complexContent>
|
|
<extension base="test:deriv-base">
|
|
<sequence>
|
|
<element ref="test:dead"/>
|
|
</sequence>
|
|
</extension>
|
|
</complexContent>
|
|
</complexType>
|
|
|
|
<element name="deriv-ext-1" id="deriv-ext-1-1" type="test:deriv-ext-type-1"/>
|
|
|
|
<!-- deriviation by restriction-->
|
|
<complexType name="deriv-res-base">
|
|
<sequence>
|
|
<element ref="test:name"/>
|
|
<element ref="test:born"/>
|
|
<element ref="test:dead" minOccurs="0"/>
|
|
</sequence>
|
|
<attribute name="id" type="string" form="unqualified" use="required"/>
|
|
</complexType>
|
|
|
|
<element name="deriv-res-1">
|
|
<complexType>
|
|
<complexContent>
|
|
<restriction base="test:deriv-res-base">
|
|
<sequence>
|
|
<element ref="test:name"/>
|
|
<element ref="test:born"/>
|
|
</sequence>
|
|
</restriction>
|
|
</complexContent>
|
|
</complexType>
|
|
</element>
|
|
|
|
<element name="deriv-res-2">
|
|
<complexType>
|
|
<complexContent>
|
|
<restriction base="test:deriv-res-base">
|
|
<sequence>
|
|
<element ref="test:name"/>
|
|
<element ref="test:born"/>
|
|
<element ref="test:dead"/>
|
|
</sequence>
|
|
</restriction>
|
|
</complexContent>
|
|
</complexType>
|
|
</element>
|
|
|
|
<!-- DERIVATION_EXTENSION_COMPLEX -->
|
|
<complexType name="personName">
|
|
<sequence>
|
|
<element name="title" type="string" minOccurs="0"/>
|
|
<element name="forename" type="string" minOccurs="0" maxOccurs="unbounded"/>
|
|
<element name="surname" type="string"/>
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
</complexType>
|
|
|
|
<complexType name="extendedName">
|
|
<complexContent>
|
|
<extension base="test:personName">
|
|
<sequence>
|
|
<element name="generation" type="string" minOccurs="0"/>
|
|
</sequence>
|
|
</extension>
|
|
</complexContent>
|
|
</complexType>
|
|
|
|
<element name="deriv-ext-complex-1" type="test:extendedName"/>
|
|
|
|
<!-- DERIVATION_RESTRICTION_COMPLEX -->
|
|
<complexType name="simpleName">
|
|
<complexContent>
|
|
<restriction base="test:personName">
|
|
<sequence>
|
|
<element name="forename" type="string" minOccurs="1" maxOccurs="1"/>
|
|
<element name="surname" type="string"/>
|
|
</sequence>
|
|
</restriction>
|
|
</complexContent>
|
|
</complexType>
|
|
|
|
<element name="deriv-ext-restriction-1" type="test:simpleName"/>
|
|
|
|
<!-- EMPTY_CONTENT_COMPLEX -->
|
|
<complexType name="emptyContent">
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
<attribute name="att1" type="string"/>
|
|
</complexType>
|
|
|
|
<element name="empty-complex-1" type="test:emptyContent" />
|
|
|
|
<complexType name="emptyContent2">
|
|
<sequence>
|
|
<element name="e1" type="string" minOccurs="0" />
|
|
</sequence>
|
|
<attributeGroup ref="test:attrgroup-1"/>
|
|
<attribute name="att1" type="string"/>
|
|
</complexType>
|
|
|
|
<element name="empty-complex-2" type="test:emptyContent2" />
|
|
|
|
</schema>
|
|
|