| <?xml version='1.0' encoding='UTF-8'?> |
| <!DOCTYPE s1 SYSTEM 'dtd/document.dtd'> |
| <s1 title="Schema Implementation Limitations"> |
| <s2 title="Introduction"> |
| <p>This package contains an implementation of the W3C XML |
| Schema Language, a recommendation of the Worldwide Web Consortium |
| available in three parts: |
| <jump href="http://www.w3.org/TR/XMLSchema-0">XML Schema: Primer</jump> and |
| <jump href="http://www.w3.org/TR/XMLSchema-1">XML Schema: Structures</jump> and |
| <jump href="http://www.w3.org/TR/XMLSchema-2">XML Schema: Datatypes</jump>. |
| We consider this implementation to be complete except for the |
| limitations cited below. The implementation has been |
| extensively tested and known problem areas are set out below. |
| In this document we also discuss our interpretation of the |
| specifications where it seems to us particularly likely that |
| others might arrive at a different interpretation. |
| Please read this document before using this package. |
| </p> |
| </s2> |
| <s2 title="Limitations"> |
| <ul> |
| <li> Length, minLength, and maxLength facets are limited to the value |
| 2147483647. Items larger than this limit will not be validated |
| correctly.</li> |
| <li> Year and seconds values in date/time datatypes are limited to the |
| value 2147483647. Items larger than this limit will not be validated |
| correctly. </li> |
| </ul> |
| </s2> |
| <s2 title='Problem Areas/Known Bugs'> |
| <ul> |
| <li> Due to changes in the specification for Decimals in |
| JDK1.3, not all decimals that should be invalid according |
| to the Schema specs may be found by the parser;</li> |
| <li> When the same schema document is both imported and |
| included by the same schema document, only the first one |
| takes effect;</li> |
| <li> If an imported/included/redefined schema document is |
| specified via a relative path, the parser may not |
| always succeed in locating the document. Please implement and register a SAX |
| EntityResolver (<code>org.xml.sax.EntityResolver</code>) to customize |
| the parser's behaviour to your situation;</li> |
| </ul> |
| </s2> |
| <s2 title='Interpretation of Areas that are Unclear or |
| Implementation-Dependent'> |
| <ul> |
| <li> QName: the specification does not define the unit of length. We |
| chose to implement the length facet as being in units of XML characters |
| in the value space ( # of chars in namespace URI + ":" + |
| local part );</li> |
| <li> We have interpreted the specs as requiring |
| <keyref> Identity Constraints to refer to |
| <key> or <unique> identity constraints within |
| the scope of the elements to which the <keyref> is |
| attached. This interpretation is at variance with the |
| Schema Primer, which contains an example with a |
| <keyref> declared on an element used inside the |
| element of its corresponding <key>;</li> |
| </ul> |
| </s2> |
| <s2 title="Other Notes"> |
| <p> The parsers contained in this package are able to read and |
| validate XML documents with the grammar specified in either |
| DTD or XML Schema format. |
| The schema is specified by the xsi:schemaLocation or |
| xsi:noNamespaceSchemaLocation attribute on the root |
| element of the document. The xsi prefix must be bound to the |
| Schema document instance namespace, as specified by the |
| Recommendation. See the sample provided in the |
| Usage section.</p> |
| </s2> |
| <s2 title="Usage"> |
| <p>In this release, schema validation has been integrated with the |
| regular SAXParser and DOMParser classes. No special classes are |
| required to parse documents that use a schema.</p> |
| <p>Each document that uses XML Schema grammars must specify the location of the |
| grammars it uses by using an xsi:schemaLocation attribute if they use |
| namespaces, and an xsi:noNamespaceSchemaLocation attribute |
| otherwise. These are usually placed on the root / top-level element |
| in the document, though they may occur on any element; for more details see XML |
| Schema Part 1 section 4.3.2. |
| Here is an example with no target namespace: </p> |
| <source><document |
| xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' |
| xsi:noNamespaceSchemaLocation='document.xsd'> |
| ... |
| </document></source> |
| <p>Here is an example with a target namespace. Note that it is an |
| error to specify a different namespace than the target namespace |
| defined in the Schema.</p> |
| <source><document |
| xmlns='http://my.com' |
| xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' |
| xsi:schemaLocation='http://my.com document.xsd'> |
| ... |
| </document></source> |
| <p>Review the sample file, 'data/personal.xsd' for an example of an XML |
| Schema grammar.</p> |
| </s2> |
| </s1> |