Inheritance diagram for XercesDocumentWrapper:
XercesDocumentWrapper::XercesDocumentWrapper | ( | MemoryManagerType & | theManager, | |
const DOMDocument_Type * | theXercesDocument, | |||
bool | threadSafe = true , |
|||
bool | buildWrapper = true , |
|||
bool | buildMaps = false | |||
) |
Constructor for XercesDocumentWrapper.
If the document will be shared amongst multiple threads of execution, the parameter buildWrapper must be true. Otherwise, the bridge nodes will be built on demand, a process which is not synchronized. This could cause serious problems if multiple threads tried to visit an unbuilt node at the same time.
theXercesDocument | The Xerces document to bridge | |
threadSafe | If true, the tree can safely be shared amongst multiple threads. (Also implies buildWrapper == true) | |
buildWrapper | If true, all of the bridge nodes will be built during construction. | |
buildMaps | If true, a map of Xerces to Xalan nodes will be built, even if the bridge is built |
virtual XercesDocumentWrapper::~XercesDocumentWrapper | ( | ) | [virtual] |
static XercesDocumentWrapper* XercesDocumentWrapper::create | ( | MemoryManagerType & | theManager, | |
const DOMDocument_Type * | theXercesDocument, | |||
bool | threadSafe, | |||
bool | buildWrapper, | |||
bool | buildMaps | |||
) | [static] |
MemoryManagerType& XercesDocumentWrapper::getMemoryManager | ( | ) | const |
virtual const XalanDOMString& XercesDocumentWrapper::getNodeName | ( | ) | const [virtual] |
Implements XalanDocument.
virtual const XalanDOMString& XercesDocumentWrapper::getNodeValue | ( | ) | const [virtual] |
virtual NodeType XercesDocumentWrapper::getNodeType | ( | ) | const [virtual] |
virtual XalanNode* XercesDocumentWrapper::getParentNode | ( | ) | const [virtual] |
Gets the parent of this node.
All nodes, except Document
, DocumentFragment
, and Attr
may have a parent. However, if a node has just been created and not yet added to the tree, or if it has been removed from the tree, a null
Node is returned.
Implements XalanDocument.
virtual const XalanNodeList* XercesDocumentWrapper::getChildNodes | ( | ) | const [virtual] |
Gets a NodeList
that contains all children of this node.
If there are no children, this is a NodeList
containing no nodes. The content of the returned NodeList
is "live" in the sense that, for instance, changes to the children of the node object that it was created from are immediately reflected in the nodes returned by the NodeList
accessors; it is not a static snapshot of the content of the node. This is true for every NodeList
, including the ones returned by the getElementsByTagName
method.
Implements XalanDocument.
virtual XalanNode* XercesDocumentWrapper::getFirstChild | ( | ) | const [virtual] |
Gets the first child of this node.
If there is no such node, this returns null
.
Implements XalanDocument.
virtual XalanNode* XercesDocumentWrapper::getLastChild | ( | ) | const [virtual] |
Gets the last child of this node.
If there is no such node, this returns null
.
Implements XalanDocument.
virtual XalanNode* XercesDocumentWrapper::getPreviousSibling | ( | ) | const [virtual] |
Gets the node immediately preceding this node.
If there is no such node, this returns null
.
Implements XalanDocument.
virtual XalanNode* XercesDocumentWrapper::getNextSibling | ( | ) | const [virtual] |
Gets the node immediately following this node.
If there is no such node, this returns null
.
Implements XalanDocument.
virtual const XalanNamedNodeMap* XercesDocumentWrapper::getAttributes | ( | ) | const [virtual] |
Gets a NamedNodeMap
containing the attributes of this node (if it is an Element
) or null
otherwise.
Implements XalanDocument.
virtual XalanDocument* XercesDocumentWrapper::getOwnerDocument | ( | ) | const [virtual] |
Gets the Document
object associated with this node.
This is also the Document
object used to create new nodes. When this node is a Document
or a DocumentType
which is not used with any Document
yet, this is null
.
Implements XalanDocument.
virtual XercesDocumentWrapper* XercesDocumentWrapper::cloneNode | ( | bool | deep | ) | const [virtual] |
Returns a duplicate of this node.
This function serves as a generic copy constructor for nodes.
The duplicate node has no parent ( parentNode
returns null
.).
Cloning an Element
copies all attributes and their values, including those generated by the XML processor to represent defaulted attributes, but this method does not copy any text it contains unless it is a deep clone, since the text is contained in a child Text
node. Cloning any other type of node simply returns a copy of this node.
deep | If true , recursively clone the subtree under the specified node; if false , clone only the node itself (and its attributes, if it is an Element ). |
Implements XalanDocument.
virtual XalanNode* XercesDocumentWrapper::insertBefore | ( | XalanNode * | newChild, | |
XalanNode * | refChild | |||
) | [virtual] |
Inserts the node newChild
before the existing child node refChild
.
If refChild
is null
, insert newChild
at the end of the list of children.
If newChild
is a DocumentFragment
object, all of its children are inserted, in the same order, before refChild
. If the newChild
is already in the tree, it is first removed. Note that a Node
that has never been assigned to refer to an actual node is == null.
newChild | The node to insert. | |
refChild | The reference node, i.e., the node before which the new node must be inserted. |
Implements XalanDocument.
virtual XalanNode* XercesDocumentWrapper::replaceChild | ( | XalanNode * | newChild, | |
XalanNode * | oldChild | |||
) | [virtual] |
Replaces the child node oldChild
with newChild
in the list of children, and returns the oldChild
node.
If newChild
is a DocumentFragment
object, oldChild
is replaced by all of the DocumentFragment
children, which are inserted in the same order.
If the newChild
is already in the tree, it is first removed.
newChild | The new node to put in the child list. | |
oldChild | The node being replaced in the list. |
Implements XalanDocument.
Removes the child node indicated by oldChild
from the list of children, and returns it.
oldChild | The node being removed. |
Implements XalanDocument.
Adds the node newChild
to the end of the list of children of this node.
If the newChild
is already in the tree, it is first removed.
newChild | The node to add.If it is a DocumentFragment object, the entire contents of the document fragment are moved into the child list of this node |
Implements XalanDocument.
virtual bool XercesDocumentWrapper::hasChildNodes | ( | ) | const [virtual] |
This is a convenience method to allow easy determination of whether a node has any children.
true
if the node has any children, false
if the node has no children. Implements XalanDocument.
virtual void XercesDocumentWrapper::setNodeValue | ( | const XalanDOMString & | nodeValue | ) | [virtual] |
Sets the value of the node.
Any node which can have a nodeValue (
Implements XalanDocument.
virtual void XercesDocumentWrapper::normalize | ( | ) | [virtual] |
Puts all Text
nodes in the full depth of the sub-tree underneath this Node
, including attribute nodes, into a "normal" form where only markup (e.g., tags, comments, processing instructions, CDATA sections, and entity references) separates Text
nodes, i.e., there are no adjacent Text
nodes.
This can be used to ensure that the DOM view of a document is the same as if it were saved and re-loaded, and is useful when operations (such as XPointer lookups) that depend on a particular document tree structure are to be used.
Note: In cases where the document contains CDATASections
, the normalize operation alone may not be sufficient, since XPointers do not differentiate between Text
nodes and CDATASection
nodes.
Implements XalanDocument.
virtual bool XercesDocumentWrapper::isSupported | ( | const XalanDOMString & | feature, | |
const XalanDOMString & | version | |||
) | const [virtual] |
Tests whether the DOM implementation implements a specific feature and that feature is supported by this node.
feature | The string of the feature to test. This is the same name as what can be passed to the method hasFeature on DOMImplementation . | |
version | This is the version number of the feature to test. In Level 2, version 1, this is the string "2.0". If the version is not specified, supporting any version of the feature will cause the method to return true . |
true
if the specified feature is supported on this node, false
otherwise. Implements XalanDocument.
virtual const XalanDOMString& XercesDocumentWrapper::getNamespaceURI | ( | ) | const [virtual] |
Get the namespace URI of this node, or null
if it is unspecified.
This is not a computed value that is the result of a namespace lookup based on an examination of the namespace declarations in scope. It is merely the namespace URI given at creation time.
For nodes of any type other than ELEMENT_NODE
and ATTRIBUTE_NODE
and nodes created with a DOM Level 1 method, such as createElement
from the Document
interface, this is always null
.
Implements XalanDocument.
virtual const XalanDOMString& XercesDocumentWrapper::getPrefix | ( | ) | const [virtual] |
virtual const XalanDOMString& XercesDocumentWrapper::getLocalName | ( | ) | const [virtual] |
Returns the local part of the qualified name of this node.
For nodes created with a DOM Level 1 method, such as createElement
from the Document
interface, it is null.
Implements XalanDocument.
virtual void XercesDocumentWrapper::setPrefix | ( | const XalanDOMString & | prefix | ) | [virtual] |
Set the namespace prefix of this node.
Note that setting this attribute, when permitted, changes the nodeName
attribute, which holds the qualified name, as well as the tagName
and name
attributes of the Element
and Attr
interfaces, when applicable.
Note also that changing the prefix of an attribute, that is known to have a default value, does not make a new attribute with the default value and the original prefix appear, since the namespaceURI
and localName
do not change.
prefix | The prefix of this node. |
DOMException | INVALID_CHARACTER_ERR: Raised if the specified prefix contains an illegal character. NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. NAMESPACE_ERR: Raised if the specified prefix is malformed, if the specified prefix is "xml" and the namespaceURI of this node is different from "http://www.w3.org/XML/1998/namespace", if specified prefix is "xmlns" and the namespaceURI is neither null nor an empty string, or if the localName is null . |
Implements XalanDocument.
virtual bool XercesDocumentWrapper::isIndexed | ( | ) | const [virtual] |
Determine if the document is node-order indexed.
Implements XalanDocument.
virtual IndexType XercesDocumentWrapper::getIndex | ( | ) | const [virtual] |
Get the node's index.
Valid only if isIndexed() reports that the document is node-order indexed.
Implements XalanDocument.
virtual XalanElement* XercesDocumentWrapper::createElement | ( | const XalanDOMString & | tagName | ) | [virtual] |
Creates an element of the type specified.
Note that the instance returned implements the Element interface, so attributes can be specified directly on the returned object.
tagName | The name of the element type to instantiate. |
Element
that reference the new element. Implements XalanDocument.
virtual XalanDocumentFragment* XercesDocumentWrapper::createDocumentFragment | ( | ) | [virtual] |
Creates an empty DocumentFragment object.
DocumentFragment
that references the newly created document fragment. Implements XalanDocument.
virtual XalanText* XercesDocumentWrapper::createTextNode | ( | const XalanDOMString & | data | ) | [virtual] |
Creates a Text node given the specified string.
data | The data for the node. |
Text
object that references the newly created text node. Implements XalanDocument.
virtual XalanComment* XercesDocumentWrapper::createComment | ( | const XalanDOMString & | data | ) | [virtual] |
Creates a Comment node given the specified string.
data | The data for the comment. |
Comment
that references the newly created comment node. Implements XalanDocument.
virtual XalanCDATASection* XercesDocumentWrapper::createCDATASection | ( | const XalanDOMString & | data | ) | [virtual] |
Creates a CDATASection node whose value is the specified string.
data | The data for the CDATASection contents. |
CDATASection
object. DOMException | NOT_SUPPORTED_ERR: Raised if this document is an HTML document. |
Implements XalanDocument.
virtual XalanProcessingInstruction* XercesDocumentWrapper::createProcessingInstruction | ( | const XalanDOMString & | target, | |
const XalanDOMString & | data | |||
) | [virtual] |
Creates a ProcessingInstruction node given the specified name and data strings.
target | The target part of the processing instruction. | |
data | The data for the node. |
ProcessingInstruction
that references the newly created PI node. DOMException | INVALID_CHARACTER_ERR: Raised if an illegal character is specified. |
Implements XalanDocument.
virtual XalanAttr* XercesDocumentWrapper::createAttribute | ( | const XalanDOMString & | name | ) | [virtual] |
Creates an Attr of the given name.
Note that the Attr
instance can then be attached to an Element using the DOMElement::setAttribute()
method.
name | The name of the attribute. |
Attr
object with the nodeName
attribute set to name
, and localName
, prefix
, and namespaceURI
set to null
. DOMException | INVALID_CHARACTER_ERR: Raised if the specified name contains an illegal character. |
Implements XalanDocument.
virtual XalanEntityReference* XercesDocumentWrapper::createEntityReference | ( | const XalanDOMString & | name | ) | [virtual] |
Creates an EntityReference object.
name | The name of the entity to reference. |
EntityReference
that references the newly created EntityReference node. DOMException | INVALID_CHARACTER_ERR: Raised if the specified name contains an illegal character. |
Implements XalanDocument.
virtual XalanDocumentType* XercesDocumentWrapper::getDoctype | ( | ) | const [virtual] |
Get Document Type Declaration (see DocumentType
) associated with this document.
For documents without a document type declaration this returns null
reference object. The DOM Level 1 does not support editing the Document Type Declaration, therefore docType
cannot be altered in any way.
Implements XalanDocument.
virtual XalanDOMImplementation* XercesDocumentWrapper::getImplementation | ( | ) | const [virtual] |
virtual XalanElement* XercesDocumentWrapper::getDocumentElement | ( | ) | const [virtual] |
virtual XalanNodeList* XercesDocumentWrapper::getElementsByTagName | ( | const XalanDOMString & | tagname | ) | const [virtual] |
Returns a NodeList
of all the elements with a given tag name.
The returned node list is "live", in that changes to the document tree made after a nodelist was initially returned will be immediately reflected in the node list.
The elements in the node list are ordered in the same order in which they would be encountered in a preorder traversal of the Document
tree.
tagname | The name of the tag to match on. The special value "*" matches all tags. |
Element
s. Implements XalanDocument.
virtual XalanNode* XercesDocumentWrapper::importNode | ( | XalanNode * | importedNode, | |
bool | deep | |||
) | [virtual] |
Imports a node from another document to this document.
The returned node has no parent (parentNode
is null
). The source node is not altered or removed from the original document; this method creates a new copy of the source node.
For all nodes, importing a node creates a node object owned by the importing document, with attribute values identical to the source node's nodeName
and nodeType
, plus the attributes related to namespaces (prefix and namespaces URI).
"Experimental - subject to change"
importedNode | The node to import. | |
deep | If true , recursively import the subtree under the specified node; if false , import only the node itself, as explained above. This does not apply to Attr , EntityReference , and Notation nodes. |
Document
. DOMException | NOT_SUPPORTED_ERR: Raised if the type of node being imported is not supported. |
Implements XalanDocument.
virtual XalanElement* XercesDocumentWrapper::createElementNS | ( | const XalanDOMString & | namespaceURI, | |
const XalanDOMString & | qualifiedName | |||
) | [virtual] |
Creates an element of the given qualified name and namespace URI.
"Experimental - subject to change"
namespaceURI | The namespace URI of the element to create. | |
qualifiedName | The qualified name of the element type to instantiate. |
Element
object. DOMException | INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an illegal character. NAMESPACE_ERR: Raised if the qualifiedName is malformed, if the qualifiedName has a prefix and the namespaceURI is null or an empty string, or if the qualifiedName has a prefix that is "xml" and the namespaceURI is different from "http://www.w3.org/XML/1998/namespace". |
Implements XalanDocument.
virtual XalanAttr* XercesDocumentWrapper::createAttributeNS | ( | const XalanDOMString & | namespaceURI, | |
const XalanDOMString & | qualifiedName | |||
) | [virtual] |
Creates an attribute of the given qualified name and namespace URI.
"Experimental - subject to change"
namespaceURI | The namespace URI of the attribute to create. | |
qualifiedName | The qualified name of the attribute to instantiate. |
Attr
object. DOMException | INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an illegal character. NAMESPACE_ERR: Raised if the qualifiedName is malformed, if the qualifiedName has a prefix and the namespaceURI is null or an empty string, if the qualifiedName has a prefix that is "xml" and the namespaceURI is different from "http://www.w3.org/XML/1998/namespace", if the qualifiedName has a prefix that is "xmlns" and the namespaceURI is different from "http://www.w3.org/2000/xmlns/", or if the qualifiedName is "xmlns" and the namespaceURI is different from "http://www.w3.org/2000/xmlns/". |
Implements XalanDocument.
virtual XalanNodeList* XercesDocumentWrapper::getElementsByTagNameNS | ( | const XalanDOMString & | namespaceURI, | |
const XalanDOMString & | localName | |||
) | const [virtual] |
Returns a NodeList
of all the Element
s with a given local name and namespace URI in the order in which they would be encountered in a preorder traversal of the Document
tree.
"Experimental - subject to change"
namespaceURI | The namespace URI of the elements to match on. The special value "*" matches all namespaces. | |
localName | The local name of the elements to match on. The special value "*" matches all local names. |
NodeList
object containing all the matched Element
s. Implements XalanDocument.
virtual XalanElement* XercesDocumentWrapper::getElementById | ( | const XalanDOMString & | elementId | ) | const [virtual] |
Returns the Element
whose ID is given by elementId
.
If no such element exists, returns null
. Behavior is not defined if more than one element has this ID
.
Note: The DOM implementation must have information that says which attributes are of type ID. Attributes with the name "ID" are not of type ID unless so defined. Implementations that do not know whether attributes are of type ID or not are expected to return null
.
"Experimental - subject to change"
elementId | The unique id value for an element. |
Implements XalanDocument.
void XercesDocumentWrapper::destroyWrapper | ( | ) |
Destroy the entire bridge structure that connects the Xerces document to this XercesDocumentWrapper instance.
This will invalidate any pointers to any nodes in the document (except, of course, the document itself).
void XercesDocumentWrapper::rebuildWrapper | ( | ) |
Rebuild the entire bridge structure that connects the Xerces document to this XercesDocumentWrapper instance.
This destroys the bridge before rebuilding.
XalanNode* XercesDocumentWrapper::mapNode | ( | const DOMNodeType * | theXercesNode | ) | const |
Map a Xerces node to the corresponding wrapper node.
If the constructor for the instance was called with the threadSafe or buildWrapper parameter equal to true, this call will fail.
theXercesNode | The Xerces instance to map |
XalanAttr* XercesDocumentWrapper::mapNode | ( | const DOMAttrType * | theXercesNode | ) | const |
Map a Xerces node to the corresponding wrapper node.
If the constructor for the instance was called with the threadSafe or buildWrapper parameter equal to true, this call will fail.
theXercesNode | The Xerces instance to map |
XalanElement* XercesDocumentWrapper::mapNode | ( | const DOMElementType * | theXercesNode | ) | const |
Map a Xerces node to the corresponding wrapper node.
If the constructor for the instance was called with the threadSafe or buildWrapper parameter equal to true, this call will fail.
theXercesNode | The Xerces instance to map |
const DOMNodeType* XercesDocumentWrapper::mapNode | ( | XalanNode * | theXalanNode | ) | const |
Map a XalanNode to the corresponding Xerces node.
If the node not owned by this document, the function will throw XalanDOMException with the code WRONG_DOCUMENT_ERR.
theXalanNode | The Xalan instance to map |
const DOMDocument_Type* XercesDocumentWrapper::getXercesDocument | ( | ) | const |
Get the Xerces DOMDocument that this XercesDocument represents.
void XercesDocumentWrapper::buildWrapperNodes | ( | ) |
Build the entire bridge structure.
This should be done before any processing begins, if the tree will be shared amongst multiple threads.
const XalanDOMString& XercesDocumentWrapper::getPooledString | ( | const XalanDOMString & | theString | ) | const |
Get a pooled string.
If the string is not in the pool, add it.
theString | The string to pool. |
const XalanDOMString& XercesDocumentWrapper::getPooledString | ( | const XalanDOMChar * | theString, | |
XalanDOMString::size_type | theLength | |||
) | const |
Get a pooled string.
If the string is not in the pool, add it.
theString | The string to pool. | |
theLength | The length of the string. If XalanDOMString::npos, the string is assumed to be null-terminated. |
bool XercesDocumentWrapper::getMappingMode | ( | ) | const |
friend class XercesWrapperNavigator [friend] |
friend class BuildWrapperTreeWalker [friend] |
The documentation for this class was generated from the following file:
Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.
![]() |
Xalan-C++ XSLT Processor Version 1.10 |
|