Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.11


Classes | Public Types | Public Member Functions | Static Public Member Functions | Friends

XercesDocumentWrapper Class Reference

#include <XercesDocumentWrapper.hpp>

Inherits XalanDocument.

Collaboration diagram for XercesDocumentWrapper:
Collaboration graph
[legend]

List of all members.

Classes

Public Types

Public Member Functions

Static Public Member Functions

Friends


Detailed Description

Definition at line 77 of file XercesDocumentWrapper.hpp.


Member Typedef Documentation

Definition at line 274 of file XercesDocumentWrapper.hpp.


Constructor & Destructor Documentation

XercesDocumentWrapper::XercesDocumentWrapper ( MemoryManager &  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.

Parameters:
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]

Member Function Documentation

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.

static XercesDocumentWrapper* XercesDocumentWrapper::create ( MemoryManager &  theManager,
const DOMDocument_Type theXercesDocument,
bool  threadSafe,
bool  buildWrapper,
bool  buildMaps 
) [static]
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).

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 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.

Implements XalanDocument.

virtual XalanElement* XercesDocumentWrapper::getDocumentElement (  )  const [virtual]

Return a reference to the root element of the document.

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.

Parameters:
elementId The unique id value for an element.
Returns:
The matching element.

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 IndexType XercesDocumentWrapper::getIndex (  )  const [virtual]

Get the node's index.

Valid only if isIndexed() reports that the document is node-order indexed.

Returns:
The index value, or 0 if the node is not indexed.

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 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.

bool XercesDocumentWrapper::getMappingMode (  )  const [inline]

Definition at line 358 of file XercesDocumentWrapper.hpp.

MemoryManager& XercesDocumentWrapper::getMemoryManager (  )  const [inline]

Definition at line 115 of file XercesDocumentWrapper.hpp.

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 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 XalanDOMString& XercesDocumentWrapper::getNodeName (  )  const [virtual]

Gets the name of this node, depending on its type.

Implements XalanDocument.

virtual NodeType XercesDocumentWrapper::getNodeType (  )  const [virtual]

An enum value representing the type of the underlying object.

Implements XalanDocument.

virtual const XalanDOMString& XercesDocumentWrapper::getNodeValue (  )  const [virtual]

Gets the value of this node, depending on its type.

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 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.

const XalanDOMString& XercesDocumentWrapper::getPooledString ( const XalanDOMString theString  )  const

Get a pooled string.

If the string is not in the pool, add it.

Parameters:
theString The string to pool.
Returns:
A const reference to the pooled string.
const XalanDOMString& XercesDocumentWrapper::getPooledString ( const XalanDOMChar *  theString,
XalanDOMString::size_type  theLength = XalanDOMString::npos 
) const

Get a pooled string.

If the string is not in the pool, add it.

Parameters:
theString The string to pool.
theLength The length of the string. If XalanDOMString::npos, the string is assumed to be null-terminated.
Returns:
A const reference to the pooled string.
virtual const XalanDOMString& XercesDocumentWrapper::getPrefix (  )  const [virtual]

Get the namespace prefix of this node, or null if it is unspecified.

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.

const DOMDocument_Type* XercesDocumentWrapper::getXercesDocument (  )  const [inline]

Get the Xerces DOMDocument that this XercesDocument represents.

Returns:
the Xerces DOMDocument instance.

Definition at line 261 of file XercesDocumentWrapper.hpp.

virtual bool XercesDocumentWrapper::isIndexed (  )  const [virtual]

Determine if the document is node-order indexed.

Returns:
true if the document is indexed, otherwise false.

Implements XalanDocument.

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.

Parameters:
theXalanNode The Xalan instance to map
Returns:
The pointer to the corresponding XalanNode instance, or 0 if the node could not be mapped.
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.

Parameters:
theXercesNode The Xerces instance to map
Returns:
The pointer to the corresponding XalanNode instance, or 0 if the node could not be mapped.
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.

Parameters:
theXercesNode The Xerces instance to map
Returns:
The pointer to the corresponding XalanNode instance, or 0 if the node could not be mapped.
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.

Parameters:
theXercesNode The Xerces instance to map
Returns:
The pointer to the corresponding XalanNode instance, or 0 if the node could not be mapped.
void XercesDocumentWrapper::rebuildWrapper (  ) 

Rebuild the entire bridge structure that connects the Xerces document to this XercesDocumentWrapper instance.

This destroys the bridge before rebuilding.


Friends And Related Function Documentation

friend class BuildWrapperTreeWalker [friend]

Definition at line 466 of file XercesDocumentWrapper.hpp.

friend class XercesWrapperNavigator [friend]

Definition at line 81 of file XercesDocumentWrapper.hpp.


The documentation for this class was generated from the following file:

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

Xalan-C++ XSLT Processor Version 1.11
Copyright © 1999-2012 The Apache Software Foundation.
All Rights Reserved.

Apache Logo