16 #if !defined(XALANSOURCETREEDOCUMENT_HEADER_GUARD_1357924680)
17 #define XALANSOURCETREEDOCUMENT_HEADER_GUARD_1357924680
54 XALAN_DECLARE_XERCES_CLASS(Attributes)
55 XALAN_DECLARE_XERCES_CLASS(AttributeList)
59 XALAN_CPP_NAMESPACE_BEGIN
102 enum { eDefaultAttributeAllocatorBlockSize = 100,
103 eDefaultAttributeNSAllocatorBlockSize = 50,
104 eDefaultCommentAllocatorBlockSize = 10,
105 eDefaultElementAllocatorBlockSize = 100,
106 eDefaultElementNSAllocatorBlockSize = 100,
107 eDefaultPIAllocatorBlockSize = 10,
108 eDefaultTextAllocatorBlockSize = 100,
109 eDefaultTextIWSAllocatorBlockSize = 100,
114 eDefaultValuesStringPoolBucketCount = 997,
138 bool fPoolAllText = s_poolAllTextNodes,
139 block_size_type theNamesStringPoolBlockSize = eDefaultNamesStringPoolBlockSize,
140 bucket_count_type theNamesStringPoolBucketCount = eDefaultNamesStringPoolBucketCount,
141 bucket_size_type theNamesStringPoolBucketSize = eDefaultNamesStringPoolBucketSize,
142 block_size_type theValuesStringPoolBlockSize = eDefaultValuesStringPoolBlockSize,
143 bucket_count_type theValuesStringPoolBucketCount = eDefaultValuesStringPoolBucketCount,
144 bucket_size_type theValuesStringPoolBucketSize = eDefaultValuesStringPoolBucketSize);
150 bool fPoolAllText = s_poolAllTextNodes,
151 block_size_type theNamesStringPoolBlockSize = eDefaultNamesStringPoolBlockSize,
152 bucket_count_type theNamesStringPoolBucketCount = eDefaultNamesStringPoolBucketCount,
153 bucket_size_type theNamesStringPoolBucketSize = eDefaultNamesStringPoolBucketSize,
154 block_size_type theValuesStringPoolBlockSize = eDefaultValuesStringPoolBlockSize,
155 bucket_count_type theValuesStringPoolBucketCount = eDefaultValuesStringPoolBucketCount,
156 bucket_size_type theValuesStringPoolBucketSize = eDefaultValuesStringPoolBucketSize);
174 allocator_size_type theAttributeBlockSize,
175 allocator_size_type theAttributeNSBlockSize,
176 allocator_size_type theCommentBlockSize,
177 allocator_size_type theElementBlockSize,
178 allocator_size_type theElementNSBlockSize,
179 allocator_size_type thePIBlockSize,
180 allocator_size_type theTextBlockSize,
181 allocator_size_type theTextIWSBlockSize,
182 bool fPoolAllText = s_poolAllTextNodes);
188 virtual const XalanDOMString&
191 virtual const XalanDOMString&
192 getNodeValue()
const;
198 getParentNode()
const;
201 getChildNodes()
const;
204 getFirstChild()
const;
207 getLastChild()
const;
210 getPreviousSibling()
const;
213 getNextSibling()
const;
216 getAttributes()
const;
218 virtual XalanDocument*
219 getOwnerDocument()
const;
221 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
226 cloneNode(
bool deep)
const;
245 hasChildNodes()
const;
248 setNodeValue(
const XalanDOMString& nodeValue);
255 const XalanDOMString& feature,
256 const XalanDOMString& version)
const;
258 virtual const XalanDOMString&
259 getNamespaceURI()
const;
261 virtual const XalanDOMString&
264 virtual const XalanDOMString&
265 getLocalName()
const;
268 setPrefix(
const XalanDOMString& prefix);
277 createElement(
const XalanDOMString& tagName);
280 createDocumentFragment();
283 createTextNode(
const XalanDOMString& data);
286 createComment(
const XalanDOMString& data);
289 createCDATASection(
const XalanDOMString& data);
292 createProcessingInstruction(
293 const XalanDOMString& target,
294 const XalanDOMString& data);
297 createAttribute(
const XalanDOMString& name);
300 createEntityReference(
const XalanDOMString& name);
306 getImplementation()
const;
309 getDocumentElement()
const;
312 getElementsByTagName(
const XalanDOMString& tagname)
const;
321 const XalanDOMString& namespaceURI,
322 const XalanDOMString& qualifiedName);
326 const XalanDOMString& namespaceURI,
327 const XalanDOMString& qualifiedName);
330 getElementsByTagNameNS(
331 const XalanDOMString& namespaceURI,
332 const XalanDOMString& localName)
const;
335 getElementById(
const XalanDOMString& elementId)
const;
341 getPoolAllTextNodes()
343 return s_poolAllTextNodes;
347 setPoolAllTextNodes(
bool fPool)
349 s_poolAllTextNodes = fPool;
355 const XalanDOMChar* name,
356 const AttributeListType& attrs,
360 bool fAddXMLNamespaceAttribute =
false);
364 const XalanDOMChar* uri,
365 const XalanDOMChar* localname,
366 const XalanDOMChar* qname,
367 const AttributesType& attrs,
371 bool fAddXMLNamespaceAttribute =
false);
375 const XalanDOMChar* tagName,
376 const AttributeListType& attrs,
377 const PrefixResolver& thePrefixResolver,
381 bool fAddXMLNamespaceAttribute =
false);
385 const XalanDOMChar* name,
386 const AttributesType& attrs,
390 bool fAddXMLNamespaceAttribute =
false);
394 const XalanDOMChar* data,
401 createProcessingInstructionNode(
402 const XalanDOMChar* target,
403 const XalanDOMChar* data,
410 const XalanDOMChar* chars,
418 const XalanDOMChar* chars,
425 unparsedEntityDeclaration(
426 const XalanDOMChar* name,
427 const XalanDOMChar* publicId,
428 const XalanDOMChar* systemId,
429 const XalanDOMChar* notationName);
431 const XalanDOMString&
432 getUnparsedEntityURI(
const XalanDOMString& theName)
const;
449 return m_stringBuffer.getMemoryManager();
455 const XalanDOMChar* theName,
456 const XalanDOMChar* theValue,
458 const PrefixResolver& thePrefixResolver);
462 const XalanDOMChar* theName,
463 const XalanDOMChar* theValue,
468 XalanSourceTreeAttr** theAttributeVector,
469 const AttributeListType& attrs,
470 size_t theStartIndex,
472 bool fCreateNamespaces,
473 const PrefixResolver* thePrefixResolver = 0);
477 const XalanDOMChar* theTagName,
478 XalanSourceTreeAttr** theAttributeVector,
479 AttributesCountType theAttributeCount,
483 const PrefixResolver& thePrefixResolver);
487 XalanSourceTreeAttr** theAttributeVector,
488 const AttributesType& theAttributes,
489 size_t theStartIndex,
491 bool fCreateNamespaces);
495 const AttributesType& theAttributes,
496 XalanSourceTreeAttr** theAttributeVector,
498 bool fAddXMLNamespaceAttribute);
500 const XalanDOMString&
502 const XalanDOMChar* chars,
505 const XalanDOMString*
506 getNamespaceForPrefix(
507 const XalanDOMChar* theName,
508 const PrefixResolver& thePrefixResolver,
509 XalanDOMString& thePrefix,
511 const XalanDOMChar** theLocalName = 0);
552 AttributesArrayAllocatorType m_attributesVector;
554 IndexType m_nextIndexValue;
556 const bool m_poolAllText;
558 ElementByIDMapType m_elementsByID;
560 UnparsedEntityURIMapType m_unparsedEntityURIs;
564 XalanDOMString m_stringBuffer;
566 static const XalanDOMString& s_nameString;
568 static bool s_poolAllTextNodes;
573 XALAN_CPP_NAMESPACE_END
577 #endif // !defined(XALANSOURCETREEDOCUMENT_HEADER_GUARD_1357924680)