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 2004/01/06 03:16:38 UTC
cvs commit: xml-xalan/c/src/xalanc/XSLT ElemChoose.cpp ElemCopyOf.cpp ElemCopyOf.hpp ElemDecimalFormat.cpp ElemDecimalFormat.hpp ElemForEach.cpp ElemForEach.hpp ElemIf.cpp ElemIf.hpp ElemNumber.cpp ElemNumber.hpp ElemSort.cpp ElemSort.hpp ElemTemplate.cpp ElemTemplate.hpp ElemTemplateElement.cpp ElemTemplateElement.hpp ElemValueOf.cpp ElemValueOf.hpp ElemVariable.cpp ElemVariable.hpp ElemWhen.cpp ElemWhen.hpp ElemWithParam.cpp ElemWithParam.hpp StylesheetExecutionContextDefault.cpp
dbertoni 2004/01/05 18:16:38
Modified: c/src/xalanc/XSLT ElemChoose.cpp ElemCopyOf.cpp
ElemCopyOf.hpp ElemDecimalFormat.cpp
ElemDecimalFormat.hpp ElemForEach.cpp
ElemForEach.hpp ElemIf.cpp ElemIf.hpp
ElemNumber.cpp ElemNumber.hpp ElemSort.cpp
ElemSort.hpp ElemTemplate.cpp ElemTemplate.hpp
ElemTemplateElement.cpp ElemTemplateElement.hpp
ElemValueOf.cpp ElemValueOf.hpp ElemVariable.cpp
ElemVariable.hpp ElemWhen.cpp ElemWhen.hpp
ElemWithParam.cpp ElemWithParam.hpp
StylesheetExecutionContextDefault.cpp
Log:
Changes for Bugzilla 25857.
Revision Changes Path
1.4 +2 -8 xml-xalan/c/src/xalanc/XSLT/ElemChoose.cpp
Index: ElemChoose.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemChoose.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ElemChoose.cpp 2 Dec 2003 19:58:54 -0000 1.3
+++ ElemChoose.cpp 6 Jan 2004 02:16:37 -0000 1.4
@@ -142,14 +142,8 @@
if(StylesheetConstructionContext::ELEMNAME_WHEN == type)
{
- const ElemWhen* when =
-#if defined(XALAN_OLD_STYLE_CASTS)
- (const ElemWhen*)node;
-#else
- static_cast<const ElemWhen*>(node);
-#endif
- const XPath* const theXPath = when->getXPath();
+ const XPath* const theXPath = node->getXPath();
assert(theXPath != 0);
bool test;
@@ -161,7 +155,7 @@
executionContext.fireSelectEvent(
SelectionEvent(executionContext,
sourceNode,
- *when,
+ *node,
Constants::ATTRNAME_TEST,
*theXPath,
test));
1.5 +8 -0 xml-xalan/c/src/xalanc/XSLT/ElemCopyOf.cpp
Index: ElemCopyOf.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemCopyOf.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ElemCopyOf.cpp 2 Dec 2003 19:58:54 -0000 1.4
+++ ElemCopyOf.cpp 6 Jan 2004 02:16:37 -0000 1.5
@@ -237,4 +237,12 @@
+const XPath*
+ElemCopyOf::getXPath(unsigned int index) const
+{
+ return index == 0 ? m_selectPattern : 0;
+}
+
+
+
XALAN_CPP_NAMESPACE_END
1.3 +4 -1 xml-xalan/c/src/xalanc/XSLT/ElemCopyOf.hpp
Index: ElemCopyOf.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemCopyOf.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ElemCopyOf.hpp 19 Sep 2003 20:33:04 -0000 1.2
+++ ElemCopyOf.hpp 6 Jan 2004 02:16:37 -0000 1.3
@@ -113,6 +113,9 @@
virtual void
execute(StylesheetExecutionContext& executionContext) const;
+ virtual const XPath*
+ getXPath(unsigned int index = 0) const;
+
private:
const XPath* m_selectPattern;
1.5 +28 -0 xml-xalan/c/src/xalanc/XSLT/ElemDecimalFormat.cpp
Index: ElemDecimalFormat.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemDecimalFormat.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ElemDecimalFormat.cpp 4 Dec 2003 21:47:45 -0000 1.4
+++ ElemDecimalFormat.cpp 6 Jan 2004 02:16:37 -0000 1.5
@@ -374,4 +374,32 @@
+const XPath*
+ElemDecimalFormat::getXPath(unsigned int index) const
+{
+ const XPath* result = 0;
+
+ switch(index)
+ {
+ case 0:
+ result = m_valueExpr;
+ break;
+
+ case 1:
+ result = m_countMatchPattern;
+ break;
+
+ case 2:
+ result = m_fromMatchPattern;
+ break;
+
+ default:
+ break;
+ }
+
+ return result;
+}
+
+
+
XALAN_CPP_NAMESPACE_END
1.3 +3 -0 xml-xalan/c/src/xalanc/XSLT/ElemDecimalFormat.hpp
Index: ElemDecimalFormat.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemDecimalFormat.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ElemDecimalFormat.hpp 19 Sep 2003 20:33:04 -0000 1.2
+++ ElemDecimalFormat.hpp 6 Jan 2004 02:16:37 -0000 1.3
@@ -125,6 +125,9 @@
return *m_qname;
}
+ virtual const XPath*
+ getXPath(unsigned int index = 0) const;
+
private:
const XPath* m_countMatchPattern;
1.8 +8 -0 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.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ElemForEach.cpp 31 Dec 2003 19:11:21 -0000 1.7
+++ ElemForEach.cpp 6 Jan 2004 02:16:37 -0000 1.8
@@ -236,6 +236,14 @@
+const XPath*
+ElemForEach::getXPath(unsigned int index) const
+{
+ return index == 0 ? m_selectPattern : 0;
+}
+
+
+
void
ElemForEach::transformSelectedChildren(
StylesheetExecutionContext& executionContext,
1.3 +3 -0 xml-xalan/c/src/xalanc/XSLT/ElemForEach.hpp
Index: ElemForEach.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemForEach.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ElemForEach.hpp 19 Sep 2003 20:33:04 -0000 1.2
+++ ElemForEach.hpp 6 Jan 2004 02:16:37 -0000 1.3
@@ -141,6 +141,9 @@
virtual void
execute(StylesheetExecutionContext& executionContext) const;
+
+ virtual const XPath*
+ getXPath(unsigned int index = 0) const;
protected:
1.4 +8 -0 xml-xalan/c/src/xalanc/XSLT/ElemIf.cpp
Index: ElemIf.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemIf.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ElemIf.cpp 2 Dec 2003 19:58:54 -0000 1.3
+++ ElemIf.cpp 6 Jan 2004 02:16:37 -0000 1.4
@@ -173,4 +173,12 @@
+const XPath*
+ElemIf::getXPath(unsigned int index) const
+{
+ return index == 0 ? m_test : 0;
+}
+
+
+
XALAN_CPP_NAMESPACE_END
1.3 +3 -0 xml-xalan/c/src/xalanc/XSLT/ElemIf.hpp
Index: ElemIf.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemIf.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ElemIf.hpp 19 Sep 2003 20:33:04 -0000 1.2
+++ ElemIf.hpp 6 Jan 2004 02:16:37 -0000 1.3
@@ -103,6 +103,9 @@
virtual void
execute(StylesheetExecutionContext& executionContext) const;
+ virtual const XPath*
+ getXPath(unsigned int index = 0) const;
+
private:
const XPath* m_test;
1.4 +27 -0 xml-xalan/c/src/xalanc/XSLT/ElemNumber.cpp
Index: ElemNumber.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemNumber.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ElemNumber.cpp 2 Dec 2003 19:58:54 -0000 1.3
+++ ElemNumber.cpp 6 Jan 2004 02:16:37 -0000 1.4
@@ -2085,5 +2085,32 @@
}
+const XPath*
+ElemNumber::getXPath(unsigned int index) const
+{
+ const XPath* result = 0;
+
+ switch(index)
+ {
+ case 0:
+ result = m_valueExpr;
+ break;
+
+ case 1:
+ result = m_countMatchPattern;
+ break;
+
+ case 2:
+ result = m_fromMatchPattern;
+ break;
+
+ default:
+ break;
+ }
+
+ return result;
+}
+
+
XALAN_CPP_NAMESPACE_END
1.3 +3 -0 xml-xalan/c/src/xalanc/XSLT/ElemNumber.hpp
Index: ElemNumber.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemNumber.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ElemNumber.hpp 19 Sep 2003 20:33:04 -0000 1.2
+++ ElemNumber.hpp 6 Jan 2004 02:16:37 -0000 1.3
@@ -175,6 +175,9 @@
StylesheetExecutionContext& executionContext,
XalanNode* sourceNode) const;
+ virtual const XPath*
+ getXPath(unsigned int index = 0) const;
+
protected:
/**
1.4 +8 -0 xml-xalan/c/src/xalanc/XSLT/ElemSort.cpp
Index: ElemSort.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemSort.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ElemSort.cpp 2 Dec 2003 19:58:54 -0000 1.3
+++ ElemSort.cpp 6 Jan 2004 02:16:37 -0000 1.4
@@ -163,12 +163,20 @@
}
+
const XalanDOMString&
ElemSort::getElementName() const
{
return Constants::ELEMNAME_SORT_WITH_PREFIX_STRING;
}
+
+
+const XPath*
+ElemSort::getXPath(unsigned int index) const
+{
+ return index == 0 ? m_selectPattern : 0;
+}
1.3 +3 -0 xml-xalan/c/src/xalanc/XSLT/ElemSort.hpp
Index: ElemSort.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemSort.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ElemSort.hpp 19 Sep 2003 20:33:04 -0000 1.2
+++ ElemSort.hpp 6 Jan 2004 02:16:37 -0000 1.3
@@ -163,6 +163,9 @@
virtual const XalanDOMString&
getElementName() const;
+ virtual const XPath*
+ getXPath(unsigned int index = 0) const;
+
private:
const XPath* m_selectPattern;
1.5 +8 -0 xml-xalan/c/src/xalanc/XSLT/ElemTemplate.cpp
Index: ElemTemplate.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemTemplate.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ElemTemplate.cpp 2 Dec 2003 19:58:54 -0000 1.4
+++ ElemTemplate.cpp 6 Jan 2004 02:16:37 -0000 1.5
@@ -229,6 +229,14 @@
+const XPath*
+ElemTemplate::getXPath(unsigned int index) const
+{
+ return index == 0 ? m_matchPattern : 0;
+}
+
+
+
void
ElemTemplate::executeChildren(StylesheetExecutionContext& executionContext) const
{
1.3 +3 -0 xml-xalan/c/src/xalanc/XSLT/ElemTemplate.hpp
Index: ElemTemplate.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemTemplate.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ElemTemplate.hpp 19 Sep 2003 20:33:04 -0000 1.2
+++ ElemTemplate.hpp 6 Jan 2004 02:16:37 -0000 1.3
@@ -160,6 +160,9 @@
StylesheetExecutionContext& executionContext,
XalanNode* sourceNode) const;
+ virtual const XPath*
+ getXPath(unsigned int index = 0) const;
+
private:
// not implemented
1.8 +8 -1 xml-xalan/c/src/xalanc/XSLT/ElemTemplateElement.cpp
Index: ElemTemplateElement.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemTemplateElement.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ElemTemplateElement.cpp 31 Dec 2003 19:11:21 -0000 1.7
+++ ElemTemplateElement.cpp 6 Jan 2004 02:16:37 -0000 1.8
@@ -611,6 +611,14 @@
+const XPath*
+ElemTemplateElement::getXPath(unsigned int /* index */) const
+{
+ return 0;
+}
+
+
+
void
ElemTemplateElement::transformChild(
StylesheetExecutionContext& executionContext,
@@ -730,7 +738,6 @@
}
}
}
-
void
1.4 +12 -1 xml-xalan/c/src/xalanc/XSLT/ElemTemplateElement.hpp
Index: ElemTemplateElement.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemTemplateElement.hpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ElemTemplateElement.hpp 19 Sep 2003 00:12:50 -0000 1.3
+++ ElemTemplateElement.hpp 6 Jan 2004 02:16:37 -0000 1.4
@@ -103,7 +103,7 @@
class Stylesheet;
class StylesheetConstructionContext;
class StylesheetExecutionContext;
-
+class XPath;
class XALAN_XSLT_EXPORT ElemTemplateElement : public PrefixResolver
@@ -524,6 +524,17 @@
virtual ElemTemplateElement*
appendChildElem(ElemTemplateElement* newChild);
+ /**
+ * Get XPath pattern/expression of one of the element atribute
+ *
+ * @index number of the attribute. If an attribute has more
+ * then one attribute with pattern/expression,the order of
+ * the returned expressions are undefined
+ *
+ * @return pointer or null
+ */
+ virtual const XPath*
+ getXPath(unsigned int index = 0) const;
// These interfaces are inherited from PrefixResolver...
1.4 +8 -0 xml-xalan/c/src/xalanc/XSLT/ElemValueOf.cpp
Index: ElemValueOf.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemValueOf.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ElemValueOf.cpp 2 Dec 2003 19:58:54 -0000 1.3
+++ ElemValueOf.cpp 6 Jan 2004 02:16:37 -0000 1.4
@@ -331,6 +331,14 @@
+const XPath*
+ElemValueOf::getXPath(unsigned int index) const
+{
+ return index == 0 ? m_selectPattern : 0;
+}
+
+
+
void
ElemValueOf::fireSelectionEvent(
StylesheetExecutionContext& executionContext,
1.3 +3 -0 xml-xalan/c/src/xalanc/XSLT/ElemValueOf.hpp
Index: ElemValueOf.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemValueOf.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ElemValueOf.hpp 19 Sep 2003 20:33:04 -0000 1.2
+++ ElemValueOf.hpp 6 Jan 2004 02:16:37 -0000 1.3
@@ -109,6 +109,9 @@
virtual void
execute(StylesheetExecutionContext& executionContext) const;
+ virtual const XPath*
+ getXPath(unsigned int index = 0) const;
+
private:
void
1.6 +8 -0 xml-xalan/c/src/xalanc/XSLT/ElemVariable.cpp
Index: ElemVariable.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemVariable.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ElemVariable.cpp 2 Dec 2003 19:58:54 -0000 1.5
+++ ElemVariable.cpp 6 Jan 2004 02:16:37 -0000 1.6
@@ -287,6 +287,14 @@
+const XPath*
+ElemVariable::getXPath(unsigned int index) const
+{
+ return index == 0 ? m_selectPattern : 0;
+}
+
+
+
const XObjectPtr
ElemVariable::getValue(
StylesheetExecutionContext& executionContext,
1.3 +4 -1 xml-xalan/c/src/xalanc/XSLT/ElemVariable.hpp
Index: ElemVariable.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemVariable.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ElemVariable.hpp 19 Sep 2003 20:33:04 -0000 1.2
+++ ElemVariable.hpp 6 Jan 2004 02:16:37 -0000 1.3
@@ -150,6 +150,9 @@
virtual void
setParentNodeElem(ElemTemplateElement* theParent);
+ virtual const XPath*
+ getXPath(unsigned int index = 0) const;
+
protected:
/**
1.4 +11 -3 xml-xalan/c/src/xalanc/XSLT/ElemWhen.cpp
Index: ElemWhen.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemWhen.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ElemWhen.cpp 2 Dec 2003 19:58:54 -0000 1.3
+++ ElemWhen.cpp 6 Jan 2004 02:16:37 -0000 1.4
@@ -87,7 +87,7 @@
lineNumber,
columnNumber,
StylesheetConstructionContext::ELEMNAME_WHEN),
- m_pTest(0)
+ m_test(0)
{
const unsigned int nAttrs = atts.getLength();
@@ -97,7 +97,7 @@
if (equals(aname, Constants::ATTRNAME_TEST))
{
- m_pTest = constructionContext.createXPath(getLocator(), atts.getValue(i), *this);
+ m_test = constructionContext.createXPath(getLocator(), atts.getValue(i), *this);
}
else if(!(isAttrOK(aname, atts, i, constructionContext) ||
processSpaceAttr(aname, atts, i, constructionContext)))
@@ -112,7 +112,7 @@
}
}
- if(0 == m_pTest)
+ if(0 == m_test)
{
constructionContext.error(
XalanMessageLoader::getMessage(
@@ -140,6 +140,14 @@
ElemTemplateElement::execute(executionContext);
executeChildren(executionContext);
+}
+
+
+
+const XPath*
+ElemWhen::getXPath(unsigned int index) const
+{
+ return index == 0 ? m_test : 0;
}
1.3 +4 -12 xml-xalan/c/src/xalanc/XSLT/ElemWhen.hpp
Index: ElemWhen.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemWhen.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ElemWhen.hpp 19 Sep 2003 20:33:04 -0000 1.2
+++ ElemWhen.hpp 6 Jan 2004 02:16:37 -0000 1.3
@@ -97,26 +97,18 @@
int lineNumber,
int columnNumber);
- /**
- * Retrieve the XPath corresponding to the "test" attribute
- *
- * @return XPath object
- */
- const XPath*
- getXPath() const
- {
- return m_pTest;
- }
-
virtual const XalanDOMString&
getElementName() const;
virtual void
execute(StylesheetExecutionContext& executionContext) const;
+ virtual const XPath*
+ getXPath(unsigned int index = 0) const;
+
private:
- const XPath* m_pTest;
+ const XPath* m_test;
};
1.4 +8 -0 xml-xalan/c/src/xalanc/XSLT/ElemWithParam.cpp
Index: ElemWithParam.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemWithParam.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ElemWithParam.cpp 2 Dec 2003 19:58:54 -0000 1.3
+++ ElemWithParam.cpp 6 Jan 2004 02:16:37 -0000 1.4
@@ -159,4 +159,12 @@
+const XPath*
+ElemWithParam::getXPath(unsigned int index) const
+{
+ return index == 0 ? m_selectPattern : 0;
+}
+
+
+
XALAN_CPP_NAMESPACE_END
1.3 +3 -11 xml-xalan/c/src/xalanc/XSLT/ElemWithParam.hpp
Index: ElemWithParam.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/ElemWithParam.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ElemWithParam.hpp 19 Sep 2003 20:33:04 -0000 1.2
+++ ElemWithParam.hpp 6 Jan 2004 02:16:37 -0000 1.3
@@ -113,19 +113,11 @@
return *m_qname;
}
- /**
- * Retrieve XPath corresponding to "select" attribute
- *
- * @return pointer to XPath for select pattern
- */
- const XPath*
- getSelectPattern() const
- {
- return m_selectPattern;
- }
-
virtual const XalanDOMString&
getElementName() const;
+
+ virtual const XPath*
+ getXPath(unsigned int index = 0) const;
private:
1.13 +10 -10 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.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- StylesheetExecutionContextDefault.cpp 2 Dec 2003 19:58:54 -0000 1.12
+++ StylesheetExecutionContextDefault.cpp 6 Jan 2004 02:16:37 -0000 1.13
@@ -2443,14 +2443,7 @@
{
if(StylesheetConstructionContext::ELEMNAME_WITH_PARAM == child->getXSLToken())
{
- const ElemWithParam* const xslParamElement =
-#if defined(XALAN_OLD_STYLE_CASTS)
- (ElemWithParam*)child;
-#else
- static_cast<const ElemWithParam*>(child);
-#endif
-
- const XPath* const pxpath = xslParamElement->getSelectPattern();
+ const XPath* const pxpath = child->getXPath();
XObjectPtr theXObject;
@@ -2460,15 +2453,22 @@
createVariable(
*pxpath,
getCurrentNode(),
- *xslParamElement);
+ *child);
}
else
{
theXObject =
createVariable(
- *xslParamElement,
+ *child,
getCurrentNode());
}
+
+ const ElemWithParam* const xslParamElement =
+#if defined(XALAN_OLD_STYLE_CASTS)
+ (ElemWithParam*)child;
+#else
+ static_cast<const ElemWithParam*>(child);
+#endif
params.push_back(ParamsVectorType::value_type(&xslParamElement->getQName(), theXObject));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org