xsl-list
[Top] [All Lists]

[xsl] XSLT2 xsl:sequence blocking ancestor refs?

2007-03-27 05:32:20
Using xsl:sequence seems to chop off the ability to reference ancestors
of selected nodes.
Is this working-as-designed?

Here's a quick demo.  In this piece of test code, the variable "b" has
no parent, while the variable "a" does:

<xsl:variable name="in">
   <e1>
     <e2>
       <e3>
         <e4>yes</e4>
       </e3>
     </e2>
   </e1>
 </xsl:variable>

 <xsl:template match="anything_to_get_started">

   <xsl:variable name="p" select="$in/e1/e2/e3/e4"/>
   <xsl:variable name="a" select="$p"/>
   <xsl:message select="'parent of a'"/>
   <xsl:message select="$a/parent::node()"/>

   <xsl:variable name="b">
     <xsl:sequence select="$p"/>
   </xsl:variable>
   <xsl:message select="'parent of b'"/>
   <xsl:message select="$b/parent::node()"/>

 </xsl:template>

The output using Saxon 8.9

    [java] parent of a
    [java] <e3><e4>yes</e4></e3>
    [java] parent of b


-Marshall Schor


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>