dbertoni 01/12/14 12:03:21
Modified: c/src/XSLT XSLTEngineImpl.cpp XSLTEngineImpl.hpp
Log:
When generating a unique namespace prefix, check to make sure the prefix is
not already in use.
Revision Changes Path
1.128 +9 -3 xml-xalan/c/src/XSLT/XSLTEngineImpl.cpp
Index: XSLTEngineImpl.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XSLT/XSLTEngineImpl.cpp,v
retrieving revision 1.127
retrieving revision 1.128
diff -u -r1.127 -r1.128
--- XSLTEngineImpl.cpp 2001/11/26 23:24:38 1.127
+++ XSLTEngineImpl.cpp 2001/12/14 20:03:21 1.128
@@ -195,7 +195,8 @@
m_executionContext(0),
m_outputContextStack(),
m_resultNamespacesStack(),
- m_dummyAttributesList()
+ m_dummyAttributesList(),
+ m_scratchString()
{
m_outputContextStack.pushContext();
}
@@ -3087,9 +3088,14 @@
void
XSLTEngineImpl::getUniqueNamespaceValue(XalanDOMString&
theValue)
{
- append(theValue, s_uniqueNamespacePrefix);
+ do
+ {
+ assign(m_scratchString, s_uniqueNamespacePrefix);
+
+ UnsignedLongToDOMString(m_uniqueNSValue++, m_scratchString);
+ } while(getResultNamespaceForPrefix(m_scratchString) != 0);
- UnsignedLongToDOMString(m_uniqueNSValue++, theValue);
+ append(theValue, m_scratchString);
}
1.79 +2 -0 xml-xalan/c/src/XSLT/XSLTEngineImpl.hpp
Index: XSLTEngineImpl.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XSLT/XSLTEngineImpl.hpp,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -r1.78 -r1.79
--- XSLTEngineImpl.hpp 2001/11/19 20:15:52 1.78
+++ XSLTEngineImpl.hpp 2001/12/14 20:03:21 1.79
@@ -1662,6 +1662,8 @@
*/
AttributeListImpl m_dummyAttributesList;
+ XalanDOMString m_scratchString;
+
static void
installFunctions();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]