dbertoni 2003/11/05 14:18:42
Modified: c/src/xalanc/XSLT ElemForEach.cpp
StylesheetExecutionContext.hpp
StylesheetExecutionContextDefault.cpp
StylesheetExecutionContextDefault.hpp
XSLTEngineImpl.cpp
Log:
Cleaned up obsolete code that used exceptions to handle indexes in patterns.
push and pop the context node list to an internal stack for better stack
management.
Revision Changes Path
1.5 +3 -3 xml-xalan/c/src/xalanc/XSLT/ElemForEach.cpp
Index: ElemForEach.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemForEach.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ElemForEach.cpp 11 Aug 2003 20:31:29 -0000 1.4
+++ ElemForEach.cpp 5 Nov 2003 22:18:42 -0000 1.5
@@ -468,7 +468,7 @@
else
{
typedef
StylesheetExecutionContext::SetAndRestoreCurrentStackFrameIndex
SetAndRestoreCurrentStackFrameIndex;
- typedef
StylesheetExecutionContext::ContextNodeListSetAndRestore
ContextNodeListSetAndRestore;
+ typedef
StylesheetExecutionContext::ContextNodeListPushAndPop
ContextNodeListPushAndPop;
typedef
StylesheetExecutionContext::BorrowReturnMutableNodeRefList
BorrowReturnMutableNodeRefList;
BorrowReturnMutableNodeRefList
sortedSourceNodes(executionContext);
@@ -480,7 +480,7 @@
executionContext,
selectStackFrameIndex);
- ContextNodeListSetAndRestore
theContextNodeListSetAndRestore(
+ ContextNodeListPushAndPop
theContextNodeListPushAndPop(
executionContext,
*sourceNodes);
@@ -514,7 +514,7 @@
}
// Create an object to set and restore the context node list...
- const StylesheetExecutionContext::ContextNodeListSetAndRestore
theContextNodeListSetAndRestore(
+ const StylesheetExecutionContext::ContextNodeListPushAndPop
theContextNodeLisPushAndPop(
executionContext,
sourceNodes);
1.9 +6 -9
xml-xalan/c/src/xalanc/XSLT/StylesheetExecutionContext.hpp
Index: StylesheetExecutionContext.hpp
===================================================================
RCS file:
/home/cvs/xml-xalan/c/src/xalanc/XSLT/StylesheetExecutionContext.hpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- StylesheetExecutionContext.hpp 11 Aug 2003 20:31:29 -0000 1.8
+++ StylesheetExecutionContext.hpp 5 Nov 2003 22:18:42 -0000 1.9
@@ -1802,11 +1802,14 @@
const XalanNode& node1,
const XalanNode& node2) const = 0;
- virtual const NodeRefListBase&
- getContextNodeList() const = 0;
+ virtual void
+ pushContextNodeList(const NodeRefListBase& theList) = 0;
virtual void
- setContextNodeList(const NodeRefListBase& theList) = 0;
+ popContextNodeList() = 0;
+
+ virtual const NodeRefListBase&
+ getContextNodeList() const = 0;
virtual size_type
getContextNodeListLength() const = 0;
@@ -1928,12 +1931,6 @@
virtual bool
shouldStripSourceNode(const XalanNode& node) = 0;
-
- virtual bool
- getThrowFoundIndex() const = 0;
-
- virtual void
- setThrowFoundIndex(bool fThrow) = 0;
virtual XalanDocument*
getSourceDocument(const XalanDOMString& theURI) const = 0;
1.11 +13 -21
xml-xalan/c/src/xalanc/XSLT/StylesheetExecutionContextDefault.cpp
Index: StylesheetExecutionContextDefault.cpp
===================================================================
RCS file:
/home/cvs/xml-xalan/c/src/xalanc/XSLT/StylesheetExecutionContextDefault.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- StylesheetExecutionContextDefault.cpp 26 Oct 2003 01:17:39 -0000
1.10
+++ StylesheetExecutionContextDefault.cpp 5 Nov 2003 22:18:42 -0000
1.11
@@ -1726,18 +1726,26 @@
-const NodeRefListBase&
-StylesheetExecutionContextDefault::getContextNodeList() const
+void
+StylesheetExecutionContextDefault::pushContextNodeList(const
NodeRefListBase& theContextNodeList)
{
- return m_xpathExecutionContextDefault.getContextNodeList();
+ m_xpathExecutionContextDefault.pushContextNodeList(theContextNodeList);
}
void
-StylesheetExecutionContextDefault::setContextNodeList(const NodeRefListBase&
theContextNodeList)
+StylesheetExecutionContextDefault::popContextNodeList()
+{
+ m_xpathExecutionContextDefault.popContextNodeList();
+}
+
+
+
+const NodeRefListBase&
+StylesheetExecutionContextDefault::getContextNodeList() const
{
- m_xpathExecutionContextDefault.setContextNodeList(theContextNodeList);
+ return m_xpathExecutionContextDefault.getContextNodeList();
}
@@ -2012,22 +2020,6 @@
{
return m_xsltProcessor->shouldStripSourceNode(*this, node);
}
-}
-
-
-
-bool
-StylesheetExecutionContextDefault::getThrowFoundIndex() const
-{
- return m_xpathExecutionContextDefault.getThrowFoundIndex();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::setThrowFoundIndex(bool fThrow)
-{
- m_xpathExecutionContextDefault.setThrowFoundIndex(fThrow);
}
1.9 +6 -9
xml-xalan/c/src/xalanc/XSLT/StylesheetExecutionContextDefault.hpp
Index: StylesheetExecutionContextDefault.hpp
===================================================================
RCS file:
/home/cvs/xml-xalan/c/src/xalanc/XSLT/StylesheetExecutionContextDefault.hpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- StylesheetExecutionContextDefault.hpp 26 Oct 2003 00:50:30 -0000
1.8
+++ StylesheetExecutionContextDefault.hpp 5 Nov 2003 22:18:42 -0000
1.9
@@ -830,11 +830,14 @@
const XalanNode& node1,
const XalanNode& node2) const;
- virtual const NodeRefListBase&
- getContextNodeList() const;
+ virtual void
+ pushContextNodeList(const NodeRefListBase& theList);
virtual void
- setContextNodeList(const NodeRefListBase& theList);
+ popContextNodeList();
+
+ virtual const NodeRefListBase&
+ getContextNodeList() const;
virtual size_type
getContextNodeListLength() const;
@@ -925,12 +928,6 @@
virtual bool
shouldStripSourceNode(const XalanNode& node);
-
- virtual bool
- getThrowFoundIndex() const;
-
- virtual void
- setThrowFoundIndex(bool fThrow);
virtual XalanDocument*
getSourceDocument(const XalanDOMString& theURI) const;
1.10 +0 -8 xml-xalan/c/src/xalanc/XSLT/XSLTEngineImpl.cpp
Index: XSLTEngineImpl.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/XSLTEngineImpl.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- XSLTEngineImpl.cpp 26 Oct 2003 00:50:30 -0000 1.9
+++ XSLTEngineImpl.cpp 5 Nov 2003 22:18:42 -0000 1.10
@@ -757,14 +757,10 @@
if(nl.getLength() == 0)
{
- NodeRefList theEmptyList;
-
ds = XALAN_STATIC_UCODE_STRING("//[EMAIL PROTECTED]'");
ds += fragID;
ds += XALAN_STATIC_UCODE_STRING("']");
- theExecutionContext.setContextNodeList(theEmptyList);
-
const XObjectPtr xobj(evalXPathStr(ds,
theExecutionContext));
assert(xobj.null() == false);
@@ -776,8 +772,6 @@
ds += fragID;
ds += XALAN_STATIC_UCODE_STRING("']");
-
theExecutionContext.setContextNodeList(theEmptyList);
-
const XObjectPtr xobj(evalXPathStr(ds,
theExecutionContext));
assert(xobj.null() == false);
@@ -786,8 +780,6 @@
if(nl.getLength() == 0)
{
// Well, hell, maybe it's an XPath...
-
theExecutionContext.setContextNodeList(theEmptyList);
-
const XObjectPtr
xobj(evalXPathStr(fragID, theExecutionContext));
assert(xobj.null() == false);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]