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...@locus.apache.org on 2000/08/15 21:43:23 UTC

cvs commit: xml-xalan/c/src/XPath FunctionID.hpp FunctionLang.hpp FunctionRound.hpp NodeRefList.cpp NodeRefList.hpp SimpleNodeLocator.cpp SimpleNodeLocator.hpp XLocator.hpp XObject.cpp XObjectFactory.hpp XObjectFactoryDefault.hpp XPath.cpp XPathEnvSupportDefault.cpp XPathExpression.cpp XPathExpression.hpp XPathFactoryDefault.hpp XResultTreeFrag.cpp

dbertoni    00/08/15 12:43:23

  Modified:    c/src/XPath FunctionID.hpp FunctionLang.hpp
                        FunctionRound.hpp NodeRefList.cpp NodeRefList.hpp
                        SimpleNodeLocator.cpp SimpleNodeLocator.hpp
                        XLocator.hpp XObject.cpp XObjectFactory.hpp
                        XObjectFactoryDefault.hpp XPath.cpp
                        XPathEnvSupportDefault.cpp XPathExpression.cpp
                        XPathExpression.hpp XPathFactoryDefault.hpp
                        XResultTreeFrag.cpp
  Log:
  Changes for AIX.
  
  Revision  Changes    Path
  1.12      +4 -4      xml-xalan/c/src/XPath/FunctionID.hpp
  
  Index: FunctionID.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/FunctionID.hpp,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- FunctionID.hpp	2000/08/14 16:33:54	1.11
  +++ FunctionID.hpp	2000/08/15 19:43:18	1.12
  @@ -159,11 +159,11 @@
           }
   		else if (length(theResultString) > 0)
   		{
  -#if !defined(XALAN_NO_NAMESPACES)
  -			using std::set;
  +#if defined(XALAN_NO_NAMESPACES)
  +			typedef set<XalanDOMString, less<XalanDOMString> >	TokenSetType;
  +#else
  +			typedef std::set<XalanDOMString>	TokenSetType;
   #endif
  -
  -			typedef set<XalanDOMString>		TokenSetType;
   
   			// This set will hold tokens that we've previously found, so
   			// we can avoid looking more than once.
  
  
  
  1.6       +4 -0      xml-xalan/c/src/XPath/FunctionLang.hpp
  
  Index: FunctionLang.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/FunctionLang.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- FunctionLang.hpp	2000/06/18 16:38:23	1.5
  +++ FunctionLang.hpp	2000/08/15 19:43:18	1.6
  @@ -125,7 +125,11 @@
   			if(XalanNode::ELEMENT_NODE == parent->getNodeType())
   			{
   				const XalanElement* const	theElementNode =
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +					(const XalanElement*)parent;
  +#else
   					static_cast<const XalanElement*>(parent);
  +#endif
   
   				const XalanDOMString		langVal =
   					theElementNode->getAttribute(XALAN_STATIC_UCODE_STRING("xml:lang"));
  
  
  
  1.6       +3 -3      xml-xalan/c/src/XPath/FunctionRound.hpp
  
  Index: FunctionRound.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/FunctionRound.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- FunctionRound.hpp	2000/04/20 16:27:45	1.5
  +++ FunctionRound.hpp	2000/08/15 19:43:18	1.6
  @@ -146,7 +146,7 @@
   		}
   		else if (theValue > 0)
   		{
  -			return static_cast<long>(theValue + 0.5);
  +			return long(theValue + 0.5);
   		}
   		else
   		{
  @@ -160,11 +160,11 @@
   			if (fracPart == -0.5)
   			{
   				// special case -- we have have to round toward 0...
  -				return static_cast<long>(theValue + 0.5);
  +				return long(theValue + 0.5);
   			}
   			else
   			{
  -				return static_cast<long>(theValue - 0.5);
  +				return long(theValue - 0.5);
   			}
   		}
   	}
  
  
  
  1.10      +5 -3      xml-xalan/c/src/XPath/NodeRefList.cpp
  
  Index: NodeRefList.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/NodeRefList.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- NodeRefList.cpp	2000/08/10 18:37:30	1.9
  +++ NodeRefList.cpp	2000/08/15 19:43:18	1.10
  @@ -199,8 +199,10 @@
   bool
   NodeRefList::checkForDuplicates() const
   {
  -#if !defined(XALAN_NO_NAMESPACES)
  -	using std::set;
  +#if defined(XALAN_NO_NAMESPACES)
  +	typedef set<const XalanNode*, less<const XalanNode*> >	NodeSetType;
  +#else
  +	typedef std::set<const XalanNode*>	NodeSetType;
   #endif
   
   	bool	fResult = false;
  @@ -209,7 +211,7 @@
   
   	if (theLength > 0)
   	{
  -		set<const XalanNode*>	theNodes;
  +		NodeSetType		theNodes;
   
   		for (unsigned i = 0; i < theLength && fResult == false; ++i)
   		{
  
  
  
  1.11      +0 -1      xml-xalan/c/src/XPath/NodeRefList.hpp
  
  Index: NodeRefList.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/NodeRefList.hpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- NodeRefList.hpp	2000/08/10 18:37:30	1.10
  +++ NodeRefList.hpp	2000/08/15 19:43:18	1.11
  @@ -64,7 +64,6 @@
   
   
   
  -#include <deque>
   #include <vector>
   
   
  
  
  
  1.22      +9 -103    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.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- SimpleNodeLocator.cpp	2000/08/14 16:33:55	1.21
  +++ SimpleNodeLocator.cpp	2000/08/15 19:43:18	1.22
  @@ -67,10 +67,6 @@
   
   
   
  -#include <PlatformSupport/DirectoryEnumerator.hpp>
  -
  -
  -
   #include <DOMSupport/DOMServices.hpp>
   
   
  @@ -109,104 +105,6 @@
   
   
   const XObject*
  -SimpleNodeLocator::connectToNodes(
  -			const XPath&					/* xpath */,
  -			XPathExecutionContext&			executionContext,
  -			XalanNode&						/* context */, 
  -			int 							/* opPos */,
  -			const ConnectArgsVectorType&	connectArgs)
  -{
  -#if 0
  -	assert(connectArgs.size() > 0 && connectArgs.size() < 3);
  -
  -	XObjectFactory& 		theFactory =
  -		executionContext.getXObjectFactory();
  -
  -	XObjectGuard			results(theFactory,
  -									theFactory.createNodeSet(executionContext.createMutableNodeRefList()));
  -
  -	const XPathExpression&	currentExpression =
  -		xpath.getExpression();
  -
  -	const XalanDOMString	theFileSpec = connectArgs[0]->str();
  -
  -
  -	const XalanDOMString	filterSpec = connectArgs.size() > 1 ? connectArgs[0]->str() : XalanDOMString();
  -	const unsigned int		filterSpecLength = length(filterSpec);
  -
  -#if defined(XALAN_NO_NAMESPACES)
  -	typedef vector<XalanDOMString>			DOMStringVectorType;
  -#else
  -	typedef std::vector<XalanDOMString>		DOMStringVectorType;
  -#endif
  -
  -	DirectoryEnumeratorFunctor<DOMStringVectorType> 	theEnumerator;
  -
  -	const DOMStringVectorType							theFiles = theEnumerator(theFileSpec);
  -
  -	const DOMStringVectorType::size_type				nFiles = theFiles.size();
  -
  -	if (nFiles > 0)
  -	{
  -		MutableNodeRefList& 	theNodeList = results->mutableNodeset();
  -
  -		for(DOMStringVectorType::size_type i = 0; i < nFiles; ++i)
  -		{
  -			try
  -			{
  -				// If there's no filter spec, or the spec matches the file, then
  -				// parse the XML.
  -				if (filterSpecLength == 0 ||
  -					endsWith(theFiles[i], filterSpec) == true)
  -				{
  -					XalanDocument* const	doc = executionContext.parseXML(theFiles[i], theFileSpec);
  -
  -					if(0 != doc)
  -					{
  -						const int	value =
  -									currentExpression.getOpCodeMapValue(opPos);
  -
  -						if(XPathExpression::eOP_LOCATIONPATH == value)
  -						{
  -							const XObjectGuard		xnl(
  -										executionContext.getXObjectFactory(),
  -										xpath.locationPath(doc, opPos, executionContext));
  -
  -							if(0 != xnl.get())
  -							{
  -								theNodeList.addNodes(xnl->nodeset());
  -
  -								executionContext.associateXLocatorToNode(doc, this);
  -							}
  -						}
  -						else
  -						{
  -							theNodeList.addNode(doc);
  -
  -							executionContext.associateXLocatorToNode(doc, this);
  -						}
  -					}
  -				}
  -			}
  -			catch(...)
  -			{
  -				executionContext.warn(XalanDOMString("Couldn't parse XML file: ") + theFiles[i]);
  -			}
  -		}
  -	}
  -	else
  -	{
  -		executionContext.warn("No files matched the file specification!");
  -	}
  -	return results.release();
  -#endif
  -
  -	return 0;
  -}
  -
  -
  -
  -const XObject*
   SimpleNodeLocator::locationPath(
   			const XPath&			xpath,
   			XPathExecutionContext&	executionContext,
  @@ -956,7 +854,11 @@
   	if(0 != context && context->getNodeType() == XalanNode::ELEMENT_NODE)
   	{
   		const XalanElement* const		e =
  -			static_cast<const XalanElement*>(context);
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +					(const XalanElement*)context;
  +#else
  +					static_cast<const XalanElement*>(context);
  +#endif
   
   		const XalanNamedNodeMap* const	attributeList = e->getAttributes();
   
  @@ -1639,7 +1541,11 @@
   									if (isNamespace == true)
   									{
   										const XalanAttr* const	theAttrNode =
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +											(const XalanAttr*)context;
  +#else
   											static_cast<const XalanAttr*>(context);
  +#endif
   										assert(theAttrNode != 0);
   
   										const XalanDOMString	theNamespace =
  
  
  
  1.9       +0 -8      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.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- SimpleNodeLocator.hpp	2000/08/10 18:37:31	1.8
  +++ SimpleNodeLocator.hpp	2000/08/15 19:43:19	1.9
  @@ -99,14 +99,6 @@
   	// These methods are inherited from XLocator ...
   
   	virtual const XObject*
  -	connectToNodes(
  -			const XPath&					xpath,
  -			XPathExecutionContext&			executionContext,
  -			XalanNode& 						context, 
  -			int 							opPos,
  -			const ConnectArgsVectorType&	connectArgs);
  -  
  -	virtual const XObject*
   	locationPath(
   			const XPath&			xpath,
   			XPathExecutionContext&	executionContext,
  
  
  
  1.7       +0 -23     xml-xalan/c/src/XPath/XLocator.hpp
  
  Index: XLocator.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XLocator.hpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XLocator.hpp	2000/08/10 18:37:32	1.6
  +++ XLocator.hpp	2000/08/15 19:43:19	1.7
  @@ -91,29 +91,6 @@
   	typedef	std::vector<XObject*>	ConnectArgsVectorType;
   #endif
   
  -  /**
  -	* Execute a connection (if it was not executed by the static connect
  -	* method) and process the following LocationPath, if it is present.
  -	* Normally, the connection functionality should be executed by this
  -	* function and not the static connect function, which is really a factory
  -	* method for the XLocator instance.  The arguments to the static connect
  -	* function are re-passed to this function.
  -	*
  -   * @param xpath       XPath that is executing
  -   * @param context     current source tree context node
  -   * @param opPos       current position in the xpath.m_opMap array
  -	* @param connectArgs arguments that were passed to the static connect
  -	*                    function
  -   * @return pointer to result of the query in an XObject
  -   */
  -	virtual const XObject*
  -	connectToNodes(
  -			const XPath&					xpath,
  -			XPathExecutionContext&			executionContext,
  -			XalanNode&						context, 
  -            int								opPos,
  -			const ConnectArgsVectorType&	connectArgs) = 0;
  -  
   	/**
   	 * Execute a location path.  Normally, this method simply moves past the
   	 * OP_LOCATIONPATH and it's length member, and calls the Step function,
  
  
  
  1.10      +9 -2      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.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- XObject.cpp	2000/08/10 18:37:34	1.9
  +++ XObject.cpp	2000/08/15 19:43:19	1.10
  @@ -75,7 +75,7 @@
   
   
   
  -#include "NodeRefListBase.hpp"
  +#include "NodeRefList.hpp"
   
   
   
  @@ -136,11 +136,18 @@
   	throw XObjectInvalidCastException(getTypeString(), XALAN_STATIC_UCODE_STRING("result tree fragment"));
   
   	// This is just a dummy value to satisfy the compiler.
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +	return *((ResultTreeFragBase*)0);
  +#else
   	return *static_cast<ResultTreeFragBase*>(0);
  +#endif
   }
   
   
  +static const NodeRefList	s_dummyList;
   
  +
  +
   const NodeRefListBase&
   XObject::nodeset() const
   {
  @@ -148,7 +155,7 @@
   
   	// error will throw, so this is just a dummy
   	// value to satisfy the compiler.
  -	return *static_cast<NodeRefListBase*>(0);
  +	return s_dummyList;
   }
   
   
  
  
  
  1.11      +4 -0      xml-xalan/c/src/XPath/XObjectFactory.hpp
  
  Index: XObjectFactory.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XObjectFactory.hpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- XObjectFactory.hpp	2000/08/14 16:33:56	1.10
  +++ XObjectFactory.hpp	2000/08/15 19:43:19	1.11
  @@ -261,7 +261,11 @@
   	void
   	deleteObject(const XObject*		theXObject) const
   	{
  +#if defined(XALAN_CANNOT_DELETE_CONST)
  +		delete (XObject*)theXObject;
  +#else
   		delete theXObject;
  +#endif
   	}
   
   	/**
  
  
  
  1.11      +1 -1      xml-xalan/c/src/XPath/XObjectFactoryDefault.hpp
  
  Index: XObjectFactoryDefault.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XObjectFactoryDefault.hpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- XObjectFactoryDefault.hpp	2000/08/14 16:33:56	1.10
  +++ XObjectFactoryDefault.hpp	2000/08/15 19:43:19	1.11
  @@ -142,7 +142,7 @@
   			bool								fOptimize = true);
   
   #if defined(XALAN_NO_NAMESPACES)
  -	typedef set<const XObject*>		CollectionType;
  +	typedef set<const XObject*, less<const XObject*> >	CollectionType;
   #else
   	typedef std::set<const XObject*>	CollectionType;
   #endif
  
  
  
  1.27      +4 -4      xml-xalan/c/src/XPath/XPath.cpp
  
  Index: XPath.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPath.cpp,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- XPath.cpp	2000/08/14 16:33:57	1.26
  +++ XPath.cpp	2000/08/15 19:43:19	1.27
  @@ -1155,8 +1155,8 @@
   			int						opPos,
   			XPathExecutionContext&	executionContext) const
   {
  -	assert(m_expression.m_opMap.size() > static_cast<unsigned>(opPos + 2));
  -	assert(m_expression.m_tokenQueue.size() > static_cast<unsigned>(m_expression.m_opMap[opPos + 2]));
  +	assert(m_expression.m_opMap.size() > unsigned(opPos + 2));
  +	assert(m_expression.m_tokenQueue.size() > unsigned(m_expression.m_opMap[opPos + 2]));
   
   	const XObject&	theLiteral = m_expression.m_tokenQueue[m_expression.m_opMap[opPos + 2]];
   
  @@ -1222,8 +1222,8 @@
   			int						opPos,
   			XPathExecutionContext&	executionContext) const
   {
  -	assert(m_expression.m_opMap.size() > static_cast<unsigned>(opPos + 2));
  -	assert(m_expression.m_tokenQueue.size() > static_cast<unsigned>(m_expression.m_opMap[opPos + 2]));
  +	assert(m_expression.m_opMap.size() > unsigned(opPos + 2));
  +	assert(m_expression.m_tokenQueue.size() > unsigned(m_expression.m_opMap[opPos + 2]));
   
   	const XObject&	theLiteral = m_expression.m_tokenQueue[m_expression.m_opMap[opPos + 2]];
   
  
  
  
  1.16      +4 -4      xml-xalan/c/src/XPath/XPathEnvSupportDefault.cpp
  
  Index: XPathEnvSupportDefault.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathEnvSupportDefault.cpp,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- XPathEnvSupportDefault.cpp	2000/08/14 22:07:24	1.15
  +++ XPathEnvSupportDefault.cpp	2000/08/15 19:43:19	1.16
  @@ -471,9 +471,9 @@
   {
   	cerr << msg
   		 << ", at line number "
  -		 << static_cast<long>(lineNo)
  +		 << lineNo
   		 << " at offset "
  -		 << static_cast<long>(charOffset)
  +		 << charOffset
   		 << endl;
   
   	return classification == XPathEnvSupport::eError ? true : false;
  @@ -493,9 +493,9 @@
   {
   	cerr << msg
   		 << ", at line number "
  -		 << static_cast<long>(lineNo)
  +		 << lineNo
   		 << " at offset "
  -		 << static_cast<long>(charOffset)
  +		 << charOffset
   		 << endl;
   
   	return classification == XPathEnvSupport::eError ? true :false;
  
  
  
  1.13      +8 -0      xml-xalan/c/src/XPath/XPathExpression.cpp
  
  Index: XPathExpression.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathExpression.cpp,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- XPathExpression.cpp	2000/08/10 18:37:39	1.12
  +++ XPathExpression.cpp	2000/08/15 19:43:19	1.13
  @@ -249,6 +249,14 @@
   
   
   
  +XPathExpression::XToken::XToken() :
  +	m_stringValue(),
  +	m_numberValue(DoubleSupport::getNaN())
  +{
  +}
  +
  +
  +
   XPathExpression::XToken::XToken(const XalanDOMString&	theString) :
   	m_stringValue(theString),
   	m_numberValue(DoubleSupport::toDouble(theString))
  
  
  
  1.8       +38 -31    xml-xalan/c/src/XPath/XPathExpression.hpp
  
  Index: XPathExpression.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathExpression.hpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- XPathExpression.hpp	2000/08/10 18:37:39	1.7
  +++ XPathExpression.hpp	2000/08/15 19:43:19	1.8
  @@ -736,6 +736,9 @@
   	{
   	public:
   
  +		explicit
  +		XToken();
  +
   		XToken(const XalanDOMString&	theString);
   
   		XToken(double	theNumber);
  @@ -773,12 +776,9 @@
   		XToken&
   		operator=(const XToken&		theRHS)
   		{
  -			if (&theRHS != this)
  -			{
  -				m_stringValue = theRHS.m_stringValue;
  +			m_stringValue = theRHS.m_stringValue;
   
  -				m_numberValue = theRHS.m_numberValue;
  -			}
  +			m_numberValue = theRHS.m_numberValue;
   
   			return *this;
   		}
  @@ -803,29 +803,40 @@
   
   
   #if defined(XALAN_NO_NAMESPACES)
  -#	define XALAN_STD
  -#else
  -#	define XALAN_STD std::
  -#endif
  +
  +	typedef vector<int>						OpCodeMapType;
  +	typedef deque<XToken>					TokenQueueType;
  +	typedef vector<int>						PatternMapType;
  +
  +	typedef map<int, int, less<int> >		OpCodeLengthMapType;
  +
  +	typedef OpCodeMapType::value_type		OpCodeMapValueType;
  +	typedef OpCodeMapType::size_type		OpCodeMapSizeType;
  +
  +	typedef set<OpCodeMapValueType, less<OpCodeMapValueType> >	NodeTestSetType;
   
  -	typedef XALAN_STD vector<int>				OpCodeMapType;
  +	typedef vector<OpCodeMapValueType>		OpCodeMapValueVectorType;
   
  -	typedef XALAN_STD deque<XToken>				TokenQueueType;
  -	typedef XALAN_STD vector<int>				PatternMapType;
  -	typedef XALAN_STD map<int, int>				OpCodeLengthMapType;
  +#else
  +
  +	typedef std::vector<int>				OpCodeMapType;
  +	typedef std::deque<XToken>				TokenQueueType;
  +	typedef std::vector<int>				PatternMapType;
  +	typedef std::map<int, int>				OpCodeLengthMapType;
   
   	typedef OpCodeMapType::value_type		OpCodeMapValueType;
   	typedef OpCodeMapType::size_type		OpCodeMapSizeType;
  +
  +	typedef std::set<OpCodeMapValueType>	NodeTestSetType;
  +	typedef std::vector<OpCodeMapValueType> OpCodeMapValueVectorType;
  +
  +#endif
  +
   	typedef TokenQueueType::value_type		TokenQueueValueType;
   	typedef TokenQueueType::size_type		TokenQueueSizeType;
   	typedef PatternMapType::value_type		PatternMapValueType;
   	typedef PatternMapType::size_type		PatternMapSizeType;
   
  -	typedef XALAN_STD set<OpCodeMapValueType>	NodeTestSetType;
  -	typedef XALAN_STD vector<OpCodeMapValueType> OpCodeMapValueVectorType;
  -
  -#undef XALAN_STD
  -
   	explicit
   	XPathExpression();
   
  @@ -873,7 +884,7 @@
   		if (theSize > s__opCodeMapLengthIndex)
   		{
   			assert(theSize ==
  -				static_cast<OpCodeMapSizeType>(m_opMap[s__opCodeMapLengthIndex]));
  +				OpCodeMapSizeType(m_opMap[s__opCodeMapLengthIndex]));
   
   			return m_opMap[s__opCodeMapLengthIndex];
   		}
  @@ -1110,7 +1121,7 @@
   	void
   	setTokenPosition(int	thePosition)
   	{
  -		setTokenPosition(thePosition > 0 ? static_cast<TokenQueueSizeType>(thePosition) : 0);
  +		setTokenPosition(thePosition > 0 ? TokenQueueSizeType(thePosition) : 0);
   	}
   
   	/**
  @@ -1173,11 +1184,10 @@
   	const XObject*
   	getRelativeToken(int	theOffset) const
   	{
  -		const int	thePosition =
  -			static_cast<int>(m_currentPosition) + theOffset;
  +		const int	thePosition = int(m_currentPosition) + theOffset;
   
   		if (thePosition < 0 ||
  -			thePosition >= static_cast<int>(tokenQueueSize()))
  +			thePosition >= int(tokenQueueSize()))
   		{
   			return 0;
   		}
  @@ -1222,11 +1232,10 @@
   	{
   		assert(theToken != 0);
   
  -		const int	thePosition =
  -			static_cast<int>(m_currentPosition) + theOffset;
  +		const int	thePosition = int(m_currentPosition) + theOffset;
   
   		if (thePosition < 0 ||
  -			thePosition >= static_cast<int>(tokenQueueSize()))
  +			thePosition >= int(tokenQueueSize()))
   		{
   			throw InvalidRelativeTokenPosition(theOffset);
   		}
  @@ -1247,11 +1256,9 @@
   	{
   		assert(theToken != 0);
   
  -		const int	thePosition =
  -			static_cast<int>(m_currentPosition) + theOffset;
  +		const int	thePosition = int(m_currentPosition) + theOffset;
   
  -		if (thePosition < 0 ||
  -			thePosition >= static_cast<int>(tokenQueueSize()))
  +		if (thePosition < 0 || thePosition >= int(tokenQueueSize()))
   		{
   			throw InvalidRelativeTokenPosition(theOffset);
   		}
  @@ -1322,7 +1329,7 @@
   	PatternMapValueType
   	getPattern(int	thePatternPosition) const
   	{
  -		assert(static_cast<int>(patternMapSize()) > thePatternPosition);
  +		assert(int(patternMapSize()) > thePatternPosition);
   
   		return m_patternMap[thePatternPosition];
   	}
  
  
  
  1.8       +1 -1      xml-xalan/c/src/XPath/XPathFactoryDefault.hpp
  
  Index: XPathFactoryDefault.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathFactoryDefault.hpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- XPathFactoryDefault.hpp	2000/07/12 21:46:51	1.7
  +++ XPathFactoryDefault.hpp	2000/08/15 19:43:19	1.8
  @@ -96,7 +96,7 @@
   
   
   #if defined(XALAN_NO_NAMESPACES)
  -	typedef set<const XPath*>		CollectionType;
  +	typedef set<const XPath*, less<const XPath*> >	CollectionType;
   #else
   	typedef std::set<const XPath*>	CollectionType;
   #endif
  
  
  
  1.11      +4 -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.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- XResultTreeFrag.cpp	2000/08/10 18:37:40	1.10
  +++ XResultTreeFrag.cpp	2000/08/15 19:43:19	1.11
  @@ -163,7 +163,11 @@
   		if(XalanNode::TEXT_NODE == theCurrentNode->getNodeType())
   		{
   			const XalanText* const	theTextNode =
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +				(const XalanText*)theCurrentNode;
  +#else
   				static_cast<const XalanText*>(theCurrentNode);
  +#endif
   
   			if (theTextNode->isIgnorableWhitespace() ||
   			    length(trim(theTextNode->getData())) == 0)