JAXP API Module (java.xml.jmod) - Packages and Classes

This section describes the java.xml.jmod Java module, which provides the JAXP API packages and classes. 3rd party implementation packages and classes are also included in java.xml.jmod.

Since JDK 9, Java packages and classes are organized into modules. JAXP API packages and classes are all grouped into a single module called java.xml and stored in the file: $JAVA_HOME/jmods/java.xml.jmod.

If you want to see a list of JAXP API packages and classes, you can run the following command:

(on macOS)
herong$ export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home

herong$ $JAVA_HOME/bin/jmod describe $JAVA_HOME/jmods/java.xml.jmod
java.xml@13
exports javax.xml
exports javax.xml.catalog
exports javax.xml.datatype
exports javax.xml.namespace
exports javax.xml.parsers
exports javax.xml.stream
exports javax.xml.stream.events
exports javax.xml.stream.util
exports javax.xml.transform
exports javax.xml.transform.dom
exports javax.xml.transform.sax
exports javax.xml.transform.stax
exports javax.xml.transform.stream
exports javax.xml.validation
exports javax.xml.xpath
exports org.w3c.dom
exports org.xml.sax
...

requires java.base mandated

uses javax.xml.datatype.DatatypeFactory
uses javax.xml.parsers.DocumentBuilderFactory
uses javax.xml.parsers.SAXParserFactory
uses javax.xml.stream.XMLEventFactory
uses javax.xml.stream.XMLInputFactory
uses javax.xml.stream.XMLOutputFactory
uses javax.xml.transform.TransformerFactory
uses javax.xml.validation.SchemaFactory
uses javax.xml.xpath.XPathFactory
uses org.xml.sax.XMLReader

qualified exports com.sun.org.apache.xml.internal.dtm to java.xml.crypto
qualified exports com.sun.org.apache.xml.internal.utils to java.xml.crypto
qualified exports com.sun.org.apache.xpath.internal to java.xml.crypto
qualified exports com.sun.org.apache.xpath.internal.compiler to java.xml.crypto
qualified exports com.sun.org.apache.xpath.internal.functions to java.xml.crypto
qualified exports com.sun.org.apache.xpath.internal.objects to java.xml.crypto
qualified exports com.sun.org.apache.xpath.internal.res to java.xml.crypto

contains com.sun.java_cup.internal.runtime
contains com.sun.org.apache.bcel.internal
contains com.sun.org.apache.bcel.internal.classfile
contains com.sun.org.apache.bcel.internal.generic
contains com.sun.org.apache.bcel.internal.util
contains com.sun.org.apache.xalan.internal
contains com.sun.org.apache.xalan.internal.extensions
contains com.sun.org.apache.xalan.internal.lib
contains com.sun.org.apache.xalan.internal.res
contains com.sun.org.apache.xalan.internal.templates
contains com.sun.org.apache.xalan.internal.utils
contains com.sun.org.apache.xalan.internal.xsltc
...
contains com.sun.org.apache.xerces.internal.dom
contains com.sun.org.apache.xerces.internal.dom.events
contains com.sun.org.apache.xerces.internal.impl
...
contains com.sun.org.apache.xerces.internal.jaxp
contains com.sun.org.apache.xerces.internal.jaxp.datatype
contains com.sun.org.apache.xerces.internal.jaxp.validation
contains com.sun.org.apache.xerces.internal.parsers
contains com.sun.org.apache.xerces.internal.util
contains com.sun.org.apache.xerces.internal.utils
contains com.sun.org.apache.xerces.internal.xinclude
contains com.sun.org.apache.xerces.internal.xni
contains com.sun.org.apache.xerces.internal.xni.grammars
contains com.sun.org.apache.xerces.internal.xni.parser
contains com.sun.org.apache.xerces.internal.xpointer
contains com.sun.org.apache.xerces.internal.xs
contains com.sun.org.apache.xerces.internal.xs.datatypes
contains com.sun.org.apache.xml.internal.dtm.ref
contains com.sun.org.apache.xml.internal.dtm.ref.dom2dtm
contains com.sun.org.apache.xml.internal.dtm.ref.sax2dtm
contains com.sun.org.apache.xml.internal.res
contains com.sun.org.apache.xml.internal.serialize
contains com.sun.org.apache.xml.internal.serializer
contains com.sun.org.apache.xml.internal.utils.res
contains com.sun.org.apache.xpath.internal.axes
contains com.sun.org.apache.xpath.internal.jaxp
contains com.sun.org.apache.xpath.internal.operations
contains com.sun.org.apache.xpath.internal.patterns
contains com.sun.xml.internal.stream
contains com.sun.xml.internal.stream.dtd
contains com.sun.xml.internal.stream.dtd.nonvalidating
contains com.sun.xml.internal.stream.events
contains com.sun.xml.internal.stream.util
contains com.sun.xml.internal.stream.writers
contains jdk.xml.internal
platform macos-amd64

As you can see, the java.xml module only exports 3 APIs, JAXP, DOM and SAX, to the outside. Xerces and other actual implementation packages and classes are hidden inside.

Table of Contents

 About This Book

 Introduction to XML Schema

 XML Editor and Schema Processor - XMLPad

Java API for XML Processing - JAXP

 What Is JAXP?

 Downloading and installing JDK

 Compiling and Running Java Programs

 XML File DOM Parser - XmlDomFileParser.java

JAXP API Module (java.xml.jmod) - Packages and Classes

 JAXP - XML Schema (XSD) Validation

 Xerces2 Java Parser - Java API of XML Parsers

 Using Xerces2 Java APIs

 XML Schema Language - Basics

 Introduction of XSD Built-in Datatypes

 "string" and Its Derived Datatypes

 "decimal" and Its Derived Datatypes

 "dateTime" and Its Related Datatypes

 Miscellaneous Built-in Datatypes

 Facets, Constraining Facets and Restriction Datatypes

 "simpleType" - Defining Your Own Simple Datatypes

 Complex Element Declaration

 Identity-Constraints: unique, key and keyref

 Assertion as Custom Validation Rules

 XML Schema Location and Namespace in XML Documents

 Overriding Element Types in XML Documents

 Linking Multiple Schema Documents Together

 Glossary

 Archived Tutorials

 References

 Full Version in PDF/EPUB