18 #if !defined(XALANSOURCETREEDOCUMENT_HEADER_GUARD_1357924680) 19 #define XALANSOURCETREEDOCUMENT_HEADER_GUARD_1357924680 56 XALAN_DECLARE_XERCES_CLASS(Attributes)
57 XALAN_DECLARE_XERCES_CLASS(AttributeList)
61 XALAN_CPP_NAMESPACE_BEGIN
94 initialize(MemoryManager& theManager);
103 enum { eDefaultAttributeAllocatorBlockSize = 100,
104 eDefaultAttributeNSAllocatorBlockSize = 50,
105 eDefaultCommentAllocatorBlockSize = 10,
106 eDefaultElementAllocatorBlockSize = 100,
107 eDefaultElementNSAllocatorBlockSize = 100,
108 eDefaultPIAllocatorBlockSize = 10,
109 eDefaultTextAllocatorBlockSize = 100,
110 eDefaultTextIWSAllocatorBlockSize = 100,
115 eDefaultValuesStringPoolBucketCount = 997,
138 MemoryManager& theManager,
139 bool fPoolAllText = s_poolAllTextNodes,
140 block_size_type theNamesStringPoolBlockSize = eDefaultNamesStringPoolBlockSize,
141 bucket_count_type theNamesStringPoolBucketCount = eDefaultNamesStringPoolBucketCount,
142 bucket_size_type theNamesStringPoolBucketSize = eDefaultNamesStringPoolBucketSize,
143 block_size_type theValuesStringPoolBlockSize = eDefaultValuesStringPoolBlockSize,
144 bucket_count_type theValuesStringPoolBucketCount = eDefaultValuesStringPoolBucketCount,
145 bucket_size_type theValuesStringPoolBucketSize = eDefaultValuesStringPoolBucketSize);
150 MemoryManager& theManager,
151 bool fPoolAllText = s_poolAllTextNodes,
152 block_size_type theNamesStringPoolBlockSize = eDefaultNamesStringPoolBlockSize,
153 bucket_count_type theNamesStringPoolBucketCount = eDefaultNamesStringPoolBucketCount,
154 bucket_size_type theNamesStringPoolBucketSize = eDefaultNamesStringPoolBucketSize,
155 block_size_type theValuesStringPoolBlockSize = eDefaultValuesStringPoolBlockSize,
156 bucket_count_type theValuesStringPoolBucketCount = eDefaultValuesStringPoolBucketCount,
157 bucket_size_type theValuesStringPoolBucketSize = eDefaultValuesStringPoolBucketSize);
174 MemoryManager& theManager,
175 allocator_size_type theAttributeBlockSize,
176 allocator_size_type theAttributeNSBlockSize,
177 allocator_size_type theCommentBlockSize,
178 allocator_size_type theElementBlockSize,
179 allocator_size_type theElementNSBlockSize,
180 allocator_size_type thePIBlockSize,
181 allocator_size_type theTextBlockSize,
182 allocator_size_type theTextIWSBlockSize,
183 bool fPoolAllText = s_poolAllTextNodes);
189 virtual const XalanDOMString&
192 virtual const XalanDOMString&
222 virtual const XalanDOMString&
225 virtual const XalanDOMString&
228 virtual const XalanDOMString&
249 return s_poolAllTextNodes;
255 s_poolAllTextNodes = fPool;
261 const XalanDOMChar* name,
266 bool fAddXMLNamespaceAttribute =
false);
270 const XalanDOMChar* uri,
271 const XalanDOMChar* localname,
272 const XalanDOMChar* qname,
277 bool fAddXMLNamespaceAttribute =
false);
281 const XalanDOMChar* tagName,
287 bool fAddXMLNamespaceAttribute =
false);
291 const XalanDOMChar* name,
296 bool fAddXMLNamespaceAttribute =
false);
300 const XalanDOMChar* data,
307 createProcessingInstructionNode(
308 const XalanDOMChar* target,
309 const XalanDOMChar* data,
316 const XalanDOMChar* chars,
324 const XalanDOMChar* chars,
331 unparsedEntityDeclaration(
332 const XalanDOMChar* name,
333 const XalanDOMChar* publicId,
334 const XalanDOMChar* systemId,
335 const XalanDOMChar* notationName);
337 const XalanDOMString&
338 getUnparsedEntityURI(
const XalanDOMString& theName)
const;
355 return m_stringBuffer.getMemoryManager();
361 const XalanDOMChar* theName,
362 const XalanDOMChar* theValue,
368 const XalanDOMChar* theName,
369 const XalanDOMChar* theValue,
376 size_t theStartIndex,
378 bool fCreateNamespaces,
383 const XalanDOMChar* theTagName,
385 XalanSize_t theAttributeCount,
395 size_t theStartIndex,
397 bool fCreateNamespaces);
404 bool fAddXMLNamespaceAttribute);
406 const XalanDOMString&
408 const XalanDOMChar* chars,
411 const XalanDOMString*
412 getNamespaceForPrefix(
413 const XalanDOMChar* theName,
415 XalanDOMString& thePrefix,
417 const XalanDOMChar** theLocalName = 0);
458 AttributesArrayAllocatorType m_attributesVector;
460 IndexType m_nextIndexValue;
462 const bool m_poolAllText;
464 ElementByIDMapType m_elementsByID;
466 UnparsedEntityURIMapType m_unparsedEntityURIs;
470 XalanDOMString m_stringBuffer;
472 static const XalanDOMString& s_nameString;
474 static bool s_poolAllTextNodes;
479 XALAN_CPP_NAMESPACE_END
483 #endif // !defined(XALANSOURCETREEDOCUMENT_HEADER_GUARD_1357924680) virtual XalanElement * getDocumentElement() const =0
Return a reference to the root element of the document.
virtual IndexType getIndex() const =0
Get the node's index.
XERCES_CPP_NAMESPACE_QUALIFIER AttributeList AttributeListType
static void setPoolAllTextNodes(bool fPool)
bool operator==(const XalanDocument &theRHS) const
virtual const XalanNodeList * getChildNodes() const =0
Gets a NodeList that contains all children of this node.
virtual XalanNode * getParentNode() const =0
Gets the parent of this node.
virtual XalanElement * getElementById(const XalanDOMString &elementId) const =0
Returns the Element whose ID is given by elementId.
AllocatorType::size_type block_size_type
virtual XalanDocument * getOwnerDocument() const =0
Gets the Document object associated with this node.
XalanDocument & operator=(const XalanDocument &theSource)
XALAN_CPP_NAMESPACE_BEGIN typedef XERCES_CPP_NAMESPACE_QUALIFIER Attributes AttributesType
virtual const XalanDOMString & getLocalName() const =0
Returns the local part of the qualified name of this node.
XalanMap< const XalanDOMChar *, XalanSourceTreeElement * > ElementByIDMapType
XalanArrayAllocator< XalanSourceTreeAttr * > AttributesArrayAllocatorType
XalanMap< XalanDOMString, XalanDOMString > UnparsedEntityURIMapType
ArenaAllocatorType::size_type size_type
virtual const XalanDOMString & getNamespaceURI() const =0
Get the namespace URI of this node, or null if it is unspecified.
XalanDOMStringPool::block_size_type block_size_type
virtual XalanNode * getLastChild() const =0
Gets the last child of this node.
#define XALAN_XALANSOURCETREE_EXPORT
virtual const XalanDOMString & getNodeValue() const =0
Gets the value of this node, depending on its type.
virtual XalanNode * getFirstChild() const =0
Gets the first child of this node.
XalanDOMStringPool::bucket_size_type bucket_size_type
This class defines an interface for classes that resolve namespace prefixes to their URIs...
XalanDOMStringPool::bucket_count_type bucket_count_type
virtual bool isIndexed() const =0
Determine if the document is node-order indexed.
virtual const XalanDOMString & getPrefix() const =0
Get the namespace prefix of this node, or null if it is unspecified.
XalanSourceTreeAttributeAllocator::size_type allocator_size_type
virtual XalanNode * getNextSibling() const =0
Gets the node immediately following this node.
virtual const XalanNamedNodeMap * getAttributes() const =0
Gets a NamedNodeMap containing the attributes of this node (if it is an Element) or null otherwise...
virtual XalanNode * getPreviousSibling() const =0
Gets the node immediately preceding this node.
XalanDOMString::size_type length(const XalanDOMString &theString)
Get the length of a XalanDOMString.
XERCES_CPP_NAMESPACE_QUALIFIER AttributeList AttributeListType
virtual const XalanDOMString & getNodeName() const =0
Gets the name of this node, depending on its type.
Xalan implementation of a hashtable.
XERCES_CPP_NAMESPACE_QUALIFIER Attributes AttributesType
XalanDOMStringHashTable::bucket_size_type bucket_size_type
virtual NodeType getNodeType() const =0
An enum value representing the type of the underlying object.
static bool getPoolAllTextNodes()