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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to