dbertoni 2002/09/25 22:14:14 Modified: c/src/XSLT NamespacesHandler.cpp NamespacesHandler.hpp Log: Use pointers to XalanDOMStrings in maps instead of copies. Revision Changes Path 1.23 +9 -9 xml-xalan/c/src/XSLT/NamespacesHandler.cpp Index: NamespacesHandler.cpp =================================================================== RCS file: /home/cvs/xml-xalan/c/src/XSLT/NamespacesHandler.cpp,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- NamespacesHandler.cpp 26 Sep 2002 01:38:15 -0000 1.22 +++ NamespacesHandler.cpp 26 Sep 2002 05:14:14 -0000 1.23 @@ -134,11 +134,11 @@ theXSLTNamespaceURI, theURI) == false) { - if (m_namespaceDeclarations.count(thePrefix) == 0) + if (m_namespaceDeclarations.count(&thePrefix) == 0) { m_namespaceDeclarations.insert( NamespacesMapType::value_type( - thePrefix, + &theConstructionContext.getPooledString(thePrefix), NamespaceExtended( theConstructionContext.getPooledString(theNamespace.getPrefix()), theConstructionContext.getPooledString(theNamespace.getURI())))); @@ -148,7 +148,7 @@ { m_excludedResultPrefixes.insert( ExcludedResultPrefixesMapType::value_type( - thePrefix, + &theConstructionContext.getPooledString(thePrefix), &theConstructionContext.getPooledString(theURI))); } } @@ -178,7 +178,7 @@ { // Check the excluded result prefixes first... const ExcludedResultPrefixesMapType::const_iterator i = - m_excludedResultPrefixes.find(thePrefix); + m_excludedResultPrefixes.find(&thePrefix); if (i != m_excludedResultPrefixes.end()) { @@ -188,7 +188,7 @@ { // Not found, so check the namespace declarations... const NamespacesMapType::const_iterator i = - m_namespaceDeclarations.find(thePrefix); + m_namespaceDeclarations.find(&thePrefix); if (i != m_namespaceDeclarations.end()) { @@ -221,7 +221,7 @@ else { const NamespaceAliasesMapType::const_iterator i = - m_namespaceAliases.find(theStylesheetNamespace); + m_namespaceAliases.find(&theStylesheetNamespace); if (i != m_namespaceAliases.end()) { @@ -242,7 +242,7 @@ const XalanDOMString& theStylesheetNamespace, const XalanDOMString& theResultNamespace) { - m_namespaceAliases[theStylesheetNamespace] = + m_namespaceAliases[&theConstructionContext.getPooledString(theStylesheetNamespace)] = &theConstructionContext.getPooledString(theResultNamespace); } @@ -292,7 +292,7 @@ theConstructionContext.error(theMessage); } - m_excludedResultPrefixes[thePrefix] = + m_excludedResultPrefixes[&theConstructionContext.getPooledString(thePrefix)] = &theConstructionContext.getPooledString(*theNamespace); } } @@ -666,7 +666,7 @@ // Add it to the excluded prefixes, in case we need it later... m_excludedResultPrefixes.insert( ExcludedResultPrefixesMapType::value_type( - thePrefix, + &theConstructionContext.getPooledString(thePrefix), &theConstructionContext.getPooledString(theURI))); } 1.14 +18 -15 xml-xalan/c/src/XSLT/NamespacesHandler.hpp Index: NamespacesHandler.hpp =================================================================== RCS file: /home/cvs/xml-xalan/c/src/XSLT/NamespacesHandler.hpp,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- NamespacesHandler.hpp 26 Sep 2002 01:38:15 -0000 1.13 +++ NamespacesHandler.hpp 26 Sep 2002 05:14:14 -0000 1.14 @@ -74,7 +74,7 @@ -#include <XalanDOM/XalanDOMString.hpp> +#include <PlatformSupport/DOMStringHelper.hpp> @@ -199,28 +199,31 @@ typedef XalanQName::NamespacesStackType NamespacesStackType; #if defined(XALAN_NO_NAMESPACES) - typedef map<XalanDOMString, + typedef map<const XalanDOMString*, const XalanDOMString*, - less<XalanDOMString> > ExcludedResultPrefixesMapType; + DOMStringPointerLessThanFunction> ExcludedResultPrefixesMapType; - typedef map<XalanDOMString, + typedef map<const XalanDOMString*, NamespaceExtended, - less<XalanDOMString> > NamespacesMapType; + DOMStringPointerLessThanFunction> NamespacesMapType; - typedef map<XalanDOMString, + typedef map<const XalanDOMString*, const XalanDOMString*, - less<XalanDOMString> > NamespaceAliasesMapType; + DOMStringPointerLessThanFunction> NamespaceAliasesMapType; typedef vector<const XalanDOMString*> XalanDOMStringPointerVectorType; #else - typedef std::map<XalanDOMString, - const XalanDOMString*> ExcludedResultPrefixesMapType; - - typedef std::map<XalanDOMString, - NamespaceExtended> NamespacesMapType; - - typedef std::map<XalanDOMString, - const XalanDOMString*> NamespaceAliasesMapType; + typedef std::map<const XalanDOMString*, + const XalanDOMString*, + DOMStringPointerLessThanFunction> ExcludedResultPrefixesMapType; + + typedef std::map<const XalanDOMString*, + NamespaceExtended, + DOMStringPointerLessThanFunction> NamespacesMapType; + + typedef std::map<const XalanDOMString*, + const XalanDOMString*, + DOMStringPointerLessThanFunction> NamespaceAliasesMapType; typedef std::vector<const XalanDOMString*> XalanDOMStringPointerVectorType; #endif
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]