| Introduction |
| This package contains an implementation of the W3C XML Schema Language, a recommendation of the Worldwide Web Consortium available in three parts: XML Schema: Primer and XML Schema: Structures and XML Schema: Datatypes. 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.
| XML Schema Programmer's Guide |
| This section provides the following topics: Limitations and known bugs How do I? -- the most frequently asked questions about XML Schema that include some sample code.
| Limitations |
| Length, minLength, and maxLength facets are limited to the value 2147483647. Items larger than this limit will not be validated correctly. Year and seconds values in date/time datatypes are limited to the value 2147483647. Items larger than this limit will not be validated correctly.
| Problem Areas/Known Bugs |
| 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; For larger values of maxOccurs, a StackOverflowError may occur. The workaround for this problem, if your application permits it, is to change the maxOccurs value to unbounded.
| Interpretation of Areas that are Unclear or Implementation-Dependent |
| 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 ); 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>;
| Other Notes |
| 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. As of version 2.2.1, it is hoped that Xerces-J will always be able to parse the Schema for Schemas current at the time of the product's release. As of version 2.2.1, this implies inserting special logic to permit the presence of the built-in Schema datatypes in this particular schema; an issue has been raised with the Schema Working Group, in hopes the document will be modified so that the built-in types are no longer presented as global components. Thus, anyone planning to rely on the Schema for Schemas should be aware that the possibility exists that a change of this sort might be made in the future.

Copyright © 1999-2002 The Apache Software Foundation. All Rights Reserved.