dbertoni 2002/11/02 19:36:56
Modified: c/src/XSLT KeyDeclaration.hpp KeyTable.cpp
Log:
New implementation to keep pointer to XalanQName instance instead of making a
copy.
Revision Changes Path
1.9 +4 -9 xml-xalan/c/src/XSLT/KeyDeclaration.hpp
Index: KeyDeclaration.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XSLT/KeyDeclaration.hpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- KeyDeclaration.hpp 19 Dec 2001 22:06:51 -0000 1.8
+++ KeyDeclaration.hpp 3 Nov 2002 03:36:56 -0000 1.9
@@ -64,10 +64,6 @@
-#include <XPath/XalanQNameByValue.hpp>
-
-
-
class XPath;
@@ -90,7 +86,7 @@
const XalanQName& qname,
const XPath& matchPattern,
const XPath& use) :
- m_qname(qname),
+ m_qname(&qname),
m_match(&matchPattern),
m_use(&use)
{
@@ -98,7 +94,7 @@
explicit
KeyDeclaration() :
- m_qname(),
+ m_qname(0),
m_match(0),
m_use(0)
{
@@ -120,7 +116,7 @@
*
* @return name string
*/
- const XalanQName&
+ const XalanQName*
getQName() const
{
return m_qname;
@@ -150,12 +146,11 @@
private:
- XalanQNameByValue m_qname;
+ const XalanQName* m_qname;
const XPath* m_match;
const XPath* m_use;
-
};
1.21 +6 -2 xml-xalan/c/src/XSLT/KeyTable.cpp
Index: KeyTable.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XSLT/KeyTable.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- KeyTable.cpp 26 Sep 2002 01:37:47 -0000 1.20
+++ KeyTable.cpp 3 Nov 2002 03:36:56 -0000 1.21
@@ -297,9 +297,11 @@
if(xuse->getType() != XObject::eTypeNodeSet)
{
+ assert(kd.getQName() != 0);
+
addIfNotFound(
executionContext,
- theKeys[kd.getQName()][xuse->str()],
+ theKeys[*kd.getQName()][xuse->str()],
testNode);
}
else
@@ -324,9 +326,11 @@
DOMServices::getNodeData(*nl.item(i), nodeData);
+ assert(kd.getQName() != 0);
+
addIfNotFound(
executionContext,
- theKeys[kd.getQName()][nodeData],
+ theKeys[*kd.getQName()][nodeData],
testNode);
clear(nodeData);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]