[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Store node into variable


Subject: Re: [xsl] Store node into variable
From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 21 Apr 2015 13:22:03 -0000

Just use

<xsl:variable name="date" select="$element/date"/>

The way you are doing it, you are creating a temporary document to hold a copy
of the date element. The variable is a document node, and document nodes have
no name.


>
> I would need the $date to be the same node as $date2 (I want to use a
"xsl:choose" in the $date variable).
>

Either use XPath if() instead:

<xsl:variable name="date" select="if (X) then $element/date else
$something.else"/>

Or use xsl:sequence and an @as attribute

<xsl:variable name="date" as="element(date)">
  <xsl:choose>
    <xsl:when test="X">
     <xsl;sequence select="$element/date"/>
   </xsl:when>
   ....
</xsl:variable>


Michael Kay
Saxonica
mike@xxxxxxxxxxxx
+44 (0) 118 946 5893


Current Thread
Keywords