diff -r fd16c54261b3 -r 7f561c08de6b jaxp/src/share/classes/org/xml/sax/package.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxp/src/share/classes/org/xml/sax/package.html Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,297 @@ + + + + +

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 maintenance 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 IDAccessDefaultDescription
external-general-entitiesread/writeunspecified Reports whether this parser processes external + general entities; always true if validating. +
external-parameter-entitiesread/writeunspecified Reports whether this parser processes external + parameter entities; always true if validating. +
is-standalone(parsing) read-only, (not parsing) nonenot applicable May be examined only during a parse, after the + startDocument() callback has been completed; read-only. + The value is true if the document specified standalone="yes" in + its XML declaration, and otherwise is false. +
lexical-handler/parameter-entitiesread/writeunspecified A value of "true" indicates that the LexicalHandler will report + the beginning and end of parameter entities. +
namespacesread/writetrue A value of "true" indicates namespace URIs and unprefixed local names + for element and attribute names will be available. +
namespace-prefixesread/writefalse A value of "true" indicates that XML qualified names (with prefixes) and + attributes (including xmlns* attributes) will be available. +
resolve-dtd-urisread/writetrue A value of "true" indicates that system IDs in declarations will + be absolutized (relative to their base URIs) before reporting. + (That is the default behavior for all SAX2 XML parsers.) + A value of "false" indicates those IDs will not be absolutized; + parsers will provide the base URI from + Locator.getSystemId(). + This applies to system IDs passed in
    +
  • DTDHandler.notationDecl(), +
  • DTDHandler.unparsedEntityDecl(), and +
  • DeclHandler.externalEntityDecl(). +
+ It does not apply to EntityResolver.resolveEntity(), + which is not used to report declarations, or to + LexicalHandler.startDTD(), which already provides + the non-absolutized URI. +
string-interningread/writeunspecified Has a value of "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, + rather than forcing slower calls to String.equals(). +
unicode-normalization-checkingread/writefalse Controls whether the parser reports Unicode normalization + errors as described in section 2.13 and Appendix B of the + XML 1.1 Recommendation. If true, Unicode normalization + errors are reported using the ErrorHandler.error() callback. + Such errors are not fatal in themselves (though, obviously, + other Unicode-related encoding errors may be). +
use-attributes2read-onlynot applicable Returns "true" if the Attributes objects passed by + this parser in ContentHandler.startElement() + implement the org.xml.sax.ext.Attributes2 interface. + That interface exposes additional DTD-related information, + such as whether the attribute was specified in the + source text rather than defaulted. +
use-locator2read-onlynot applicable Returns "true" if the Locator objects passed by + this parser in ContentHandler.setDocumentLocator() + implement the org.xml.sax.ext.Locator2 interface. + That interface exposes additional entity information, + such as the character encoding and XML version used. +
use-entity-resolver2read/writetrue Returns "true" if, when setEntityResolver is given + an object implementing the org.xml.sax.ext.EntityResolver2 interface, + those new methods will be used. + Returns "false" to indicate that those methods will not be used. +
validationread/writeunspecified Controls whether the parser is reporting all validity + errors; if true, all external entities will be read. +
xmlns-urisread/writefalse Controls whether, when the namespace-prefixes feature + is set, the parser treats namespace declaration attributes as + being in the http://www.w3.org/2000/xmlns/ namespace. + By default, SAX2 conforms to the original "Namespaces in XML" + Recommendation, which explicitly states that such attributes are + not in any namespace. + Setting this optional flag to "true" makes the SAX2 events conform to + a later backwards-incompatible revision of that recommendation, + placing those attributes in a namespace. +
xml-1.1read-onlynot applicable Returns "true" if the parser supports both XML 1.1 and XML 1.0. + Returns "false" if the parser supports only XML 1.0. +
+ +

Support for the default values of the +namespaces and namespace-prefixes +properties is required. +Support for any other feature flags is entirely optional. +

+ +

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 IDDescription
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. +
document-xml-version May be examined only during a parse, after the startDocument() + callback has been completed; read-only. This property is a + literal string describing the actual XML version of the document, + such as "1.0" or "1.1". +
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 delimiters, 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. +

+ +