B.7. Unexpanded Entity Reference Information Items
For any nonvalidating XML parser that doesn't
read all external entities -- possibly because it was
configured not to do so or because it didn't
choose to implement that feature -- the XML specification
says you need to be able to indicate when an entity that would
normally be parsed wasn't actually processed.
These unexpanded entities are not the same
as "unparsed" entities,
although neither kind of entity gets parsed.
The XML Infoset describes some information that can be made
available in one of those cases: when the entity was an
external general entity. For external parameter entities, the
Infoset is silent beyond defining a document information item
property to expose whether all declarations have been processed;
no declarations are exposed.
Property |
Callbacks |
Explanation |
[name] |
Content.skippedEntity(),
name parameter
|
SAX2 makes this callback for all entities
that have been skipped, including parameter and internal
entities.
|
[system identifier] |
DeclHandler.externalEntityDecl(),
systemId parameter
|
If [all declarations processed] is false,
this information may be unavailable.
Otherwise, the application must have recorded this
information for later use. Note that SAX parsers
absolutize this property against
the appropriate base URI before reporting it. However, some parsers have a bug here, and don't absolutize this URI. |
[public identifier] |
DeclHandler.externalEntityDecl(),
publicId parameter
|
If [all declarations processed] is false,
this information may be unavailable.
Otherwise, the application must have recorded this
information for later use.
|
[declaration base URI] |
Locator.getSystemId()
|
If [all declarations processed] is false,
this information may be unavailable.
Otherwise, the application must have recorded this
information for later use, when this entity was
reported through a
DeclHandler.externalEntityDecl()
callback.
(xml:base does not apply.)
|
[parent] |
|
Applications must keep track of this information
item if it is needed.
|
SAX2 effectively defines new types of information items
for internal and external entities. (So does DOM Level 1.) The XML Infoset doesn't expose such entities except for this one
case (for external entities), but applications may use those
extension information items for other purposes if appropriate.
| | | B.6. Processing Instruction Information Items | | B.8. Character Information Items |
Copyright © 2002 O'Reilly & Associates. All rights reserved.
|
|