java.lang.Object | |
↳ | org.apache.xerces.xinclude.XIncludeHandler |
Known Direct Subclasses |
This is a pipeline component which performs XInclude handling, according to the W3C specification for XML Inclusions.
This component analyzes each event in the pipeline, looking for <include>
elements. An <include> element is one which has a namespace of
http://www.w3.org/2001/XInclude
and a localname of include
.
When it finds an <include> element, it attempts to include the file specified
in the href
attribute of the element. If inclusion succeeds, all
children of the <include> element are ignored (with the exception of
checking for invalid children as outlined in the specification). If the inclusion
fails, the <fallback> child of the <include> element is processed.
See the XInclude specification for more information on how XInclude is to be used.
This component requires the following features and properties from the component manager that uses it:
NamespaceContext
used in the pipeline is required
to be an instance of XIncludeNamespaceSupport
.
Currently, this implementation has only partial support for the XInclude specification. Specifically, it is missing support for XPointer document fragments. Thus, only whole documents can be included using this component in the pipeline.
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
XIncludeHandler.Notation | |||||||||||
XIncludeHandler.UnparsedEntity |
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | ALLOW_UE_AND_NOTATION_EVENTS | Feature identifier: allow notation and unparsed entity events to be sent out of order. | |||||||||
String | BUFFER_SIZE | property identifier: buffer size. | |||||||||
String | CURRENT_BASE_URI | The identifier for the Augmentation that contains the current base URI | |||||||||
String | DYNAMIC_VALIDATION | Feature identifier: dynamic validation. | |||||||||
String | ENTITY_RESOLVER | Property identifier: entity resolver. | |||||||||
String | ERROR_REPORTER | Property identifier: error reporter. | |||||||||
String | HTTP_ACCEPT | ||||||||||
String | HTTP_ACCEPT_LANGUAGE | ||||||||||
String | JAXP_SCHEMA_LANGUAGE | Property identifier: JAXP schema language. | |||||||||
String | PARSER_SETTINGS | ||||||||||
String | SCHEMA_VALIDATION | Feature identifier: schema validation. | |||||||||
String | SECURITY_MANAGER | property identifier: security manager. | |||||||||
String | SYMBOL_TABLE | Property identifier: symbol table. | |||||||||
String | VALIDATION | Feature identifier: validation. | |||||||||
String | XINCLUDE_DEFAULT_CONFIGURATION | ||||||||||
String | XINCLUDE_FIXUP_BASE_URIS | Feature identifier: fixup base URIs. | |||||||||
String | XINCLUDE_FIXUP_LANGUAGE | Feature identifier: fixup language. | |||||||||
String | XPOINTER |
[Expand]
Inherited Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From interface
org.apache.xerces.xni.XMLDTDHandler
|
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
An attribute declaration.
| |||||||||||
Character content.
| |||||||||||
A comment.
| |||||||||||
Notifies of the presence of the DOCTYPE line in the document.
| |||||||||||
An element declaration.
| |||||||||||
An empty element.
| |||||||||||
The end of an attribute list.
| |||||||||||
The end of a CDATA section.
| |||||||||||
The end of a conditional section.
| |||||||||||
The end of the DTD.
| |||||||||||
The end of the document.
| |||||||||||
The end of an element.
| |||||||||||
The end of the DTD external subset.
| |||||||||||
This method notifies the end of a general entity.
| |||||||||||
This method notifies the end of a parameter entity.
| |||||||||||
An external entity declaration.
| |||||||||||
Gets the base URI that was in use at that depth
| |||||||||||
Returns the DTD handler.
| |||||||||||
Returns the document handler
| |||||||||||
Returns the document source.
| |||||||||||
Returns the default state for a feature, or null if this
component does not want to report a default value for this
feature.
| |||||||||||
Gets the language that was in use at that depth.
| |||||||||||
Returns the default state for a property, or null if this
component does not want to report a default value for this
property.
| |||||||||||
Returns a list of feature identifiers that are recognized by
this component.
| |||||||||||
Returns a list of property identifiers that are recognized by
this component.
| |||||||||||
Returns a relative URI, which when resolved against the base URI at the
specified depth, will create the current base URI.
| |||||||||||
Ignorable whitespace.
| |||||||||||
Characters within an IGNORE conditional section.
| |||||||||||
An internal entity declaration.
| |||||||||||
A notation declaration
| |||||||||||
A processing instruction.
| |||||||||||
Resets the component.
| |||||||||||
Discards the language at the top of the stack, and returns the one beneath it.
| |||||||||||
Sets the DTD handler.
| |||||||||||
Sets the document handler.
| |||||||||||
Sets the document source.
| |||||||||||
Sets the state of a feature.
| |||||||||||
Sets the value of a property.
| |||||||||||
The start of an attribute list.
| |||||||||||
The start of a CDATA section.
| |||||||||||
The start of a conditional section.
| |||||||||||
The start of the DTD.
| |||||||||||
Event sent at the start of the document.
| |||||||||||
The start of an element.
| |||||||||||
The start of the DTD external subset.
| |||||||||||
This method notifies the start of a general entity.
| |||||||||||
This method notifies of the start of a parameter entity.
| |||||||||||
Notifies of the presence of a TextDecl line in an entity.
| |||||||||||
An unparsed entity declaration.
| |||||||||||
Notifies of the presence of an XMLDecl line in the document.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Caches a notation.
| |||||||||||
Caches an unparsed entity.
| |||||||||||
The purpose of this method is to check if a Notation conflicts with a previously
declared notation in the current pipeline stack.
| |||||||||||
The purpose of this method is to check if an UnparsedEntity conflicts with a previously
declared entity in the current pipeline stack.
| |||||||||||
Checks if a Notation with the given name was declared in the DTD of the document
for the current pipeline.
| |||||||||||
Checks if an UnparsedEntity with the given name was declared in the DTD of the document
for the current pipeline.
| |||||||||||
Returns a URI, relative to the include parent's base URI, of the current
[base URI].
| |||||||||||
Returns whether an <fallback> was encountered at the specified depth,
as an ancestor of the current element, or as a sibling of an ancestor of the
current element.
| |||||||||||
Return whether an <include> was encountered at the specified depth,
as an ancestor of the current item.
| |||||||||||
Returns true if the element has the namespace "http://www.w3.org/2001/XInclude"
| |||||||||||
Checks if the element is an <fallback> element.
| |||||||||||
Checks if the element is an <include> element.
| |||||||||||
Returns true if the current element is a top level included item.
| |||||||||||
Modify the augmentations.
| |||||||||||
Modify the augmentations.
| |||||||||||
Processes the XMLAttributes object of startElement() calls.
| |||||||||||
Search for a xml:base attribute, and if one is found, put the new base URI into
effect.
| |||||||||||
Search for a xml:lang attribute, and if one is found, put the new
[language] into effect.
| |||||||||||
Discards the URIs at the top of the stack, and restores the ones beneath it.
| |||||||||||
Returns true if the current [base URI] is the same as the [base URI] that
was in effect on the include parent.
| |||||||||||
Returns true if the current [language] is equivalent to the [language] that
was in effect on the include parent, taking case-insensitivity into account
as per [RFC 3066].
| |||||||||||
Saves the current base URI to the top of the stack.
| |||||||||||
Saves the given language on the top of the stack.
| |||||||||||
Checks if the file indicated by the given system id has already been
included in the current stack.
| |||||||||||
Set the parent of this XIncludeHandler in the tree
| |||||||||||
Records that an <fallback> was encountered at the specified depth,
as an ancestor of the current element, or as a sibling of an ancestor of the
current element.
| |||||||||||
Records that an <include> was encountered at the specified depth,
as an ancestor of the current item.
| |||||||||||
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
org.apache.xerces.xni.XMLDTDHandler
| |||||||||||
From interface
org.apache.xerces.xni.XMLDocumentHandler
| |||||||||||
From interface
org.apache.xerces.xni.parser.XMLComponent
| |||||||||||
From interface
org.apache.xerces.xni.parser.XMLDTDSource
| |||||||||||
From interface
org.apache.xerces.xni.parser.XMLDocumentSource
|
Feature identifier: allow notation and unparsed entity events to be sent out of order.
property identifier: buffer size.
The identifier for the Augmentation that contains the current base URI
Feature identifier: dynamic validation.
Property identifier: entity resolver.
Property identifier: error reporter.
Property identifier: JAXP schema language.
Feature identifier: schema validation.
property identifier: security manager.
Property identifier: symbol table.
Feature identifier: validation.
Feature identifier: fixup base URIs.
Feature identifier: fixup language.
An attribute declaration.
elementName | The name of the element that this attribute is associated with. |
---|---|
attributeName | The name of the attribute. |
type | The attribute type. This value will be one of the following: "CDATA", "ENTITY", "ENTITIES", "ENUMERATION", "ID", "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", or "NOTATION". |
enumeration | If the type has the value "ENUMERATION" or "NOTATION", this array holds the allowed attribute values; otherwise, this array is null. |
defaultType | The attribute default type. This value will be one of the following: "#FIXED", "#IMPLIED", "#REQUIRED", or null. |
defaultValue | The attribute default value, or null if no default value is specified. |
nonNormalizedDefaultValue | The attribute default value with no normalization performed, or null if no default value is specified. |
augmentations | Additional information that may include infoset augmentations. |
XNIException |
---|
Character content.
text | The content. |
---|---|
augs | Additional information that may include infoset augmentations |
XNIException |
---|
A comment.
text | The text in the comment. |
---|---|
augs | Additional information that may include infoset augmentations. |
XNIException |
---|
Notifies of the presence of the DOCTYPE line in the document.
rootElement | The name of the root element. |
---|---|
publicId | The public identifier if an external DTD or null if the external DTD is specified using SYSTEM. |
systemId | The system identifier if an external DTD, null otherwise. |
augs | Additional information that may include infoset augmentations |
XNIException |
---|
An element declaration.
name | The name of the element. |
---|---|
contentModel | The element content model. |
augmentations | Additional information that may include infoset augmentations. |
XNIException |
---|
An empty element.
element | The name of the element. |
---|---|
attributes | The element attributes. |
augs | Additional information that may include infoset augmentations |
XNIException |
---|
The end of an attribute list.
augmentations | Additional information that may include infoset augmentations. |
---|
XNIException |
---|
The end of a CDATA section.
augs | Additional information that may include infoset augmentations |
---|
XNIException |
---|
The end of a conditional section.
augmentations | Additional information that may include infoset augmentations. |
---|
XNIException |
---|
The end of the DTD.
augmentations | Additional information that may include infoset augmentations. |
---|
XNIException |
---|
The end of the document.
augs | Additional information that may include infoset augmentations |
---|
XNIException |
---|
The end of an element.
element | The name of the element. |
---|---|
augs | Additional information that may include infoset augmentations |
XNIException |
---|
The end of the DTD external subset.
augmentations | Additional information that may include infoset augmentations. |
---|
XNIException |
---|
This method notifies the end of a general entity.
Note: This method is not called for entity references appearing as part of attribute values.
name | The name of the entity. |
---|---|
augs | Additional information that may include infoset augmentations |
XNIException |
---|
This method notifies the end of a parameter entity. Parameter entity names begin with a '%' character.
name | The name of the parameter entity. |
---|---|
augmentations | Additional information that may include infoset augmentations. |
XNIException |
---|
An external entity declaration.
name | The name of the entity. Parameter entity names start with '%', whereas the name of a general entity is just the entity name. |
---|---|
identifier | An object containing all location information pertinent to this external entity. |
augmentations | Additional information that may include infoset augmentations. |
XNIException |
---|
Gets the base URI that was in use at that depth
Returns the default state for a feature, or null if this component does not want to report a default value for this feature.
featureId | The feature identifier. |
---|
Gets the language that was in use at that depth.
Returns the default state for a property, or null if this component does not want to report a default value for this property.
propertyId | The property identifier. |
---|
Returns a list of feature identifiers that are recognized by this component. This method may return null if no features are recognized by this component.
Returns a list of property identifiers that are recognized by this component. This method may return null if no properties are recognized by this component.
Returns a relative URI, which when resolved against the base URI at the specified depth, will create the current base URI. This is accomplished by merged the literal system IDs.
depth | the depth at which to start creating the relative URI |
---|
URI.MalformedURIException |
---|
Ignorable whitespace. For this method to be called, the document source must have some way of determining that the text containing only whitespace characters should be considered ignorable. For example, the validator can determine if a length of whitespace characters in the document are ignorable based on the element content model.
text | The ignorable whitespace. |
---|---|
augs | Additional information that may include infoset augmentations |
XNIException |
---|
Characters within an IGNORE conditional section.
text | The ignored text. |
---|---|
augmentations | Additional information that may include infoset augmentations. |
XNIException |
---|
An internal entity declaration.
name | The name of the entity. Parameter entity names start with '%', whereas the name of a general entity is just the entity name. |
---|---|
text | The value of the entity. |
nonNormalizedText | The non-normalized value of the entity. This value contains the same sequence of characters that was in the internal entity declaration, without any entity references expanded. |
augmentations | Additional information that may include infoset augmentations. |
XNIException |
---|
A notation declaration
name | The name of the notation. |
---|---|
identifier | An object containing all location information pertinent to this notation. |
augmentations | Additional information that may include infoset augmentations. |
XNIException |
---|
A processing instruction. Processing instructions consist of a target name and, optionally, text data. The data is only meaningful to the application.
Typically, a processing instruction's data will contain a series of pseudo-attributes. These pseudo-attributes follow the form of element attributes but are not parsed or presented to the application as anything other than text. The application is responsible for parsing the data.
target | The target. |
---|---|
data | The data or null if none specified. |
augs | Additional information that may include infoset augmentations. |
XNIException |
---|
Resets the component. The component can query the component manager about any features and properties that affect the operation of the component.
componentManager | The component manager. |
---|
XNIException |
---|
Discards the language at the top of the stack, and returns the one beneath it.
Sets the state of a feature. This method is called by the component manager any time after reset when a feature changes state.
Note: Components should silently ignore features that do not affect the operation of the component.
featureId | The feature identifier. |
---|---|
state | The state of the feature. |
The component should not throw this exception. | |
The component should not throw this exception. | |
XMLConfigurationException |
Sets the value of a property. This method is called by the component manager any time after reset when a property changes value.
Note: Components should silently ignore properties that do not affect the operation of the component.
propertyId | The property identifier. |
---|---|
value | The value of the property. |
The component should not throw this exception. | |
The component should not throw this exception. | |
XMLConfigurationException |
The start of an attribute list.
elementName | The name of the element that this attribute list is associated with. |
---|---|
augmentations | Additional information that may include infoset augmentations. |
XNIException |
---|
The start of a CDATA section.
augs | Additional information that may include infoset augmentations |
---|
XNIException |
---|
The start of a conditional section.
type | The type of the conditional section. This value will either be CONDITIONAL_INCLUDE or CONDITIONAL_IGNORE. |
---|---|
augmentations | Additional information that may include infoset augmentations. |
XNIException |
---|
The start of the DTD.
locator | The document locator, or null if the document location cannot be reported during the parsing of the document DTD. However, it is strongly recommended that a locator be supplied that can at least report the base system identifier of the DTD. |
---|---|
augmentations | Additional information that may include infoset augmentations. |
XNIException |
---|
Event sent at the start of the document. A fatal error will occur here, if it is detected that this document has been processed before. This event is only passed on to the document handler if this is the root document.
locator | The document locator, or null if the document location cannot be reported during the parsing of this document. However, it is strongly recommended that a locator be supplied that can at least report the system identifier of the document. |
---|---|
encoding | The auto-detected IANA encoding name of the entity stream. This value will be null in those situations where the entity encoding is not auto-detected (e.g. internal entities or a document entity that is parsed from a java.io.Reader). |
namespaceContext | The namespace context in effect at the start of this document. This object represents the current context. Implementors of this class are responsible for copying the namespace bindings from the the current context (and its parent contexts) if that information is important. |
augs | Additional information that may include infoset augmentations |
XNIException |
---|
The start of an element.
element | The name of the element. |
---|---|
attributes | The element attributes. |
augs | Additional information that may include infoset augmentations |
XNIException |
---|
The start of the DTD external subset.
identifier | The resource identifier. |
---|---|
augmentations | Additional information that may include infoset augmentations. |
XNIException |
---|
This method notifies the start of a general entity.
Note: This method is not called for entity references appearing as part of attribute values.
name | The name of the general entity. |
---|---|
resId | The resource identifier. |
encoding | The auto-detected IANA encoding name of the entity stream. This value will be null in those situations where the entity encoding is not auto-detected (e.g. internal entities or a document entity that is parsed from a java.io.Reader). |
augs | Additional information that may include infoset augmentations |
XNIException |
---|
This method notifies of the start of a parameter entity. The parameter entity name start with a '%' character.
name | The name of the parameter entity. |
---|---|
identifier | The resource identifier. |
encoding | The auto-detected IANA encoding name of the entity stream. This value will be null in those situations where the entity encoding is not auto-detected (e.g. internal parameter entities). |
augmentations | Additional information that may include infoset augmentations. |
XNIException |
---|
Notifies of the presence of a TextDecl line in an entity. If present, this method will be called immediately following the startEntity call.
Note: This method is only called for external parameter entities referenced in the DTD.
version | The XML version, or null if not specified. |
---|---|
encoding | The IANA encoding name of the entity. |
augs | Additional information that may include infoset augmentations. |
XNIException |
---|
An unparsed entity declaration.
name | The name of the entity. |
---|---|
identifier | An object containing all location information pertinent to this unparsed entity declaration. |
notation | The name of the notation. |
augmentations | Additional information that may include infoset augmentations. |
XNIException |
---|
Notifies of the presence of an XMLDecl line in the document. If present, this method will be called immediately following the startDocument call.
version | The XML version. |
---|---|
encoding | The IANA encoding name of the document, or null if not specified. |
standalone | The standalone value, or null if not specified. |
augs | Additional information that may include infoset augmentations |
XNIException |
---|
Caches a notation.
name | the name of the notation |
---|---|
identifier | the location of the notation |
augmentations | any Augmentations that were on the original notation declaration |
Caches an unparsed entity.
name | the name of the unparsed entity |
---|---|
identifier | the location of the unparsed entity |
augmentations | any Augmentations that were on the original unparsed entity declaration |
The purpose of this method is to check if a Notation conflicts with a previously declared notation in the current pipeline stack. If there is no conflict, the Notation is sent by the root pipeline.
not | the Notation to check for conflicts |
---|
The purpose of this method is to check if an UnparsedEntity conflicts with a previously declared entity in the current pipeline stack. If there is no conflict, the UnparsedEntity is sent by the root pipeline.
ent | the UnparsedEntity to check for conflicts |
---|
Checks if a Notation with the given name was declared in the DTD of the document for the current pipeline. If so, that Notation is passed to the root pipeline to be checked for conflicts, and sent to the root DTDHandler
notName | the name of the Notation to check |
---|
Checks if an UnparsedEntity with the given name was declared in the DTD of the document for the current pipeline. If so, then the notation for the UnparsedEntity is checked. If that turns out okay, then the UnparsedEntity is passed to the root pipeline to be checked for conflicts, and sent to the root DTDHandler.
entName | the name of the UnparsedEntity to check |
---|
Returns a URI, relative to the include parent's base URI, of the current [base URI]. For instance, if the current [base URI] was "dir1/dir2/file.xml" and the include parent's [base URI] was "dir/", this would return "dir2/file.xml".
URI.MalformedURIException |
---|
Returns whether an <fallback> was encountered at the specified depth, as an ancestor of the current element, or as a sibling of an ancestor of the current element.
Return whether an <include> was encountered at the specified depth, as an ancestor of the current item.
Returns true if the element has the namespace "http://www.w3.org/2001/XInclude"
element | the element to check |
---|
Checks if the element is an <fallback> element. The element must have the XInclude namespace, and a local name of "fallback".
element | the element to check |
---|
Checks if the element is an <include> element. The element must have the XInclude namespace, and a local name of "include".
element | the element to check |
---|
Returns true if the current element is a top level included item. This means it's either the child of a fallback element, or the top level item in an included document
Modify the augmentations. Add an [included] infoset item, if the current element is a top level included item.
augs | the Augmentations to modify. |
---|
Modify the augmentations. Add an [included] infoset item, if force
is true, or if the current element is a top level included item.
augs | the Augmentations to modify. |
---|---|
force | whether to force modification |
Processes the XMLAttributes object of startElement() calls. Performs the following tasks:
Search for a xml:base attribute, and if one is found, put the new base URI into effect.
Search for a xml:lang attribute, and if one is found, put the new [language] into effect.
Discards the URIs at the top of the stack, and restores the ones beneath it.
Returns true if the current [base URI] is the same as the [base URI] that was in effect on the include parent. This method should only be called when the current element is a top level included element, i.e. the direct child of a fallback element, or the root elements in an included document. The "include parent" is the element which, in the result infoset, will be the direct parent of the current element.
Returns true if the current [language] is equivalent to the [language] that was in effect on the include parent, taking case-insensitivity into account as per [RFC 3066]. This method should only be called when the current element is a top level included element, i.e. the direct child of a fallback element, or the root elements in an included document. The "include parent" is the element which, in the result infoset, will be the direct parent of the current element.
Saves the current base URI to the top of the stack.
Saves the given language on the top of the stack.
language | the language to push onto the stack. |
---|
Checks if the file indicated by the given system id has already been included in the current stack.
includedSysId | the system id to check for inclusion |
---|
Set the parent of this XIncludeHandler in the tree
Records that an <fallback> was encountered at the specified depth, as an ancestor of the current element, or as a sibling of an ancestor of the current element.
Records that an <include> was encountered at the specified depth, as an ancestor of the current item.