Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

Public Types | Public Member Functions | Static Public Member Functions | List of all members
XalanSourceTreeDocument Class Reference
Inheritance diagram for XalanSourceTreeDocument:
XalanDocument XalanNode

Public Types

enum  {
  eDefaultAttributeAllocatorBlockSize = 100, eDefaultAttributeNSAllocatorBlockSize = 50, eDefaultCommentAllocatorBlockSize = 10, eDefaultElementAllocatorBlockSize = 100,
  eDefaultElementNSAllocatorBlockSize = 100, eDefaultPIAllocatorBlockSize = 10, eDefaultTextAllocatorBlockSize = 100, eDefaultTextIWSAllocatorBlockSize = 100,
  eDefaultNamesStringPoolBlockSize = XalanDOMStringPool::eDefaultBlockSize, eDefaultNamesStringPoolBucketCount = XalanDOMStringPool::eDefaultBucketCount, eDefaultNamesStringPoolBucketSize = XalanDOMStringPool::eDefaultBucketSize, eDefaultValuesStringPoolBlockSize = XalanDOMStringPool::eDefaultBlockSize,
  eDefaultValuesStringPoolBucketCount = 997, eDefaultValuesStringPoolBucketSize = XalanDOMStringPool::eDefaultBucketSize
}
 
typedef
XalanSourceTreeElementA::AttributesCountType 
AttributesCountType
 
typedef XalanArrayAllocator
< XalanSourceTreeAttr * > 
AttributesArrayAllocatorType
 
typedef XalanMap< const
XalanDOMChar
*, XalanSourceTreeElement * > 
ElementByIDMapType
 
typedef XalanMap
< XalanDOMString,
XalanDOMString
UnparsedEntityURIMapType
 
typedef
XalanSourceTreeAttributeAllocator::size_type 
allocator_size_type
 
typedef
XalanDOMStringPool::block_size_type 
block_size_type
 
typedef
XalanDOMStringPool::bucket_count_type 
bucket_count_type
 
typedef
XalanDOMStringPool::bucket_size_type 
bucket_size_type
 
- Public Types inherited from XalanNode
enum  NodeType {
  UNKNOWN_NODE = 0, ELEMENT_NODE = 1, ATTRIBUTE_NODE = 2, TEXT_NODE = 3,
  CDATA_SECTION_NODE = 4, ENTITY_REFERENCE_NODE = 5, ENTITY_NODE = 6, PROCESSING_INSTRUCTION_NODE = 7,
  COMMENT_NODE = 8, DOCUMENT_NODE = 9, DOCUMENT_TYPE_NODE = 10, DOCUMENT_FRAGMENT_NODE = 11,
  NOTATION_NODE = 12
}
 
typedef unsigned long IndexType
 

Public Member Functions

 XalanSourceTreeDocument (MemoryManagerType &theManager, bool fPoolAllText=s_poolAllTextNodes, block_size_type theNamesStringPoolBlockSize=eDefaultNamesStringPoolBlockSize, bucket_count_type theNamesStringPoolBucketCount=eDefaultNamesStringPoolBucketCount, bucket_size_type theNamesStringPoolBucketSize=eDefaultNamesStringPoolBucketSize, block_size_type theValuesStringPoolBlockSize=eDefaultValuesStringPoolBlockSize, bucket_count_type theValuesStringPoolBucketCount=eDefaultValuesStringPoolBucketCount, bucket_size_type theValuesStringPoolBucketSize=eDefaultValuesStringPoolBucketSize)
 Constructor for XalanSourceTreeDocument. More...
 
 XalanSourceTreeDocument (MemoryManagerType &theManager, allocator_size_type theAttributeBlockSize, allocator_size_type theAttributeNSBlockSize, allocator_size_type theCommentBlockSize, allocator_size_type theElementBlockSize, allocator_size_type theElementNSBlockSize, allocator_size_type thePIBlockSize, allocator_size_type theTextBlockSize, allocator_size_type theTextIWSBlockSize, bool fPoolAllText=s_poolAllTextNodes)
 Constructor for XalanSourceTreeDocument. More...
 
virtual ~XalanSourceTreeDocument ()
 
virtual const XalanDOMStringgetNodeName () const
 
virtual const XalanDOMStringgetNodeValue () const
 Gets the value of this node, depending on its type. More...
 
virtual NodeType getNodeType () const
 An enum value representing the type of the underlying object. More...
 
virtual XalanNodegetParentNode () const
 Gets the parent of this node. More...
 
virtual const XalanNodeListgetChildNodes () const
 Gets a NodeList that contains all children of this node. More...
 
virtual XalanNodegetFirstChild () const
 Gets the first child of this node. More...
 
virtual XalanNodegetLastChild () const
 Gets the last child of this node. More...
 
virtual XalanNodegetPreviousSibling () const
 Gets the node immediately preceding this node. More...
 
virtual XalanNodegetNextSibling () const
 Gets the node immediately following this node. More...
 
virtual const XalanNamedNodeMapgetAttributes () const
 Gets a NamedNodeMap containing the attributes of this node (if it is an Element) or null otherwise. More...
 
virtual XalanDocumentgetOwnerDocument () const
 Gets the Document object associated with this node. More...
 
virtual XalanSourceTreeDocumentcloneNode (bool deep) const
 Returns a duplicate of this node. More...
 
virtual XalanNodeinsertBefore (XalanNode *newChild, XalanNode *refChild)
 Inserts the node newChild before the existing child node refChild. More...
 
virtual XalanNodereplaceChild (XalanNode *newChild, XalanNode *oldChild)
 Replaces the child node oldChild with newChild in the list of children, and returns the oldChild node. More...
 
virtual XalanNoderemoveChild (XalanNode *oldChild)
 Removes the child node indicated by oldChild from the list of children, and returns it. More...
 
virtual XalanNodeappendChild (XalanNode *newChild)
 Adds the node newChild to the end of the list of children of this node. More...
 
virtual bool hasChildNodes () const
 This is a convenience method to allow easy determination of whether a node has any children. More...
 
virtual void setNodeValue (const XalanDOMString &nodeValue)
 Sets the value of the node. More...
 
virtual void normalize ()
 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. More...
 
virtual bool isSupported (const XalanDOMString &feature, const XalanDOMString &version) const
 Tests whether the DOM implementation implements a specific feature and that feature is supported by this node. More...
 
virtual const XalanDOMStringgetNamespaceURI () const
 Get the namespace URI of this node, or null if it is unspecified. More...
 
virtual const XalanDOMStringgetPrefix () const
 Get the namespace prefix of this node, or null if it is unspecified. More...
 
virtual const XalanDOMStringgetLocalName () const
 Returns the local part of the qualified name of this node. More...
 
virtual void setPrefix (const XalanDOMString &prefix)
 Set the namespace prefix of this node. More...
 
virtual bool isIndexed () const
 Determine if the document is node-order indexed. More...
 
virtual IndexType getIndex () const
 Get the node's index. More...
 
virtual XalanElementcreateElement (const XalanDOMString &tagName)
 Creates an element of the type specified. More...
 
virtual XalanDocumentFragmentcreateDocumentFragment ()
 Creates an empty DocumentFragment object. More...
 
virtual XalanTextcreateTextNode (const XalanDOMString &data)
 Creates a Text node given the specified string. More...
 
virtual XalanCommentcreateComment (const XalanDOMString &data)
 Creates a Comment node given the specified string. More...
 
virtual XalanCDATASectioncreateCDATASection (const XalanDOMString &data)
 Creates a CDATASection node whose value is the specified string. More...
 
virtual
XalanProcessingInstruction
createProcessingInstruction (const XalanDOMString &target, const XalanDOMString &data)
 Creates a ProcessingInstruction node given the specified name and data strings. More...
 
virtual XalanAttrcreateAttribute (const XalanDOMString &name)
 Creates an Attr of the given name. More...
 
virtual XalanEntityReferencecreateEntityReference (const XalanDOMString &name)
 Creates an EntityReference object. More...
 
virtual XalanDocumentTypegetDoctype () const
 Get Document Type Declaration (see DocumentType) associated with this document. More...
 
virtual XalanDOMImplementationgetImplementation () const
 Return the DOMImplementation object that handles this document. More...
 
virtual XalanElementgetDocumentElement () const
 Return a reference to the root element of the document. More...
 
virtual XalanNodeListgetElementsByTagName (const XalanDOMString &tagname) const
 Returns a NodeList of all the elements with a given tag name. More...
 
virtual XalanNodeimportNode (XalanNode *importedNode, bool deep)
 Imports a node from another document to this document. More...
 
virtual XalanElementcreateElementNS (const XalanDOMString &namespaceURI, const XalanDOMString &qualifiedName)
 Creates an element of the given qualified name and namespace URI. More...
 
virtual XalanAttrcreateAttributeNS (const XalanDOMString &namespaceURI, const XalanDOMString &qualifiedName)
 Creates an attribute of the given qualified name and namespace URI. More...
 
virtual XalanNodeListgetElementsByTagNameNS (const XalanDOMString &namespaceURI, const XalanDOMString &localName) const
 Returns a NodeList of all the Elements 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. More...
 
virtual XalanElementgetElementById (const XalanDOMString &elementId) const
 Returns the Element whose ID is given by elementId. More...
 
XalanSourceTreeElementcreateElementNode (const XalanDOMChar *name, const AttributeListType &attrs, XalanNode *theParentNode=0, XalanNode *thePreviousSibling=0, XalanNode *theNextSibling=0, bool fAddXMLNamespaceAttribute=false)
 
XalanSourceTreeElementcreateElementNode (const XalanDOMChar *uri, const XalanDOMChar *localname, const XalanDOMChar *qname, const AttributesType &attrs, XalanNode *theParentNode=0, XalanNode *thePreviousSibling=0, XalanNode *theNextSibling=0, bool fAddXMLNamespaceAttribute=false)
 
XalanSourceTreeElementcreateElementNode (const XalanDOMChar *tagName, const AttributeListType &attrs, const PrefixResolver &thePrefixResolver, XalanNode *theParentNode=0, XalanNode *thePreviousSibling=0, XalanNode *theNextSibling=0, bool fAddXMLNamespaceAttribute=false)
 
XalanSourceTreeElementcreateElementNode (const XalanDOMChar *name, const AttributesType &attrs, XalanNode *theParentNode=0, XalanNode *thePreviousSibling=0, XalanNode *theNextSibling=0, bool fAddXMLNamespaceAttribute=false)
 
XalanSourceTreeCommentcreateCommentNode (const XalanDOMChar *data, XalanDOMString::size_type length, XalanNode *theParentNode=0, XalanNode *thePreviousSibling=0, XalanNode *theNextSibling=0)
 
XalanSourceTreeProcessingInstructioncreateProcessingInstructionNode (const XalanDOMChar *target, const XalanDOMChar *data, XalanNode *theParentNode=0, XalanNode *thePreviousSibling=0, XalanNode *theNextSibling=0)
 
XalanSourceTreeTextcreateTextNode (const XalanDOMChar *chars, XalanDOMString::size_type length, XalanNode *theParentNode=0, XalanNode *thePreviousSibling=0, XalanNode *theNextSibling=0)
 
XalanSourceTreeTextcreateTextIWSNode (const XalanDOMChar *chars, XalanDOMString::size_type length, XalanNode *theParentNode=0, XalanNode *thePreviousSibling=0, XalanNode *theNextSibling=0)
 
void unparsedEntityDeclaration (const XalanDOMChar *name, const XalanDOMChar *publicId, const XalanDOMChar *systemId, const XalanDOMChar *notationName)
 
const XalanDOMStringgetUnparsedEntityURI (const XalanDOMString &theName) const
 
void appendChildNode (XalanSourceTreeComment *theChild)
 
void appendChildNode (XalanSourceTreeElement *theChild)
 
void appendChildNode (XalanSourceTreeProcessingInstruction *theChild)
 
- Public Member Functions inherited from XalanDocument
 XalanDocument ()
 
virtual ~XalanDocument ()
 
- Public Member Functions inherited from XalanNode
 XalanNode ()
 
virtual ~XalanNode ()
 

Static Public Member Functions

static void initialize (MemoryManagerType &theManager)
 Perform static initialization. More...
 
static void terminate ()
 Perform static shut down. More...
 
static XalanSourceTreeDocumentcreate (MemoryManagerType &theManager, bool fPoolAllText=s_poolAllTextNodes, block_size_type theNamesStringPoolBlockSize=eDefaultNamesStringPoolBlockSize, bucket_count_type theNamesStringPoolBucketCount=eDefaultNamesStringPoolBucketCount, bucket_size_type theNamesStringPoolBucketSize=eDefaultNamesStringPoolBucketSize, block_size_type theValuesStringPoolBlockSize=eDefaultValuesStringPoolBlockSize, bucket_count_type theValuesStringPoolBucketCount=eDefaultValuesStringPoolBucketCount, bucket_size_type theValuesStringPoolBucketSize=eDefaultValuesStringPoolBucketSize)
 
static bool getPoolAllTextNodes ()
 
static void setPoolAllTextNodes (bool fPool)
 

Additional Inherited Members

- Protected Member Functions inherited from XalanDocument
 XalanDocument (const XalanDocument &theSource)
 
XalanDocumentoperator= (const XalanDocument &theSource)
 
bool operator== (const XalanDocument &theRHS) const
 
- Protected Member Functions inherited from XalanNode
 XalanNode (const XalanNode &theSource)
 
XalanNodeoperator= (const XalanNode &theSource)
 
bool operator== (const XalanNode &theRHS) const
 

Member Typedef Documentation

Member Enumeration Documentation

anonymous enum
Enumerator
eDefaultAttributeAllocatorBlockSize 
eDefaultAttributeNSAllocatorBlockSize 
eDefaultCommentAllocatorBlockSize 
eDefaultElementAllocatorBlockSize 
eDefaultElementNSAllocatorBlockSize 
eDefaultPIAllocatorBlockSize 
eDefaultTextAllocatorBlockSize 
eDefaultTextIWSAllocatorBlockSize 
eDefaultNamesStringPoolBlockSize 
eDefaultNamesStringPoolBucketCount 
eDefaultNamesStringPoolBucketSize 
eDefaultValuesStringPoolBlockSize 
eDefaultValuesStringPoolBucketCount 
eDefaultValuesStringPoolBucketSize 

Constructor & Destructor Documentation

XalanSourceTreeDocument::XalanSourceTreeDocument ( MemoryManagerType theManager,
bool  fPoolAllText = s_poolAllTextNodes,
block_size_type  theNamesStringPoolBlockSize = eDefaultNamesStringPoolBlockSize,
bucket_count_type  theNamesStringPoolBucketCount = eDefaultNamesStringPoolBucketCount,
bucket_size_type  theNamesStringPoolBucketSize = eDefaultNamesStringPoolBucketSize,
block_size_type  theValuesStringPoolBlockSize = eDefaultValuesStringPoolBlockSize,
bucket_count_type  theValuesStringPoolBucketCount = eDefaultValuesStringPoolBucketCount,
bucket_size_type  theValuesStringPoolBucketSize = eDefaultValuesStringPoolBucketSize 
)

Constructor for XalanSourceTreeDocument.

Parameters
fPoolAllTextIf false, text node data that is not whitespace will not be pooled.
theNamesStringPoolBlockSizeThe block size for allocating strings in the name pool
theNamesStringPoolBucketCountThe number of buckets for allocating strings in the name pool
theNamesStringPoolBucketSizeThe bucket size for allocating strings in the name pool
theValuesStringPoolBlockSizeThe block size for allocating strings in the values pool
theValuesStringPoolBucketCountThe number of buckets for allocating strings in the values pool
theValuesStringPoolBucketSizeThe bucket size for allocating strings in the values pool
XalanSourceTreeDocument::XalanSourceTreeDocument ( MemoryManagerType theManager,
allocator_size_type  theAttributeBlockSize,
allocator_size_type  theAttributeNSBlockSize,
allocator_size_type  theCommentBlockSize,
allocator_size_type  theElementBlockSize,
allocator_size_type  theElementNSBlockSize,
allocator_size_type  thePIBlockSize,
allocator_size_type  theTextBlockSize,
allocator_size_type  theTextIWSBlockSize,
bool  fPoolAllText = s_poolAllTextNodes 
)

Constructor for XalanSourceTreeDocument.

Parameters
theAttributeBlockSizeThe block size for allocating attribute nodes
theAttributeNSBlockSizeThe block size for allocating attribute NS nodes
theCommentBlockSizeThe block size for allocating comment nodes
theElementBlockSizeThe block size for allocating element nodes
theElementNSBlockSizeThe block size for allocating element nodes
theTextBlockSizeThe block size for allocating text nodes,
theTextIWSBlockSizeThe block size for allocating text IWS nodes,
fPoolAllTextIf false, text node data that is not whitespace will not be pooled.
virtual XalanSourceTreeDocument::~XalanSourceTreeDocument ( )
virtual

Member Function Documentation

virtual XalanNode* XalanSourceTreeDocument::appendChild ( XalanNode newChild)
virtual

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.

Parameters
newChildThe 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
Returns
The node added.

Implements XalanDocument.

void XalanSourceTreeDocument::appendChildNode ( XalanSourceTreeComment theChild)
void XalanSourceTreeDocument::appendChildNode ( XalanSourceTreeElement theChild)
void XalanSourceTreeDocument::appendChildNode ( XalanSourceTreeProcessingInstruction theChild)
virtual XalanSourceTreeDocument* XalanSourceTreeDocument::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.

Parameters
deepIf true, recursively clone the subtree under the specified node; if false, clone only the node itself (and its attributes, if it is an Element).
Returns
The duplicate node.

Implements XalanDocument.

static XalanSourceTreeDocument* XalanSourceTreeDocument::create ( MemoryManagerType theManager,
bool  fPoolAllText = s_poolAllTextNodes,
block_size_type  theNamesStringPoolBlockSize = eDefaultNamesStringPoolBlockSize,
bucket_count_type  theNamesStringPoolBucketCount = eDefaultNamesStringPoolBucketCount,
bucket_size_type  theNamesStringPoolBucketSize = eDefaultNamesStringPoolBucketSize,
block_size_type  theValuesStringPoolBlockSize = eDefaultValuesStringPoolBlockSize,
bucket_count_type  theValuesStringPoolBucketCount = eDefaultValuesStringPoolBucketCount,
bucket_size_type  theValuesStringPoolBucketSize = eDefaultValuesStringPoolBucketSize 
)
static
virtual XalanAttr* XalanSourceTreeDocument::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.

Parameters
nameThe name of the attribute.
Returns
A new Attr object with the nodeName attribute set to name, and localName, prefix, and namespaceURI set to null.
Exceptions
DOMExceptionINVALID_CHARACTER_ERR: Raised if the specified name contains an illegal character.

Implements XalanDocument.

virtual XalanAttr* XalanSourceTreeDocument::createAttributeNS ( const XalanDOMString namespaceURI,
const XalanDOMString qualifiedName 
)
virtual

Creates an attribute of the given qualified name and namespace URI.

"Experimental - subject to change"

Parameters
namespaceURIThe namespace URI of the attribute to create.
qualifiedNameThe qualified name of the attribute to instantiate.
Returns
A new Attr object.
Exceptions
DOMExceptionINVALID_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 XalanCDATASection* XalanSourceTreeDocument::createCDATASection ( const XalanDOMString data)
virtual

Creates a CDATASection node whose value is the specified string.

Parameters
dataThe data for the CDATASection contents.
Returns
A CDATASection object.
Exceptions
DOMExceptionNOT_SUPPORTED_ERR: Raised if this document is an HTML document.

Implements XalanDocument.

virtual XalanComment* XalanSourceTreeDocument::createComment ( const XalanDOMString data)
virtual

Creates a Comment node given the specified string.

Parameters
dataThe data for the comment.
Returns
A Comment that references the newly created comment node.

Implements XalanDocument.

XalanSourceTreeComment* XalanSourceTreeDocument::createCommentNode ( const XalanDOMChar *  data,
XalanDOMString::size_type  length,
XalanNode theParentNode = 0,
XalanNode thePreviousSibling = 0,
XalanNode theNextSibling = 0 
)
virtual XalanDocumentFragment* XalanSourceTreeDocument::createDocumentFragment ( )
virtual

Creates an empty DocumentFragment object.

Returns
A DocumentFragment that references the newly created document fragment.

Implements XalanDocument.

virtual XalanElement* XalanSourceTreeDocument::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.

Parameters
tagNameThe name of the element type to instantiate.
Returns
A Element that reference the new element.

Implements XalanDocument.

XalanSourceTreeElement* XalanSourceTreeDocument::createElementNode ( const XalanDOMChar *  name,
const AttributeListType attrs,
XalanNode theParentNode = 0,
XalanNode thePreviousSibling = 0,
XalanNode theNextSibling = 0,
bool  fAddXMLNamespaceAttribute = false 
)
XalanSourceTreeElement* XalanSourceTreeDocument::createElementNode ( const XalanDOMChar *  uri,
const XalanDOMChar *  localname,
const XalanDOMChar *  qname,
const AttributesType attrs,
XalanNode theParentNode = 0,
XalanNode thePreviousSibling = 0,
XalanNode theNextSibling = 0,
bool  fAddXMLNamespaceAttribute = false 
)
XalanSourceTreeElement* XalanSourceTreeDocument::createElementNode ( const XalanDOMChar *  tagName,
const AttributeListType attrs,
const PrefixResolver thePrefixResolver,
XalanNode theParentNode = 0,
XalanNode thePreviousSibling = 0,
XalanNode theNextSibling = 0,
bool  fAddXMLNamespaceAttribute = false 
)
XalanSourceTreeElement* XalanSourceTreeDocument::createElementNode ( const XalanDOMChar *  name,
const AttributesType attrs,
XalanNode theParentNode = 0,
XalanNode thePreviousSibling = 0,
XalanNode theNextSibling = 0,
bool  fAddXMLNamespaceAttribute = false 
)
virtual XalanElement* XalanSourceTreeDocument::createElementNS ( const XalanDOMString namespaceURI,
const XalanDOMString qualifiedName 
)
virtual

Creates an element of the given qualified name and namespace URI.

"Experimental - subject to change"

Parameters
namespaceURIThe namespace URI of the element to create.
qualifiedNameThe qualified name of the element type to instantiate.
Returns
A new Element object.
Exceptions
DOMExceptionINVALID_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 XalanEntityReference* XalanSourceTreeDocument::createEntityReference ( const XalanDOMString name)
virtual

Creates an EntityReference object.

Parameters
nameThe name of the entity to reference.
Returns
A EntityReference that references the newly created EntityReference node.
Exceptions
DOMExceptionINVALID_CHARACTER_ERR: Raised if the specified name contains an illegal character.

Implements XalanDocument.

virtual XalanProcessingInstruction* XalanSourceTreeDocument::createProcessingInstruction ( const XalanDOMString target,
const XalanDOMString data 
)
virtual

Creates a ProcessingInstruction node given the specified name and data strings.

Parameters
targetThe target part of the processing instruction.
dataThe data for the node.
Returns
A ProcessingInstruction that references the newly created PI node.
Exceptions
DOMExceptionINVALID_CHARACTER_ERR: Raised if an illegal character is specified.

Implements XalanDocument.

XalanSourceTreeProcessingInstruction* XalanSourceTreeDocument::createProcessingInstructionNode ( const XalanDOMChar *  target,
const XalanDOMChar *  data,
XalanNode theParentNode = 0,
XalanNode thePreviousSibling = 0,
XalanNode theNextSibling = 0 
)
XalanSourceTreeText* XalanSourceTreeDocument::createTextIWSNode ( const XalanDOMChar *  chars,
XalanDOMString::size_type  length,
XalanNode theParentNode = 0,
XalanNode thePreviousSibling = 0,
XalanNode theNextSibling = 0 
)
virtual XalanText* XalanSourceTreeDocument::createTextNode ( const XalanDOMString data)
virtual

Creates a Text node given the specified string.

Parameters
dataThe data for the node.
Returns
A Text object that references the newly created text node.

Implements XalanDocument.

XalanSourceTreeText* XalanSourceTreeDocument::createTextNode ( const XalanDOMChar *  chars,
XalanDOMString::size_type  length,
XalanNode theParentNode = 0,
XalanNode thePreviousSibling = 0,
XalanNode theNextSibling = 0 
)
virtual const XalanNamedNodeMap* XalanSourceTreeDocument::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* XalanSourceTreeDocument::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 XalanDocumentType* XalanSourceTreeDocument::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 XalanElement* XalanSourceTreeDocument::getDocumentElement ( ) const
virtual

Return a reference to the root element of the document.

Implements XalanDocument.

virtual XalanElement* XalanSourceTreeDocument::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"

Parameters
elementIdThe unique id value for an element.
Returns
The matching element.

Implements XalanDocument.

virtual XalanNodeList* XalanSourceTreeDocument::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.

Parameters
tagnameThe name of the tag to match on. The special value "*" matches all tags.
Returns
A reference to a NodeList containing all the matched Elements.

Implements XalanDocument.

virtual XalanNodeList* XalanSourceTreeDocument::getElementsByTagNameNS ( const XalanDOMString namespaceURI,
const XalanDOMString localName 
) const
virtual

Returns a NodeList of all the Elements 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"

Parameters
namespaceURIThe namespace URI of the elements to match on. The special value "*" matches all namespaces.
localNameThe local name of the elements to match on. The special value "*" matches all local names.
Returns
A new NodeList object containing all the matched Elements.

Implements XalanDocument.

virtual XalanNode* XalanSourceTreeDocument::getFirstChild ( ) const
virtual

Gets the first child of this node.

If there is no such node, this returns null.

Implements XalanDocument.

virtual XalanDOMImplementation* XalanSourceTreeDocument::getImplementation ( ) const
virtual

Return the DOMImplementation object that handles this document.

Implements XalanDocument.

virtual IndexType XalanSourceTreeDocument::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* XalanSourceTreeDocument::getLastChild ( ) const
virtual

Gets the last child of this node.

If there is no such node, this returns null.

Implements XalanDocument.

virtual const XalanDOMString& XalanSourceTreeDocument::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 const XalanDOMString& XalanSourceTreeDocument::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* XalanSourceTreeDocument::getNextSibling ( ) const
virtual

Gets the node immediately following this node.

If there is no such node, this returns null.

Implements XalanDocument.

virtual const XalanDOMString& XalanSourceTreeDocument::getNodeName ( ) const
virtual

Implements XalanDocument.

virtual NodeType XalanSourceTreeDocument::getNodeType ( ) const
virtual

An enum value representing the type of the underlying object.

Implements XalanDocument.

virtual const XalanDOMString& XalanSourceTreeDocument::getNodeValue ( ) const
virtual

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

Implements XalanDocument.

virtual XalanDocument* XalanSourceTreeDocument::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* XalanSourceTreeDocument::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.

static bool XalanSourceTreeDocument::getPoolAllTextNodes ( )
static
virtual const XalanDOMString& XalanSourceTreeDocument::getPrefix ( ) const
virtual

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

Implements XalanDocument.

virtual XalanNode* XalanSourceTreeDocument::getPreviousSibling ( ) const
virtual

Gets the node immediately preceding this node.

If there is no such node, this returns null.

Implements XalanDocument.

const XalanDOMString& XalanSourceTreeDocument::getUnparsedEntityURI ( const XalanDOMString theName) const
virtual bool XalanSourceTreeDocument::hasChildNodes ( ) const
virtual

This is a convenience method to allow easy determination of whether a node has any children.

Returns
true if the node has any children, false if the node has no children.

Implements XalanDocument.

virtual XalanNode* XalanSourceTreeDocument::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"

Parameters
importedNodeThe node to import.
deepIf 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.
Returns
The imported node that belongs to this Document.
Exceptions
DOMExceptionNOT_SUPPORTED_ERR: Raised if the type of node being imported is not supported.

Implements XalanDocument.

static void XalanSourceTreeDocument::initialize ( MemoryManagerType theManager)
static

Perform static initialization.

See class XalanSourceTreeInit.

virtual XalanNode* XalanSourceTreeDocument::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.

Parameters
newChildThe node to insert.
refChildThe reference node, i.e., the node before which the new node must be inserted.
Returns
The node being inserted.

Implements XalanDocument.

virtual bool XalanSourceTreeDocument::isIndexed ( ) const
virtual

Determine if the document is node-order indexed.

Returns
true if the document is indexed, otherwise false.

Implements XalanDocument.

virtual bool XalanSourceTreeDocument::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.

Parameters
featureThe string of the feature to test. This is the same name as what can be passed to the method hasFeature on DOMImplementation.
versionThis 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.
Returns
Returns true if the specified feature is supported on this node, false otherwise.

Implements XalanDocument.

virtual void XalanSourceTreeDocument::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 XalanNode* XalanSourceTreeDocument::removeChild ( XalanNode oldChild)
virtual

Removes the child node indicated by oldChild from the list of children, and returns it.

Parameters
oldChildThe node being removed.
Returns
The node removed.

Implements XalanDocument.

virtual XalanNode* XalanSourceTreeDocument::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.

Parameters
newChildThe new node to put in the child list.
oldChildThe node being replaced in the list.
Returns
The node replaced.

Implements XalanDocument.

virtual void XalanSourceTreeDocument::setNodeValue ( const XalanDOMString nodeValue)
virtual

Sets the value of the node.

Any node which can have a nodeValue (

See also
getNodeValue) will also accept requests to set it to a string. The exact response to this varies from node to node – Attribute, for example, stores its values in its children and has to replace them with a new Text holding the replacement value.

For most types of Node, value is null and attempting to set it will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will also be thrown if the node is read-only.

Implements XalanDocument.

static void XalanSourceTreeDocument::setPoolAllTextNodes ( bool  fPool)
static
virtual void XalanSourceTreeDocument::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.

Parameters
prefixThe prefix of this node.
Exceptions
DOMExceptionINVALID_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.

static void XalanSourceTreeDocument::terminate ( )
static

Perform static shut down.

See class XalanSourceTreeInit.

void XalanSourceTreeDocument::unparsedEntityDeclaration ( const XalanDOMChar *  name,
const XalanDOMChar *  publicId,
const XalanDOMChar *  systemId,
const XalanDOMChar *  notationName 
)

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.

dot

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

Apache Logo