| <?xml version="1.0" standalone="no"?> |
| <!DOCTYPE s1 SYSTEM "./dtd/document.dtd"> |
| <s1 title="Schema"> |
| <s2 title="Disclaimer"> |
| <p>This package contains an implementation of the W3C XML |
| Schema language. This implementation is experimental. The |
| <jump href="http://www.w3.org/XML/Group/Schemas.html">XML Schema</jump> |
| language is still in working draft stage: you |
| should not consider this implementation complete or correct. |
| The limitations of this implementation are detailed below. |
| Please read this document before using this package.</p> |
| </s2> |
| <s2 title="Introduction"> |
| <p>This package contains an implementation of a subset of the |
| W3C XML Schema Language as specified in the 7 April 2000 |
| Working Drafts for <jump |
| href="http://www.w3.org/TR/xmlschema-1/">Structures</jump> and |
| <jump |
| href="http://www.w3.org/TR/xmlschema-2/">Datatypes</jump>. 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. There is no functionality for |
| accessing typed data.</p> |
| <p>We are making this package available in order to get |
| feedback on the features in the XML Schema language |
| design and on representing an XML document's grammar |
| as part of the document's DOM tree. We intend to update |
| this package until it implements all of the functionality |
| of the then current XML Schema Working Draft. If you are |
| interested in a particular unimplemented feature, we welcome |
| your feedback on the &javaparsername; mailing list.</p> |
| </s2> |
| <s2 title="Limitations"> |
| <p>The XML Schema implementation in this package is a |
| subset of the features defined in the 7 April 2000 |
| XML Schema Working Drafts.</p> |
| </s2> |
| <s2 title='Components Supported'> |
| <ul> |
| <li>Element declarations</li> |
| <li>Model group definitions: group</li> |
| <li>Model groups: all, choice, sequence</li> |
| <li>Attribute declarations</li> |
| <li>Attribute group definitions</li> |
| <li>Simple type definitions</li> |
| <li>Complex type definitions</li> |
| <li>Wildcards: any</li> |
| <li>Wildcards: anyAttribute</li> |
| </ul> |
| </s2> |
| <s2 title='Components NOT Supported'> |
| <ul> |
| <li>Identity constraints: unique, key, keyref</li> |
| <li>Notation declaration</li> |
| <li>Annotation (ignored)</li> |
| </ul> |
| </s2> |
| <s2 title='Features Supported'> |
| <ul> |
| <li>Type derivation</li> |
| <li>Anonymous types</li> |
| <li>Nested element declaration</li> |
| <li>Separate symbol spaces for elements, types, groups, and |
| attribute groups</li> |
| <li>Equivalency classes</li> |
| <li>Target namespace</li> |
| <li>"xsi:schemaLocation" and "xsl:noNamespacesSchemaLocation"</li> |
| <li>Include</li> |
| <li>Import</li> |
| <li>"xsi:type"</li> |
| </ul> |
| </s2> |
| <s2 title='Features NOT Supported'> |
| <ul> |
| <li>Constraints in Chapter 5</li> |
| <li>Nullable</li> |
| <li>Block</li> |
| <li>Abstract</li> |
| </ul> |
| </s2> |
| <s2 title='Datatypes Supported'> |
| <ul> |
| <li>Built-in simple types (primitive, derived)</li> |
| <li>Simple type derivation (restriction, list)</li> |
| <li>Regular expressions</li> |
| <li>Binary (base64, hex)</li> |
| <li>Constraining facets</li> |
| </ul> |
| </s2> |
| <s2 title='Datatypes NOT Supported'> |
| <ul> |
| <li>Date/time -- ISO8601 (work in progress)</li> |
| </ul> |
| </s2> |
| <s2 title="Other Limitations"> |
| <p>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 |
| working draft specification. 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>Documents that use XML Schema grammars specify the location of the |
| grammar using an xsi:schemaLocation attribute attached to the root / top-level element |
| in the document. Here is an example with no target namspace: </p> |
| <source><document |
| xmlns:xsi='http://www.w3.org/1999/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 Schema.</p> |
| <source><document |
| xmlns='NS' |
| xmlns:xsi='http://www.w3.org/1999/XMLSchema-instance' |
| xsi:schemaLocation='NS document.xsd'> |
| ... |
| </document></source> |
| <p>Review the sample file, 'data/personal.xsd' for an example of an XML |
| Schema grammar.</p> |
| </s2> |
| </s1> |