<?xml version="1.0" encoding="utf-8"?> <testSuite> <testSuite> <documentation>Datatype dateTime</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="dateTime"/> </element> </correct> <valid> <doc>2001-12-01T19:45:00</doc> </valid> <valid> <doc>2001-12-01T19:45:00Z</doc> </valid> <valid> <doc>2001-12-01T19:45:00-11:59</doc> </valid> <valid> <doc>0001-01-12T00:00:00+12:00</doc> </valid> <invalid> <doc>2001-12-1T19:45:00+24:00</doc> </invalid> <invalid> <doc>2001-12-1T19:45:00</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="dateTime">2001-12-01T19:45:00</value> </element> </correct> <valid> <doc>2001-12-01T19:45:00.00</doc> </valid> <invalid> <doc>2001-12-01T19:45:00Z</doc> </invalid> <invalid> <doc>2001-12-01T19:45:00.00Z</doc> </invalid> <invalid> <doc>2001-12-01T20:45:00+01:00</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="dateTime">2001-12-01T19:45:00Z</value> </element> </correct> <valid> <doc>2001-12-01T19:45:00.00Z</doc> </valid> <valid> <doc>2001-12-01T20:45:00+01:00</doc> </valid> <invalid> <doc>2001-12-01T19:45:00</doc> </invalid> <invalid> <doc>2001-12-01T19:45:00.00</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype anyURI</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="anyURI"/> </element> </correct> <valid> <doc>foobar</doc> </valid> <valid> <doc>http://www.example.com</doc> </valid> <valid> <doc>http://ji%6d@www.example.com</doc> </valid> <valid> <doc>http://www.example.co%6d</doc> </valid> <valid> <doc>nosuchscheme:stuff</doc> </valid> <invalid> <doc>foo$bar:stuff</doc> </invalid> <invalid> <doc>f%oobar</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype integer</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="integer"/> </element> </correct> <valid> <doc>10</doc> </valid> <valid> <doc>01</doc> </valid> <valid> <doc>0123456789</doc> </valid> <valid> <doc>+10</doc> </valid> <valid> <doc>-10</doc> </valid> <invalid> <doc>1.0</doc> </invalid> <invalid> <doc>.1</doc> </invalid> <valid> <doc>9999999999999999999999999999999</doc> </valid> <invalid> <doc>1.</doc> </invalid> <invalid> <doc>0.</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="integer">0</value> </element> </correct> <valid> <doc>+0</doc> </valid> <valid> <doc>-0</doc> </valid> <valid> <doc>00</doc> </valid> <invalid> <doc>10</doc> </invalid> <invalid> <doc>+10</doc> </invalid> <invalid> <doc>+0010</doc> </invalid> <invalid> <doc>010</doc> </invalid> <invalid> <doc>-10</doc> </invalid> <invalid> <doc>-0010</doc> </invalid> <invalid> <doc>-010</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="integer">10</value> </element> </correct> <valid> <doc>+10</doc> </valid> <valid> <doc>+0010</doc> </valid> <valid> <doc>010</doc> </valid> <invalid> <doc>0</doc> </invalid> <invalid> <doc>+0</doc> </invalid> <invalid> <doc>-0</doc> </invalid> <invalid> <doc>00</doc> </invalid> <invalid> <doc>-10</doc> </invalid> <invalid> <doc>-0010</doc> </invalid> <invalid> <doc>-010</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="integer">-10</value> </element> </correct> <valid> <doc>-0010</doc> </valid> <valid> <doc>-010</doc> </valid> <invalid> <doc>0</doc> </invalid> <invalid> <doc>+0</doc> </invalid> <invalid> <doc>-0</doc> </invalid> <invalid> <doc>00</doc> </invalid> <invalid> <doc>10</doc> </invalid> <invalid> <doc>+10</doc> </invalid> <invalid> <doc>+0010</doc> </invalid> <invalid> <doc>010</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype duration</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"/> </element> </correct> <valid> <doc>P1Y</doc> </valid> <valid> <doc>P1Y0M2DT17H5M12S</doc> </valid> <valid> <doc>-P1Y</doc> </valid> <valid> <doc>P60D</doc> </valid> <valid> <doc>PT24H</doc> </valid> <valid> <doc>PT1.2S</doc> </valid> <invalid> <doc>P24h</doc> </invalid> <invalid> <doc>P24H</doc> </invalid> <invalid> <doc>P1YT</doc> </invalid> <invalid> <doc>P</doc> </invalid> <invalid> <doc>-P</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="duration">-P6M</value> </element> </correct> <invalid> <doc>P0Y</doc> </invalid> <invalid> <doc>-P0Y</doc> </invalid> <invalid> <doc>P1Y</doc> </invalid> <invalid> <doc>P001Y</doc> </invalid> <invalid> <doc>P001Y0M</doc> </invalid> <invalid> <doc>P1Y0M0DT0H0M0.0S</doc> </invalid> <invalid> <doc>P6M</doc> </invalid> <invalid> <doc>PT6M</doc> </invalid> <invalid> <doc>PT1S</doc> </invalid> <invalid> <doc>PT1.0S</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="duration">P0Y</value> </element> </correct> <valid> <doc>-P0Y</doc> </valid> <invalid> <doc>-P6M</doc> </invalid> <invalid> <doc>P1Y</doc> </invalid> <invalid> <doc>P001Y</doc> </invalid> <invalid> <doc>P001Y0M</doc> </invalid> <invalid> <doc>P1Y0M0DT0H0M0.0S</doc> </invalid> <invalid> <doc>P6M</doc> </invalid> <invalid> <doc>PT6M</doc> </invalid> <invalid> <doc>PT1S</doc> </invalid> <invalid> <doc>PT1.0S</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="duration">P1Y</value> </element> </correct> <valid> <doc>P001Y</doc> </valid> <valid> <doc>P001Y0M</doc> </valid> <valid> <doc>P1Y0M0DT0H0M0.0S</doc> </valid> <invalid> <doc>-P6M</doc> </invalid> <invalid> <doc>P0Y</doc> </invalid> <invalid> <doc>-P0Y</doc> </invalid> <invalid> <doc>P6M</doc> </invalid> <invalid> <doc>PT6M</doc> </invalid> <invalid> <doc>PT1S</doc> </invalid> <invalid> <doc>PT1.0S</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="duration">P6M</value> </element> </correct> <invalid> <doc>-P6M</doc> </invalid> <invalid> <doc>P0Y</doc> </invalid> <invalid> <doc>-P0Y</doc> </invalid> <invalid> <doc>P1Y</doc> </invalid> <invalid> <doc>P001Y</doc> </invalid> <invalid> <doc>P001Y0M</doc> </invalid> <invalid> <doc>P1Y0M0DT0H0M0.0S</doc> </invalid> <invalid> <doc>PT6M</doc> </invalid> <invalid> <doc>PT1S</doc> </invalid> <invalid> <doc>PT1.0S</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="duration">PT6M</value> </element> </correct> <invalid> <doc>-P6M</doc> </invalid> <invalid> <doc>P0Y</doc> </invalid> <invalid> <doc>-P0Y</doc> </invalid> <invalid> <doc>P1Y</doc> </invalid> <invalid> <doc>P001Y</doc> </invalid> <invalid> <doc>P001Y0M</doc> </invalid> <invalid> <doc>P1Y0M0DT0H0M0.0S</doc> </invalid> <invalid> <doc>P6M</doc> </invalid> <invalid> <doc>PT1S</doc> </invalid> <invalid> <doc>PT1.0S</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="duration">PT1S</value> </element> </correct> <valid> <doc>PT1.0S</doc> </valid> <invalid> <doc>-P6M</doc> </invalid> <invalid> <doc>P0Y</doc> </invalid> <invalid> <doc>-P0Y</doc> </invalid> <invalid> <doc>P1Y</doc> </invalid> <invalid> <doc>P001Y</doc> </invalid> <invalid> <doc>P001Y0M</doc> </invalid> <invalid> <doc>P1Y0M0DT0H0M0.0S</doc> </invalid> <invalid> <doc>P6M</doc> </invalid> <invalid> <doc>PT6M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">PT1M</param> </data> </element> </correct> <valid> <doc>PT61S</doc> </valid> <invalid> <doc>PT1M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">PT61S</param> </data> </element> </correct> <invalid> <doc>PT1M</doc> </invalid> <invalid> <doc>PT61S</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">PT59S</param> </data> </element> </correct> <valid> <doc>PT1M</doc> </valid> <invalid> <doc>PT59S</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">PT1M</param> </data> </element> </correct> <invalid> <doc>PT59S</doc> </invalid> <invalid> <doc>PT1M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">PT60S</param> </data> </element> </correct> <invalid> <doc>PT1M</doc> </invalid> <invalid> <doc>PT60S</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">PT1M</param> </data> </element> </correct> <invalid> <doc>PT60S</doc> </invalid> <invalid> <doc>PT1M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">PT1H</param> </data> </element> </correct> <valid> <doc>PT61M</doc> </valid> <invalid> <doc>PT1H</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">PT61M</param> </data> </element> </correct> <invalid> <doc>PT1H</doc> </invalid> <invalid> <doc>PT61M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">PT59M</param> </data> </element> </correct> <valid> <doc>PT1H</doc> </valid> <invalid> <doc>PT59M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">PT1H</param> </data> </element> </correct> <invalid> <doc>PT59M</doc> </invalid> <invalid> <doc>PT1H</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">PT60M</param> </data> </element> </correct> <invalid> <doc>PT1H</doc> </invalid> <invalid> <doc>PT60M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">PT1H</param> </data> </element> </correct> <invalid> <doc>PT60M</doc> </invalid> <invalid> <doc>PT1H</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P1D</param> </data> </element> </correct> <valid> <doc>PT25H</doc> </valid> <invalid> <doc>P1D</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">PT25H</param> </data> </element> </correct> <invalid> <doc>P1D</doc> </invalid> <invalid> <doc>PT25H</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">PT23H</param> </data> </element> </correct> <valid> <doc>P1D</doc> </valid> <invalid> <doc>PT23H</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P1D</param> </data> </element> </correct> <invalid> <doc>PT23H</doc> </invalid> <invalid> <doc>P1D</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P1D</param> </data> </element> </correct> <invalid> <doc>PT24H</doc> </invalid> <invalid> <doc>P1D</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">PT24H</param> </data> </element> </correct> <invalid> <doc>P1D</doc> </invalid> <invalid> <doc>PT24H</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P1Y</param> </data> </element> </correct> <valid> <doc>P13M</doc> </valid> <invalid> <doc>P1Y</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P13M</param> </data> </element> </correct> <invalid> <doc>P1Y</doc> </invalid> <invalid> <doc>P13M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P11M</param> </data> </element> </correct> <valid> <doc>P1Y</doc> </valid> <invalid> <doc>P11M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P1Y</param> </data> </element> </correct> <invalid> <doc>P11M</doc> </invalid> <invalid> <doc>P1Y</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P12M</param> </data> </element> </correct> <invalid> <doc>P1Y</doc> </invalid> <invalid> <doc>P12M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P1Y</param> </data> </element> </correct> <invalid> <doc>P12M</doc> </invalid> <invalid> <doc>P1Y</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P364D</param> </data> </element> </correct> <valid> <doc>P1Y</doc> </valid> <invalid> <doc>P364D</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P1Y</param> </data> </element> </correct> <invalid> <doc>P364D</doc> </invalid> <invalid> <doc>P1Y</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P1Y</param> </data> </element> </correct> <invalid> <doc>P365D</doc> </invalid> <invalid> <doc>P1Y</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P365D</param> </data> </element> </correct> <invalid> <doc>P1Y</doc> </invalid> <invalid> <doc>P365D</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P1Y</param> </data> </element> </correct> <invalid> <doc>P366D</doc> </invalid> <invalid> <doc>P1Y</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P366D</param> </data> </element> </correct> <invalid> <doc>P1Y</doc> </invalid> <invalid> <doc>P366D</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P1Y</param> </data> </element> </correct> <valid> <doc>P367D</doc> </valid> <invalid> <doc>P1Y</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P367D</param> </data> </element> </correct> <invalid> <doc>P1Y</doc> </invalid> <invalid> <doc>P367D</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P149D</param> </data> </element> </correct> <valid> <doc>P5M</doc> </valid> <invalid> <doc>P149D</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P5M</param> </data> </element> </correct> <invalid> <doc>P149D</doc> </invalid> <invalid> <doc>P5M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P150D</param> </data> </element> </correct> <invalid> <doc>P5M</doc> </invalid> <invalid> <doc>P150D</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P5M</param> </data> </element> </correct> <invalid> <doc>P150D</doc> </invalid> <invalid> <doc>P5M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P151D</param> </data> </element> </correct> <invalid> <doc>P5M</doc> </invalid> <invalid> <doc>P151D</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P5M</param> </data> </element> </correct> <invalid> <doc>P151D</doc> </invalid> <invalid> <doc>P5M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P152D</param> </data> </element> </correct> <invalid> <doc>P5M</doc> </invalid> <invalid> <doc>P152D</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P5M</param> </data> </element> </correct> <invalid> <doc>P152D</doc> </invalid> <invalid> <doc>P5M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P153D</param> </data> </element> </correct> <invalid> <doc>P5M</doc> </invalid> <invalid> <doc>P153D</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P5M</param> </data> </element> </correct> <invalid> <doc>P153D</doc> </invalid> <invalid> <doc>P5M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P5M</param> </data> </element> </correct> <valid> <doc>P154D</doc> </valid> <invalid> <doc>P5M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P154D</param> </data> </element> </correct> <invalid> <doc>P5M</doc> </invalid> <invalid> <doc>P154D</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P27D</param> </data> </element> </correct> <valid> <doc>P1M</doc> </valid> <invalid> <doc>P27D</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P1M</param> </data> </element> </correct> <invalid> <doc>P27D</doc> </invalid> <invalid> <doc>P1M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P28D</param> </data> </element> </correct> <invalid> <doc>P1M</doc> </invalid> <invalid> <doc>P28D</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P1M</param> </data> </element> </correct> <invalid> <doc>P28D</doc> </invalid> <invalid> <doc>P1M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P29D</param> </data> </element> </correct> <invalid> <doc>P1M</doc> </invalid> <invalid> <doc>P29D</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P1M</param> </data> </element> </correct> <invalid> <doc>P29D</doc> </invalid> <invalid> <doc>P1M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P30D</param> </data> </element> </correct> <invalid> <doc>P1M</doc> </invalid> <invalid> <doc>P30D</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P1M</param> </data> </element> </correct> <invalid> <doc>P30D</doc> </invalid> <invalid> <doc>P1M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P31D</param> </data> </element> </correct> <invalid> <doc>P1M</doc> </invalid> <invalid> <doc>P31D</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P1M</param> </data> </element> </correct> <invalid> <doc>P31D</doc> </invalid> <invalid> <doc>P1M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P1M</param> </data> </element> </correct> <valid> <doc>P32D</doc> </valid> <invalid> <doc>P1M</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="duration"> <param name="minExclusive">P32D</param> </data> </element> </correct> <invalid> <doc>P1M</doc> </invalid> <invalid> <doc>P32D</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype time</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="time"/> </element> </correct> <valid> <doc>12:45:00</doc> </valid> <valid> <doc>12:45:00Z</doc> </valid> </testCase> </testSuite> <testSuite> <documentation>Datatype date</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="date"/> </element> </correct> <valid> <doc>1886-12-01</doc> </valid> <valid> <doc>1886-12-01Z</doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="date"> <param name="minExclusive">1066-12-31</param> </data> </element> </correct> <valid> <doc>1900-01-01</doc> </valid> <invalid> <doc>1066-12-31</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="date"> <param name="minExclusive">1900-01-01</param> </data> </element> </correct> <invalid> <doc>1066-12-31</doc> </invalid> <invalid> <doc>1900-01-01</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="date"> <param name="minExclusive">1900-01-01</param> </data> </element> </correct> <valid> <doc>1900-01-02</doc> </valid> <invalid> <doc>1900-01-01</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="date"> <param name="minExclusive">1900-01-02</param> </data> </element> </correct> <invalid> <doc>1900-01-01</doc> </invalid> <invalid> <doc>1900-01-02</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype gYearMonth</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="gYearMonth"/> </element> </correct> <valid> <doc>1996-12</doc> </valid> <valid> <doc>1996-01</doc> </valid> <valid> <doc>1996-01Z</doc> </valid> <invalid> <doc>1996-00</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="gYearMonth">1996-01</value> </element> </correct> <invalid> <doc>1996-01Z</doc> </invalid> <invalid> <doc>1996-01+00:00</doc> </invalid> <invalid> <doc>1996-01-00:00</doc> </invalid> <invalid> <doc>1996-01+01:00</doc> </invalid> <invalid> <doc>1996-01-01:00</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="gYearMonth">1996-01Z</value> </element> </correct> <valid> <doc>1996-01+00:00</doc> </valid> <valid> <doc>1996-01-00:00</doc> </valid> <invalid> <doc>1996-01</doc> </invalid> <invalid> <doc>1996-01+01:00</doc> </invalid> <invalid> <doc>1996-01-01:00</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="gYearMonth">1996-01+01:00</value> </element> </correct> <invalid> <doc>1996-01</doc> </invalid> <invalid> <doc>1996-01Z</doc> </invalid> <invalid> <doc>1996-01+00:00</doc> </invalid> <invalid> <doc>1996-01-00:00</doc> </invalid> <invalid> <doc>1996-01-01:00</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="gYearMonth">1996-01-01:00</value> </element> </correct> <invalid> <doc>1996-01</doc> </invalid> <invalid> <doc>1996-01Z</doc> </invalid> <invalid> <doc>1996-01+00:00</doc> </invalid> <invalid> <doc>1996-01-00:00</doc> </invalid> <invalid> <doc>1996-01+01:00</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype gYear</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="gYear"/> </element> </correct> <valid> <doc>2001</doc> </valid> <valid> <doc>2001Z</doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="gYear"> <param name="minExclusive">1999</param> </data> </element> </correct> <valid> <doc>2000</doc> </valid> <invalid> <doc>1999</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="gYear"> <param name="minExclusive">2000</param> </data> </element> </correct> <invalid> <doc>1999</doc> </invalid> <invalid> <doc>2000</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="gYear"> <param name="minExclusive">1999+07:00</param> </data> </element> </correct> <valid> <doc>2000+07:00</doc> </valid> <invalid> <doc>1999+07:00</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="gYear"> <param name="minExclusive">2000+07:00</param> </data> </element> </correct> <invalid> <doc>1999+07:00</doc> </invalid> <invalid> <doc>2000+07:00</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype gMonthDay</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="gMonthDay"/> </element> </correct> <valid> <doc>--12-01</doc> </valid> <valid> <doc>--12-01Z</doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="gMonthDay"> <param name="minExclusive">--12-01</param> </data> </element> </correct> <valid> <doc>--12-04</doc> </valid> <invalid> <doc>--12-01</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="gMonthDay"> <param name="minExclusive">--12-04</param> </data> </element> </correct> <invalid> <doc>--12-01</doc> </invalid> <invalid> <doc>--12-04</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="gMonthDay"> <param name="minExclusive">--11-17</param> </data> </element> </correct> <valid> <doc>--12-04</doc> </valid> <invalid> <doc>--11-17</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="gMonthDay"> <param name="minExclusive">--12-04</param> </data> </element> </correct> <invalid> <doc>--11-17</doc> </invalid> <invalid> <doc>--12-04</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype gDay</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="gDay"/> </element> </correct> <valid> <doc>---20</doc> </valid> <valid> <doc>---20Z</doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="gDay"> <param name="minExclusive">---01</param> </data> </element> </correct> <valid> <doc>---31</doc> </valid> <invalid> <doc>---01</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="gDay"> <param name="minExclusive">---31</param> </data> </element> </correct> <invalid> <doc>---01</doc> </invalid> <invalid> <doc>---31</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype gMonth</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="gMonth"/> </element> </correct> <valid> <doc>--12</doc> </valid> <valid> <doc>--01</doc> </valid> <valid> <doc>--01Z</doc> </valid> <valid> <doc> --12 </doc> </valid> <invalid> <doc>---01</doc> </invalid> <invalid> <doc>--00</doc> </invalid> <invalid> <doc>--13</doc> </invalid> <invalid> <doc>- -13</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="gMonth"> <param name="minExclusive">--01</param> </data> </element> </correct> <valid> <doc>--12</doc> </valid> <invalid> <doc>--01</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="gMonth"> <param name="minExclusive">--12</param> </data> </element> </correct> <invalid> <doc>--01</doc> </invalid> <invalid> <doc>--12</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="gMonth"> <param name="minExclusive">--01</param> </data> </element> </correct> <valid> <doc>--02</doc> </valid> <invalid> <doc>--01</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="gMonth"> <param name="minExclusive">--02</param> </data> </element> </correct> <invalid> <doc>--01</doc> </invalid> <invalid> <doc>--02</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype boolean</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="boolean"/> </element> </correct> <valid> <doc>true</doc> </valid> <valid> <doc>false</doc> </valid> <valid> <doc>0</doc> </valid> <valid> <doc>1</doc> </valid> <invalid> <doc>00</doc> </invalid> <invalid> <doc>00</doc> </invalid> <invalid> <doc>01</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="boolean">true</value> </element> </correct> <valid> <doc>1</doc> </valid> <invalid> <doc>false</doc> </invalid> <invalid> <doc>0</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="boolean">false</value> </element> </correct> <valid> <doc>0</doc> </valid> <invalid> <doc>true</doc> </invalid> <invalid> <doc>1</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype base64Binary</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="base64Binary"/> </element> </correct> <valid> <doc>AAAA</doc> </valid> <valid> <doc>abcd efgh ijkl mnop qrst uvwx yzAB CDEF GHIJ KLMN OPQR STUV WXYZ 0123 4567 89+/</doc> </valid> <valid> <doc>BA==</doc> </valid> <valid> <doc></doc> </valid> <valid> <doc>BA==</doc> </valid> <valid> <doc>BQ==</doc> </valid> <valid> <doc>Bg==</doc> </valid> <valid> <doc>Bw==</doc> </valid> <valid> <doc>BBA=</doc> </valid> <valid> <doc>BBA=</doc> </valid> <valid> <doc>BBE=</doc> </valid> <valid> <doc>BBI=</doc> </valid> <valid> <doc>BBM=</doc> </valid> <valid> <doc>BBQ=</doc> </valid> <valid> <doc>BBU=</doc> </valid> <valid> <doc>BBY=</doc> </valid> <valid> <doc>BBc=</doc> </valid> <valid> <doc>BBg=</doc> </valid> <valid> <doc>BBk=</doc> </valid> <valid> <doc>BBo=</doc> </valid> <valid> <doc>BBs=</doc> </valid> <valid> <doc>BBw=</doc> </valid> <valid> <doc>BB0=</doc> </valid> <valid> <doc>BB4=</doc> </valid> <valid> <doc>BB8=</doc> </valid> <invalid> <doc>====</doc> </invalid> <invalid> <doc>BB==</doc> </invalid> <invalid> <doc>BBB=</doc> </invalid> <invalid> <doc>B===</doc> </invalid> <invalid> <doc>B</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="base64Binary">deadbeef</value> </element> </correct> <valid> <doc>d e a d b eef </doc> </valid> <invalid> <doc>DEADBEEF</doc> </invalid> <invalid> <doc>D E A D B EEF </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="base64Binary">DEADBEEF</value> </element> </correct> <valid> <doc>D E A D B EEF </doc> </valid> <invalid> <doc>deadbeef</doc> </invalid> <invalid> <doc>d e a d b eef </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="base64Binary"> <param name="length">0</param> </data> </element> </correct> <valid> <doc></doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="base64Binary"> <param name="length">1</param> </data> </element> </correct> <invalid> <doc></doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="base64Binary"> <param name="length">6</param> </data> </element> </correct> <valid> <doc>deadbeef</doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="base64Binary"> <param name="length">7</param> </data> </element> </correct> <invalid> <doc>deadbeef</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="base64Binary"> <param name="length">5</param> </data> </element> </correct> <invalid> <doc>deadbeef</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="base64Binary"> <param name="length">1</param> </data> </element> </correct> <valid> <doc>BA==</doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="base64Binary"> <param name="length">2</param> </data> </element> </correct> <invalid> <doc>BA==</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="base64Binary"> <param name="length">0</param> </data> </element> </correct> <invalid> <doc>BA==</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="base64Binary"> <param name="length">2</param> </data> </element> </correct> <valid> <doc>BBA=</doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="base64Binary"> <param name="length">3</param> </data> </element> </correct> <invalid> <doc>BBA=</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="base64Binary"> <param name="length">1</param> </data> </element> </correct> <invalid> <doc>BBA=</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="base64Binary"> <param name="length">3</param> </data> </element> </correct> <valid> <doc>dead</doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="base64Binary"> <param name="length">4</param> </data> </element> </correct> <invalid> <doc>dead</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="base64Binary"> <param name="length">2</param> </data> </element> </correct> <invalid> <doc>dead</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="base64Binary"> <param name="length">4</param> </data> </element> </correct> <valid> <doc>deadBA==</doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="base64Binary"> <param name="length">5</param> </data> </element> </correct> <invalid> <doc>deadBA==</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="base64Binary"> <param name="length">3</param> </data> </element> </correct> <invalid> <doc>deadBA==</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype hexBinary</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="hexBinary"/> </element> </correct> <valid> <doc>deadbeef</doc> </valid> <valid> <doc></doc> </valid> <valid> <doc>0123456789ABCDEFabcdef</doc> </valid> <invalid> <doc>00 00</doc> </invalid> <invalid> <doc>00.00</doc> </invalid> <invalid> <doc>0G</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="hexBinary">00</value> </element> </correct> <valid> <doc> 00 </doc> </valid> <invalid> <doc>01</doc> </invalid> <invalid> <doc>10</doc> </invalid> <invalid> <doc>0a</doc> </invalid> <invalid> <doc>0A</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="hexBinary">01</value> </element> </correct> <invalid> <doc>00</doc> </invalid> <invalid> <doc> 00 </doc> </invalid> <invalid> <doc>10</doc> </invalid> <invalid> <doc>0a</doc> </invalid> <invalid> <doc>0A</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="hexBinary">10</value> </element> </correct> <invalid> <doc>00</doc> </invalid> <invalid> <doc> 00 </doc> </invalid> <invalid> <doc>01</doc> </invalid> <invalid> <doc>0a</doc> </invalid> <invalid> <doc>0A</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="hexBinary">0a</value> </element> </correct> <valid> <doc>0A</doc> </valid> <invalid> <doc>00</doc> </invalid> <invalid> <doc> 00 </doc> </invalid> <invalid> <doc>01</doc> </invalid> <invalid> <doc>10</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="hexBinary"> <param name="length">0</param> </data> </element> </correct> <valid> <doc></doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="hexBinary"> <param name="length">1</param> </data> </element> </correct> <invalid> <doc></doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="hexBinary"> <param name="length">1</param> </data> </element> </correct> <valid> <doc>00</doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="hexBinary"> <param name="length">2</param> </data> </element> </correct> <invalid> <doc>00</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="hexBinary"> <param name="length">0</param> </data> </element> </correct> <invalid> <doc>00</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="hexBinary"> <param name="length">2</param> </data> </element> </correct> <valid> <doc>0000</doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="hexBinary"> <param name="length">3</param> </data> </element> </correct> <invalid> <doc>0000</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="hexBinary"> <param name="length">1</param> </data> </element> </correct> <invalid> <doc>0000</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="hexBinary"> <param name="length">2</param> </data> </element> </correct> <valid> <doc> 0000 </doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="hexBinary"> <param name="length">3</param> </data> </element> </correct> <invalid> <doc> 0000 </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="hexBinary"> <param name="length">1</param> </data> </element> </correct> <invalid> <doc> 0000 </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="hexBinary"> <param name="length">2</param> </data> </element> </correct> <valid> <doc>AAAA</doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="hexBinary"> <param name="length">3</param> </data> </element> </correct> <invalid> <doc>AAAA</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="hexBinary"> <param name="length">1</param> </data> </element> </correct> <invalid> <doc>AAAA</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype float</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="float"/> </element> </correct> <valid> <doc>1.0</doc> </valid> <valid> <doc>1.</doc> </valid> <valid> <doc>.1</doc> </valid> <invalid> <doc>- 1</doc> </invalid> <invalid> <doc>1 .0</doc> </invalid> <invalid> <doc>+INF</doc> </invalid> <invalid> <doc>+NaN</doc> </invalid> <invalid> <doc>-NaN</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="float">0</value> </element> </correct> <valid> <doc>-0</doc> </valid> <valid> <doc>+0</doc> </valid> <valid> <doc> 0 </doc> </valid> <valid> <doc> 0. </doc> </valid> <valid> <doc> .0 </doc> </valid> <valid> <doc> 0.0 </doc> </valid> <valid> <doc> 0e0 </doc> </valid> <valid> <doc> 0E0 </doc> </valid> <valid> <doc> 0E+0 </doc> </valid> <valid> <doc> 0E-0 </doc> </valid> <invalid> <doc>1E0</doc> </invalid> <invalid> <doc>0.1E1</doc> </invalid> <invalid> <doc>10E-1</doc> </invalid> <invalid> <doc>+1</doc> </invalid> <invalid> <doc>-1</doc> </invalid> <invalid> <doc>INF</doc> </invalid> <invalid> <doc>INF </doc> </invalid> <invalid> <doc>-INF</doc> </invalid> <invalid> <doc>-INF </doc> </invalid> <invalid> <doc>NaN</doc> </invalid> <invalid> <doc> NaN </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="float">1E0</value> </element> </correct> <valid> <doc>0.1E1</doc> </valid> <valid> <doc>10E-1</doc> </valid> <valid> <doc>+1</doc> </valid> <invalid> <doc>0</doc> </invalid> <invalid> <doc>-0</doc> </invalid> <invalid> <doc>+0</doc> </invalid> <invalid> <doc> 0 </doc> </invalid> <invalid> <doc> 0. </doc> </invalid> <invalid> <doc> .0 </doc> </invalid> <invalid> <doc> 0.0 </doc> </invalid> <invalid> <doc> 0e0 </doc> </invalid> <invalid> <doc> 0E0 </doc> </invalid> <invalid> <doc> 0E+0 </doc> </invalid> <invalid> <doc> 0E-0 </doc> </invalid> <invalid> <doc>-1</doc> </invalid> <invalid> <doc>INF</doc> </invalid> <invalid> <doc>INF </doc> </invalid> <invalid> <doc>-INF</doc> </invalid> <invalid> <doc>-INF </doc> </invalid> <invalid> <doc>NaN</doc> </invalid> <invalid> <doc> NaN </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="float">-1</value> </element> </correct> <invalid> <doc>0</doc> </invalid> <invalid> <doc>-0</doc> </invalid> <invalid> <doc>+0</doc> </invalid> <invalid> <doc> 0 </doc> </invalid> <invalid> <doc> 0. </doc> </invalid> <invalid> <doc> .0 </doc> </invalid> <invalid> <doc> 0.0 </doc> </invalid> <invalid> <doc> 0e0 </doc> </invalid> <invalid> <doc> 0E0 </doc> </invalid> <invalid> <doc> 0E+0 </doc> </invalid> <invalid> <doc> 0E-0 </doc> </invalid> <invalid> <doc>1E0</doc> </invalid> <invalid> <doc>0.1E1</doc> </invalid> <invalid> <doc>10E-1</doc> </invalid> <invalid> <doc>+1</doc> </invalid> <invalid> <doc>INF</doc> </invalid> <invalid> <doc>INF </doc> </invalid> <invalid> <doc>-INF</doc> </invalid> <invalid> <doc>-INF </doc> </invalid> <invalid> <doc>NaN</doc> </invalid> <invalid> <doc> NaN </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="float">INF</value> </element> </correct> <valid> <doc>INF </doc> </valid> <invalid> <doc>0</doc> </invalid> <invalid> <doc>-0</doc> </invalid> <invalid> <doc>+0</doc> </invalid> <invalid> <doc> 0 </doc> </invalid> <invalid> <doc> 0. </doc> </invalid> <invalid> <doc> .0 </doc> </invalid> <invalid> <doc> 0.0 </doc> </invalid> <invalid> <doc> 0e0 </doc> </invalid> <invalid> <doc> 0E0 </doc> </invalid> <invalid> <doc> 0E+0 </doc> </invalid> <invalid> <doc> 0E-0 </doc> </invalid> <invalid> <doc>1E0</doc> </invalid> <invalid> <doc>0.1E1</doc> </invalid> <invalid> <doc>10E-1</doc> </invalid> <invalid> <doc>+1</doc> </invalid> <invalid> <doc>-1</doc> </invalid> <invalid> <doc>-INF</doc> </invalid> <invalid> <doc>-INF </doc> </invalid> <invalid> <doc>NaN</doc> </invalid> <invalid> <doc> NaN </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="float">-INF</value> </element> </correct> <valid> <doc>-INF </doc> </valid> <invalid> <doc>0</doc> </invalid> <invalid> <doc>-0</doc> </invalid> <invalid> <doc>+0</doc> </invalid> <invalid> <doc> 0 </doc> </invalid> <invalid> <doc> 0. </doc> </invalid> <invalid> <doc> .0 </doc> </invalid> <invalid> <doc> 0.0 </doc> </invalid> <invalid> <doc> 0e0 </doc> </invalid> <invalid> <doc> 0E0 </doc> </invalid> <invalid> <doc> 0E+0 </doc> </invalid> <invalid> <doc> 0E-0 </doc> </invalid> <invalid> <doc>1E0</doc> </invalid> <invalid> <doc>0.1E1</doc> </invalid> <invalid> <doc>10E-1</doc> </invalid> <invalid> <doc>+1</doc> </invalid> <invalid> <doc>-1</doc> </invalid> <invalid> <doc>INF</doc> </invalid> <invalid> <doc>INF </doc> </invalid> <invalid> <doc>NaN</doc> </invalid> <invalid> <doc> NaN </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="float">NaN</value> </element> </correct> <valid> <doc> NaN </doc> </valid> <invalid> <doc>0</doc> </invalid> <invalid> <doc>-0</doc> </invalid> <invalid> <doc>+0</doc> </invalid> <invalid> <doc> 0 </doc> </invalid> <invalid> <doc> 0. </doc> </invalid> <invalid> <doc> .0 </doc> </invalid> <invalid> <doc> 0.0 </doc> </invalid> <invalid> <doc> 0e0 </doc> </invalid> <invalid> <doc> 0E0 </doc> </invalid> <invalid> <doc> 0E+0 </doc> </invalid> <invalid> <doc> 0E-0 </doc> </invalid> <invalid> <doc>1E0</doc> </invalid> <invalid> <doc>0.1E1</doc> </invalid> <invalid> <doc>10E-1</doc> </invalid> <invalid> <doc>+1</doc> </invalid> <invalid> <doc>-1</doc> </invalid> <invalid> <doc>INF</doc> </invalid> <invalid> <doc>INF </doc> </invalid> <invalid> <doc>-INF</doc> </invalid> <invalid> <doc>-INF </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="float"> <param name="minExclusive">-INF</param> </data> </element> </correct> <valid> <doc>-1000</doc> </valid> <invalid> <doc>-INF</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="float"> <param name="minExclusive">-1000</param> </data> </element> </correct> <invalid> <doc>-INF</doc> </invalid> <invalid> <doc>-1000</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="float"> <param name="minExclusive">1000</param> </data> </element> </correct> <valid> <doc>INF</doc> </valid> <invalid> <doc>1000</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="float"> <param name="minExclusive">INF</param> </data> </element> </correct> <invalid> <doc>1000</doc> </invalid> <invalid> <doc>INF</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="float"> <param name="minExclusive">-1</param> </data> </element> </correct> <valid> <doc>1</doc> </valid> <invalid> <doc>-1</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="float"> <param name="minExclusive">1</param> </data> </element> </correct> <invalid> <doc>-1</doc> </invalid> <invalid> <doc>1</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="float"> <param name="minExclusive">0</param> </data> </element> </correct> <valid> <doc>1</doc> </valid> <invalid> <doc>0</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="float"> <param name="minExclusive">1</param> </data> </element> </correct> <invalid> <doc>0</doc> </invalid> <invalid> <doc>1</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="float"> <param name="minExclusive">-1</param> </data> </element> </correct> <valid> <doc>0</doc> </valid> <invalid> <doc>-1</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="float"> <param name="minExclusive">0</param> </data> </element> </correct> <invalid> <doc>-1</doc> </invalid> <invalid> <doc>0</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype double</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="double"/> </element> </correct> <valid> <doc>1.0</doc> </valid> <valid> <doc>1.</doc> </valid> <valid> <doc>.1</doc> </valid> <invalid> <doc>- 1</doc> </invalid> <invalid> <doc>1 .0</doc> </invalid> <invalid> <doc>+INF</doc> </invalid> <invalid> <doc>+NaN</doc> </invalid> <invalid> <doc>-NaN</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="double">0</value> </element> </correct> <valid> <doc>-0</doc> </valid> <valid> <doc>+0</doc> </valid> <valid> <doc> 0 </doc> </valid> <valid> <doc> 0. </doc> </valid> <valid> <doc> .0 </doc> </valid> <valid> <doc> 0.0 </doc> </valid> <valid> <doc> 0e0 </doc> </valid> <valid> <doc> 0E0 </doc> </valid> <valid> <doc> 0E+0 </doc> </valid> <valid> <doc> 0E-0 </doc> </valid> <invalid> <doc>1E0</doc> </invalid> <invalid> <doc>0.1E1</doc> </invalid> <invalid> <doc>10E-1</doc> </invalid> <invalid> <doc>+1</doc> </invalid> <invalid> <doc>-1</doc> </invalid> <invalid> <doc>INF</doc> </invalid> <invalid> <doc>INF </doc> </invalid> <invalid> <doc>-INF</doc> </invalid> <invalid> <doc>-INF </doc> </invalid> <invalid> <doc>NaN</doc> </invalid> <invalid> <doc> NaN </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="double">1E0</value> </element> </correct> <valid> <doc>0.1E1</doc> </valid> <valid> <doc>10E-1</doc> </valid> <valid> <doc>+1</doc> </valid> <invalid> <doc>0</doc> </invalid> <invalid> <doc>-0</doc> </invalid> <invalid> <doc>+0</doc> </invalid> <invalid> <doc> 0 </doc> </invalid> <invalid> <doc> 0. </doc> </invalid> <invalid> <doc> .0 </doc> </invalid> <invalid> <doc> 0.0 </doc> </invalid> <invalid> <doc> 0e0 </doc> </invalid> <invalid> <doc> 0E0 </doc> </invalid> <invalid> <doc> 0E+0 </doc> </invalid> <invalid> <doc> 0E-0 </doc> </invalid> <invalid> <doc>-1</doc> </invalid> <invalid> <doc>INF</doc> </invalid> <invalid> <doc>INF </doc> </invalid> <invalid> <doc>-INF</doc> </invalid> <invalid> <doc>-INF </doc> </invalid> <invalid> <doc>NaN</doc> </invalid> <invalid> <doc> NaN </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="double">-1</value> </element> </correct> <invalid> <doc>0</doc> </invalid> <invalid> <doc>-0</doc> </invalid> <invalid> <doc>+0</doc> </invalid> <invalid> <doc> 0 </doc> </invalid> <invalid> <doc> 0. </doc> </invalid> <invalid> <doc> .0 </doc> </invalid> <invalid> <doc> 0.0 </doc> </invalid> <invalid> <doc> 0e0 </doc> </invalid> <invalid> <doc> 0E0 </doc> </invalid> <invalid> <doc> 0E+0 </doc> </invalid> <invalid> <doc> 0E-0 </doc> </invalid> <invalid> <doc>1E0</doc> </invalid> <invalid> <doc>0.1E1</doc> </invalid> <invalid> <doc>10E-1</doc> </invalid> <invalid> <doc>+1</doc> </invalid> <invalid> <doc>INF</doc> </invalid> <invalid> <doc>INF </doc> </invalid> <invalid> <doc>-INF</doc> </invalid> <invalid> <doc>-INF </doc> </invalid> <invalid> <doc>NaN</doc> </invalid> <invalid> <doc> NaN </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="double">INF</value> </element> </correct> <valid> <doc>INF </doc> </valid> <invalid> <doc>0</doc> </invalid> <invalid> <doc>-0</doc> </invalid> <invalid> <doc>+0</doc> </invalid> <invalid> <doc> 0 </doc> </invalid> <invalid> <doc> 0. </doc> </invalid> <invalid> <doc> .0 </doc> </invalid> <invalid> <doc> 0.0 </doc> </invalid> <invalid> <doc> 0e0 </doc> </invalid> <invalid> <doc> 0E0 </doc> </invalid> <invalid> <doc> 0E+0 </doc> </invalid> <invalid> <doc> 0E-0 </doc> </invalid> <invalid> <doc>1E0</doc> </invalid> <invalid> <doc>0.1E1</doc> </invalid> <invalid> <doc>10E-1</doc> </invalid> <invalid> <doc>+1</doc> </invalid> <invalid> <doc>-1</doc> </invalid> <invalid> <doc>-INF</doc> </invalid> <invalid> <doc>-INF </doc> </invalid> <invalid> <doc>NaN</doc> </invalid> <invalid> <doc> NaN </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="double">-INF</value> </element> </correct> <valid> <doc>-INF </doc> </valid> <invalid> <doc>0</doc> </invalid> <invalid> <doc>-0</doc> </invalid> <invalid> <doc>+0</doc> </invalid> <invalid> <doc> 0 </doc> </invalid> <invalid> <doc> 0. </doc> </invalid> <invalid> <doc> .0 </doc> </invalid> <invalid> <doc> 0.0 </doc> </invalid> <invalid> <doc> 0e0 </doc> </invalid> <invalid> <doc> 0E0 </doc> </invalid> <invalid> <doc> 0E+0 </doc> </invalid> <invalid> <doc> 0E-0 </doc> </invalid> <invalid> <doc>1E0</doc> </invalid> <invalid> <doc>0.1E1</doc> </invalid> <invalid> <doc>10E-1</doc> </invalid> <invalid> <doc>+1</doc> </invalid> <invalid> <doc>-1</doc> </invalid> <invalid> <doc>INF</doc> </invalid> <invalid> <doc>INF </doc> </invalid> <invalid> <doc>NaN</doc> </invalid> <invalid> <doc> NaN </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="double">NaN</value> </element> </correct> <valid> <doc> NaN </doc> </valid> <invalid> <doc>0</doc> </invalid> <invalid> <doc>-0</doc> </invalid> <invalid> <doc>+0</doc> </invalid> <invalid> <doc> 0 </doc> </invalid> <invalid> <doc> 0. </doc> </invalid> <invalid> <doc> .0 </doc> </invalid> <invalid> <doc> 0.0 </doc> </invalid> <invalid> <doc> 0e0 </doc> </invalid> <invalid> <doc> 0E0 </doc> </invalid> <invalid> <doc> 0E+0 </doc> </invalid> <invalid> <doc> 0E-0 </doc> </invalid> <invalid> <doc>1E0</doc> </invalid> <invalid> <doc>0.1E1</doc> </invalid> <invalid> <doc>10E-1</doc> </invalid> <invalid> <doc>+1</doc> </invalid> <invalid> <doc>-1</doc> </invalid> <invalid> <doc>INF</doc> </invalid> <invalid> <doc>INF </doc> </invalid> <invalid> <doc>-INF</doc> </invalid> <invalid> <doc>-INF </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="double"> <param name="minExclusive">-INF</param> </data> </element> </correct> <valid> <doc>-1000</doc> </valid> <invalid> <doc>-INF</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="double"> <param name="minExclusive">-1000</param> </data> </element> </correct> <invalid> <doc>-INF</doc> </invalid> <invalid> <doc>-1000</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="double"> <param name="minExclusive">1000</param> </data> </element> </correct> <valid> <doc>INF</doc> </valid> <invalid> <doc>1000</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="double"> <param name="minExclusive">INF</param> </data> </element> </correct> <invalid> <doc>1000</doc> </invalid> <invalid> <doc>INF</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="double"> <param name="minExclusive">-1</param> </data> </element> </correct> <valid> <doc>1</doc> </valid> <invalid> <doc>-1</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="double"> <param name="minExclusive">1</param> </data> </element> </correct> <invalid> <doc>-1</doc> </invalid> <invalid> <doc>1</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="double"> <param name="minExclusive">0</param> </data> </element> </correct> <valid> <doc>1</doc> </valid> <invalid> <doc>0</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="double"> <param name="minExclusive">1</param> </data> </element> </correct> <invalid> <doc>0</doc> </invalid> <invalid> <doc>1</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="double"> <param name="minExclusive">-1</param> </data> </element> </correct> <valid> <doc>0</doc> </valid> <invalid> <doc>-1</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="double"> <param name="minExclusive">0</param> </data> </element> </correct> <invalid> <doc>-1</doc> </invalid> <invalid> <doc>0</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype QName</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="QName"/> </element> </correct> <valid> <doc>foo</doc> </valid> <valid> <doc xmlns:x="http://www.example.com">x:foo</doc> </valid> <invalid> <doc>y:foo</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com" type="QName">foo</value> </element> </correct> <valid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com"> foo</doc> </valid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">x:foo</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com"> x:foo </doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">z:foo</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">x:bar</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">z:bar</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">y:foo</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">y:bar</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com" type="QName">x:foo</value> </element> </correct> <valid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com"> x:foo </doc> </valid> <valid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">z:foo</doc> </valid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">foo</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com"> foo</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">x:bar</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">z:bar</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">y:foo</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">y:bar</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com" type="QName">x:bar</value> </element> </correct> <valid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">z:bar</doc> </valid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">foo</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com"> foo</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">x:foo</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com"> x:foo </doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">z:foo</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">y:foo</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">y:bar</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com" type="QName">y:foo</value> </element> </correct> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">foo</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com"> foo</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">x:foo</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com"> x:foo </doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">z:foo</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">x:bar</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">z:bar</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">y:bar</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com" type="QName">y:bar</value> </element> </correct> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">foo</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com"> foo</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">x:foo</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com"> x:foo </doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">z:foo</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">x:bar</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">z:bar</doc> </invalid> <invalid> <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">y:foo</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype NOTATION</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="NOTATION"/> </element> </correct> <valid> <doc>foo</doc> </valid> <valid> <doc xmlns:x="http://www.example.com">x:foo</doc> </valid> <invalid> <doc>y:foo</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype decimal</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="decimal"/> </element> </correct> <valid> <doc>1.0</doc> </valid> <valid> <doc>1.</doc> </valid> <valid> <doc>.1</doc> </valid> <valid> <doc>+1.0</doc> </valid> <valid> <doc>-1.0</doc> </valid> <valid> <doc> 1 </doc> </valid> <valid> <doc>99999999999999999999999999999999999999999999999999999999999999999</doc> </valid> <valid> <doc>-99999999999999999999999999999999999999999999999999999999999999999</doc> </valid> <invalid> <doc>junk</doc> </invalid> <invalid> <doc>--1</doc> </invalid> <invalid> <doc>++1</doc> </invalid> <invalid> <doc>+-1</doc> </invalid> <invalid> <doc>1.2.</doc> </invalid> <invalid> <doc>..1</doc> </invalid> <invalid> <doc>1..</doc> </invalid> <invalid> <doc>1 .2</doc> </invalid> <invalid> <doc>1+</doc> </invalid> <invalid> <doc>+ 1</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="decimal"> <param name="minExclusive">0</param> </data> </element> </correct> <valid> <doc>1</doc> </valid> <invalid> <doc>0</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="decimal"> <param name="minExclusive">1</param> </data> </element> </correct> <invalid> <doc>0</doc> </invalid> <invalid> <doc>1</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype nonPositiveInteger</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="nonPositiveInteger"/> </element> </correct> <valid> <doc>-1</doc> </valid> <valid> <doc>0</doc> </valid> <valid> <doc>-0</doc> </valid> <invalid> <doc>1</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype nonNegativeInteger</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="nonNegativeInteger"/> </element> </correct> <valid> <doc>1</doc> </valid> <valid> <doc>0</doc> </valid> <valid> <doc>+1</doc> </valid> <valid> <doc>+0</doc> </valid> <invalid> <doc>-1</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype positiveInteger</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="positiveInteger"/> </element> </correct> <valid> <doc>+1</doc> </valid> <valid> <doc>1</doc> </valid> <invalid> <doc>0</doc> </invalid> <invalid> <doc>-1</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype negativeInteger</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="negativeInteger"/> </element> </correct> <valid> <doc>-1</doc> </valid> <invalid> <doc>+1</doc> </invalid> <invalid> <doc>0</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype long</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="long"/> </element> </correct> <valid> <doc>1</doc> </valid> <valid> <doc>+1</doc> </valid> <valid> <doc>0</doc> </valid> <valid> <doc> 0 </doc> </valid> <invalid> <doc>1 2</doc> </invalid> <invalid> <doc>9999999999999999999999999999999999999999999999999999999999999999999999999</doc> </invalid> <valid> <doc>9223372036854775807</doc> </valid> <valid> <doc>-9223372036854775808</doc> </valid> <invalid> <doc>9223372036854775808</doc> </invalid> <invalid> <doc>-9223372036854775809</doc> </invalid> <invalid> <doc></doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype int</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="int"/> </element> </correct> <valid> <doc>1</doc> </valid> <valid> <doc>01</doc> </valid> <valid> <doc> 1 </doc> </valid> <valid> <doc>2147483647</doc> </valid> <valid> <doc>-2147483648</doc> </valid> <invalid> <doc>2147483648</doc> </invalid> <invalid> <doc>-2147483649</doc> </invalid> <invalid> <doc>9999999999999999999999999999999999999999999999999999999999999999999999999</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="int">1</value> </element> </correct> <valid> <doc>+1</doc> </valid> <valid> <doc> 1 </doc> </valid> <valid> <doc>001</doc> </valid> <invalid> <doc>-1</doc> </invalid> <invalid> <doc> -1 </doc> </invalid> <invalid> <doc>-001</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="int">-1</value> </element> </correct> <valid> <doc> -1 </doc> </valid> <valid> <doc>-001</doc> </valid> <invalid> <doc>1</doc> </invalid> <invalid> <doc>+1</doc> </invalid> <invalid> <doc> 1 </doc> </invalid> <invalid> <doc>001</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype short</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="short"/> </element> </correct> <valid> <doc>1</doc> </valid> <valid> <doc>32767</doc> </valid> <valid> <doc>-32768</doc> </valid> <invalid> <doc>32768</doc> </invalid> <invalid> <doc>-32769</doc> </invalid> <invalid> <doc>9999999999999999999999999999999999999999999999999999999999999999999999999</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="short">1</value> </element> </correct> <valid> <doc>+1</doc> </valid> <valid> <doc> 1 </doc> </valid> <valid> <doc>001</doc> </valid> <invalid> <doc>-1</doc> </invalid> <invalid> <doc> -1 </doc> </invalid> <invalid> <doc>-001</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="short">-1</value> </element> </correct> <valid> <doc> -1 </doc> </valid> <valid> <doc>-001</doc> </valid> <invalid> <doc>1</doc> </invalid> <invalid> <doc>+1</doc> </invalid> <invalid> <doc> 1 </doc> </invalid> <invalid> <doc>001</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype byte</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="byte"/> </element> </correct> <valid> <doc>1</doc> </valid> <valid> <doc>127</doc> </valid> <valid> <doc>-128</doc> </valid> <invalid> <doc>128</doc> </invalid> <invalid> <doc>-129</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype unsignedLong</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="unsignedLong"/> </element> </correct> <valid> <doc>1</doc> </valid> <valid> <doc>+1</doc> </valid> <invalid> <doc>-1</doc> </invalid> <valid> <doc>0</doc> </valid> <valid> <doc>18446744073709551615</doc> </valid> <invalid> <doc>18446744073709551616</doc> </invalid> <invalid> <doc>-1</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype unsignedInt</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="unsignedInt"/> </element> </correct> <valid> <doc>1</doc> </valid> <valid> <doc>+1</doc> </valid> <valid> <doc>0</doc> </valid> <valid> <doc>4294967295</doc> </valid> <invalid> <doc>4294967296</doc> </invalid> <invalid> <doc>-1</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype unsignedShort</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="unsignedShort"/> </element> </correct> <valid> <doc>1</doc> </valid> <valid> <doc>+1</doc> </valid> <valid> <doc>0</doc> </valid> <valid> <doc>65535</doc> </valid> <invalid> <doc>65536</doc> </invalid> <invalid> <doc>-1</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype unsignedByte</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="unsignedByte"/> </element> </correct> <valid> <doc>1</doc> </valid> <valid> <doc>+1</doc> </valid> <valid> <doc>0</doc> </valid> <valid> <doc>255</doc> </valid> <invalid> <doc>256</doc> </invalid> <invalid> <doc>-1</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype string</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="string"/> </element> </correct> <valid> <doc>any thing at all!</doc> </valid> </testCase> </testSuite> <testSuite> <documentation>Datatype normalizedString</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="normalizedString"/> </element> </correct> <valid> <doc>any thing at all!</doc> </valid> </testCase> </testSuite> <testSuite> <documentation>Datatype token</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="token"/> </element> </correct> <valid> <doc>any thing at all!</doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="token"></value> </element> </correct> <valid> <doc> </doc> </valid> <valid> <doc> </doc> </valid> <invalid> <doc>x </doc> </invalid> <invalid> <doc>x </doc> </invalid> <invalid> <doc>x </doc> </invalid> <invalid> <doc>x </doc> </invalid> <invalid> <doc> x</doc> </invalid> <invalid> <doc> x</doc> </invalid> <invalid> <doc> x</doc> </invalid> <invalid> <doc> x</doc> </invalid> <invalid> <doc> x </doc> </invalid> <invalid> <doc>x y </doc> </invalid> <invalid> <doc>x y </doc> </invalid> <invalid> <doc>x y </doc> </invalid> <invalid> <doc>x y </doc> </invalid> <invalid> <doc>x y</doc> </invalid> <invalid> <doc>x y</doc> </invalid> <invalid> <doc>x y</doc> </invalid> <invalid> <doc>x y</doc> </invalid> <invalid> <doc> x y</doc> </invalid> <invalid> <doc> x y</doc> </invalid> <invalid> <doc> x y</doc> </invalid> <invalid> <doc> x y</doc> </invalid> <invalid> <doc> x y </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="token">x </value> </element> </correct> <valid> <doc>x </doc> </valid> <valid> <doc>x </doc> </valid> <valid> <doc>x </doc> </valid> <valid> <doc> x</doc> </valid> <valid> <doc> x</doc> </valid> <valid> <doc> x</doc> </valid> <valid> <doc> x</doc> </valid> <valid> <doc> x </doc> </valid> <invalid> <doc></doc> </invalid> <invalid> <doc> </doc> </invalid> <invalid> <doc> </doc> </invalid> <invalid> <doc>x y </doc> </invalid> <invalid> <doc>x y </doc> </invalid> <invalid> <doc>x y </doc> </invalid> <invalid> <doc>x y </doc> </invalid> <invalid> <doc>x y</doc> </invalid> <invalid> <doc>x y</doc> </invalid> <invalid> <doc>x y</doc> </invalid> <invalid> <doc>x y</doc> </invalid> <invalid> <doc> x y</doc> </invalid> <invalid> <doc> x y</doc> </invalid> <invalid> <doc> x y</doc> </invalid> <invalid> <doc> x y</doc> </invalid> <invalid> <doc> x y </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="token">x y </value> </element> </correct> <valid> <doc>x y </doc> </valid> <valid> <doc>x y </doc> </valid> <valid> <doc>x y </doc> </valid> <valid> <doc>x y</doc> </valid> <valid> <doc>x y</doc> </valid> <valid> <doc>x y</doc> </valid> <valid> <doc>x y</doc> </valid> <valid> <doc> x y</doc> </valid> <valid> <doc> x y</doc> </valid> <valid> <doc> x y</doc> </valid> <valid> <doc> x y</doc> </valid> <valid> <doc> x y </doc> </valid> <invalid> <doc></doc> </invalid> <invalid> <doc> </doc> </invalid> <invalid> <doc> </doc> </invalid> <invalid> <doc>x </doc> </invalid> <invalid> <doc>x </doc> </invalid> <invalid> <doc>x </doc> </invalid> <invalid> <doc>x </doc> </invalid> <invalid> <doc> x</doc> </invalid> <invalid> <doc> x</doc> </invalid> <invalid> <doc> x</doc> </invalid> <invalid> <doc> x</doc> </invalid> <invalid> <doc> x </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="token"> <param name="length">0</param> </data> </element> </correct> <valid> <doc></doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="token"> <param name="length">1</param> </data> </element> </correct> <invalid> <doc></doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="token"> <param name="length">1</param> </data> </element> </correct> <valid> <doc>x</doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="token"> <param name="length">2</param> </data> </element> </correct> <invalid> <doc>x</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="token"> <param name="length">0</param> </data> </element> </correct> <invalid> <doc>x</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="token"> <param name="length">1</param> </data> </element> </correct> <valid> <doc> x </doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="token"> <param name="length">2</param> </data> </element> </correct> <invalid> <doc> x </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="token"> <param name="length">0</param> </data> </element> </correct> <invalid> <doc> x </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="token"> <param name="length">1</param> </data> </element> </correct> <valid> <doc>𐠀</doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="token"> <param name="length">2</param> </data> </element> </correct> <invalid> <doc>𐠀</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="token"> <param name="length">0</param> </data> </element> </correct> <invalid> <doc>𐠀</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype language</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="language"/> </element> </correct> <valid> <doc>en</doc> </valid> <valid> <doc>en-UK</doc> </valid> <valid> <doc>i-cherokee</doc> </valid> <valid> <doc>x-klingon</doc> </valid> <valid> <doc>en-uk-scotland</doc> </valid> <invalid> <doc>en.UK</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype Name</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="Name"/> </element> </correct> <valid> <doc>foo</doc> </valid> <valid> <doc>_0123456789</doc> </valid> <invalid> <doc>.</doc> </invalid> <valid> <doc>:</doc> </valid> <invalid> <doc>-</doc> </invalid> <invalid> <doc>1234</doc> </invalid> <valid> <doc> foo </doc> </valid> </testCase> </testSuite> <testSuite> <documentation>Datatype NCName</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="NCName"/> </element> </correct> <valid> <doc>foo</doc> </valid> <invalid> <doc>foo:bar</doc> </invalid> <invalid> <doc>0foo</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="NCName">foo</value> </element> </correct> <valid> <doc> foo </doc> </valid> <invalid> <doc>FOO</doc> </invalid> <invalid> <doc> FOO </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <value type="NCName">FOO</value> </element> </correct> <valid> <doc> FOO </doc> </valid> <invalid> <doc>foo</doc> </invalid> <invalid> <doc> foo </doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype NMTOKEN</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="NMTOKEN"/> </element> </correct> <valid> <doc>foo</doc> </valid> <valid> <doc>_</doc> </valid> <valid> <doc>.</doc> </valid> <valid> <doc>:</doc> </valid> <valid> <doc>-</doc> </valid> <valid> <doc>1234</doc> </valid> <valid> <doc> foo </doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="NMTOKEN"> <param name="length">3</param> </data> </element> </correct> <valid> <doc> foo </doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="NMTOKEN"> <param name="length">4</param> </data> </element> </correct> <invalid> <doc> foo </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="NMTOKEN"> <param name="length">2</param> </data> </element> </correct> <invalid> <doc> foo </doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="NMTOKEN"> <param name="length">2</param> </data> </element> </correct> <valid> <doc>fo</doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="NMTOKEN"> <param name="length">3</param> </data> </element> </correct> <invalid> <doc>fo</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="NMTOKEN"> <param name="length">1</param> </data> </element> </correct> <invalid> <doc>fo</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="NMTOKEN"> <param name="length">1</param> </data> </element> </correct> <valid> <doc>f</doc> </valid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="NMTOKEN"> <param name="length">2</param> </data> </element> </correct> <invalid> <doc>f</doc> </invalid> </testCase> <testCase> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="NMTOKEN"> <param name="length">0</param> </data> </element> </correct> <invalid> <doc>f</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype NMTOKENS</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="NMTOKENS"/> </element> </correct> <valid> <doc>foo bar</doc> </valid> <invalid> <doc></doc> </invalid> <valid> <doc>1 2 3 4</doc> </valid> </testCase> </testSuite> <testSuite> <documentation>Datatype ID</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="ID"/> </element> </correct> <valid> <doc>foobar</doc> </valid> <invalid> <doc>foo:bar</doc> </invalid> <invalid> <doc>foo bar</doc> </invalid> </testCase> </testSuite> <testSuite> <documentation>Datatype ENTITY</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="ENTITY"/> </element> </correct> <invalid> <doc></doc> </invalid> <invalid> <doc>foo</doc> </invalid> <valid dtd=" <!DOCTYPE doc [ <!ENTITY foo SYSTEM 'whatever' NDATA jpeg> ]>"> <doc>foo</doc> </valid> </testCase> </testSuite> <testSuite> <documentation>Datatype ENTITIES</documentation> <testCase> <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> <correct> <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <data type="ENTITIES"/> </element> </correct> <invalid> <doc></doc> </invalid> <invalid> <doc>foo</doc> </invalid> <valid dtd=" <!DOCTYPE doc [ <!ENTITY foo SYSTEM 'whatever' NDATA jpeg> <!ENTITY bar SYSTEM 'whatever' NDATA jpeg> ]>"> <doc> foo bar </doc> </valid> </testCase> </testSuite> </testSuite>