How do I validate against XML schema?
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.
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:
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.
Review the sample file, 'data/personal.xsd' for an example of an XML Schema grammar.
How does XML Schema processor treats entities and CDATA secptions?
According to the XML Infoset the infoset items contributing to the
Does Xerces provide access to the post schema validation infoset (PSVI)?
Xerces defines a set of objects and interfaces for accessing and querying the post
schema validation infoset (PSVI) defined in
org.apache.xerces.impl.xs.psvi allow
developers to access the XML Schema components, which follow as a consequence
of validation and/or assessment.
The interfaces defined in the >org.apache.xerces.xni.psvi defines a
set of interfaces for accessing the PSVI from a document instance.
How do I access PSVI via XNI?
From within an XMLDocumentHandler, one can retrieve PSVI
information while in the scope of the document handler start/end element calls:
The above code shows how to retrieve PSVI information after
elements/attributes are assessed. The other kind of information PSVI
offers is the property
org.apache.xerces.impl.xs.psvi package.
[schema information] property is only available on the
endElement method for the validation root. When this method
is called, information about various components can be retrieved by
How do I access PSVI via DOM?
Use
http://apache.org/xml/properties/dom/document-class-name property
to set org.apache.xerces.dom.PSVIDocumentImpl document
interfaces implementation. In the resulting DOM tree, you may cast
org.w3c.dom.Element to the
org.apache.xerces.xni.psvi.ElementPSVI and
org.w3c.dom.Attr to the
org.apache.xerces.xni.psvi.AttributePSVI.
How do I access PSVI via SAX?
Xerces SAX parser also implements
org.apache.xerces.impl.xs.psvi.PSVIProvider interface.
Within the scope of the methods handling the start and end of an element, i.e.
org.xml.sax.ContentHandler.startElement (..),
an application can use the PSVIProvider to retrieve the PSVI related to that
element and its attributes.
How do I parse and analyze an XML schema?
Please, refer to the Examining Grammars FAQ.