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/22 22:19:38 UTC

cvs commit: xml-xalan/c/src/XercesParserLiaison XercesAttributeBridgeAllocator.hpp XercesBridgeNavigator.cpp XercesDocumentBridge.cpp XercesDocumentBridge.hpp XercesElementBridge.cpp XercesElementBridgeAllocator.hpp XercesNamedNodeListCache.cpp XercesNamedNodeListCache.hpp XercesNamedNodeMapBridge.cpp XercesParserLiaison.cpp XercesParserLiaison.hpp XercesTextBridgeAllocator.hpp XercesToXalanNodeMap.cpp

dbertoni    00/08/22 13:19:37

  Modified:    c/src/XercesParserLiaison XercesAttributeBridgeAllocator.hpp
                        XercesBridgeNavigator.cpp XercesDocumentBridge.cpp
                        XercesDocumentBridge.hpp XercesElementBridge.cpp
                        XercesElementBridgeAllocator.hpp
                        XercesNamedNodeListCache.cpp
                        XercesNamedNodeListCache.hpp
                        XercesNamedNodeMapBridge.cpp
                        XercesParserLiaison.cpp XercesParserLiaison.hpp
                        XercesTextBridgeAllocator.hpp
                        XercesToXalanNodeMap.cpp
  Log:
  Changes for AIX port.
  
  Revision  Changes    Path
  1.2       +10 -3     xml-xalan/c/src/XercesParserLiaison/XercesAttributeBridgeAllocator.hpp
  
  Index: XercesAttributeBridgeAllocator.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XercesParserLiaison/XercesAttributeBridgeAllocator.hpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XercesAttributeBridgeAllocator.hpp	2000/08/10 18:03:35	1.1
  +++ XercesAttributeBridgeAllocator.hpp	2000/08/22 20:19:18	1.2
  @@ -76,11 +76,18 @@
   {
   public:
   
  -	typedef XercesAttrBridge				ObjectType;
  +	typedef XercesAttrBridge						ObjectType;
   
  -	typedef ArenaAllocator<ObjectType>		ArenaAllocatorType;
  +#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
  +	typedef ArenaBlock<ObjectType>					ArenaBlockType;
   
  -	typedef ArenaAllocatorType::size_type	size_type;
  +	typedef ArenaAllocator<ObjectType,
  +						   ArenaBlockType>			ArenaAllocatorType;
  +#else
  +	typedef ArenaAllocator<ObjectType>				ArenaAllocatorType;
  +#endif
  +
  +	typedef ArenaAllocatorType::size_type			size_type;
   
   	/**
   	 * Construct an instance that will allocate blocks of the specified size.
  
  
  
  1.4       +5 -1      xml-xalan/c/src/XercesParserLiaison/XercesBridgeNavigator.cpp
  
  Index: XercesBridgeNavigator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XercesParserLiaison/XercesBridgeNavigator.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XercesBridgeNavigator.cpp	2000/08/10 18:41:36	1.3
  +++ XercesBridgeNavigator.cpp	2000/08/22 20:19:19	1.4
  @@ -72,7 +72,11 @@
   // I'm using this to distinguish between null nodes, which are valid, and
   // an uninitialized cached node address.  This is probably bogus, and I'll
   // probably just change this to 0, but this is experimental anyway...
  -XalanNode* const	invalidNodeAddress = reinterpret_cast<XalanNode*>(1);
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +static XalanNode* const		invalidNodeAddress = (XalanNode*)1;
  +#else
  +static XalanNode* const		invalidNodeAddress = reinterpret_cast<XalanNode*>(1);
  +#endif
   
   
   
  
  
  
  1.11      +202 -5    xml-xalan/c/src/XercesParserLiaison/XercesDocumentBridge.cpp
  
  Index: XercesDocumentBridge.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XercesParserLiaison/XercesDocumentBridge.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- XercesDocumentBridge.cpp	2000/08/10 18:41:36	1.10
  +++ XercesDocumentBridge.cpp	2000/08/22 20:19:19	1.11
  @@ -220,7 +220,11 @@
   	NodeImpl* const		theXercesNodeImpl =
   		mapNodeToImpl(theXalanNode);
   
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +	return XercesDOM_AttrHack((AttrImpl*)theXercesNodeImpl);
  +#else
   	return XercesDOM_AttrHack(reinterpret_cast<AttrImpl*>(theXercesNodeImpl));
  +#endif
   }
   
   
  @@ -346,15 +350,30 @@
   
   	theNavigator.setIndex(theIndex);
   
  +#if defined(XALAN_NO_MUTABLE)
  +	XercesDocumentBridge* const		This =
  +		(XercesDocumentBridge*)this;
  +
   	// Update the member variable for the new instance.
  -	m_doctype = new XercesDocumentTypeBridge(theDoctype, theNavigator);;
  +	This->m_doctype = new XercesDocumentTypeBridge(theDoctype, theNavigator);
   
   	if (mapNode == true)
   	{
  +		This->m_nodeMap.addAssociation(theDoctype, m_doctype);
  +	}
  +
  +	This->m_nodes.push_back(m_doctype);
  +#else
  +	// Update the member variable for the new instance.
  +	m_doctype = new XercesDocumentTypeBridge(theDoctype, theNavigator);
  +
  +	if (mapNode == true)
  +	{
   		m_nodeMap.addAssociation(theDoctype, m_doctype);
   	}
   
   	m_nodes.push_back(m_doctype);
  +#endif
   
   	return m_doctype;
   }
  @@ -372,6 +391,30 @@
   
   	theNavigator.setIndex(theIndex);
   
  +#if defined(XALAN_NO_MUTABLE)
  +	XercesDocumentBridge* const		This =
  +		(XercesDocumentBridge*)this;
  +
  +	XercesElementBridge* const	theBridge =
  +#if defined(XALAN_USE_BLOCK_ALLOCATORS)
  +		This->m_elementAllocator.create(theXercesNode,
  +										theNavigator);
  +#else
  +		new XercesElementBridge(theXercesNode,
  +								theNavigator);
  +
  +	This->m_nodes.push_back(theBridge);
  +#endif
  +
  +	if (m_doctype != 0 || mapNode == true)
  +	{
  +		// Add it to the node map, since we my need it for getting
  +		// elements by ID, or we're in mapping mode.
  +		This->m_nodeMap.addAssociation(theXercesNode, theBridge);
  +	}
  +
  +#else	// XALAN_NO_MUTABLE
  +
   	XercesElementBridge* const	theBridge =
   #if defined(XALAN_USE_BLOCK_ALLOCATORS)
   		m_elementAllocator.create(theXercesNode,
  @@ -389,6 +432,7 @@
   		// elements by ID, or we're in mapping mode.
   		m_nodeMap.addAssociation(theXercesNode, theBridge);
   	}
  +#endif
   
   	return theBridge;
   }
  @@ -410,6 +454,18 @@
   		new XercesDocumentFragmentBridge(theXercesNode,
   										 theNavigator);
   
  +#if defined(XALAN_NO_MUTABLE)
  +	XercesDocumentBridge* const		This =
  +		(XercesDocumentBridge*)this;
  +
  +	This->m_nodes.push_back(theBridge);
  +
  +	if (mapNode == true)
  +	{
  +		// Add it to the node map...
  +		This->m_nodeMap.addAssociation(theXercesNode, theBridge);
  +	}
  +#else
   	m_nodes.push_back(theBridge);
   
   	if (mapNode == true)
  @@ -417,6 +473,7 @@
   		// Add it to the node map...
   		m_nodeMap.addAssociation(theXercesNode, theBridge);
   	}
  +#endif
   
   	return theBridge;
   }
  @@ -434,8 +491,31 @@
   
   	theNavigator.setIndex(theIndex);
   
  +#if defined(XALAN_NO_MUTABLE)
  +	XercesDocumentBridge* const		This =
  +		(XercesDocumentBridge*)this;
  +
   	XercesTextBridge* const		theBridge =
   #if defined(XALAN_USE_BLOCK_ALLOCATORS)
  +		This->m_textAllocator.create(theXercesNode,
  +									 theNavigator);
  +#else
  +		new XercesTextBridge(theXercesNode,
  +							 theNavigator);
  +
  +	This->m_nodes.push_back(theBridge);
  +#endif
  +
  +	if (mapNode == true)
  +	{
  +		// Add it to the node map...
  +		This->m_nodeMap.addAssociation(theXercesNode, theBridge);
  +	}
  +
  +#else	// XALAN_NO_MUTABLE
  +
  +	XercesTextBridge* const		theBridge =
  +#if defined(XALAN_USE_BLOCK_ALLOCATORS)
   		m_textAllocator.create(theXercesNode,
   							   theNavigator);
   #else
  @@ -451,6 +531,8 @@
   		m_nodeMap.addAssociation(theXercesNode, theBridge);
   	}
   
  +#endif
  +
   	return theBridge;
   }
   
  @@ -471,6 +553,20 @@
   		new XercesCommentBridge(theXercesNode,
   								theNavigator);
   
  +#if defined(XALAN_NO_MUTABLE)
  +	XercesDocumentBridge* const		This =
  +		(XercesDocumentBridge*)this;
  +
  +	This->m_nodes.push_back(theBridge);
  +
  +	if (mapNode == true)
  +	{
  +		// Add it to the node map...
  +		This->m_nodeMap.addAssociation(theXercesNode, theBridge);
  +	}
  +
  +#else	// XALAN_NO_MUTABLE
  +
   	m_nodes.push_back(theBridge);
   
   	if (mapNode == true)
  @@ -479,6 +575,8 @@
   		m_nodeMap.addAssociation(theXercesNode, theBridge);
   	}
   
  +#endif
  +
   	return theBridge;
   }
   
  @@ -499,6 +597,20 @@
   		new XercesCDATASectionBridge(theXercesNode,
   									 theNavigator);
   
  +#if defined(XALAN_NO_MUTABLE)
  +	XercesDocumentBridge* const		This =
  +		(XercesDocumentBridge*)this;
  +
  +	This->m_nodes.push_back(theBridge);
  +
  +	if (mapNode == true)
  +	{
  +		// Add it to the node map...
  +		This->m_nodeMap.addAssociation(theXercesNode, theBridge);
  +	}
  +
  +#else	// XALAN_NO_MUTABLE
  +
   	m_nodes.push_back(theBridge);
   
   	if (mapNode == true)
  @@ -507,6 +619,8 @@
   		m_nodeMap.addAssociation(theXercesNode, theBridge);
   	}
   
  +#endif
  +
   	return theBridge;
   }
   
  @@ -527,6 +641,20 @@
   		new XercesProcessingInstructionBridge(theXercesNode,
   											  theNavigator);
   
  +#if defined(XALAN_NO_MUTABLE)
  +	XercesDocumentBridge* const		This =
  +		(XercesDocumentBridge*)this;
  +
  +	This->m_nodes.push_back(theBridge);
  +
  +	if (mapNode == true)
  +	{
  +		// Add it to the node map...
  +		This->m_nodeMap.addAssociation(theXercesNode, theBridge);
  +	}
  +
  +#else	// XALAN_NO_MUTABLE
  +
   	m_nodes.push_back(theBridge);
   
   	if (mapNode == true)
  @@ -535,6 +663,8 @@
   		m_nodeMap.addAssociation(theXercesNode, theBridge);
   	}
   
  +#endif
  +
   	return theBridge;
   }
   
  @@ -551,6 +681,27 @@
   
   	theNavigator.setIndex(theIndex);
   
  +#if defined(XALAN_NO_MUTABLE)
  +	XercesDocumentBridge* const		This =
  +		(XercesDocumentBridge*)this;
  +
  +	XercesAttrBridge* const		theBridge =
  +#if defined(XALAN_USE_BLOCK_ALLOCATORS)
  +		This->m_attributeAllocator.create(theXercesNode,
  +										  theNavigator);
  +#else
  +		new XercesAttrBridge(theXercesNode,
  +							 theNavigator);
  +
  +	This->m_nodes.push_back(theBridge);
  +#endif
  +
  +	// Add it to the node map -- attributes ALWAYS go in the map
  +	// for now...
  +	This->m_nodeMap.addAssociation(theXercesNode, theBridge);
  +
  +#else	// XALAN_NO_MUTABLE
  +
   	XercesAttrBridge* const		theBridge =
   #if defined(XALAN_USE_BLOCK_ALLOCATORS)
   		m_attributeAllocator.create(theXercesNode,
  @@ -566,6 +717,8 @@
   	// for now...
   	m_nodeMap.addAssociation(theXercesNode, theBridge);
   
  +#endif
  +
   	return theBridge;
   }
   
  @@ -586,12 +739,26 @@
   		new XercesEntityBridge(theXercesNode,
   							   theNavigator);
   
  +#if defined(XALAN_NO_MUTABLE)
  +	XercesDocumentBridge* const		This =
  +		(XercesDocumentBridge*)this;
  +
  +	This->m_nodes.push_back(theBridge);
  +
  +	// Add it to the node map -- entities ALWAYS go in the map
  +	// for now...
  +	This->m_nodeMap.addAssociation(theXercesNode, theBridge);
  +
  +#else	// XALAN_NO_MUTABLE
  +
   	m_nodes.push_back(theBridge);
   
   	// Add it to the node map -- entities ALWAYS go in the map
   	// for now...
   	m_nodeMap.addAssociation(theXercesNode, theBridge);
   
  +#endif
  +
   	return theBridge;
   }
   
  @@ -612,6 +779,20 @@
   		new XercesEntityReferenceBridge(theXercesNode,
   										theNavigator);
   
  +#if defined(XALAN_NO_MUTABLE)
  +	XercesDocumentBridge* const		This =
  +		(XercesDocumentBridge*)this;
  +
  +	This->m_nodes.push_back(theBridge);
  +
  +	if (mapNode == true)
  +	{
  +		// Add it to the node map...
  +		This->m_nodeMap.addAssociation(theXercesNode, theBridge);
  +	}
  +
  +#else	// XALAN_NO_MUTABLE
  +
   	m_nodes.push_back(theBridge);
   
   	if (mapNode == true)
  @@ -620,6 +801,8 @@
   		m_nodeMap.addAssociation(theXercesNode, theBridge);
   	}
   
  +#endif
  +
   	return theBridge;
   }
   
  @@ -640,12 +823,26 @@
   		new XercesNotationBridge(theXercesNode,
   								 theNavigator);
   
  +#if defined(XALAN_NO_MUTABLE)
  +	XercesDocumentBridge* const		This =
  +		(XercesDocumentBridge*)this;
  +
  +	This->m_nodes.push_back(theBridge);
  +
  +	// Add it to the node map -- notations ALWAYS go in the map
  +	// for now...
  +	This->m_nodeMap.addAssociation(theXercesNode, theBridge);
  +
  +#else	// XALAN_NO_MUTABLE
  +
   	m_nodes.push_back(theBridge);
   
   	// Add it to the node map -- notations ALWAYS go in the map
   	// for now...
   	m_nodeMap.addAssociation(theXercesNode, theBridge);
   
  +#endif
  +
   	return theBridge;
   }
   
  @@ -1465,8 +1662,8 @@
   {
   	// $$$ ToDo: This is because DOM_Document::getElementById() is not
   	// const...
  -#if defined(XERCES_NO_MUTABLE)
  -	const DOM_Node	theXercesNode((DOM_Document&)m_xercesDocument).getElementById(elementId));
  +#if defined(XALAN_NO_MUTABLE)
  +	const DOM_Node	theXercesNode(((DOM_Document&)m_xercesDocument).getElementById(elementId));
   #else
   	const DOM_Node	theXercesNode(m_xercesDocument.getElementById(elementId));
   #endif
  @@ -1516,8 +1713,8 @@
   	struct NavigatorStackEntryType
   	{
   		NavigatorStackEntryType(
  -					XercesBridgeNavigator*	theNavigator,
  -					XalanNode*				theNode) :
  +					XercesBridgeNavigator*	theNavigator = 0,
  +					XalanNode*				theNode = 0) :
   			m_navigator(theNavigator),
   			m_node(theNode)
   		{
  
  
  
  1.7       +12 -6     xml-xalan/c/src/XercesParserLiaison/XercesDocumentBridge.hpp
  
  Index: XercesDocumentBridge.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XercesParserLiaison/XercesDocumentBridge.hpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XercesDocumentBridge.hpp	2000/08/15 19:42:33	1.6
  +++ XercesDocumentBridge.hpp	2000/08/22 20:19:20	1.7
  @@ -64,7 +64,6 @@
   
   
   #include <deque>
  -#include <memory>
   #include <set>
   #include <vector>
   
  @@ -78,6 +77,16 @@
   
   
   
  +#if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)
  +#include <XalanDOM/XalanDOMImplementation.hpp>
  +#endif
  +
  +
  +
  +#include <PlatformSupport/XalanAutoPtr.hpp>
  +
  +
  +
   #include <DOMSupport/TreeWalker.hpp>
   
   
  @@ -97,7 +106,6 @@
   
   
   
  -class XalanDOMImplementation;
   class XercesAttrBridge;
   class XercesCommentBridge;
   class XercesCDATASectionBridge;
  @@ -478,15 +486,13 @@
   
   	mutable XercesToXalanNodeMap			m_nodeMap;
   
  -#if defined(XALAN_NO_NAMESPACES)
  -	auto_ptr<XalanDOMImplementation>		m_domImplementation;
  +	XalanAutoPtr<XalanDOMImplementation>	m_domImplementation;
   
  +#if defined(XALAN_NO_NAMESPACES)
   	typedef deque<XercesBridgeNavigator>	NavigatorBridgeVectorType;
   
   	typedef deque<XalanNode*>				NodeVectorType;
   #else
  -	std::auto_ptr<XalanDOMImplementation>	m_domImplementation;
  -
   	typedef std::deque<XercesBridgeNavigator>	NavigatorBridgeVectorType;
   
   	typedef std::deque<XalanNode*>				NodeVectorType;
  
  
  
  1.3       +4 -0      xml-xalan/c/src/XercesParserLiaison/XercesElementBridge.cpp
  
  Index: XercesElementBridge.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XercesParserLiaison/XercesElementBridge.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XercesElementBridge.cpp	2000/08/10 18:41:37	1.2
  +++ XercesElementBridge.cpp	2000/08/22 20:19:20	1.3
  @@ -367,7 +367,11 @@
   XalanAttr*
   XercesElementBridge::getAttributeNode(const XalanDOMString&	name) const
   {
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +	return (XalanAttr*)m_attributes.getNamedItem(name);
  +#else
   	return static_cast<XalanAttr*>(m_attributes.getNamedItem(name));
  +#endif
   }
   
   
  
  
  
  1.2       +10 -3     xml-xalan/c/src/XercesParserLiaison/XercesElementBridgeAllocator.hpp
  
  Index: XercesElementBridgeAllocator.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XercesParserLiaison/XercesElementBridgeAllocator.hpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XercesElementBridgeAllocator.hpp	2000/08/10 18:03:35	1.1
  +++ XercesElementBridgeAllocator.hpp	2000/08/22 20:19:21	1.2
  @@ -71,14 +71,21 @@
   #include <XercesParserLiaison/XercesElementBridge.hpp>
   
   
  -
  +#define XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS
   class XALAN_XERCESPARSERLIAISON_EXPORT XercesElementBridgeAllocator
   {
   public:
  +
  +	typedef XercesElementBridge						ObjectType;
   
  -	typedef XercesElementBridge				ObjectType;
  +#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
  +	typedef ArenaBlock<ObjectType>					ArenaBlockType;
   
  -	typedef ArenaAllocator<ObjectType>		ArenaAllocatorType;
  +	typedef ArenaAllocator<ObjectType,
  +						   ArenaBlockType>			ArenaAllocatorType;
  +#else
  +	typedef ArenaAllocator<ObjectType>				ArenaAllocatorType;
  +#endif
   
   	typedef ArenaAllocatorType::size_type	size_type;
   
  
  
  
  1.3       +8 -16     xml-xalan/c/src/XercesParserLiaison/XercesNamedNodeListCache.cpp
  
  Index: XercesNamedNodeListCache.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XercesParserLiaison/XercesNamedNodeListCache.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XercesNamedNodeListCache.cpp	2000/08/07 20:27:16	1.2
  +++ XercesNamedNodeListCache.cpp	2000/08/22 20:19:21	1.3
  @@ -116,20 +116,16 @@
   	}
   	else
   	{
  -#if !defined(XALAN_NO_NAMESPACES)
  -		using std::make_pair;
  -#endif
  -
   		XercesNodeListBridge* const		theNewBridge =
   			new XercesNodeListBridge(getXercesNodeList(tagname),
   									 m_navigator);
   
   #if defined(XALAN_NO_MUTABLE)
  -		return ((NodeListCacheType&)m_cachedNodeLists).insert(make_pair(tagname,
  -																		theNewBridge)).first->second;
  +		return (*((XercesNamedNodeListCache*)this)->m_cachedNodeLists.insert(
  +			NodeListCacheType::value_type(tagname, theNewBridge)).first).second;
   #else
  -		return m_cachedNodeLists.insert(make_pair(tagname,
  -												  theNewBridge)).first->second;
  +		return (*m_cachedNodeLists.insert(
  +			NodeListCacheType::value_type(tagname, theNewBridge)).first).second;
   #endif
   	}
   }
  @@ -152,20 +148,16 @@
   	}
   	else
   	{
  -#if !defined(XALAN_NO_NAMESPACES)
  -		using std::make_pair;
  -#endif
  -
   		XercesNodeListBridge* const		theNewBridge =
   			new XercesNodeListBridge(getXercesNodeList(namespaceURI, localName),
   									 m_navigator);
   
   #if defined(XALAN_NO_MUTABLE)
  -		return ((NodeListCacheType&)m_cachedNodeLists).insert(make_pair(theSearchString,
  -																		theNewBridge)).first->second;
  +		return (*((XercesNamedNodeListCache*)this)->m_cachedNodeLists.insert(
  +			NodeListCacheType::value_type(theSearchString, theNewBridge)).first).second;
   #else
  -		return m_cachedNodeLists.insert(make_pair(theSearchString,
  -												  theNewBridge)).first->second;
  +		return (*m_cachedNodeLists.insert(
  +			NodeListCacheType::value_type(theSearchString, theNewBridge)).first).second;
   #endif
   	}
   }
  
  
  
  1.3       +5 -2      xml-xalan/c/src/XercesParserLiaison/XercesNamedNodeListCache.hpp
  
  Index: XercesNamedNodeListCache.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XercesParserLiaison/XercesNamedNodeListCache.hpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XercesNamedNodeListCache.hpp	2000/04/20 16:43:33	1.2
  +++ XercesNamedNodeListCache.hpp	2000/08/22 20:19:22	1.3
  @@ -113,9 +113,12 @@
   	const XercesBridgeNavigator&	m_navigator;
   
   #if defined(XALAN_NO_NAMESPACES)
  -	typedef map<XalanDOMString, XercesNodeListBridge*>			NodeListCacheType;
  +	typedef map<XalanDOMString,
  +				XercesNodeListBridge*,
  +				less<XalanDOMString> >			NodeListCacheType;
   #else
  -	typedef std::map<XalanDOMString, XercesNodeListBridge*>		NodeListCacheType;
  +	typedef std::map<XalanDOMString,
  +					 XercesNodeListBridge*>		NodeListCacheType;
   #endif
   
   #if defined(XALAN_NO_MUTABLE)
  
  
  
  1.2       +5 -1      xml-xalan/c/src/XercesParserLiaison/XercesNamedNodeMapBridge.cpp
  
  Index: XercesNamedNodeMapBridge.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XercesParserLiaison/XercesNamedNodeMapBridge.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XercesNamedNodeMapBridge.cpp	2000/04/11 14:39:30	1.1
  +++ XercesNamedNodeMapBridge.cpp	2000/08/22 20:19:22	1.2
  @@ -79,7 +79,7 @@
   	m_xercesNamedNodeMap(theXercesNamedNodeMap),
   	m_navigator(theNavigator)
   {
  -	assert(m_xercesNamedNodeMap != reinterpret_cast<const DOM_NullPtr*>(0));
  +	assert(m_xercesNamedNodeMap != (const DOM_NullPtr*)0);
   }
   
   
  @@ -181,7 +181,11 @@
   			const XalanDOMString&	namespaceURI,
   			const XalanDOMString&	localName) const
   {
  +#if defined(XALAN_NO_MUTABLE)
  +	return m_navigator.mapNode(((XercesNamedNodeMapBridge*)this)->m_xercesNamedNodeMap.getNamedItemNS(namespaceURI, localName));
  +#else
   	return m_navigator.mapNode(m_xercesNamedNodeMap.getNamedItemNS(namespaceURI, localName));
  +#endif
   }
   
   
  
  
  
  1.15      +3 -11     xml-xalan/c/src/XercesParserLiaison/XercesParserLiaison.cpp
  
  Index: XercesParserLiaison.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XercesParserLiaison/XercesParserLiaison.cpp,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- XercesParserLiaison.cpp	2000/08/10 18:41:39	1.14
  +++ XercesParserLiaison.cpp	2000/08/22 20:19:23	1.15
  @@ -60,7 +60,6 @@
   
   
   #include <algorithm>
  -#include <memory>
   #include <iostream>
   
   
  @@ -73,6 +72,7 @@
   
   
   #include <PlatformSupport/STLHelper.hpp>
  +#include <PlatformSupport/XalanAutoPtr.hpp>
   
   
   
  @@ -146,11 +146,7 @@
   			DocumentHandler&		handler,
   			const XalanDOMString&	/* identifier */)
   {
  -#if !defined(XALAN_NO_NAMESPACES)
  -	using std::auto_ptr;
  -#endif
  -
  -	auto_ptr<SAXParser>		theParser(CreateSAXParser());
  +	XalanAutoPtr<SAXParser>		theParser(CreateSAXParser());
   
   	theParser->setDocumentHandler(&handler);
   
  @@ -164,11 +160,7 @@
   			InputSource&			reader,
   			const XalanDOMString&	/* identifier */)
   {
  -#if !defined(XALAN_NO_NAMESPACES)
  -	using std::auto_ptr;
  -#endif
  -
  -	auto_ptr<DOMParser>		theParser(CreateDOMParser());
  +	XalanAutoPtr<DOMParser>		theParser(CreateDOMParser());
   
   	theParser->parse(reader);
   
  
  
  
  1.13      +5 -2      xml-xalan/c/src/XercesParserLiaison/XercesParserLiaison.hpp
  
  Index: XercesParserLiaison.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XercesParserLiaison/XercesParserLiaison.hpp,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- XercesParserLiaison.hpp	2000/07/21 19:28:26	1.12
  +++ XercesParserLiaison.hpp	2000/08/22 20:19:23	1.13
  @@ -397,9 +397,12 @@
   private:
   
   #if defined(XALAN_NO_NAMESPACES)
  -	typedef map<const XalanDocument*, XercesDocumentBridge*>		DocumentMapType;
  +	typedef map<const XalanDocument*,
  +				XercesDocumentBridge*,
  +				less<const XalanDocument*> >	DocumentMapType;
   #else
  -	typedef std::map<const XalanDocument*, XercesDocumentBridge*>	DocumentMapType;
  +	typedef std::map<const XalanDocument*,
  +					 XercesDocumentBridge*>		DocumentMapType;
   #endif
   
   	// Data members...
  
  
  
  1.2       +10 -3     xml-xalan/c/src/XercesParserLiaison/XercesTextBridgeAllocator.hpp
  
  Index: XercesTextBridgeAllocator.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XercesParserLiaison/XercesTextBridgeAllocator.hpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XercesTextBridgeAllocator.hpp	2000/08/10 18:03:35	1.1
  +++ XercesTextBridgeAllocator.hpp	2000/08/22 20:19:23	1.2
  @@ -76,11 +76,18 @@
   {
   public:
   
  -	typedef XercesTextBridge				ObjectType;
  +	typedef XercesTextBridge						ObjectType;
   
  -	typedef ArenaAllocator<ObjectType>		ArenaAllocatorType;
  +#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
  +	typedef ArenaBlock<ObjectType>					ArenaBlockType;
   
  -	typedef ArenaAllocatorType::size_type	size_type;
  +	typedef ArenaAllocator<ObjectType,
  +						   ArenaBlockType>			ArenaAllocatorType;
  +#else
  +	typedef ArenaAllocator<ObjectType>				ArenaAllocatorType;
  +#endif
  +
  +	typedef ArenaAllocatorType::size_type			size_type;
   
   	/**
   	 * Construct an instance that will allocate blocks of the specified size.
  
  
  
  1.5       +2 -0      xml-xalan/c/src/XercesParserLiaison/XercesToXalanNodeMap.cpp
  
  Index: XercesToXalanNodeMap.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XercesParserLiaison/XercesToXalanNodeMap.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesToXalanNodeMap.cpp	2000/08/10 18:41:39	1.4
  +++ XercesToXalanNodeMap.cpp	2000/08/22 20:19:24	1.5
  @@ -153,7 +153,9 @@
   NodeImpl*
   XercesToXalanNodeMap::getNodeImpl(const XalanNode*	theXalanNode) const
   {
  +#if !defined(XALAN_NO_NAMESPACES)
   	using std::find_if;
  +#endif
   
   	const XercesNodeMapType::const_iterator		i =
   		find_if(m_xercesMap.begin(),