summaryrefslogtreecommitdiffstats
path: root/xsdtest.xml
diff options
context:
space:
mode:
Diffstat (limited to 'xsdtest.xml')
-rw-r--r--xsdtest.xml1610
1 files changed, 805 insertions, 805 deletions
diff --git a/xsdtest.xml b/xsdtest.xml
index a30b01c..2fe94b6 100644
--- a/xsdtest.xml
+++ b/xsdtest.xml
@@ -1,805 +1,805 @@
-<xsdtest>
-<datatype name="dateTime">
-<valid>2001-12-01T19:45:00</valid>
-<valid>2001-12-01T19:45:00Z</valid>
-<valid>2001-12-01T19:45:00-11:59</valid>
-<valid>0001-01-12T00:00:00+12:00</valid>
-<invalid>2001-12-1T19:45:00+24:00</invalid>
-<invalid>2001-12-1T19:45:00</invalid>
-<equiv>
-<class>
- <value>2001-12-01T19:45:00</value>
- <value>2001-12-01T19:45:00.00</value>
-</class>
-<class>
- <value>2001-12-01T19:45:00Z</value>
- <value>2001-12-01T19:45:00.00Z</value>
- <value>2001-12-01T20:45:00+01:00</value>
-</class>
-</equiv>
-</datatype>
-<datatype name="anyURI">
-<valid>foobar</valid>
-<valid>http://www.example.com</valid>
-<valid>http://www.example.co%6d</valid>
-<valid>nosuchscheme:stuff</valid>
-<invalid>foo$bar:stuff</invalid>
-<invalid>f%oobar</invalid>
-</datatype>
-<datatype name="integer">
-<valid>10</valid>
-<valid>01</valid>
-<valid>0123456789</valid>
-<valid>+10</valid>
-<valid>-10</valid>
-<invalid>1.0</invalid>
-<invalid>.1</invalid>
-<valid>9999999999999999999999999999999</valid>
-<invalid>1.</invalid>
-<invalid>0.</invalid>
-<equiv>
-<class>
- <value>0</value>
- <value>+0</value>
- <value>-0</value>
- <value>00</value>
-</class>
-<class>
- <value>10</value>
- <value>+10</value>
- <value>+0010</value>
- <value>010</value>
-</class>
-<class>
- <value>-10</value>
- <value>-0010</value>
- <value>-010</value>
-</class>
-</equiv>
-</datatype>
-<datatype name="duration">
-<valid>P1Y</valid>
-<valid>P1Y0M2DT17H5M12S</valid>
-<valid>-P1Y</valid>
-<valid>P60D</valid>
-<valid>PT24H</valid>
-<valid>PT1.2S</valid>
-<invalid>P24h</invalid>
-<invalid>P24H</invalid>
-<invalid>P1YT</invalid>
-<invalid>P</invalid>
-<invalid>-P</invalid>
-<equiv>
- <class>
- <value>-P6M</value>
- </class>
- <class>
- <value>P0Y</value>
- <value>-P0Y</value>
- </class>
- <class>
- <value>P1Y</value>
- <value>P001Y</value>
- <value>P001Y0M</value>
- <value>P1Y0M0DT0H0M0.0S</value>
- </class>
- <class>
- <value>P6M</value>
- </class>
- <class>
- <value>PT6M</value>
- </class>
- <class>
- <value>PT1S</value>
- <value>PT1.0S</value>
- </class>
-</equiv>
-<lessThan>
- <value>PT1M</value>
- <value>PT61S</value>
-</lessThan>
-<lessThan>
- <value>PT59S</value>
- <value>PT1M</value>
-</lessThan>
-<incomparable>
- <value>PT60S</value>
- <value>PT1M</value>
-</incomparable>
-<lessThan>
- <value>PT1H</value>
- <value>PT61M</value>
-</lessThan>
-<lessThan>
- <value>PT59M</value>
- <value>PT1H</value>
-</lessThan>
-<incomparable>
- <value>PT60M</value>
- <value>PT1H</value>
-</incomparable>
-<lessThan>
- <value>P1D</value>
- <value>PT25H</value>
-</lessThan>
-<lessThan>
- <value>PT23H</value>
- <value>P1D</value>
-</lessThan>
-<incomparable>
- <value>P1D</value>
- <value>PT24H</value>
-</incomparable>
-<lessThan>
- <value>P1Y</value>
- <value>P13M</value>
-</lessThan>
-<lessThan>
- <value>P11M</value>
- <value>P1Y</value>
-</lessThan>
-<incomparable>
- <value>P12M</value>
- <value>P1Y</value>
-</incomparable>
-<lessThan>
- <value>P364D</value>
- <value>P1Y</value>
-</lessThan>
-<incomparable>
- <value>P1Y</value>
- <value>P365D</value>
-</incomparable>
-<incomparable>
- <value>P1Y</value>
- <value>P366D</value>
-</incomparable>
-<lessThan>
- <value>P1Y</value>
- <value>P367D</value>
-</lessThan>
-<lessThan>
- <value>P149D</value>
- <value>P5M</value>
-</lessThan>
-<incomparable>
- <value>P150D</value>
- <value>P5M</value>
-</incomparable>
-<incomparable>
- <value>P151D</value>
- <value>P5M</value>
-</incomparable>
-<incomparable>
- <value>P152D</value>
- <value>P5M</value>
-</incomparable>
-<incomparable>
- <value>P153D</value>
- <value>P5M</value>
-</incomparable>
-<lessThan>
- <value>P5M</value>
- <value>P154D</value>
-</lessThan>
-<lessThan>
- <value>P27D</value>
- <value>P1M</value>
-</lessThan>
-<incomparable>
- <value>P28D</value>
- <value>P1M</value>
-</incomparable>
-<incomparable>
- <value>P29D</value>
- <value>P1M</value>
-</incomparable>
-<incomparable>
- <value>P30D</value>
- <value>P1M</value>
-</incomparable>
-<incomparable>
- <value>P31D</value>
- <value>P1M</value>
-</incomparable>
-<lessThan>
- <value>P1M</value>
- <value>P32D</value>
-</lessThan>
-</datatype>
-<datatype name="time">
-<valid>12:45:00</valid>
-<valid>12:45:00Z</valid>
-</datatype>
-<datatype name="date">
-<valid>1886-12-01</valid>
-<valid>1886-12-01Z</valid>
-<lessThan>
- <value>1066-12-31</value>
- <value>1900-01-01</value>
-</lessThan>
-<lessThan>
- <value>1900-01-01</value>
- <value>1900-01-02</value>
-</lessThan>
-</datatype>
-<datatype name="gYearMonth">
-<valid>1996-12</valid>
-<valid>1996-01</valid>
-<valid>1996-01Z</valid>
-<invalid>1996-00</invalid>
-<equiv>
-<class><value>1996-01</value></class>
-<class>
- <value>1996-01Z</value>
- <value>1996-01+00:00</value>
- <value>1996-01-00:00</value>
-</class>
-<class><value>1996-01+01:00</value></class>
-<class><value>1996-01-01:00</value></class>
-</equiv>
-</datatype>
-<datatype name="gYear">
-<valid>2001</valid>
-<valid>2001Z</valid>
-<lessThan>
- <value>1999</value>
- <value>2000</value>
-</lessThan>
-<lessThan>
- <value>1999+07:00</value>
- <value>2000+07:00</value>
-</lessThan>
-</datatype>
-<datatype name="gMonthDay">
-<valid>--12-01</valid>
-<valid>--12-01Z</valid>
-<lessThan>
- <value>--12-01</value>
- <value>--12-04</value>
-</lessThan>
-<lessThan>
- <value>--11-17</value>
- <value>--12-04</value>
-</lessThan>
-</datatype>
-<datatype name="gDay">
-<valid>---20</valid>
-<valid>---20Z</valid>
-<lessThan>
- <value>---01</value>
- <value>---31</value>
-</lessThan>
-</datatype>
-<datatype name="gMonth">
-<valid>--12</valid>
-<valid>--01</valid>
-<valid>--01Z</valid>
-<valid> --12 </valid>
-<invalid>---01</invalid>
-<invalid>--00</invalid>
-<invalid>--13</invalid>
-<invalid>- -13</invalid>
-<lessThan>
- <value>--01</value>
- <value>--12</value>
-</lessThan>
-<lessThan>
- <value>--01</value>
- <value>--02</value>
-</lessThan>
-</datatype>
-<datatype name="boolean">
-<valid>true</valid>
-<valid>false</valid>
-<valid>0</valid>
-<valid>1</valid>
-<invalid>00</invalid>
-<invalid>00</invalid>
-<invalid>01</invalid>
-<equiv>
-<class><value>true</value><value>1</value></class>
-<class><value>false</value><value>0</value></class>
-</equiv>
-</datatype>
-<datatype name="base64Binary">
-<valid>AAAA</valid>
-<valid>abcd efgh ijkl mnop qrst uvwx yzAB CDEF GHIJ KLMN OPQR
-STUV WXYZ 0123 4567 89+/</valid>
-<valid>BA==</valid>
-<valid></valid>
-<valid>BA==</valid>
-<valid>BQ==</valid>
-<valid>Bg==</valid>
-<valid>Bw==</valid>
-<valid>BBA=</valid>
-<valid>BBA=</valid>
-<valid>BBE=</valid>
-<valid>BBI=</valid>
-<valid>BBM=</valid>
-<valid>BBQ=</valid>
-<valid>BBU=</valid>
-<valid>BBY=</valid>
-<valid>BBc=</valid>
-<valid>BBg=</valid>
-<valid>BBk=</valid>
-<valid>BBo=</valid>
-<valid>BBs=</valid>
-<valid>BBw=</valid>
-<valid>BB0=</valid>
-<valid>BB4=</valid>
-<valid>BB8=</valid>
-<invalid>====</invalid>
-<invalid>BB==</invalid>
-<invalid>BBB=</invalid>
-<invalid>B===</invalid>
-<invalid>B</invalid>
-<equiv>
-<class>
-<value>deadbeef</value>
-<value>d&#xA;&#xD;&#x9;e a d
-b eef </value>
-</class>
-<class>
-<value>DEADBEEF</value>
-<value>D&#xA;&#xD;&#x9;E A D
-B EEF </value>
-</class>
-</equiv>
-<length value="0"></length>
-<length value="6">deadbeef</length>
-<length value="1">BA==</length>
-<length value="2">BBA=</length>
-<length value="3">dead</length>
-<length value="4">deadBA==</length>
-</datatype>
-<datatype name="hexBinary">
-<valid>deadbeef</valid>
-<valid></valid>
-<valid>0123456789ABCDEFabcdef</valid>
-<invalid>00 00</invalid>
-<invalid>00.00</invalid>
-<invalid>0G</invalid>
-<equiv>
- <class>
- <value>00</value>
- <value>
- 00
- </value>
- </class>
- <class>
- <value>01</value>
- </class>
- <class>
- <value>10</value>
- </class>
- <class>
- <value>0a</value>
- <value>0A</value>
- </class>
-</equiv>
-<length value="0"></length>
-<length value="1">00</length>
-<length value="2">0000</length>
-<length value="2"> 0000 </length>
-<length value="2">AAAA</length>
-</datatype>
-<datatype name="float">
-<valid>1.0</valid>
-<valid>1.</valid>
-<valid>.1</valid>
-<invalid>- 1</invalid>
-<invalid>1 .0</invalid>
-<invalid>+INF</invalid>
-<invalid>+NaN</invalid>
-<invalid>-NaN</invalid>
-<equiv>
-<class>
- <value>0</value>
- <value>-0</value>
- <value>+0</value>
- <value> 0 </value>
- <value> 0. </value>
- <value> .0 </value>
- <value> 0.0 </value>
- <value> 0e0 </value>
- <value> 0E0 </value>
- <value> 0E+0 </value>
- <value> 0E-0 </value>
-</class>
-<class>
- <value>1E0</value>
- <value>0.1E1</value>
- <value>10E-1</value>
- <value>+1</value>
-</class>
-<class>
- <value>-1</value>
-</class>
-<class>
- <value>INF</value>
- <value>INF </value>
-</class>
-<class>
- <value>-INF</value>
- <value>-INF </value>
-</class>
-<class>
- <value>NaN</value>
- <value> NaN </value>
-</class>
-</equiv>
-<lessThan>
- <value>-INF</value>
- <value>-1000</value>
-</lessThan>
-<lessThan>
- <value>1000</value>
- <value>INF</value>
-</lessThan>
-<lessThan>
- <value>-1</value>
- <value>1</value>
-</lessThan>
-<lessThan>
- <value>0</value>
- <value>1</value>
-</lessThan>
-<lessThan>
- <value>-1</value>
- <value>0</value>
-</lessThan>
-</datatype>
-<datatype name="double">
-<valid>1.0</valid>
-<valid>1.</valid>
-<valid>.1</valid>
-<invalid>- 1</invalid>
-<invalid>1 .0</invalid>
-<invalid>+INF</invalid>
-<invalid>+NaN</invalid>
-<invalid>-NaN</invalid>
-<equiv>
-<class>
- <value>0</value>
- <value>-0</value>
- <value>+0</value>
- <value> 0 </value>
- <value> 0. </value>
- <value> .0 </value>
- <value> 0.0 </value>
- <value> 0e0 </value>
- <value> 0E0 </value>
- <value> 0E+0 </value>
- <value> 0E-0 </value>
-</class>
-<class>
- <value>1E0</value>
- <value>0.1E1</value>
- <value>10E-1</value>
- <value>+1</value>
-</class>
-<class>
- <value>-1</value>
-</class>
-<class>
- <value>INF</value>
- <value>INF </value>
-</class>
-<class>
- <value>-INF</value>
- <value>-INF </value>
-</class>
-<class>
- <value>NaN</value>
- <value> NaN </value>
-</class>
-</equiv>
-<lessThan>
- <value>-INF</value>
- <value>-1000</value>
-</lessThan>
-<lessThan>
- <value>1000</value>
- <value>INF</value>
-</lessThan>
-<lessThan>
- <value>-1</value>
- <value>1</value>
-</lessThan>
-<lessThan>
- <value>0</value>
- <value>1</value>
-</lessThan>
-<lessThan>
- <value>-1</value>
- <value>0</value>
-</lessThan>
-</datatype>
-<datatype name="QName">
-<valid>foo</valid>
-<valid xmlns:x="http://www.example.com">x:foo</valid>
-<invalid>y:foo</invalid>
-<equiv xmlns:x="http://www.example.com"
- xmlns:y="http://www.example.com/"
- xmlns:z="http://www.example.com">
-<class>
- <value>foo</value>
- <value> foo</value>
-</class>
-<class>
- <value>x:foo</value>
- <value> x:foo </value>
- <value>z:foo</value>
-</class>
-<class>
- <value>x:bar</value>
- <value>z:bar</value>
-</class>
-<class>
- <value>y:foo</value>
-</class>
-<class>
- <value>y:bar</value>
-</class>
-</equiv>
-</datatype>
-<datatype name="NOTATION">
-<valid>foo</valid>
-<valid xmlns:x="http://www.example.com">x:foo</valid>
-<invalid>y:foo</invalid>
-</datatype>
-<datatype name="decimal">
-<valid>1.0</valid>
-<valid>1.</valid>
-<valid>.1</valid>
-<valid>+1.0</valid>
-<valid>-1.0</valid>
-<valid> 1 </valid>
-<valid>99999999999999999999999999999999999999999999999999999999999999999</valid>
-<valid>-99999999999999999999999999999999999999999999999999999999999999999</valid>
-<invalid>junk</invalid>
-<invalid>--1</invalid>
-<invalid>++1</invalid>
-<invalid>+-1</invalid>
-<invalid>1.2.</invalid>
-<invalid>..1</invalid>
-<invalid>1..</invalid>
-<invalid>1 .2</invalid>
-<invalid>1+</invalid>
-<invalid>+ 1</invalid>
-<lessThan>
- <value>0</value>
- <value>1</value>
-</lessThan>
-</datatype>
-<datatype name="nonPositiveInteger">
-<valid>-1</valid>
-<valid>0</valid>
-<valid>-0</valid>
-<invalid>1</invalid>
-</datatype>
-<datatype name="nonNegativeInteger">
-<valid>1</valid>
-<valid>0</valid>
-<valid>+1</valid>
-<valid>+0</valid>
-<invalid>-1</invalid>
-</datatype>
-<datatype name="positiveInteger">
-<valid>+1</valid>
-<valid>1</valid>
-<invalid>0</invalid>
-<invalid>-1</invalid>
-</datatype>
-<datatype name="negativeInteger">
-<valid>-1</valid>
-<invalid>+1</invalid>
-<invalid>0</invalid>
-</datatype>
-<datatype name="long">
-<valid>1</valid>
-<valid>+1</valid>
-<valid>0</valid>
-<valid> 0 </valid>
-<invalid>1 2</invalid>
-<invalid>9999999999999999999999999999999999999999999999999999999999999999999999999</invalid>
-<valid>9223372036854775807</valid>
-<valid>-9223372036854775808</valid>
-<invalid>9223372036854775808</invalid>
-<invalid>-9223372036854775809</invalid>
-<invalid/>
-</datatype>
-<datatype name="int">
-<valid>1</valid>
-<valid>01</valid>
-<valid> 1 </valid>
-<valid>2147483647</valid>
-<valid>-2147483648</valid>
-<invalid>2147483648</invalid>
-<invalid>-2147483649</invalid>
-<invalid>9999999999999999999999999999999999999999999999999999999999999999999999999</invalid>
-<equiv>
-<class>
- <value>1</value>
- <value>+1</value>
- <value> 1 </value>
- <value>001</value>
-</class>
-<class>
- <value>-1</value>
- <value> -1 </value>
- <value>-001</value>
-</class>
-</equiv>
-</datatype>
-<datatype name="short">
-<valid>1</valid>
-<valid>32767</valid>
-<valid>-32768</valid>
-<invalid>32768</invalid>
-<invalid>-32769</invalid>
-<invalid>9999999999999999999999999999999999999999999999999999999999999999999999999</invalid>
-<equiv>
-<class>
- <value>1</value>
- <value>+1</value>
- <value> 1 </value>
- <value>001</value>
-</class>
-<class>
- <value>-1</value>
- <value> -1 </value>
- <value>-001</value>
-</class>
-</equiv>
-</datatype>
-<datatype name="byte">
-<valid>1</valid>
-<valid>127</valid>
-<valid>-128</valid>
-<invalid>128</invalid>
-<invalid>-129</invalid>
-</datatype>
-<datatype name="unsignedLong">
-<valid>1</valid>
-<valid>+1</valid>
-<invalid>-1</invalid>
-<valid>0</valid>
-<valid>18446744073709551615</valid>
-<invalid>18446744073709551616</invalid>
-<invalid>-1</invalid>
-</datatype>
-<datatype name="unsignedInt">
-<valid>1</valid>
-<valid>+1</valid>
-<valid>0</valid>
-<valid>4294967295</valid>
-<invalid>4294967296</invalid>
-<invalid>-1</invalid>
-</datatype>
-<datatype name="unsignedShort">
-<valid>1</valid>
-<valid>+1</valid>
-<valid>0</valid>
-<valid>65535</valid>
-<invalid>65536</invalid>
-<invalid>-1</invalid>
-</datatype>
-<datatype name="unsignedByte">
-<valid>1</valid>
-<valid>+1</valid>
-<valid>0</valid>
-<valid>255</valid>
-<invalid>256</invalid>
-<invalid>-1</invalid>
-</datatype>
-<datatype name="string">
-<valid>any thing at all!</valid>
-</datatype>
-<datatype name="normalizedString">
-<valid>any thing at all!</valid>
-</datatype>
-<datatype name="token">
-<valid>any thing at all!</valid>
-<equiv>
-<class>
- <value/>
- <value> </value>
- <value>&#x9;&#xA;&#xD;&#x20;</value>
-</class>
-<class>
- <value>x&#x20;</value>
- <value>x&#xA;</value>
- <value>x&#xD;</value>
- <value>x&#x9;</value>
- <value>&#x20;x</value>
- <value>&#xA;x</value>
- <value>&#xD;x</value>
- <value>&#x9;x</value>
- <value>&#x9;&#xA;&#xD;&#x20;x&#x9;&#xA;&#xD;&#x20;</value>
-</class>
-<class>
- <value>x y&#x20;</value>
- <value>x y&#xA;</value>
- <value>x y&#xD;</value>
- <value>x y&#x9;</value>
- <value>x&#x20;y</value>
- <value>x&#xA;y</value>
- <value>x&#xD;y</value>
- <value>x&#x9;y</value>
- <value>&#x20;x y</value>
- <value>&#xA;x y</value>
- <value>&#xD;x y</value>
- <value>&#x9;x y</value>
- <value>&#x9;&#xA;&#xD;&#x20;x&#x9;&#xA;&#xD;&#x20;y&#x9;&#xA;&#xD;&#x20;</value>
-</class>
-</equiv>
-<length value="0"></length>
-<length value="1">x</length>
-<length value="1"> x </length>
-<length value="1">&#x10800;</length>
-</datatype>
-<datatype name="language">
-<valid>en</valid>
-<valid>en-UK</valid>
-<valid>i-cherokee</valid>
-<valid>x-klingon</valid>
-<valid>en-uk-scotland</valid>
-<invalid>en.UK</invalid>
-</datatype>
-<datatype name="Name">
-<valid>foo</valid>
-<valid>_0123456789</valid>
-<invalid>.</invalid>
-<valid>:</valid>
-<invalid>-</invalid>
-<invalid>1234</invalid>
-<valid> foo </valid>
-</datatype>
-<datatype name="NCName">
-<valid>foo</valid>
-<invalid>foo:bar</invalid>
-<invalid>0foo</invalid>
-<equiv>
-<class><value>foo</value><value> foo </value></class>
-<class><value>FOO</value><value> FOO </value></class>
-</equiv>
-</datatype>
-<datatype name="NMTOKEN">
-<valid>foo</valid>
-<valid>_</valid>
-<valid>.</valid>
-<valid>:</valid>
-<valid>-</valid>
-<valid>1234</valid>
-<valid> foo </valid>
-<length value="3"> foo </length>
-<length value="2">fo</length>
-<length value="1">f</length>
-</datatype>
-<datatype name="NMTOKENS">
-<valid>foo bar</valid>
-<invalid/>
-<valid>1 2 3 4</valid>
-</datatype>
-<datatype name="ID">
-<valid>foobar</valid>
-<invalid>foo:bar</invalid>
-<invalid>foo bar</invalid>
-</datatype>
-<datatype name="ENTITY">
-<invalid/>
-<invalid>foo</invalid>
-<valid internalSubset="&lt;!ENTITY foo SYSTEM 'whatever' NDATA jpeg>"
->foo</valid>
-</datatype>
-<datatype name="ENTITIES">
-<invalid></invalid>
-<invalid>foo</invalid>
-<valid internalSubset="&lt;!ENTITY foo SYSTEM 'whatever' NDATA jpeg>
-&#xA;&lt;!ENTITY bar SYSTEM 'whatever' NDATA jpeg>
-"
-> foo bar </valid>
-</datatype>
-</xsdtest>
+<xsdtest>
+<datatype name="dateTime">
+<valid>2001-12-01T19:45:00</valid>
+<valid>2001-12-01T19:45:00Z</valid>
+<valid>2001-12-01T19:45:00-11:59</valid>
+<valid>0001-01-12T00:00:00+12:00</valid>
+<invalid>2001-12-1T19:45:00+24:00</invalid>
+<invalid>2001-12-1T19:45:00</invalid>
+<equiv>
+<class>
+ <value>2001-12-01T19:45:00</value>
+ <value>2001-12-01T19:45:00.00</value>
+</class>
+<class>
+ <value>2001-12-01T19:45:00Z</value>
+ <value>2001-12-01T19:45:00.00Z</value>
+ <value>2001-12-01T20:45:00+01:00</value>
+</class>
+</equiv>
+</datatype>
+<datatype name="anyURI">
+<valid>foobar</valid>
+<valid>http://www.example.com</valid>
+<valid>http://www.example.co%6d</valid>
+<valid>nosuchscheme:stuff</valid>
+<invalid>foo$bar:stuff</invalid>
+<invalid>f%oobar</invalid>
+</datatype>
+<datatype name="integer">
+<valid>10</valid>
+<valid>01</valid>
+<valid>0123456789</valid>
+<valid>+10</valid>
+<valid>-10</valid>
+<invalid>1.0</invalid>
+<invalid>.1</invalid>
+<valid>9999999999999999999999999999999</valid>
+<invalid>1.</invalid>
+<invalid>0.</invalid>
+<equiv>
+<class>
+ <value>0</value>
+ <value>+0</value>
+ <value>-0</value>
+ <value>00</value>
+</class>
+<class>
+ <value>10</value>
+ <value>+10</value>
+ <value>+0010</value>
+ <value>010</value>
+</class>
+<class>
+ <value>-10</value>
+ <value>-0010</value>
+ <value>-010</value>
+</class>
+</equiv>
+</datatype>
+<datatype name="duration">
+<valid>P1Y</valid>
+<valid>P1Y0M2DT17H5M12S</valid>
+<valid>-P1Y</valid>
+<valid>P60D</valid>
+<valid>PT24H</valid>
+<valid>PT1.2S</valid>
+<invalid>P24h</invalid>
+<invalid>P24H</invalid>
+<invalid>P1YT</invalid>
+<invalid>P</invalid>
+<invalid>-P</invalid>
+<equiv>
+ <class>
+ <value>-P6M</value>
+ </class>
+ <class>
+ <value>P0Y</value>
+ <value>-P0Y</value>
+ </class>
+ <class>
+ <value>P1Y</value>
+ <value>P001Y</value>
+ <value>P001Y0M</value>
+ <value>P1Y0M0DT0H0M0.0S</value>
+ </class>
+ <class>
+ <value>P6M</value>
+ </class>
+ <class>
+ <value>PT6M</value>
+ </class>
+ <class>
+ <value>PT1S</value>
+ <value>PT1.0S</value>
+ </class>
+</equiv>
+<lessThan>
+ <value>PT1M</value>
+ <value>PT61S</value>
+</lessThan>
+<lessThan>
+ <value>PT59S</value>
+ <value>PT1M</value>
+</lessThan>
+<incomparable>
+ <value>PT60S</value>
+ <value>PT1M</value>
+</incomparable>
+<lessThan>
+ <value>PT1H</value>
+ <value>PT61M</value>
+</lessThan>
+<lessThan>
+ <value>PT59M</value>
+ <value>PT1H</value>
+</lessThan>
+<incomparable>
+ <value>PT60M</value>
+ <value>PT1H</value>
+</incomparable>
+<lessThan>
+ <value>P1D</value>
+ <value>PT25H</value>
+</lessThan>
+<lessThan>
+ <value>PT23H</value>
+ <value>P1D</value>
+</lessThan>
+<incomparable>
+ <value>P1D</value>
+ <value>PT24H</value>
+</incomparable>
+<lessThan>
+ <value>P1Y</value>
+ <value>P13M</value>
+</lessThan>
+<lessThan>
+ <value>P11M</value>
+ <value>P1Y</value>
+</lessThan>
+<incomparable>
+ <value>P12M</value>
+ <value>P1Y</value>
+</incomparable>
+<lessThan>
+ <value>P364D</value>
+ <value>P1Y</value>
+</lessThan>
+<incomparable>
+ <value>P1Y</value>
+ <value>P365D</value>
+</incomparable>
+<incomparable>
+ <value>P1Y</value>
+ <value>P366D</value>
+</incomparable>
+<lessThan>
+ <value>P1Y</value>
+ <value>P367D</value>
+</lessThan>
+<lessThan>
+ <value>P149D</value>
+ <value>P5M</value>
+</lessThan>
+<incomparable>
+ <value>P150D</value>
+ <value>P5M</value>
+</incomparable>
+<incomparable>
+ <value>P151D</value>
+ <value>P5M</value>
+</incomparable>
+<incomparable>
+ <value>P152D</value>
+ <value>P5M</value>
+</incomparable>
+<incomparable>
+ <value>P153D</value>
+ <value>P5M</value>
+</incomparable>
+<lessThan>
+ <value>P5M</value>
+ <value>P154D</value>
+</lessThan>
+<lessThan>
+ <value>P27D</value>
+ <value>P1M</value>
+</lessThan>
+<incomparable>
+ <value>P28D</value>
+ <value>P1M</value>
+</incomparable>
+<incomparable>
+ <value>P29D</value>
+ <value>P1M</value>
+</incomparable>
+<incomparable>
+ <value>P30D</value>
+ <value>P1M</value>
+</incomparable>
+<incomparable>
+ <value>P31D</value>
+ <value>P1M</value>
+</incomparable>
+<lessThan>
+ <value>P1M</value>
+ <value>P32D</value>
+</lessThan>
+</datatype>
+<datatype name="time">
+<valid>12:45:00</valid>
+<valid>12:45:00Z</valid>
+</datatype>
+<datatype name="date">
+<valid>1886-12-01</valid>
+<valid>1886-12-01Z</valid>
+<lessThan>
+ <value>1066-12-31</value>
+ <value>1900-01-01</value>
+</lessThan>
+<lessThan>
+ <value>1900-01-01</value>
+ <value>1900-01-02</value>
+</lessThan>
+</datatype>
+<datatype name="gYearMonth">
+<valid>1996-12</valid>
+<valid>1996-01</valid>
+<valid>1996-01Z</valid>
+<invalid>1996-00</invalid>
+<equiv>
+<class><value>1996-01</value></class>
+<class>
+ <value>1996-01Z</value>
+ <value>1996-01+00:00</value>
+ <value>1996-01-00:00</value>
+</class>
+<class><value>1996-01+01:00</value></class>
+<class><value>1996-01-01:00</value></class>
+</equiv>
+</datatype>
+<datatype name="gYear">
+<valid>2001</valid>
+<valid>2001Z</valid>
+<lessThan>
+ <value>1999</value>
+ <value>2000</value>
+</lessThan>
+<lessThan>
+ <value>1999+07:00</value>
+ <value>2000+07:00</value>
+</lessThan>
+</datatype>
+<datatype name="gMonthDay">
+<valid>--12-01</valid>
+<valid>--12-01Z</valid>
+<lessThan>
+ <value>--12-01</value>
+ <value>--12-04</value>
+</lessThan>
+<lessThan>
+ <value>--11-17</value>
+ <value>--12-04</value>
+</lessThan>
+</datatype>
+<datatype name="gDay">
+<valid>---20</valid>
+<valid>---20Z</valid>
+<lessThan>
+ <value>---01</value>
+ <value>---31</value>
+</lessThan>
+</datatype>
+<datatype name="gMonth">
+<valid>--12</valid>
+<valid>--01</valid>
+<valid>--01Z</valid>
+<valid> --12 </valid>
+<invalid>---01</invalid>
+<invalid>--00</invalid>
+<invalid>--13</invalid>
+<invalid>- -13</invalid>
+<lessThan>
+ <value>--01</value>
+ <value>--12</value>
+</lessThan>
+<lessThan>
+ <value>--01</value>
+ <value>--02</value>
+</lessThan>
+</datatype>
+<datatype name="boolean">
+<valid>true</valid>
+<valid>false</valid>
+<valid>0</valid>
+<valid>1</valid>
+<invalid>00</invalid>
+<invalid>00</invalid>
+<invalid>01</invalid>
+<equiv>
+<class><value>true</value><value>1</value></class>
+<class><value>false</value><value>0</value></class>
+</equiv>
+</datatype>
+<datatype name="base64Binary">
+<valid>AAAA</valid>
+<valid>abcd efgh ijkl mnop qrst uvwx yzAB CDEF GHIJ KLMN OPQR
+STUV WXYZ 0123 4567 89+/</valid>
+<valid>BA==</valid>
+<valid></valid>
+<valid>BA==</valid>
+<valid>BQ==</valid>
+<valid>Bg==</valid>
+<valid>Bw==</valid>
+<valid>BBA=</valid>
+<valid>BBA=</valid>
+<valid>BBE=</valid>
+<valid>BBI=</valid>
+<valid>BBM=</valid>
+<valid>BBQ=</valid>
+<valid>BBU=</valid>
+<valid>BBY=</valid>
+<valid>BBc=</valid>
+<valid>BBg=</valid>
+<valid>BBk=</valid>
+<valid>BBo=</valid>
+<valid>BBs=</valid>
+<valid>BBw=</valid>
+<valid>BB0=</valid>
+<valid>BB4=</valid>
+<valid>BB8=</valid>
+<invalid>====</invalid>
+<invalid>BB==</invalid>
+<invalid>BBB=</invalid>
+<invalid>B===</invalid>
+<invalid>B</invalid>
+<equiv>
+<class>
+<value>deadbeef</value>
+<value>d&#xA;&#xD;&#x9;e a d
+b eef </value>
+</class>
+<class>
+<value>DEADBEEF</value>
+<value>D&#xA;&#xD;&#x9;E A D
+B EEF </value>
+</class>
+</equiv>
+<length value="0"></length>
+<length value="6">deadbeef</length>
+<length value="1">BA==</length>
+<length value="2">BBA=</length>
+<length value="3">dead</length>
+<length value="4">deadBA==</length>
+</datatype>
+<datatype name="hexBinary">
+<valid>deadbeef</valid>
+<valid></valid>
+<valid>0123456789ABCDEFabcdef</valid>
+<invalid>00 00</invalid>
+<invalid>00.00</invalid>
+<invalid>0G</invalid>
+<equiv>
+ <class>
+ <value>00</value>
+ <value>
+ 00
+ </value>
+ </class>
+ <class>
+ <value>01</value>
+ </class>
+ <class>
+ <value>10</value>
+ </class>
+ <class>
+ <value>0a</value>
+ <value>0A</value>
+ </class>
+</equiv>
+<length value="0"></length>
+<length value="1">00</length>
+<length value="2">0000</length>
+<length value="2"> 0000 </length>
+<length value="2">AAAA</length>
+</datatype>
+<datatype name="float">
+<valid>1.0</valid>
+<valid>1.</valid>
+<valid>.1</valid>
+<invalid>- 1</invalid>
+<invalid>1 .0</invalid>
+<invalid>+INF</invalid>
+<invalid>+NaN</invalid>
+<invalid>-NaN</invalid>
+<equiv>
+<class>
+ <value>0</value>
+ <value>-0</value>
+ <value>+0</value>
+ <value> 0 </value>
+ <value> 0. </value>
+ <value> .0 </value>
+ <value> 0.0 </value>
+ <value> 0e0 </value>
+ <value> 0E0 </value>
+ <value> 0E+0 </value>
+ <value> 0E-0 </value>
+</class>
+<class>
+ <value>1E0</value>
+ <value>0.1E1</value>
+ <value>10E-1</value>
+ <value>+1</value>
+</class>
+<class>
+ <value>-1</value>
+</class>
+<class>
+ <value>INF</value>
+ <value>INF </value>
+</class>
+<class>
+ <value>-INF</value>
+ <value>-INF </value>
+</class>
+<class>
+ <value>NaN</value>
+ <value> NaN </value>
+</class>
+</equiv>
+<lessThan>
+ <value>-INF</value>
+ <value>-1000</value>
+</lessThan>
+<lessThan>
+ <value>1000</value>
+ <value>INF</value>
+</lessThan>
+<lessThan>
+ <value>-1</value>
+ <value>1</value>
+</lessThan>
+<lessThan>
+ <value>0</value>
+ <value>1</value>
+</lessThan>
+<lessThan>
+ <value>-1</value>
+ <value>0</value>
+</lessThan>
+</datatype>
+<datatype name="double">
+<valid>1.0</valid>
+<valid>1.</valid>
+<valid>.1</valid>
+<invalid>- 1</invalid>
+<invalid>1 .0</invalid>
+<invalid>+INF</invalid>
+<invalid>+NaN</invalid>
+<invalid>-NaN</invalid>
+<equiv>
+<class>
+ <value>0</value>
+ <value>-0</value>
+ <value>+0</value>
+ <value> 0 </value>
+ <value> 0. </value>
+ <value> .0 </value>
+ <value> 0.0 </value>
+ <value> 0e0 </value>
+ <value> 0E0 </value>
+ <value> 0E+0 </value>
+ <value> 0E-0 </value>
+</class>
+<class>
+ <value>1E0</value>
+ <value>0.1E1</value>
+ <value>10E-1</value>
+ <value>+1</value>
+</class>
+<class>
+ <value>-1</value>
+</class>
+<class>
+ <value>INF</value>
+ <value>INF </value>
+</class>
+<class>
+ <value>-INF</value>
+ <value>-INF </value>
+</class>
+<class>
+ <value>NaN</value>
+ <value> NaN </value>
+</class>
+</equiv>
+<lessThan>
+ <value>-INF</value>
+ <value>-1000</value>
+</lessThan>
+<lessThan>
+ <value>1000</value>
+ <value>INF</value>
+</lessThan>
+<lessThan>
+ <value>-1</value>
+ <value>1</value>
+</lessThan>
+<lessThan>
+ <value>0</value>
+ <value>1</value>
+</lessThan>
+<lessThan>
+ <value>-1</value>
+ <value>0</value>
+</lessThan>
+</datatype>
+<datatype name="QName">
+<valid>foo</valid>
+<valid xmlns:x="http://www.example.com">x:foo</valid>
+<invalid>y:foo</invalid>
+<equiv xmlns:x="http://www.example.com"
+ xmlns:y="http://www.example.com/"
+ xmlns:z="http://www.example.com">
+<class>
+ <value>foo</value>
+ <value> foo</value>
+</class>
+<class>
+ <value>x:foo</value>
+ <value> x:foo </value>
+ <value>z:foo</value>
+</class>
+<class>
+ <value>x:bar</value>
+ <value>z:bar</value>
+</class>
+<class>
+ <value>y:foo</value>
+</class>
+<class>
+ <value>y:bar</value>
+</class>
+</equiv>
+</datatype>
+<datatype name="NOTATION">
+<valid>foo</valid>
+<valid xmlns:x="http://www.example.com">x:foo</valid>
+<invalid>y:foo</invalid>
+</datatype>
+<datatype name="decimal">
+<valid>1.0</valid>
+<valid>1.</valid>
+<valid>.1</valid>
+<valid>+1.0</valid>
+<valid>-1.0</valid>
+<valid> 1 </valid>
+<valid>99999999999999999999999999999999999999999999999999999999999999999</valid>
+<valid>-99999999999999999999999999999999999999999999999999999999999999999</valid>
+<invalid>junk</invalid>
+<invalid>--1</invalid>
+<invalid>++1</invalid>
+<invalid>+-1</invalid>
+<invalid>1.2.</invalid>
+<invalid>..1</invalid>
+<invalid>1..</invalid>
+<invalid>1 .2</invalid>
+<invalid>1+</invalid>
+<invalid>+ 1</invalid>
+<lessThan>
+ <value>0</value>
+ <value>1</value>
+</lessThan>
+</datatype>
+<datatype name="nonPositiveInteger">
+<valid>-1</valid>
+<valid>0</valid>
+<valid>-0</valid>
+<invalid>1</invalid>
+</datatype>
+<datatype name="nonNegativeInteger">
+<valid>1</valid>
+<valid>0</valid>
+<valid>+1</valid>
+<valid>+0</valid>
+<invalid>-1</invalid>
+</datatype>
+<datatype name="positiveInteger">
+<valid>+1</valid>
+<valid>1</valid>
+<invalid>0</invalid>
+<invalid>-1</invalid>
+</datatype>
+<datatype name="negativeInteger">
+<valid>-1</valid>
+<invalid>+1</invalid>
+<invalid>0</invalid>
+</datatype>
+<datatype name="long">
+<valid>1</valid>
+<valid>+1</valid>
+<valid>0</valid>
+<valid> 0 </valid>
+<invalid>1 2</invalid>
+<invalid>9999999999999999999999999999999999999999999999999999999999999999999999999</invalid>
+<valid>9223372036854775807</valid>
+<valid>-9223372036854775808</valid>
+<invalid>9223372036854775808</invalid>
+<invalid>-9223372036854775809</invalid>
+<invalid/>
+</datatype>
+<datatype name="int">
+<valid>1</valid>
+<valid>01</valid>
+<valid> 1 </valid>
+<valid>2147483647</valid>
+<valid>-2147483648</valid>
+<invalid>2147483648</invalid>
+<invalid>-2147483649</invalid>
+<invalid>9999999999999999999999999999999999999999999999999999999999999999999999999</invalid>
+<equiv>
+<class>
+ <value>1</value>
+ <value>+1</value>
+ <value> 1 </value>
+ <value>001</value>
+</class>
+<class>
+ <value>-1</value>
+ <value> -1 </value>
+ <value>-001</value>
+</class>
+</equiv>
+</datatype>
+<datatype name="short">
+<valid>1</valid>
+<valid>32767</valid>
+<valid>-32768</valid>
+<invalid>32768</invalid>
+<invalid>-32769</invalid>
+<invalid>9999999999999999999999999999999999999999999999999999999999999999999999999</invalid>
+<equiv>
+<class>
+ <value>1</value>
+ <value>+1</value>
+ <value> 1 </value>
+ <value>001</value>
+</class>
+<class>
+ <value>-1</value>
+ <value> -1 </value>
+ <value>-001</value>
+</class>
+</equiv>
+</datatype>
+<datatype name="byte">
+<valid>1</valid>
+<valid>127</valid>
+<valid>-128</valid>
+<invalid>128</invalid>
+<invalid>-129</invalid>
+</datatype>
+<datatype name="unsignedLong">
+<valid>1</valid>
+<valid>+1</valid>
+<invalid>-1</invalid>
+<valid>0</valid>
+<valid>18446744073709551615</valid>
+<invalid>18446744073709551616</invalid>
+<invalid>-1</invalid>
+</datatype>
+<datatype name="unsignedInt">
+<valid>1</valid>
+<valid>+1</valid>
+<valid>0</valid>
+<valid>4294967295</valid>
+<invalid>4294967296</invalid>
+<invalid>-1</invalid>
+</datatype>
+<datatype name="unsignedShort">
+<valid>1</valid>
+<valid>+1</valid>
+<valid>0</valid>
+<valid>65535</valid>
+<invalid>65536</invalid>
+<invalid>-1</invalid>
+</datatype>
+<datatype name="unsignedByte">
+<valid>1</valid>
+<valid>+1</valid>
+<valid>0</valid>
+<valid>255</valid>
+<invalid>256</invalid>
+<invalid>-1</invalid>
+</datatype>
+<datatype name="string">
+<valid>any thing at all!</valid>
+</datatype>
+<datatype name="normalizedString">
+<valid>any thing at all!</valid>
+</datatype>
+<datatype name="token">
+<valid>any thing at all!</valid>
+<equiv>
+<class>
+ <value/>
+ <value> </value>
+ <value>&#x9;&#xA;&#xD;&#x20;</value>
+</class>
+<class>
+ <value>x&#x20;</value>
+ <value>x&#xA;</value>
+ <value>x&#xD;</value>
+ <value>x&#x9;</value>
+ <value>&#x20;x</value>
+ <value>&#xA;x</value>
+ <value>&#xD;x</value>
+ <value>&#x9;x</value>
+ <value>&#x9;&#xA;&#xD;&#x20;x&#x9;&#xA;&#xD;&#x20;</value>
+</class>
+<class>
+ <value>x y&#x20;</value>
+ <value>x y&#xA;</value>
+ <value>x y&#xD;</value>
+ <value>x y&#x9;</value>
+ <value>x&#x20;y</value>
+ <value>x&#xA;y</value>
+ <value>x&#xD;y</value>
+ <value>x&#x9;y</value>
+ <value>&#x20;x y</value>
+ <value>&#xA;x y</value>
+ <value>&#xD;x y</value>
+ <value>&#x9;x y</value>
+ <value>&#x9;&#xA;&#xD;&#x20;x&#x9;&#xA;&#xD;&#x20;y&#x9;&#xA;&#xD;&#x20;</value>
+</class>
+</equiv>
+<length value="0"></length>
+<length value="1">x</length>
+<length value="1"> x </length>
+<length value="1">&#x10800;</length>
+</datatype>
+<datatype name="language">
+<valid>en</valid>
+<valid>en-UK</valid>
+<valid>i-cherokee</valid>
+<valid>x-klingon</valid>
+<valid>en-uk-scotland</valid>
+<invalid>en.UK</invalid>
+</datatype>
+<datatype name="Name">
+<valid>foo</valid>
+<valid>_0123456789</valid>
+<invalid>.</invalid>
+<valid>:</valid>
+<invalid>-</invalid>
+<invalid>1234</invalid>
+<valid> foo </valid>
+</datatype>
+<datatype name="NCName">
+<valid>foo</valid>
+<invalid>foo:bar</invalid>
+<invalid>0foo</invalid>
+<equiv>
+<class><value>foo</value><value> foo </value></class>
+<class><value>FOO</value><value> FOO </value></class>
+</equiv>
+</datatype>
+<datatype name="NMTOKEN">
+<valid>foo</valid>
+<valid>_</valid>
+<valid>.</valid>
+<valid>:</valid>
+<valid>-</valid>
+<valid>1234</valid>
+<valid> foo </valid>
+<length value="3"> foo </length>
+<length value="2">fo</length>
+<length value="1">f</length>
+</datatype>
+<datatype name="NMTOKENS">
+<valid>foo bar</valid>
+<invalid/>
+<valid>1 2 3 4</valid>
+</datatype>
+<datatype name="ID">
+<valid>foobar</valid>
+<invalid>foo:bar</invalid>
+<invalid>foo bar</invalid>
+</datatype>
+<datatype name="ENTITY">
+<invalid/>
+<invalid>foo</invalid>
+<valid internalSubset="&lt;!ENTITY foo SYSTEM 'whatever' NDATA jpeg>"
+>foo</valid>
+</datatype>
+<datatype name="ENTITIES">
+<invalid></invalid>
+<invalid>foo</invalid>
+<valid internalSubset="&lt;!ENTITY foo SYSTEM 'whatever' NDATA jpeg>
+&#xA;&lt;!ENTITY bar SYSTEM 'whatever' NDATA jpeg>
+"
+> foo bar </valid>
+</datatype>
+</xsdtest>