javax.xml.parsers | javax.xml.parsers
Bootstrapping APIs for JAXP parsers.
This is the first portable API defined for bootstrapping DOM.
JAXP parsers bootstrap in two stages.
First is getting a factory, and configuring it.
Second is asking that factory for a parser.
The SAX bootstrapping support corresponds to functionality
found in the org.xml.sax.helpers package, except
that it uses the JAXP two stage bootstrap paradigm and
that the parser that's bootstrapped is normally wrapping
a SAX parser rather than exposing it for direct use.
|
org.xml.sax |
This package provides the core SAX APIs.
Some SAX1 APIs are deprecated to encourage integration of
namespace-awareness into designs of new applications
and into maintainance of existing infrastructure.
See http://www.saxproject.org
for more information about SAX.
SAX2 Standard Feature Flags
One of the essential characteristics of SAX2 is that it added
feature flags which can be used to examine and perhaps modify
parser modes, in particular modes such as validation.
Since features are identified by (absolute) URIs, anyone
can define such features.
Currently defined standard feature URIs have the prefix
http://xml.org/sax/features/ before an identifier such as
validation . Turn features on or off using
setFeature. Those standard identifiers are:
Feature ID |
Default |
Description |
external-general-entities |
unspecified |
Reports whether this parser processes external
general entities; always true if validating |
external-parameter-entities |
unspecified |
Reports whether this parser processes external
parameter entities; always true if validating |
lexical-handler/parameter-entities |
unspecified |
true indicates that the LexicalHandler will report the
beginning and end of parameter entities
|
namespaces |
true |
true indicates namespace URIs and unprefixed local names
for element and attribute names will be available |
namespace-prefixes |
false |
true indicates XML 1.0 names (with prefixes) and attributes
(including xmlns* attributes) will be available |
string-interning |
unspecified |
true if all XML names (for elements, prefixes, attributes,
entities, notations, and local names),
as well as Namespace URIs, will have been interned
using java.lang.String.intern. This supports fast
testing of equality/inequality against string constants. |
validation |
unspecified |
controls whether the parser is reporting all validity
errors; if true, all external entities will be read. |
Support for the default values of the
namespaces and namespace-prefixes
properties is required.
For default values not specified by SAX2,
each XMLReader implementation specifies its default,
or may choose not to expose the feature flag.
Unless otherwise specified here,
implementations may support changing current values
of these standard feature flags, but not while parsing.
SAX2 Standard Handler and Property IDs
For parser interface characteristics that are described
as objects, a separate namespace is defined. The
objects in this namespace are again identified by URI, and
the standard property URIs have the prefix
http://xml.org/sax/properties/ before an identifier such as
lexical-handler or
dom-node . Manage those properties using
setProperty(). Those identifiers are:
Property ID |
Description |
declaration-handler |
Used to see most DTD declarations except those treated
as lexical ("document element name is ...") or which are
mandatory for all SAX parsers (DTDHandler).
The Object must implement org.xml.sax.ext.DeclHandler.
|
dom-node |
For "DOM Walker" style parsers, which ignore their
parser.parse() parameters, this is used to
specify the DOM (sub)tree being walked by the parser.
The Object must implement the
org.w3c.dom.Node interface.
|
lexical-handler |
Used to see some syntax events that are essential in some
applications: comments, CDATA delimeters, selected general
entity inclusions, and the start and end of the DTD
(and declaration of document element name).
The Object must implement org.xml.sax.ext.LexicalHandler.
|
xml-string |
Readable only during a parser callback, this exposes a TBS
chunk of characters responsible for the current event. |
All of these standard properties are optional;
XMLReader implementations need not support them.
|
org.xml.sax.ext |
This package contains interfaces to optional SAX2 handlers.
See http://www.saxproject.org
for more information about SAX.
The package is independent of the SAX2 core, though the functionality
exposed generally needs to be implemented within a parser.
That independence has several consequences:
- SAX2 drivers are not required to recognize these handlers,
and you cannot assume that the class files will be present in every SAX2
installation.
- This package may be updated independently of SAX2 (i.e. new
handlers may be added without updating SAX2 itself).
- The handlers are not implemented by the SAX2
org.xml.sax.helpers.DefaultHandler or
org.xml.sax.helpers.XMLFilterImpl classes.
You can subclass these if you need such behaviour.
- The handlers need to be registered differently than regular SAX2
handlers.
This package, SAX2-ext, is a standardized extension to SAX2. It is
designed both to allow SAX parsers to pass certain types of information
to applications, and to serve as a simple model for other SAX2 parser
extension packages. Not all such extension packages should need to
be recognized directly by parsers, however.
As an example, most schema systems can be cleanly layered on top
of parsers supporting the standardized SAX2 interfaces.
NOTE: this package alone does add any
functionality; it simply provides optional interfaces for SAX2 drivers
to use. You must use a SAX2 driver that recognizes these interfaces if
you actually want to have access to lexical and declaration
information.
|