doronr%us.ibm.com 5a6b0d60b6 Bug 223097 - check in latest version of XML Schema Validation. rs=peterv, a=mkaply
git-svn-id: svn://10.0.0.236/trunk@175095 18797224-902f-48f8-a5cc-f745e15eee43
2005-06-24 15:38:12 +00:00

719 lines
19 KiB
XML

<?xml version="1.0" ?>
<schema targetNamespace="http://www.mozilla.org/schema/test"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:test="http://www.mozilla.org/schema/test"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<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="test-nonPositiveInteger">
<restriction base='nonPositiveInteger'>
<totalDigits value="3"/>
</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="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="--11--Z"/>
<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="qname-test-1">
<restriction base='QName'>
<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>
<!-- complex types -->
<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="transaction" />
</sequence>
<attribute name="id" type="string"/>
<attribute name="xsi:type" type="string"/>
</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>
<attribute name="id" type="string"/>
<attribute name="xsi:type" type="string"/>
</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>
<attribute name="id" type="string"/>
<attribute name="xsi:type" type="string"/>
</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>
<attribute name="id" type="string"/>
<attribute name="xsi:type" type="string"/>
</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>
<attribute name="id" type="string"/>
<attribute name="xsi:type" type="string"/>
</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>
<attribute name="id" type="string"/>
<attribute name="xsi:type" type="string"/>
</complexType>
</element>
<attribute name="testAttr3" type="boolean" fixed="true"/>
<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" fixed="true"/>
<attribute ref="testAttr3" use="optional"/>
<attribute ref="testAttr4" use="required"/>
</complexType>
</element>
</sequence>
<attribute name="id" type="string"/>
<attribute name="xsi:type" type="string"/>
</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>
<attribute name="id" type="string"/>
<attribute name="xsi:type" type="string"/>
</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>
<attribute name="id" type="string"/>
<attribute name="xsi:type" type="string"/>
</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>
<attribute name="id" type="string"/>
<attribute name="xsi:type" type="string"/>
</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="balance9"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
<attribute name="id" type="string"/>
<attribute name="xsi:type" type="string"/>
</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>
<attribute name="id" type="string"/>
<attribute name="xsi:type" type="string"/>
</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="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"/>
</extension>
</simpleContent>
</complexType>
</element>
<element name="weight">
<complexType>
<simpleContent>
<extension base="test:chilledDecimal">
<attribute name="uom" fixed="kg" type="string"/>
</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>
<attribute name="id" type="string"/>
<attribute name="xsi:type" type="string"/>
</complexType>
</element>
<complexType name="dairy_Produce">
<sequence>
<element name="milk" minOccurs="1" maxOccurs="unbounded">
<complexType>
<sequence>
<element ref="volume"/>
</sequence>
<attribute name="type" type="test:milk"/>
</complexType>
</element>
<element name="butter" minOccurs="0" maxOccurs="unbounded">
<complexType>
<sequence>
<element ref="weight"/>
</sequence>
<attribute name="type" type="test:butter"/>
</complexType>
</element>
</sequence>
<attribute name="id" type="string"/>
<attribute name="xsi:type" type="string"/>
</complexType>
</schema>