You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by db...@apache.org on 2001/06/06 23:49:08 UTC

cvs commit: xml-xalan/c/src/XPath XNodeSet.cpp XNodeSet.hpp XNumber.cpp XNumber.hpp XObject.cpp XObject.hpp XResultTreeFrag.cpp XResultTreeFrag.hpp

dbertoni    01/06/06 14:49:08

  Modified:    c/src/XPath XNodeSet.cpp XNodeSet.hpp XNumber.cpp
                        XNumber.hpp XObject.cpp XObject.hpp
                        XResultTreeFrag.cpp XResultTreeFrag.hpp
  Log:
  Added an overload for str() that allows for string data to be appended to a buffer.
  
  Revision  Changes    Path
  1.23      +18 -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.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- XNodeSet.cpp	2001/05/02 15:52:46	1.22
  +++ XNodeSet.cpp	2001/06/06 21:49:00	1.23
  @@ -200,6 +200,24 @@
   
   
   
  +void
  +XNodeSet::str(XalanDOMString&	theBuffer) const
  +{
  +	if (isEmpty(m_cachedStringValue) == false)
  +	{
  +		append(theBuffer, m_cachedStringValue);
  +	}
  +	else if (m_value->getLength() > 0)
  +	{
  +		const XalanNode* const	theNode = m_value->item(0);
  +		assert(theNode != 0);
  +
  +		DOMServices::getNodeData(*theNode, theBuffer);
  +	}
  +}
  +
  +
  +
   const ResultTreeFragBase&
   XNodeSet::rtree(XPathExecutionContext&	executionContext) const
   {
  
  
  
  1.20      +3 -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.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- XNodeSet.hpp	2001/05/02 15:52:47	1.19
  +++ XNodeSet.hpp	2001/06/06 21:49:01	1.20
  @@ -140,6 +140,9 @@
   			FormatterListener&	formatterListener,
   			MemberFunctionPtr	function) const;
   
  +	virtual void
  +	str(XalanDOMString&	theBuffer) const;
  +
   	virtual const ResultTreeFragBase&
   	rtree(XPathExecutionContext&	executionContext) const;
   
  
  
  
  1.14      +15 -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.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- XNumber.cpp	2001/05/02 15:52:52	1.13
  +++ XNumber.cpp	2001/06/06 21:49:01	1.14
  @@ -137,6 +137,21 @@
   
   
   void
  +XNumber::str(XalanDOMString&	theBuffer) const
  +{
  +	if (isEmpty(m_cachedStringValue) == false)
  +	{
  +		append(theBuffer, m_cachedStringValue);
  +	}
  +	else
  +	{
  +		DoubleToDOMString(m_value, theBuffer);
  +	}
  +}
  +
  +
  +
  +void
   XNumber::set(double		theValue)
   {
   	m_value = theValue;
  
  
  
  1.13      +3 -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.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- XNumber.hpp	2001/05/02 15:52:53	1.12
  +++ XNumber.hpp	2001/06/06 21:49:02	1.13
  @@ -109,6 +109,9 @@
   			FormatterListener&	formatterListener,
   			MemberFunctionPtr	function) const;
   
  +	virtual void
  +	str(XalanDOMString&	theBuffer) const;
  +
   	// These methods are new to XNumber...
   
   	/**
  
  
  
  1.24      +8 -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.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- XObject.cpp	2001/05/10 17:55:29	1.23
  +++ XObject.cpp	2001/06/06 21:49:02	1.24
  @@ -172,6 +172,14 @@
   
   
   
  +void
  +XObject::str(XalanDOMString&	theBuffer) const
  +{
  +	append(theBuffer, str());
  +}
  +
  +
  +
   const ResultTreeFragBase&
   XObject::rtree(XPathExecutionContext&	/* executionContext */) const
   {
  
  
  
  1.20      +8 -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.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- XObject.hpp	2001/05/10 17:56:21	1.19
  +++ XObject.hpp	2001/06/06 21:49:03	1.20
  @@ -182,6 +182,14 @@
   			MemberFunctionPtr	function) const = 0;
   
   	/**
  +	 * Append the string value directly a string
  +	 *
  +	 * @param theBuffer The buffer for the data
  +	 */
  +	virtual void
  +	str(XalanDOMString&	theBuffer) const;
  +
  +	/**
   	 * Cast result object to a result tree fragment.
   	 *
   	 * @param executionContext the current execution context
  
  
  
  1.22      +15 -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.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- XResultTreeFrag.cpp	2001/05/17 16:12:24	1.21
  +++ XResultTreeFrag.cpp	2001/06/06 21:49:03	1.22
  @@ -193,6 +193,21 @@
   
   
   
  +void
  +XResultTreeFrag::str(XalanDOMString&	theBuffer) const
  +{
  +	if (isEmpty(m_cachedStringValue) == false)
  +	{
  +		append(theBuffer, m_cachedStringValue);
  +	}
  +	else
  +	{
  +		DOMServices::getNodeData(*m_value, theBuffer);
  +	}
  +}
  +
  +
  +
   const ResultTreeFragBase&
   XResultTreeFrag::rtree(XPathExecutionContext&	/* executionContext */) const
   {
  
  
  
  1.23      +18 -12    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.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- XResultTreeFrag.hpp	2001/05/17 16:12:25	1.22
  +++ XResultTreeFrag.hpp	2001/06/06 21:49:04	1.23
  @@ -146,6 +146,9 @@
   			FormatterListener&	formatterListener,
   			MemberFunctionPtr	function) const;
   
  +	virtual void
  +	str(XalanDOMString&	theBuffer) const;
  +
   	virtual const ResultTreeFragBase&
   	rtree(XPathExecutionContext&	executionContext) const;
   
  @@ -161,16 +164,6 @@
   	virtual void
   	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject) const;
   
  -	// New member functions for node list compatibility...
  -	XalanNode*
  -	item(unsigned int	index) const;
  -
  -	unsigned int
  -	getLength() const;
  -
  -	unsigned int
  -	indexOf(const XalanNode*	theNode) const;
  -
   	/**
   	 * Release the ResultTreeFrag held by the instance.
   	 */
  @@ -185,8 +178,6 @@
   	void
   	set(BorrowReturnResultTreeFrag&	theValue);
   
  -private:
  -
   	class  NodeRefListBaseProxy : public NodeRefListBase
   	{
   	public:
  @@ -212,6 +203,21 @@
   
   		const XResultTreeFrag&	m_xresultTreeFrag;		
   	};
  +
  +	friend class NodeRefListBaseProxy;
  +
  +private:
  +
  +	// New member functions for node list compatibility...
  +	XalanNode*
  +	item(unsigned int	index) const;
  +
  +	unsigned int
  +	getLength() const;
  +
  +	unsigned int
  +	indexOf(const XalanNode*	theNode) const;
  +
   
   	// Data members...
   	BorrowReturnResultTreeFrag		m_value;	
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org