18#if !defined(DOMSERVICES_HEADER_GUARD_1357924680)
19#define DOMSERVICES_HEADER_GUARD_1357924680
49class XalanDocumentFragment;
103 const XalanNode& node,
104 XalanDOMString& data);
115 const XalanNode& node,
116 ExecutionContext& context,
117 XalanDOMString& data)
119 if (!context.hasPreserveOrStripSpaceConditions())
125 doGetNodeData(node, context, data);
139 const XalanAttr& attribute,
140 XalanDOMString& data)
142 data.append(attribute.getNodeValue());
155 const XalanComment& comment,
156 XalanDOMString& data)
158 data.append(comment.getData());
169 const XalanDocument& document,
170 XalanDOMString& data);
181 const XalanDocument& document,
182 ExecutionContext& context,
183 XalanDOMString& data)
185 if (!context.hasPreserveOrStripSpaceConditions())
191 doGetNodeData(document, context, data);
203 const XalanDocumentFragment& documentFragment,
204 XalanDOMString& data);
215 const XalanDocumentFragment& documentFragment,
216 ExecutionContext& context,
217 XalanDOMString& data)
219 if (!context.hasPreserveOrStripSpaceConditions())
225 doGetNodeData(documentFragment, context, data);
237 const XalanElement& element,
238 XalanDOMString& data);
249 const XalanElement& element,
250 ExecutionContext& context,
251 XalanDOMString& data)
253 if (!context.hasPreserveOrStripSpaceConditions())
259 doGetNodeData(element, context, data);
271 const XalanProcessingInstruction& pi,
272 XalanDOMString& data)
274 data.append(pi.getData());
285 const XalanText& text,
286 XalanDOMString& data)
288 data.append(text.getData());
300 const XalanText& text,
301 ExecutionContext& context,
302 XalanDOMString& data)
304 if (!context.hasPreserveOrStripSpaceConditions())
310 doGetNodeData(text, context, data);
314 typedef void (FormatterListener::*
MemberFunctionPtr)(
const XMLCh*
const,
const FormatterListener::size_type);
325 const XalanNode& node,
326 FormatterListener& formatterListener,
339 const XalanNode& node,
340 ExecutionContext& context,
341 FormatterListener& formatterListener,
344 if (!context.hasPreserveOrStripSpaceConditions())
350 doGetNodeData(node, context, formatterListener, function);
363 const XalanAttr& attribute,
364 FormatterListener& formatterListener,
367 sendData(formatterListener, function, attribute.getNodeValue());
379 const XalanComment& comment,
380 FormatterListener& formatterListener,
383 sendData(formatterListener, function, comment.getData());
395 const XalanDocument& document,
396 FormatterListener& formatterListener,
409 const XalanDocument& document,
410 ExecutionContext& context,
411 FormatterListener& formatterListener,
414 if (!context.hasPreserveOrStripSpaceConditions())
416 getNodeData(document, formatterListener, function);
420 doGetNodeData(document, context, formatterListener, function);
433 const XalanDocumentFragment& documentFragment,
434 FormatterListener& formatterListener,
447 const XalanDocumentFragment& documentFragment,
448 ExecutionContext& context,
449 FormatterListener& formatterListener,
452 if (!context.hasPreserveOrStripSpaceConditions())
454 getNodeData(documentFragment, formatterListener, function);
458 doGetNodeData(documentFragment, context, formatterListener, function);
471 const XalanElement& element,
472 FormatterListener& formatterListener,
485 const XalanElement& element,
486 ExecutionContext& context,
487 FormatterListener& formatterListener,
490 if (!context.hasPreserveOrStripSpaceConditions())
496 doGetNodeData(element, context, formatterListener, function);
509 const XalanProcessingInstruction& pi,
510 FormatterListener& formatterListener,
513 sendData(formatterListener, function, pi.getData());
525 const XalanText& text,
526 FormatterListener& formatterListener,
529 sendData(formatterListener, function, text.getData());
542 const XalanText& text,
543 ExecutionContext& context,
544 FormatterListener& formatterListener,
547 if (!context.hasPreserveOrStripSpaceConditions())
553 doGetNodeData(text, context, formatterListener, function);
565 static const XalanDOMString&
576 static const XalanDOMString&
579 const XalanDOMString& theName = attr.getNodeName();
584 return attr.getLocalName();
604 static const XalanDOMString&
607 return element.getNodeName();
618 static const XalanDOMString&
621 const XalanDOMString& theLocalName = n.getLocalName();
623 if (theLocalName.empty() ==
false)
629 return n.getNodeName();
641 static const XalanDOMString&
654 const XalanDOMString& theName = n.getNodeName();
670 if(node.getNodeType() == XalanNode::ATTRIBUTE_NODE)
672 return static_cast<const XalanAttr&
>(node).getOwnerElement();
676 return node.getParentNode();
687 static const XalanDOMString*
689 const XalanDOMString& prefix,
690 const XalanElement& namespaceContext);
702 static const XalanDOMString*
704 const XalanDOMChar* theName,
705 const PrefixResolver& thePrefixResolver,
707 XalanDOMString& thePrefix);
718 const XalanNode& node1,
719 const XalanNode& node2);
731 const XalanNode& parent,
732 const XalanNode& child1,
733 const XalanNode& child2);
739 const XalanNode* child,
740 XalanDOMString& data);
744 const XalanNode* child,
745 ExecutionContext& executionContext,
746 XalanDOMString& data);
750 const XalanNode* child,
751 FormatterListener& formatterListener,
763 const XalanNode& node,
764 ExecutionContext& executionContext,
765 XalanDOMString& data);
776 const XalanDocument& document,
777 ExecutionContext& context,
778 XalanDOMString& data);
789 const XalanDocumentFragment& documentFragment,
790 ExecutionContext& context,
791 XalanDOMString& data);
802 const XalanElement& element,
803 ExecutionContext& context,
804 XalanDOMString& data);
815 const XalanText& text,
816 ExecutionContext& context,
817 XalanDOMString& data)
819 assert(context.hasPreserveOrStripSpaceConditions() ==
true);
821 if (context.shouldStripSourceNode(text) ==
false)
823 data.append(text.getData());
837 const XalanNode& node,
838 ExecutionContext& context,
839 FormatterListener& formatterListener,
840 MemberFunctionPtr function);
852 const XalanDocument& document,
853 ExecutionContext& context,
854 FormatterListener& formatterListener,
855 MemberFunctionPtr function);
867 const XalanDocumentFragment& documentFragment,
868 ExecutionContext& context,
869 FormatterListener& formatterListener,
870 MemberFunctionPtr function);
882 const XalanElement& element,
883 ExecutionContext& context,
884 FormatterListener& formatterListener,
885 MemberFunctionPtr function);
897 const XalanText& text,
898 ExecutionContext& context,
899 FormatterListener& formatterListener,
900 MemberFunctionPtr function)
902 assert(context.hasPreserveOrStripSpaceConditions() ==
true);
904 if (context.shouldStripSourceNode(text) ==
false)
906 sendData(formatterListener, function, text.getData());
919 FormatterListener& formatterListener,
920 MemberFunctionPtr function,
921 const XalanDOMString& data)
923 const XalanDOMString::size_type theLength =
928 assert(theLength == FormatterListener::size_type(theLength));
930 (formatterListener.*function)(
932 FormatterListener::size_type(theLength));
#define XALAN_DOMSUPPORT_EXPORT
static const XalanDOMString::size_type & s_XMLNamespacePrefixLength
static void getNodeData(const XalanText &text, FormatterListener &formatterListener, MemberFunctionPtr function)
Sends the data for a node to a FormatterListener.
static const XalanDOMString & s_XMLNamespaceWithSeparator
static void getNodeData(const XalanDocument &document, XalanDOMString &data)
Retrieves data for node.
static bool isNodeAfterSibling(const XalanNode &parent, const XalanNode &child1, const XalanNode &child2)
Determine if a node is after another node in the sibling list.
static void getNodeData(const XalanText &text, XalanDOMString &data)
Retrieves data for node.
static void getNodeData(const XalanNode &node, FormatterListener &formatterListener, MemberFunctionPtr function)
Sends the data for a node to a FormatterListener.
static void getNodeData(const XalanDocumentFragment &documentFragment, ExecutionContext &context, XalanDOMString &data)
Retrieves data for node.
static void getNodeData(const XalanDocumentFragment &documentFragment, FormatterListener &formatterListener, MemberFunctionPtr function)
Sends the data for a node to a FormatterListener.
static void getNodeData(const XalanElement &element, FormatterListener &formatterListener, MemberFunctionPtr function)
Sends the data for a node to a FormatterListener.
static void getNodeData(const XalanComment &comment, XalanDOMString &data)
Retrieves data for node.
static const XalanDOMString::size_type & s_XMLStringLength
static XalanNode * getParentOfNode(const XalanNode &node)
Retrieve the parent of a node.
friend void getChildData(const XalanNode *child, FormatterListener &formatterListener, DOMServices::MemberFunctionPtr function)
static bool isNodeAfter(const XalanNode &node1, const XalanNode &node2)
Determine if a node is after another node, in document order.
static void getNodeData(const XalanAttr &attribute, XalanDOMString &data)
Retrieves data for node.
static const XalanDOMString * getNamespaceForPrefix(const XalanDOMChar *theName, const PrefixResolver &thePrefixResolver, bool isAttribute, XalanDOMString &thePrefix)
Retrieve the URI corresponding to a namespace prefix, using the supplied name, and PrefixResolver.
static void getNodeData(const XalanDocumentFragment &documentFragment, XalanDOMString &data)
Retrieves data for node.
static void getNodeData(const XalanDocument &document, ExecutionContext &context, FormatterListener &formatterListener, MemberFunctionPtr function)
Sends the data for a node to a FormatterListener.
static const XalanDOMString::size_type & s_XMLNamespaceURILength
static void getNodeData(const XalanNode &node, ExecutionContext &context, FormatterListener &formatterListener, MemberFunctionPtr function)
Sends the data for a node to a FormatterListener.
static const XalanDOMString & s_XMLNamespaceURI
static void getNodeData(const XalanDocument &document, FormatterListener &formatterListener, MemberFunctionPtr function)
Sends the data for a node to a FormatterListener.
static void getNodeData(const XalanProcessingInstruction &pi, FormatterListener &formatterListener, MemberFunctionPtr function)
Sends the data for a node to a FormatterListener.
static const XalanDOMString & getLocalNameOfNode(const XalanNode &n)
Retrieve local name of node, taking into account the differences between the DOM and XSLT data models...
static const XalanDOMString & s_XMLNamespacePrefixURI
static void getNodeData(const XalanNode &node, ExecutionContext &context, XalanDOMString &data)
Retrieves data for node.
static const XalanDOMString * getNamespaceForPrefix(const XalanDOMString &prefix, const XalanElement &namespaceContext)
Retrieve the URI corresponding to a namespace prefix.
static void getNodeData(const XalanText &text, ExecutionContext &context, XalanDOMString &data)
Retrieves data for node.
static const XalanDOMString & s_XMLStringWithSeparator
static const XalanDOMString::size_type & s_XMLNamespacePrefixURILength
static const XalanDOMString & s_XMLNamespace
friend void getChildData(const XalanNode *child, ExecutionContext &executionContext, XalanDOMString &data)
static const XalanDOMString & s_XMLString
static const XalanDOMString & getNamespaceOfNode(const XalanNode &n)
Retrieve the namespace of the node, taking into account the differences between the DOM and XSLT data...
friend void getChildData(const XalanNode *child, XalanDOMString &data)
static const XalanDOMString & getNameOfNode(const XalanNode &n)
Retrieve the name of the node, taking into account the differences between the DOM and XSLT data mode...
static void getNodeData(const XalanText &text, ExecutionContext &context, FormatterListener &formatterListener, MemberFunctionPtr function)
Sends the data for a node to a FormatterListener.
static void getNodeData(const XalanProcessingInstruction &pi, XalanDOMString &data)
Retrieves data for node.
static void getNodeData(const XalanDocumentFragment &documentFragment, ExecutionContext &context, FormatterListener &formatterListener, MemberFunctionPtr function)
Sends the data for a node to a FormatterListener.
static void getNodeData(const XalanDocument &document, ExecutionContext &context, XalanDOMString &data)
Retrieves data for node.
static void getNodeData(const XalanElement &element, ExecutionContext &context, XalanDOMString &data)
Retrieves data for node.
static const XalanDOMString::size_type & s_XMLStringWithSeparatorLength
static const XalanDOMString & s_XMLNamespacePrefix
void(FormatterListener::* MemberFunctionPtr)(const XMLCh *const, const FormatterListener::size_type)
static const XalanDOMString::size_type & s_XMLNamespaceWithSeparatorLength
static void getNodeData(const XalanComment &comment, FormatterListener &formatterListener, MemberFunctionPtr function)
Sends the data for a node to a FormatterListener.
static const XalanDOMString s_emptyString
static const XalanDOMString & getNameOfNode(const XalanElement &element)
Retrieve the name of the node, taking into account the differences between the DOM and XSLT data mode...
static const XalanDOMString::size_type & s_XMLNamespaceSeparatorStringLength
static const XalanDOMString & s_XMLNamespaceSeparatorString
static void initialize(MemoryManager &theManager)
Initialize static data.
static const XalanDOMString & getNameOfNode(const XalanAttr &attr)
Retrieve the name of the node, taking into account the differences between the DOM and XSLT data mode...
static const XalanDOMString::size_type & s_XMLNamespaceLength
static void terminate()
Destroy static data.
static bool isNamespaceDeclaration(const XalanAttr &n)
Determine whether or not an attribute node is declaring a namespace.
static void getNodeData(const XalanElement &element, ExecutionContext &context, FormatterListener &formatterListener, MemberFunctionPtr function)
Sends the data for a node to a FormatterListener.
static void getNodeData(const XalanAttr &attribute, FormatterListener &formatterListener, MemberFunctionPtr function)
Sends the data for a node to a FormatterListener.
static void getNodeData(const XalanNode &node, XalanDOMString &data)
Retrieves data for node.
static void getNodeData(const XalanElement &element, XalanDOMString &data)
Retrieves data for node.