dbertoni 01/05/02 08:54:32
Modified: c/src/XPath SimpleNodeLocator.cpp SimpleNodeLocator.hpp
XBoolean.cpp XBoolean.hpp XNodeSet.cpp XNodeSet.hpp
XNull.cpp XNull.hpp XNumber.cpp XNumber.hpp
XNumberBase.hpp XObject.cpp XObject.hpp
XResultTreeFrag.cpp XResultTreeFrag.hpp XString.cpp
XString.hpp XStringAdapter.cpp XStringAdapter.hpp
XStringBase.hpp XStringCached.cpp XStringCached.hpp
XStringReference.cpp XStringReference.hpp
XToken.cpp XToken.hpp XTokenNumberAdapter.cpp
XTokenNumberAdapter.hpp XTokenStringAdapter.cpp
XTokenStringAdapter.hpp XUnknown.cpp XUnknown.hpp
Log:
New implementation to push character data to the result tree.
Revision Changes Path
1.37 +44 -14 xml-xalan/c/src/XPath/SimpleNodeLocator.cpp
Index: SimpleNodeLocator.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/SimpleNodeLocator.cpp,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- SimpleNodeLocator.cpp 2001/03/04 19:43:00 1.36
+++ SimpleNodeLocator.cpp 2001/05/02 15:52:41 1.37
@@ -477,34 +477,45 @@
argLen =
currentExpression.getOpCodeMapValue(opPos +
XPathExpression::s__opCodeMapLengthIndex + 1) - 3;
- if(context->getNodeType() != XalanNode::ATTRIBUTE_NODE)
+ XalanNode::NodeType nodeType =
context->getNodeType();
+
+ if(nodeType != XalanNode::ATTRIBUTE_NODE)
{
opPos += 3;
- while(0 != context)
+ for(;;)
{
- score = nodeTest(xpath,
executionContext, context, opPos, argLen, stepType);
+ score = nodeTest(xpath,
executionContext, context, nodeType, opPos, argLen, stepType);
if(xpath.s_MatchScoreNone != score)
break;
context =
DOMServices::getParentOfNode(*context);
+
+ if (context == 0)
+ break;
+
+ nodeType = context->getNodeType();
}
}
}
break;
case XPathExpression::eMATCH_IMMEDIATE_ANCESTOR:
- // $$ ToDO: Can we reduce this to some call on the
- // XPathExpression interface?
- argLen =
+ {
+ // $$ ToDO: Can we reduce this to some call on the
+ // XPathExpression interface?
+ argLen =
currentExpression.getOpCodeMapValue(opPos +
XPathExpression::s__opCodeMapLengthIndex + 1) - 3;
- if(context->getNodeType() != XalanNode::ATTRIBUTE_NODE)
- {
- opPos += 3;
+ const XalanNode::NodeType nodeType =
context->getNodeType();
- score = nodeTest(xpath, executionContext, context,
opPos, argLen, stepType);
+ if(nodeType != XalanNode::ATTRIBUTE_NODE)
+ {
+ opPos += 3;
+
+ score = nodeTest(xpath, executionContext,
context, nodeType, opPos, argLen, stepType);
+ }
}
break;
@@ -886,6 +897,7 @@
const double score = nodeTest(xpath,
executionContext,
theNode,
+
XalanNode::ATTRIBUTE_NODE,
opPos,
argLen,
stepType);
@@ -1351,7 +1363,7 @@
for(unsigned int i = 0; i < nAttrs; ++i)
{
XalanNode* const attr =
attributeList->item(i);
- assert(attr != 0);
+ assert(attr != 0 && attr->getNodeType()
== XalanNode::ATTRIBUTE_NODE);
const XalanDOMString& theNodeName =
attr->getNodeName();
@@ -1363,6 +1375,7 @@
if(nodeTest(xpath,
executionContext,
attr,
+
XalanNode::ATTRIBUTE_NODE,
opPos,
argLen,
stepType) != xpath.s_MatchScoreNone)
@@ -1410,11 +1423,14 @@
SimpleNodeLocator::nodeTest(
const XPath& xpath,
XPathExecutionContext& executionContext,
- XalanNode* context,
+ XalanNode* context,
+ XalanNode::NodeType nodeType,
int opPos,
int argLen,
int stepType)
{
+ assert(context->getNodeType() == nodeType);
+
const XPathExpression& currentExpression =
xpath.getExpression();
@@ -1422,8 +1438,6 @@
const int testType = currentExpression.getOpCodeMapValue(opPos);
- const XalanNode::NodeType nodeType = context->getNodeType();
-
switch(testType)
{
case XPathExpression::eNODETYPE_COMMENT:
@@ -1675,6 +1689,22 @@
} // end switch(testType)
return score;
+}
+
+
+
+inline double
+SimpleNodeLocator::nodeTest(
+ const XPath& xpath,
+ XPathExecutionContext& executionContext,
+ XalanNode* context,
+ int opPos,
+ int argLen,
+ int stepType)
+{
+ assert(context != 0);
+
+ return nodeTest(xpath, executionContext, context,
context->getNodeType(), opPos, argLen, stepType);
}
1.13 +12 -1 xml-xalan/c/src/XPath/SimpleNodeLocator.hpp
Index: SimpleNodeLocator.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/SimpleNodeLocator.hpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- SimpleNodeLocator.hpp 2000/11/21 21:08:23 1.12
+++ SimpleNodeLocator.hpp 2001/05/02 15:52:43 1.13
@@ -65,6 +65,7 @@
#include <XalanDOM/XalanDOMString.hpp>
+#include <XalanDOM/XalanNode.hpp>
@@ -285,7 +286,17 @@
nodeTest(
const XPath& xpath,
XPathExecutionContext& executionContext,
- XalanNode* context,
+ XalanNode* context,
+ int opPos,
+ int argLen,
+ int stepType);
+
+ double
+ nodeTest(
+ const XPath& xpath,
+ XPathExecutionContext& executionContext,
+ XalanNode* context,
+ XalanNode::NodeType nodeType,
int opPos,
int argLen,
int stepType);
1.10 +17 -0 xml-xalan/c/src/XPath/XBoolean.cpp
Index: XBoolean.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XBoolean.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- XBoolean.cpp 2001/02/09 19:29:13 1.9
+++ XBoolean.cpp 2001/05/02 15:52:44 1.10
@@ -140,6 +140,23 @@
void
+XBoolean::str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const
+{
+ if (m_value == true)
+ {
+ (formatterListener.*function)(c_wstr(s_trueString),
length(s_trueString));
+ }
+ else
+ {
+ (formatterListener.*function)(c_wstr(s_falseString),
length(s_falseString));
+ }
+}
+
+
+
+void
XBoolean::ProcessXObjectTypeCallback(XObjectTypeCallback&
theCallbackObject)
{
theCallbackObject.Boolean(*this,
1.10 +5 -0 xml-xalan/c/src/XPath/XBoolean.hpp
Index: XBoolean.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XBoolean.hpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- XBoolean.hpp 2000/09/19 14:55:55 1.9
+++ XBoolean.hpp 2001/05/02 15:52:45 1.10
@@ -119,6 +119,11 @@
str() const;
virtual void
+ str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const;
+
+ virtual void
ProcessXObjectTypeCallback(XObjectTypeCallback&
theCallbackObject);
virtual void
1.22 +20 -0 xml-xalan/c/src/XPath/XNodeSet.cpp
Index: XNodeSet.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XNodeSet.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- XNodeSet.cpp 2001/01/17 16:57:32 1.21
+++ XNodeSet.cpp 2001/05/02 15:52:46 1.22
@@ -180,6 +180,26 @@
+void
+XNodeSet::str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const
+{
+ if (isEmpty(m_cachedStringValue) == false)
+ {
+ (formatterListener.*function)(c_wstr(m_cachedStringValue),
length(m_cachedStringValue));
+ }
+ else if (m_value->getLength() > 0)
+ {
+ const XalanNode* const theNode = m_value->item(0);
+ assert(theNode != 0);
+
+ DOMServices::getNodeData(*theNode, formatterListener, function);
+ }
+}
+
+
+
const ResultTreeFragBase&
XNodeSet::rtree(XPathExecutionContext& executionContext) const
{
1.19 +5 -0 xml-xalan/c/src/XPath/XNodeSet.hpp
Index: XNodeSet.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XNodeSet.hpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- XNodeSet.hpp 2001/01/17 16:57:34 1.18
+++ XNodeSet.hpp 2001/05/02 15:52:47 1.19
@@ -135,6 +135,11 @@
virtual const XalanDOMString&
str() const;
+ virtual void
+ str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const;
+
virtual const ResultTreeFragBase&
rtree(XPathExecutionContext& executionContext) const;
1.9 +9 -0 xml-xalan/c/src/XPath/XNull.cpp
Index: XNull.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XNull.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- XNull.cpp 2000/09/19 14:56:04 1.8
+++ XNull.cpp 2001/05/02 15:52:49 1.9
@@ -128,6 +128,15 @@
void
+XNull::str(
+ FormatterListener& /* formatterListener */,
+ MemberFunctionPtr /* function */) const
+{
+}
+
+
+
+void
XNull::ProcessXObjectTypeCallback(XObjectTypeCallback&
theCallbackObject)
{
theCallbackObject.Null(*this);
1.11 +5 -0 xml-xalan/c/src/XPath/XNull.hpp
Index: XNull.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XNull.hpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- XNull.hpp 2000/09/19 14:56:04 1.10
+++ XNull.hpp 2001/05/02 15:52:51 1.11
@@ -113,6 +113,11 @@
str() const;
virtual void
+ str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const;
+
+ virtual void
ProcessXObjectTypeCallback(XObjectTypeCallback&
theCallbackObject);
virtual void
1.13 +12 -0 xml-xalan/c/src/XPath/XNumber.cpp
Index: XNumber.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XNumber.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- XNumber.cpp 2001/01/16 02:34:45 1.12
+++ XNumber.cpp 2001/05/02 15:52:52 1.13
@@ -125,6 +125,18 @@
void
+XNumber::str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const
+{
+ const XalanDOMString& theValue = str();
+
+ (formatterListener.*function)(c_wstr(theValue), length(theValue));
+}
+
+
+
+void
XNumber::set(double theValue)
{
m_value = theValue;
1.12 +5 -0 xml-xalan/c/src/XPath/XNumber.hpp
Index: XNumber.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XNumber.hpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- XNumber.hpp 2001/01/16 02:34:45 1.11
+++ XNumber.hpp 2001/05/02 15:52:53 1.12
@@ -104,6 +104,11 @@
virtual const XalanDOMString&
str() const;
+ virtual void
+ str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const;
+
// These methods are new to XNumber...
/**
1.2 +5 -0 xml-xalan/c/src/XPath/XNumberBase.hpp
Index: XNumberBase.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XNumberBase.hpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XNumberBase.hpp 2001/01/16 02:34:45 1.1
+++ XNumberBase.hpp 2001/05/02 15:52:55 1.2
@@ -97,6 +97,11 @@
str() const = 0;
virtual void
+ str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const = 0;
+
+ virtual void
ProcessXObjectTypeCallback(XObjectTypeCallback&
theCallbackObject);
virtual void
1.22 +10 -0 xml-xalan/c/src/XPath/XObject.cpp
Index: XObject.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XObject.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- XObject.cpp 2001/03/29 22:15:32 1.21
+++ XObject.cpp 2001/05/02 15:52:57 1.22
@@ -162,6 +162,16 @@
+void
+XObject::str(
+ FormatterListener& /* formatterListener */,
+ MemberFunctionPtr /* function */) const
+{
+ throw XObjectInvalidConversionException(getTypeString(),
TranscodeFromLocalCodePage("string"));
+}
+
+
+
const ResultTreeFragBase&
XObject::rtree(XPathExecutionContext& /* executionContext */) const
{
1.18 +15 -0 xml-xalan/c/src/XPath/XObject.hpp
Index: XObject.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XObject.hpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- XObject.hpp 2001/03/29 22:15:32 1.17
+++ XObject.hpp 2001/05/02 15:52:59 1.18
@@ -68,6 +68,7 @@
+#include <PlatformSupport/FormatterListener.hpp>
#include <PlatformSupport/XalanReferenceCountedObject.hpp>
@@ -165,6 +166,20 @@
*/
virtual const XalanDOMString&
str() const;
+
+ typedef void (FormatterListener::*MemberFunctionPtr)(const XMLCh*
const, const unsigned int);
+
+ /**
+ * Send the string value to a FormatterListener instance.
+ *
+ * @param formatterListener The FormatterListener instance
+ * @param function A pointer to the member function of
FormatterListener to call
+ *
+ */
+ virtual void
+ str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const = 0;
/**
* Cast result object to a result tree fragment.
1.20 +17 -0 xml-xalan/c/src/XPath/XResultTreeFrag.cpp
Index: XResultTreeFrag.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XResultTreeFrag.cpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- XResultTreeFrag.cpp 2001/03/29 22:16:35 1.19
+++ XResultTreeFrag.cpp 2001/05/02 15:53:00 1.20
@@ -176,6 +176,23 @@
+void
+XResultTreeFrag::str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const
+{
+ if (isEmpty(m_cachedStringValue) == false)
+ {
+ (formatterListener.*function)(c_wstr(m_cachedStringValue),
length(m_cachedStringValue));
+ }
+ else
+ {
+ DOMServices::getNodeData(*m_value, formatterListener, function);
+ }
+}
+
+
+
const ResultTreeFragBase&
XResultTreeFrag::rtree(XPathExecutionContext& /* executionContext */)
const
{
1.21 +5 -0 xml-xalan/c/src/XPath/XResultTreeFrag.hpp
Index: XResultTreeFrag.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XResultTreeFrag.hpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- XResultTreeFrag.hpp 2001/03/29 22:16:35 1.20
+++ XResultTreeFrag.hpp 2001/05/02 15:53:02 1.21
@@ -141,6 +141,11 @@
virtual const XalanDOMString&
str() const;
+ virtual void
+ str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const;
+
virtual const ResultTreeFragBase&
rtree(XPathExecutionContext& executionContext) const;
1.16 +10 -0 xml-xalan/c/src/XPath/XString.cpp
Index: XString.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XString.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- XString.cpp 2000/12/21 04:27:57 1.15
+++ XString.cpp 2001/05/02 15:53:03 1.16
@@ -120,3 +120,13 @@
{
return m_value;
}
+
+
+
+void
+XString::str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const
+{
+ (formatterListener.*function)(c_wstr(m_value), length(m_value));
+}
1.16 +5 -0 xml-xalan/c/src/XPath/XString.hpp
Index: XString.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XString.hpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- XString.hpp 2000/12/21 04:27:57 1.15
+++ XString.hpp 2001/05/02 15:53:05 1.16
@@ -104,6 +104,11 @@
virtual const XalanDOMString&
str() const;
+ virtual void
+ str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const;
+
private:
const XalanDOMString m_value;
1.2 +10 -0 xml-xalan/c/src/XPath/XStringAdapter.cpp
Index: XStringAdapter.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XStringAdapter.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XStringAdapter.cpp 2000/12/21 04:23:07 1.1
+++ XStringAdapter.cpp 2001/05/02 15:53:07 1.2
@@ -101,6 +101,16 @@
+void
+XStringAdapter::str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const
+{
+ m_value->str(formatterListener, function);
+}
+
+
+
XStringAdapter::eObjectType
XStringAdapter::getRealType() const
{
1.2 +5 -0 xml-xalan/c/src/XPath/XStringAdapter.hpp
Index: XStringAdapter.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XStringAdapter.hpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XStringAdapter.hpp 2000/12/21 04:23:07 1.1
+++ XStringAdapter.hpp 2001/05/02 15:53:08 1.2
@@ -100,6 +100,11 @@
virtual const XalanDOMString&
str() const;
+ virtual void
+ str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const;
+
protected:
virtual eObjectType
1.2 +5 -0 xml-xalan/c/src/XPath/XStringBase.hpp
Index: XStringBase.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XStringBase.hpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XStringBase.hpp 2000/12/21 04:23:07 1.1
+++ XStringBase.hpp 2001/05/02 15:53:09 1.2
@@ -125,6 +125,11 @@
virtual const XalanDOMString&
str() const = 0;
+ virtual void
+ str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const = 0;
+
virtual const ResultTreeFragBase&
rtree(XPathExecutionContext& executionContext) const;
1.3 +10 -0 xml-xalan/c/src/XPath/XStringCached.cpp
Index: XStringCached.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XStringCached.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- XStringCached.cpp 2001/01/25 17:14:23 1.2
+++ XStringCached.cpp 2001/05/02 15:53:11 1.3
@@ -106,6 +106,16 @@
+void
+XStringCached::str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const
+{
+ (formatterListener.*function)(c_wstr(m_value.get()),
length(m_value.get()));
+}
+
+
+
XStringCached::eObjectType
XStringCached::getRealType() const
{
1.2 +5 -0 xml-xalan/c/src/XPath/XStringCached.hpp
Index: XStringCached.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XStringCached.hpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XStringCached.hpp 2000/12/21 04:23:07 1.1
+++ XStringCached.hpp 2001/05/02 15:53:13 1.2
@@ -104,6 +104,11 @@
virtual const XalanDOMString&
str() const;
+ virtual void
+ str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const;
+
protected:
virtual eObjectType
1.2 +10 -0 xml-xalan/c/src/XPath/XStringReference.cpp
Index: XStringReference.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XStringReference.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XStringReference.cpp 2000/12/21 04:23:07 1.1
+++ XStringReference.cpp 2001/05/02 15:53:15 1.2
@@ -102,6 +102,16 @@
+void
+XStringReference::str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const
+{
+ (formatterListener.*function)(c_wstr(m_value), length(m_value));
+}
+
+
+
XStringReference::eObjectType
XStringReference::getRealType() const
{
1.2 +5 -0 xml-xalan/c/src/XPath/XStringReference.hpp
Index: XStringReference.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XStringReference.hpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XStringReference.hpp 2000/12/21 04:23:07 1.1
+++ XStringReference.hpp 2001/05/02 15:53:17 1.2
@@ -101,6 +101,11 @@
virtual const XalanDOMString&
str() const;
+ virtual void
+ str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const;
+
protected:
virtual eObjectType
1.2 +10 -0 xml-xalan/c/src/XPath/XToken.cpp
Index: XToken.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XToken.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XToken.cpp 2001/01/16 02:34:46 1.1
+++ XToken.cpp 2001/05/02 15:53:18 1.2
@@ -146,6 +146,16 @@
void
+XToken::str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const
+{
+ (formatterListener.*function)(c_wstr(m_stringValue),
length(m_stringValue));
+}
+
+
+
+void
XToken::ProcessXObjectTypeCallback(XObjectTypeCallback&
theCallbackObject)
{
theCallbackObject.String(*this, m_stringValue);
1.2 +5 -0 xml-xalan/c/src/XPath/XToken.hpp
Index: XToken.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XToken.hpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XToken.hpp 2001/01/16 02:34:46 1.1
+++ XToken.hpp 2001/05/02 15:53:21 1.2
@@ -102,6 +102,11 @@
str() const;
virtual void
+ str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const;
+
+ virtual void
ProcessXObjectTypeCallback(XObjectTypeCallback&
theCallbackObject);
virtual void
1.2 +10 -0 xml-xalan/c/src/XPath/XTokenNumberAdapter.cpp
Index: XTokenNumberAdapter.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XTokenNumberAdapter.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XTokenNumberAdapter.cpp 2001/01/16 02:34:46 1.1
+++ XTokenNumberAdapter.cpp 2001/05/02 15:53:22 1.2
@@ -113,6 +113,16 @@
+void
+XTokenNumberAdapter::str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const
+{
+ m_value.str(formatterListener, function);
+}
+
+
+
XTokenNumberAdapter::eObjectType
XTokenNumberAdapter::getRealType() const
{
1.2 +5 -0 xml-xalan/c/src/XPath/XTokenNumberAdapter.hpp
Index: XTokenNumberAdapter.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XTokenNumberAdapter.hpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XTokenNumberAdapter.hpp 2001/01/16 02:34:46 1.1
+++ XTokenNumberAdapter.hpp 2001/05/02 15:53:23 1.2
@@ -108,6 +108,11 @@
virtual const XalanDOMString&
str() const;
+ virtual void
+ str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const;
+
protected:
virtual eObjectType
1.2 +10 -0 xml-xalan/c/src/XPath/XTokenStringAdapter.cpp
Index: XTokenStringAdapter.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XTokenStringAdapter.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XTokenStringAdapter.cpp 2001/01/16 02:34:46 1.1
+++ XTokenStringAdapter.cpp 2001/05/02 15:53:25 1.2
@@ -113,6 +113,16 @@
+void
+XTokenStringAdapter::str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const
+{
+ m_value.str(formatterListener, function);
+}
+
+
+
XTokenStringAdapter::eObjectType
XTokenStringAdapter::getRealType() const
{
1.2 +5 -0 xml-xalan/c/src/XPath/XTokenStringAdapter.hpp
Index: XTokenStringAdapter.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XTokenStringAdapter.hpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XTokenStringAdapter.hpp 2001/01/16 02:34:46 1.1
+++ XTokenStringAdapter.hpp 2001/05/02 15:53:27 1.2
@@ -108,6 +108,11 @@
virtual const XalanDOMString&
str() const;
+ virtual void
+ str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const;
+
protected:
virtual eObjectType
1.11 +10 -0 xml-xalan/c/src/XPath/XUnknown.cpp
Index: XUnknown.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XUnknown.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- XUnknown.cpp 2001/02/09 19:29:15 1.10
+++ XUnknown.cpp 2001/05/02 15:53:28 1.11
@@ -138,6 +138,16 @@
void
+XUnknown::str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const
+{
+ (formatterListener.*function)(c_wstr(m_value), length(m_value));
+}
+
+
+
+void
XUnknown::ProcessXObjectTypeCallback(XObjectTypeCallback&
theCallbackObject)
{
theCallbackObject.Unknown(*this,
1.11 +5 -0 xml-xalan/c/src/XPath/XUnknown.hpp
Index: XUnknown.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XUnknown.hpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- XUnknown.hpp 2000/11/09 19:39:44 1.10
+++ XUnknown.hpp 2001/05/02 15:53:29 1.11
@@ -123,6 +123,11 @@
str() const;
virtual void
+ str(
+ FormatterListener& formatterListener,
+ MemberFunctionPtr function) const;
+
+ virtual void
ProcessXObjectTypeCallback(XObjectTypeCallback&
theCallbackObject);
virtual void
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]