summaryrefslogtreecommitdiff
path: root/doc/README.jaxp
diff options
context:
space:
mode:
authorChris Burdess <dog@bluezoo.org>2006-02-13 19:13:15 +0000
committerChris Burdess <dog@bluezoo.org>2006-02-13 19:13:15 +0000
commit3aad9cd2a22f93b2ae06085fded24fb4ea70ff14 (patch)
treee92880f0d57f864aded8fa26258892a5615f4bfb /doc/README.jaxp
parent4feca84e51f437fade44e6ef655978ed61b4a99b (diff)
downloadclasspath-3aad9cd2a22f93b2ae06085fded24fb4ea70ff14.tar.gz
2006-02-13 Chris Burdess <dog@gnu.org>
* LICENCE, NEWS, configure.ac, doc/README.jaxp, external/Makefile.am, external/relaxngDatatype/.cvsignore, external/relaxngDatatype/Makefile.am, external/relaxngDatatype/README.txt, external/relaxngDatatype/copying.txt, external/relaxngDatatype/org/relaxng/datatype/Datatype.java, external/relaxngDatatype/org/relaxng/datatype/DatatypeBuilder.java, external/relaxngDatatype/org/relaxng/datatype/DatatypeException.java, external/relaxngDatatype/org/relaxng/datatype/DatatypeLibrary.java, external/relaxngDatatype/org/relaxng/datatype/DatatypeLibraryFactory.java, external/relaxngDatatype/org/relaxng/datatype/DatatypeStreamingValidator.java, external/relaxngDatatype/org/relaxng/datatype/ValidationContext.java, external/relaxngDatatype/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java, external/relaxngDatatype/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java, external/relaxngDatatype/org/relaxng/datatype/helpers/StreamingValidatorImpl.java, lib/Makefile.am, lib/gen-classlist.sh.in: Added external RELAX NG pluggable datatypes library API.
Diffstat (limited to 'doc/README.jaxp')
-rw-r--r--doc/README.jaxp27
1 files changed, 27 insertions, 0 deletions
diff --git a/doc/README.jaxp b/doc/README.jaxp
index 55a1df52f..ec8813226 100644
--- a/doc/README.jaxp
+++ b/doc/README.jaxp
@@ -30,6 +30,7 @@ classes in the above packages.
. org.xml.sax.* ... SAX2 interfaces
. org.w3c.dom.* ... DOM Level 3 interfaces
+. org.relaxng.datatype.* ... RELAX NG pluggable datatypes API
CONFORMANCE
@@ -175,3 +176,29 @@ using thread context variables.
Update: thread context variables have been introduced. This is very
untested though, libxmll therefore still has the single thread
bottleneck.
+
+
+Validation
+===================================================
+
+Pluggable datatypes
+---------------------------------------------------
+Validators should use the RELAX NG pluggable datatypes API to retrieve
+datatype (XML Schema simple type) implementations in a schema-neutral
+fashion. The following code demonstrates looking up a W3C XML Schema
+nonNegativeInteger datatype:
+
+ DatatypeLibrary xsd = DatatypeLibraryLoader
+ .createDatatypeLibrary(XMLConstants.W3C_XML_SCHEMA_NS_URI);
+ Datatype nonNegativeInteger = xsd.createDatatype("nonNegativeInteger");
+
+It is also possible to create new types by derivation. For instance,
+to create a datatype that will match a US ZIP code:
+
+ DatatypeBuilder b = xsd.createDatatypeBuilder("string");
+ b.addParameter("pattern", "(^[0-9]{5}$)|(^[0-9]{5}-[0-9]{4}$)");
+ Datatype zipCode = b.createDatatype();
+
+A datatype library implementation for XML Schema is provided; other
+library implementations may be added.
+