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