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/01/08 19:22:39 UTC

cvs commit: xml-xalan/c/src/XalanSourceTree XalanSourceTreeAttr.cpp XalanSourceTreeAttr.hpp XalanSourceTreeComment.cpp XalanSourceTreeDOMSupport.cpp XalanSourceTreeDOMSupport.hpp XalanSourceTreeDocument.cpp XalanSourceTreeDocument.hpp XalanSourceTreeElement.cpp XalanSourceTreeElement.hpp XalanSourceTreeElementAllocator.cpp XalanSourceTreeElementAllocator.hpp XalanSourceTreeElementNS.cpp XalanSourceTreeElementNS.hpp XalanSourceTreeElementNSAllocator.cpp XalanSourceTreeElementNSAllocator.hpp XalanSourceTreeNamedNodeMap.cpp XalanSourceTreeParserLiaison.hpp XalanSourceTreeProcessingInstruction.cpp XalanSourceTreeText.cpp

dbertoni    01/01/08 10:22:39

  Modified:    c/src/XalanSourceTree XalanSourceTreeAttr.cpp
                        XalanSourceTreeAttr.hpp XalanSourceTreeComment.cpp
                        XalanSourceTreeDOMSupport.cpp
                        XalanSourceTreeDOMSupport.hpp
                        XalanSourceTreeDocument.cpp
                        XalanSourceTreeDocument.hpp
                        XalanSourceTreeElement.cpp
                        XalanSourceTreeElement.hpp
                        XalanSourceTreeElementAllocator.cpp
                        XalanSourceTreeElementAllocator.hpp
                        XalanSourceTreeElementNS.cpp
                        XalanSourceTreeElementNS.hpp
                        XalanSourceTreeElementNSAllocator.cpp
                        XalanSourceTreeElementNSAllocator.hpp
                        XalanSourceTreeNamedNodeMap.cpp
                        XalanSourceTreeParserLiaison.hpp
                        XalanSourceTreeProcessingInstruction.cpp
                        XalanSourceTreeText.cpp
  Log:
  Reduced the size of nodes by not supporting getChildNodes().  Added code to throw an exception fi getChildNodes() is called.  typedef'ed an integral for use with the size of the attribute array that is given to XalanSourceTreeElement.
  
  Revision  Changes    Path
  1.2       +5 -5      xml-xalan/c/src/XalanSourceTree/XalanSourceTreeAttr.cpp
  
  Index: XalanSourceTreeAttr.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeAttr.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XalanSourceTreeAttr.cpp	2000/12/15 23:23:04	1.1
  +++ XalanSourceTreeAttr.cpp	2001/01/08 18:22:36	1.2
  @@ -58,19 +58,19 @@
   
   
   
  -#include <XalanDOM/XalanDOMException.hpp>
  +#include <cassert>
   
   
   
  -#include "XalanSourceTreeElement.hpp"
  +#include <XalanDOM/XalanDOMException.hpp>
   
   
   
  -static const XalanDOMString		s_emptyString;
  +#include "XalanSourceTreeElement.hpp"
   
   
   
  -const XalanNodeListDummy	XalanSourceTreeAttr::s_children;
  +static const XalanDOMString		s_emptyString;
   
   
   
  @@ -145,7 +145,7 @@
   const XalanNodeList*
   XalanSourceTreeAttr::getChildNodes() const
   {
  -	return &s_children;
  +	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
   }
   
   
  
  
  
  1.2       +0 -2      xml-xalan/c/src/XalanSourceTree/XalanSourceTreeAttr.hpp
  
  Index: XalanSourceTreeAttr.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeAttr.hpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XalanSourceTreeAttr.hpp	2000/12/15 23:23:25	1.1
  +++ XalanSourceTreeAttr.hpp	2001/01/08 18:22:36	1.2
  @@ -554,8 +554,6 @@
   	XalanSourceTreeElement*				m_ownerElement;
   
   	unsigned int						m_index;
  -
  -	static const XalanNodeListDummy		s_children;
   };
   
   
  
  
  
  1.3       +1 -1      xml-xalan/c/src/XalanSourceTree/XalanSourceTreeComment.cpp
  
  Index: XalanSourceTreeComment.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeComment.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XalanSourceTreeComment.cpp	2000/12/17 22:26:58	1.2
  +++ XalanSourceTreeComment.cpp	2001/01/08 18:22:36	1.3
  @@ -161,7 +161,7 @@
   const XalanNodeList*
   XalanSourceTreeComment::getChildNodes() const
   {
  -	return 0;
  +	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
   }
   
   
  
  
  
  1.3       +19 -6     xml-xalan/c/src/XalanSourceTree/XalanSourceTreeDOMSupport.cpp
  
  Index: XalanSourceTreeDOMSupport.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeDOMSupport.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XalanSourceTreeDOMSupport.cpp	2000/12/30 17:55:58	1.2
  +++ XalanSourceTreeDOMSupport.cpp	2001/01/08 18:22:37	1.3
  @@ -73,8 +73,8 @@
   
   
   
  -#include <XalanSourceTree/XalanSourceTreeDocument.hpp>
  -#include <XalanSourceTree/XalanSourceTreeParserLiaison.hpp>
  +#include "XalanSourceTreeDocument.hpp"
  +#include "XalanSourceTreeParserLiaison.hpp"
   
   
   
  @@ -84,7 +84,6 @@
   
   XalanSourceTreeDOMSupport::XalanSourceTreeDOMSupport() :
   	DOMSupport(),
  -	m_domSupportDefault(),
   	m_parserLiaison(0)
   {
   }
  @@ -100,15 +99,17 @@
   void
   XalanSourceTreeDOMSupport::reset()
   {
  -	m_domSupportDefault.reset();
   }
   
   
   
   const XalanDOMString&
  -XalanSourceTreeDOMSupport::getNamespaceOfNode(const XalanNode&	theNode) const
  +XalanSourceTreeDOMSupport::getNamespaceForPrefix(
  +			const XalanDOMString&	prefix, 
  +			const XalanElement&		namespaceContext) const
   {
  -	return theNode.getNamespaceURI();
  +	return DOMServices::getNamespaceForPrefix(prefix,
  +											  namespaceContext);
   }
   
   
  @@ -130,4 +131,16 @@
   	}
   
   	return s_emptyString;
  +}
  +
  +
  +
  +bool
  +XalanSourceTreeDOMSupport::isNodeAfter(
  +			const XalanNode&	node1,
  +			const XalanNode&	node2) const
  +{
  +	assert(node1.isIndexed() == true && node1.isIndexed() == true);
  +
  +	return node1.getIndex() > node2.getIndex() ? true : false;
   }
  
  
  
  1.3       +8 -4      xml-xalan/c/src/XalanSourceTree/XalanSourceTreeDOMSupport.hpp
  
  Index: XalanSourceTreeDOMSupport.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeDOMSupport.hpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XalanSourceTreeDOMSupport.hpp	2000/12/30 17:55:58	1.2
  +++ XalanSourceTreeDOMSupport.hpp	2001/01/08 18:22:37	1.3
  @@ -65,7 +65,6 @@
   
   
   #include <DOMSupport/DOMSupport.hpp>
  -#include <DOMSupport/DOMSupportDefault.hpp>
   
   
   
  @@ -77,6 +76,7 @@
   {
   public:
   
  +	explicit
   	XalanSourceTreeDOMSupport();
   
   	virtual
  @@ -88,13 +88,19 @@
   	// These interfaces are inherited from DOMSupport...
   
   	virtual const XalanDOMString&
  -	getNamespaceOfNode(const XalanNode&		theNode) const;
  +	getNamespaceForPrefix(
  +			const XalanDOMString&	prefix, 
  +			const XalanElement&		namespaceContext) const;
   
   	virtual const XalanDOMString&
   	getUnparsedEntityURI(
   			const XalanDOMString&	theName,
   			const XalanDocument&	theDocument) const;
   
  +	virtual bool
  +	isNodeAfter(
  +			const XalanNode&	node1,
  +			const XalanNode&	node2) const;
   
   	XalanSourceTreeParserLiaison*
   	getParserLiaison() const
  @@ -109,8 +115,6 @@
   	}
   
   private:
  -
  -	DOMSupportDefault				m_domSupportDefault;
   
   	XalanSourceTreeParserLiaison*	m_parserLiaison;
   };
  
  
  
  1.6       +24 -13    xml-xalan/c/src/XalanSourceTree/XalanSourceTreeDocument.cpp
  
  Index: XalanSourceTreeDocument.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeDocument.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XalanSourceTreeDocument.cpp	2001/01/04 19:24:06	1.5
  +++ XalanSourceTreeDocument.cpp	2001/01/08 18:22:37	1.6
  @@ -83,7 +83,6 @@
   	XalanDocument(),
   	m_firstChild(0),
   	m_documentElement(0),
  -	m_children(*this),
   	m_attributeAllocator(100),
   	m_attributeNSAllocator(50),
   	m_commentAllocator(20),
  @@ -145,7 +144,7 @@
   const XalanNodeList*
   XalanSourceTreeDocument::getChildNodes() const
   {
  -	return &m_children;
  +	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
   }
   
   
  @@ -536,8 +535,12 @@
   			XalanNode*					thePreviousSibling,
   			XalanNode*					theNextSibling)
   {
  -	const unsigned int	theAttributeCount = attrs.getLength();
  +	// We might have typedef'ed this to something smaller than unsigned int.
  +	const AttributesCountType	theAttributeCount = AttributesCountType(attrs.getLength());
   
  +	// assert that we didn't lose anything...
  +	assert(theAttributeCount == attrs.getLength());
  +
   	XalanSourceTreeAttr** const		theAttributeVector =
   		theAttributeCount == 0 ? 0 : m_attributesVector.allocate(theAttributeCount);
   
  @@ -553,7 +556,7 @@
   				m_nextIndexValue++);
   
   	// Now, create the attributes...
  -	for(unsigned int i = 0; i < theAttributeCount; ++i)
  +	for(AttributesCountType i = 0; i < theAttributeCount; ++i)
   	{
   		const XalanDOMChar* const	theName =
   			attrs.getName(i);
  @@ -607,8 +610,12 @@
   			XalanNode*					thePreviousSibling,
   			XalanNode*					theNextSibling)
   {
  +
  +	// We might have typedef'ed this to something smaller than unsigned int.
  +	const AttributesCountType	theAttributeCount = AttributesCountType(attrs.getLength());
   
  -	const unsigned int	theAttributeCount = attrs.getLength();
  +	// assert that we didn't lose anything...
  +	assert(theAttributeCount == attrs.getLength());
   
   	XalanSourceTreeAttr** const		theAttributeVector =
   		theAttributeCount == 0 ? 0 : m_attributesVector.allocate(theAttributeCount);
  @@ -653,7 +660,11 @@
   			XalanNode*					thePreviousSibling,
   			XalanNode*					theNextSibling)
   {
  -	const unsigned int	theAttributeCount = attrs.getLength();
  +	// We might have typedef'ed this to something smaller than unsigned int.
  +	const AttributesCountType	theAttributeCount = AttributesCountType(attrs.getLength());
  +
  +	// assert that we didn't lose anything...
  +	assert(theAttributeCount == attrs.getLength());
   
   	XalanSourceTreeAttr** const		theAttributeVector =
   		theAttributeCount == 0 ? 0 : m_attributesVector.allocate(theAttributeCount);
  @@ -779,10 +790,10 @@
   
   void
   XalanSourceTreeDocument::unparsedEntityDeclaration(
  -			const XMLCh*	name,
  -			const XMLCh*	publicId,
  -			const XMLCh*	systemId,
  -			const XMLCh*	notationName)
  +			const XalanDOMChar*		name,
  +			const XalanDOMChar*		publicId,
  +			const XalanDOMChar*		systemId,
  +			const XalanDOMChar*		notationName)
   {
   	m_unparsedEntityURIs[XalanDOMString(name)] = XalanDOMString(systemId);
   }
  @@ -858,7 +869,7 @@
   XalanSourceTreeDocument::createElement(
   			const XalanDOMChar*			theTagName,
   			XalanSourceTreeAttr**		theAttributeVector,
  -			unsigned int				theAttributeCount,
  +			AttributesCountType			theAttributeCount,
   			XalanSourceTreeElement*		theParentElement,
   			XalanNode*					thePreviousSibling,
   			XalanNode*					theNextSibling)
  @@ -919,11 +930,11 @@
   XalanSourceTreeDocument::createAttributes(
   			const Attributes&			theAttributes,
   			XalanSourceTreeAttr**		theAttributeVector,
  -			unsigned int				theAttributeCount,
  +			AttributesCountType			theAttributeCount,
   			XalanSourceTreeElement*		theOwnerElement)
   {
   	// Now, create the attributes...
  -	for(unsigned int i = 0; i < theAttributeCount; ++i)
  +	for(AttributesCountType i = 0; i < theAttributeCount; ++i)
   	{
   		const XalanDOMChar* const	theQName =
   			theAttributes.getQName(i);
  
  
  
  1.4       +9 -9      xml-xalan/c/src/XalanSourceTree/XalanSourceTreeDocument.hpp
  
  Index: XalanSourceTreeDocument.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeDocument.hpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XalanSourceTreeDocument.hpp	2000/12/21 04:27:24	1.3
  +++ XalanSourceTreeDocument.hpp	2001/01/08 18:22:37	1.4
  @@ -69,7 +69,6 @@
   
   
   #include <XalanDOM/XalanDocument.hpp>
  -#include <XalanDOM/XalanNodeListSurrogate.hpp>
   
   
   
  @@ -99,6 +98,8 @@
   {
   public:
   
  +	typedef XalanSourceTreeElement::AttributesCountType		AttributesCountType;
  +
   #if defined (XALAN_NO_NAMESPACES)
   	typedef map<
   				const XalanDOMChar*,
  @@ -363,10 +364,10 @@
   
   	void
   	unparsedEntityDeclaration(
  -			const XMLCh*	name,
  -			const XMLCh*	publicId,
  -			const XMLCh*	systemId,
  -			const XMLCh*	notationName);
  +			const XalanDOMChar*		name,
  +			const XalanDOMChar*		publicId,
  +			const XalanDOMChar*		systemId,
  +			const XalanDOMChar*		notationName);
   
   	const XalanDOMString&
   	getUnparsedEntityURI(const XalanDOMString&	theName) const;
  @@ -394,7 +395,7 @@
   	createElement(
   			const XalanDOMChar*			theTagName,
   			XalanSourceTreeAttr**		theAttributeVector,
  -			unsigned int				theAttributeCount,
  +			AttributesCountType			theAttributeCount,
   			XalanSourceTreeElement*		theParentElement,
   			XalanNode*					thePreviousSibling,
   			XalanNode*					theNextSibling);
  @@ -403,7 +404,7 @@
   	createAttributes(
   			const Attributes&			theAttributes,
   			XalanSourceTreeAttr**		theAttributeVector,
  -			unsigned int				theAttributeCount,
  +			AttributesCountType			theAttributeCount,
   			XalanSourceTreeElement*		theOwnerElement);
   
   	const XalanDOMString&
  @@ -411,6 +412,7 @@
   			const XalanDOMChar*			chars,
   			unsigned int				length);
   
  +
   	// Not implemented...
   	XalanSourceTreeDocument(const XalanSourceTreeDocument&	theSource);
   
  @@ -425,8 +427,6 @@
   	XalanNode*										m_firstChild;
   
   	XalanSourceTreeElement*							m_documentElement;
  -
  -	XalanNodeListSurrogate							m_children;
   
   	XalanSourceTreeAttributeAllocator				m_attributeAllocator;
   
  
  
  
  1.3       +85 -9     xml-xalan/c/src/XalanSourceTree/XalanSourceTreeElement.cpp
  
  Index: XalanSourceTreeElement.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeElement.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XalanSourceTreeElement.cpp	2000/12/17 22:26:59	1.2
  +++ XalanSourceTreeElement.cpp	2001/01/08 18:22:37	1.3
  @@ -83,7 +83,7 @@
   			const XalanDOMString&		theTagName,
   			XalanSourceTreeDocument*	theOwnerDocument,
   			XalanSourceTreeAttr**		theAttributes,
  -			unsigned int				theAttributeCount,
  +			AttributesCountType			theAttributeCount,
   			XalanSourceTreeElement*		theParentElement,
   			XalanNode*					thePreviousSibling,
   			XalanNode*					theNextSibling,
  @@ -97,9 +97,7 @@
   	m_firstChild(0),
   	m_index(theIndex),
   	m_attributes(theAttributes),
  -	m_attributeCount(theAttributeCount),
  -	m_childList(*this),
  -	m_attributeNamedNodeMap(this)
  +	m_attributeCount(theAttributeCount)
   {
   }
   
  @@ -123,9 +121,7 @@
   	m_firstChild(0),
   	m_index(0),
   	m_attributes(theSource.m_attributes),
  -	m_attributeCount(theSource.m_attributeCount),
  -	m_childList(*this),
  -	m_attributeNamedNodeMap(this)
  +	m_attributeCount(theSource.m_attributeCount)
   {
   }
   
  @@ -173,7 +169,7 @@
   const XalanNodeList*
   XalanSourceTreeElement::getChildNodes() const
   {
  -	return &m_childList;
  +	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
   }
   
   
  @@ -213,7 +209,7 @@
   const XalanNamedNodeMap*
   XalanSourceTreeElement::getAttributes() const
   {
  -	return &m_attributeNamedNodeMap;
  +	return this;
   }
   
   
  @@ -619,4 +615,84 @@
   XalanSourceTreeElement::appendChildNode(XalanSourceTreeText*	theChild)
   {
   	XalanSourceTreeHelper::appendSiblingToChild(this, m_firstChild, theChild);
  +}
  +
  +
  +
  +XalanNode*
  +XalanSourceTreeElement::setNamedItem(XalanNode* 	/* arg */)
  +{
  +	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
  +
  +	// Dummy return value...
  +	return 0;
  +}
  +
  +
  +
  +XalanNode*
  +XalanSourceTreeElement::item(unsigned int	index) const
  +{
  +	return index < m_attributeCount ? m_attributes[index] : 0;
  +}
  +
  +
  +
  +XalanNode*
  +XalanSourceTreeElement::getNamedItem(const XalanDOMString& 	name) const
  +{
  +	return getAttributeNode(name);
  +}
  +
  +
  +
  +unsigned int
  +XalanSourceTreeElement::getLength() const
  +{
  +	return m_attributeCount;
  +}
  +
  +
  +
  +XalanNode*
  +XalanSourceTreeElement::removeNamedItem(const XalanDOMString&	/* name */)
  +{
  +	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
  +
  +	// Dummy return value...
  +	return 0;
  +}
  +
  +
  +
  +XalanNode*
  +XalanSourceTreeElement::getNamedItemNS(
  +			const XalanDOMString&	namespaceURI,
  +			const XalanDOMString&	localName) const
  +{
  +	return getAttributeNodeNS(namespaceURI, localName);
  +}
  +
  +
  +
  +XalanNode*
  +XalanSourceTreeElement::setNamedItemNS(XalanNode*	/* arg */)
  +{
  +	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
  +
  +	// Dummy return value...
  +	return 0;
  +}
  +
  +
  +
  +XalanNode*
  +XalanSourceTreeElement::removeNamedItemNS(
  +			const XalanDOMString&	/* namespaceURI */,
  +			const XalanDOMString&	/* localName */)
  +{
  +	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
  +
  +	// Dummy return value...
  +	return 0;
   }
  
  
  
  1.3       +38 -13    xml-xalan/c/src/XalanSourceTree/XalanSourceTreeElement.hpp
  
  Index: XalanSourceTreeElement.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeElement.hpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XalanSourceTreeElement.hpp	2000/12/17 22:26:59	1.2
  +++ XalanSourceTreeElement.hpp	2001/01/08 18:22:37	1.3
  @@ -65,14 +65,10 @@
   
   #include <XalanDOM/XalanDOMString.hpp>
   #include <XalanDOM/XalanElement.hpp>
  -#include <XalanDOM/XalanNodeListSurrogate.hpp>
  +#include <XalanDOM/XalanNamedNodeMap.hpp>
   
   
   
  -#include <XalanSourceTree/XalanSourceTreeNamedNodeMap.hpp>
  -
  -
  -
   class XalanSourceTreeAttr;
   class XalanSourceTreeComment;
   class XalanSourceTreeDocument;
  @@ -81,10 +77,12 @@
   
   
   
  -class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeElement : public XalanElement
  +class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeElement : public XalanElement, private XalanNamedNodeMap
   {
   public:
   
  +	typedef unsigned long	AttributesCountType;
  +
   	/**
   	 * Constructor.
   	 *
  @@ -101,7 +99,7 @@
   			const XalanDOMString&		theTagName,
   			XalanSourceTreeDocument*	theOwnerDocument,
   			XalanSourceTreeAttr**		theAttributes,
  -			unsigned int				theAttributeCount,
  +			AttributesCountType			theAttributeCount,
   			XalanSourceTreeElement*		theParentElement = 0,
   			XalanNode*					thePreviousSibling = 0,
   			XalanNode*					theNextSibling = 0,
  @@ -802,7 +800,7 @@
   	}
   
   	XalanSourceTreeAttr*
  -	item(unsigned int	index) const
  +	getAttributeByIndex(unsigned int	index) const
   	{
   		return index < m_attributeCount ? m_attributes[index] : 0;
   	}
  @@ -815,6 +813,37 @@
   
   private:
   
  +	// These are from XalanNamedNodeMap...
  +
  +	virtual XalanNode*
  +	setNamedItem(XalanNode* 	arg);
  +
  +	virtual XalanNode*
  +	item(unsigned int	index) const;
  +
  +	virtual XalanNode*
  +	getNamedItem(const XalanDOMString& 	name) const;
  +
  +	virtual unsigned int
  +	getLength() const;
  +
  +	virtual XalanNode*
  +	removeNamedItem(const XalanDOMString&	name);
  +
  +	virtual XalanNode*
  +	getNamedItemNS(
  +			const XalanDOMString&	namespaceURI,
  +			const XalanDOMString&	localName) const;
  +
  +	virtual XalanNode*
  +	setNamedItemNS(XalanNode*	arg);
  +
  +	virtual XalanNode*
  +	removeNamedItemNS(
  +			const XalanDOMString&	namespaceURI,
  +			const XalanDOMString&	localName);
  +
  +
   	// Not implemented...
   	XalanSourceTreeElement&
   	operator=(const XalanSourceTreeElement&		theSource);
  @@ -839,12 +868,8 @@
   	unsigned int					m_index;
   
   	XalanSourceTreeAttr* const *	m_attributes;
  -
  -	const unsigned int				m_attributeCount;
  -
  -	XalanNodeListSurrogate			m_childList;
   
  -	XalanSourceTreeNamedNodeMap		m_attributeNamedNodeMap;
  +	const AttributesCountType		m_attributeCount;
   };
   
   
  
  
  
  1.2       +1 -1      xml-xalan/c/src/XalanSourceTree/XalanSourceTreeElementAllocator.cpp
  
  Index: XalanSourceTreeElementAllocator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeElementAllocator.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XalanSourceTreeElementAllocator.cpp	2000/12/15 23:24:12	1.1
  +++ XalanSourceTreeElementAllocator.cpp	2001/01/08 18:22:37	1.2
  @@ -78,7 +78,7 @@
   			const XalanDOMString&		theTagName,
   			XalanSourceTreeDocument*	theOwnerDocument,
   			XalanSourceTreeAttr**		theAttributes,
  -			unsigned int				theAttributeCount,
  +			AttributesCountType			theAttributeCount,
   			XalanSourceTreeElement*		theParentElement,
   			XalanNode*					thePreviousSibling,
   			XalanNode*					theNextSibling,
  
  
  
  1.2       +3 -1      xml-xalan/c/src/XalanSourceTree/XalanSourceTreeElementAllocator.hpp
  
  Index: XalanSourceTreeElementAllocator.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeElementAllocator.hpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XalanSourceTreeElementAllocator.hpp	2000/12/15 23:24:12	1.1
  +++ XalanSourceTreeElementAllocator.hpp	2001/01/08 18:22:37	1.2
  @@ -78,6 +78,8 @@
   
   	typedef XalanSourceTreeElement					ObjectType;
   
  +	typedef ObjectType::AttributesCountType			AttributesCountType;
  +
   #if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
   	typedef ArenaBlock<ObjectType>					ArenaBlockType;
   
  @@ -117,7 +119,7 @@
   			const XalanDOMString&		theTagName,
   			XalanSourceTreeDocument*	theOwnerDocument,
   			XalanSourceTreeAttr**		theAttributes,
  -			unsigned int				theAttributeCount,
  +			AttributesCountType			theAttributeCount,
   			XalanSourceTreeElement*		theParentElement = 0,
   			XalanNode*					thePreviousSibling = 0,
   			XalanNode*					theNextSibling = 0,
  
  
  
  1.2       +1 -1      xml-xalan/c/src/XalanSourceTree/XalanSourceTreeElementNS.cpp
  
  Index: XalanSourceTreeElementNS.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeElementNS.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XalanSourceTreeElementNS.cpp	2000/12/15 23:24:12	1.1
  +++ XalanSourceTreeElementNS.cpp	2001/01/08 18:22:37	1.2
  @@ -69,7 +69,7 @@
   			const XalanDOMString&		thePrefix,
   			XalanSourceTreeDocument*	theOwnerDocument,
   			XalanSourceTreeAttr**		theAttributes,
  -			unsigned int				theAttributeCount,
  +			AttributesCountType			theAttributeCount,
   			XalanSourceTreeElement*		theParentElement,
   			XalanNode*					thePreviousSibling,
   			XalanNode*					theNextSibling,
  
  
  
  1.2       +1 -1      xml-xalan/c/src/XalanSourceTree/XalanSourceTreeElementNS.hpp
  
  Index: XalanSourceTreeElementNS.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeElementNS.hpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XalanSourceTreeElementNS.hpp	2000/12/15 23:24:12	1.1
  +++ XalanSourceTreeElementNS.hpp	2001/01/08 18:22:37	1.2
  @@ -93,7 +93,7 @@
   			const XalanDOMString&		thePrefix,
   			XalanSourceTreeDocument*	theOwnerDocument,
   			XalanSourceTreeAttr**		theAttributes,
  -			unsigned int				theAttributeCount,
  +			AttributesCountType			theAttributeCount,
   			XalanSourceTreeElement*		theParentElement = 0,
   			XalanNode*					thePreviousSibling = 0,
   			XalanNode*					theNextSibling = 0,
  
  
  
  1.2       +1 -1      xml-xalan/c/src/XalanSourceTree/XalanSourceTreeElementNSAllocator.cpp
  
  Index: XalanSourceTreeElementNSAllocator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeElementNSAllocator.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XalanSourceTreeElementNSAllocator.cpp	2000/12/15 23:24:12	1.1
  +++ XalanSourceTreeElementNSAllocator.cpp	2001/01/08 18:22:37	1.2
  @@ -81,7 +81,7 @@
   			const XalanDOMString&		thePrefix,
   			XalanSourceTreeDocument*	theOwnerDocument,
   			XalanSourceTreeAttr**		theAttributes,
  -			unsigned int				theAttributeCount,
  +			AttributesCountType			theAttributeCount,
   			XalanSourceTreeElement*		theParentElement,
   			XalanNode*					thePreviousSibling,
   			XalanNode*					theNextSibling,
  
  
  
  1.2       +3 -1      xml-xalan/c/src/XalanSourceTree/XalanSourceTreeElementNSAllocator.hpp
  
  Index: XalanSourceTreeElementNSAllocator.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeElementNSAllocator.hpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XalanSourceTreeElementNSAllocator.hpp	2000/12/15 23:24:12	1.1
  +++ XalanSourceTreeElementNSAllocator.hpp	2001/01/08 18:22:37	1.2
  @@ -78,6 +78,8 @@
   
   	typedef XalanSourceTreeElementNS				ObjectType;
   
  +	typedef ObjectType::AttributesCountType			AttributesCountType;
  +
   #if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
   	typedef ArenaBlock<ObjectType>					ArenaBlockType;
   
  @@ -123,7 +125,7 @@
   			const XalanDOMString&		thePrefix,
   			XalanSourceTreeDocument*	theOwnerDocument,
   			XalanSourceTreeAttr**		theAttributes,
  -			unsigned int				theAttributeCount,
  +			AttributesCountType			theAttributeCount,
   			XalanSourceTreeElement*		theParentElement = 0,
   			XalanNode*					thePreviousSibling = 0,
   			XalanNode*					theNextSibling = 0,
  
  
  
  1.2       +1 -1      xml-xalan/c/src/XalanSourceTree/XalanSourceTreeNamedNodeMap.cpp
  
  Index: XalanSourceTreeNamedNodeMap.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeNamedNodeMap.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XalanSourceTreeNamedNodeMap.cpp	2000/12/15 23:24:12	1.1
  +++ XalanSourceTreeNamedNodeMap.cpp	2001/01/08 18:22:37	1.2
  @@ -133,7 +133,7 @@
   XalanNode*
   XalanSourceTreeNamedNodeMap::item(unsigned int	index) const
   {
  -	return m_element->item(index);
  +	return m_element->getAttributeByIndex(index);
   }
   
   
  
  
  
  1.4       +8 -4      xml-xalan/c/src/XalanSourceTree/XalanSourceTreeParserLiaison.hpp
  
  Index: XalanSourceTreeParserLiaison.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeParserLiaison.hpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XalanSourceTreeParserLiaison.hpp	2001/01/03 19:30:06	1.3
  +++ XalanSourceTreeParserLiaison.hpp	2001/01/08 18:22:37	1.4
  @@ -338,6 +338,14 @@
   	XalanSourceTreeDocument*
   	mapDocument(const XalanDocument*	theDocument) const;
   
  +	/** 
  +	 * Create a XalanSourceTreeDocument instance.
  +	 *
  +	 * @return A pointer to the XalanSourceTreeDocument instance.
  +	 */
  +	XalanSourceTreeDocument*
  +	createXalanSourceTreeDocument();
  +
   #if defined(XALAN_NO_NAMESPACES)
   	typedef map<const XalanDocument*,
   				XalanSourceTreeDocument*,
  @@ -348,10 +356,6 @@
   #endif
   
   private:
  -
  -	XalanSourceTreeDocument*
  -	createXalanSourceTreeDocument();
  -
   
   	// Data members...
   	XercesDOMSupport				m_xercesDOMSupport;	// Must be before m_xercesParserLiaison!!!
  
  
  
  1.3       +1 -1      xml-xalan/c/src/XalanSourceTree/XalanSourceTreeProcessingInstruction.cpp
  
  Index: XalanSourceTreeProcessingInstruction.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeProcessingInstruction.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XalanSourceTreeProcessingInstruction.cpp	2000/12/17 22:27:00	1.2
  +++ XalanSourceTreeProcessingInstruction.cpp	2001/01/08 18:22:37	1.3
  @@ -162,7 +162,7 @@
   const XalanNodeList*
   XalanSourceTreeProcessingInstruction::getChildNodes() const
   {
  -	return 0;
  +	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
   }
   
   
  
  
  
  1.4       +1 -1      xml-xalan/c/src/XalanSourceTree/XalanSourceTreeText.cpp
  
  Index: XalanSourceTreeText.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeText.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XalanSourceTreeText.cpp	2000/12/18 17:32:54	1.3
  +++ XalanSourceTreeText.cpp	2001/01/08 18:22:37	1.4
  @@ -149,7 +149,7 @@
   const XalanNodeList*
   XalanSourceTreeText::getChildNodes() const
   {
  -	return 0;
  +	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
   }