Re: [xsl] Nodesets in XSLT 1.1 and 1.0

Subject: Re: [xsl] Nodesets in XSLT 1.1 and 1.0
From: Paul Harvey <paul_harv_2@xxxxxxxxx>
Date: Tue, 22 Jun 2010 13:23:07 -0700 (PDT)
That didn't work but this did...
Thanks for helping me think through this...

<xsl:stylesheet version="1.1" 
  xmlns="urn:schemas-microsoft-com:office:spreadsheet"   
  xmlns:default="urn:schemas-microsoft-com:office:spreadsheet"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
  xmlns:exslt="http://exslt.org/common";>

  <xsl:variable name="data">
    <root>
      <test>1000</test>
      <test>2000</test>
      <test>3000</test>
      </root>
    </xsl:variable>

    <xsl:template match="/">
      <xsl:for-each select="$data//default:test">
        <xsl:value-of select="."/>
      </xsl:for-each>
    </xsl:template>

</xsl:stylesheet>


----- Original Message ----
From: Geert Bormans <geert@xxxxxxxxxxxxxxxxxxx>
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Sent: Tue, June 22, 2010 4:13:38 PM
Subject: Re: [xsl] Nodesets in XSLT 1.1 and 1.0

well, also the variable is in that default namespace

try this
<xsl:variable name="data" xmlns="">


At 22:11 22/06/2010, you wrote:
>...Thanks! That solved this simply case.
>
>My actual case (in which do not have this typo!) is more like the 
>following, having a default namespace of 
>xmlns="urn:schemas-microsoft-com:office:spreadsheet"
>It appears this is the issue. When I remove that default namespace 
>declaration the node-set thing works just fine.
>So my issue is how to reference the $data variable given this 
>default namespace declaration...
>
><xsl:stylesheet version="1.1" 
>xmlns="urn:schemas-microsoft-com:office:spreadsheet" 
>xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
>xmlns:exslt="http://exslt.org/common";>
>
>   <xsl:variable name="data">
>     <root>
>       <test>1000</test>
>       <test>2000</test>
>       <test>3000</test>
>       </root>
>     </xsl:variable>
>
>     <xsl:template match="/">
>       <xsl:for-each select="$data/root/test">
>         <xsl:value-of select="."/>
>       </xsl:for-each>
>     </xsl:template>
>
></xsl:stylesheet>
>
>
>----- Original Message ----
>From: Geert Bormans <geert@xxxxxxxxxxxxxxxxxxx>
>To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>Sent: Tue, June 22, 2010 2:49:01 PM
>Subject: Re: [xsl] Nodesets in XSLT 1.1 and 1.0
>
>not commenting on why you should not use XSLT1.1,
>you have a typo in your for-each
> >         <xsl:for-each select="."/>
>
>should be
>             <xsl:value-of select="."/>
>or
>            <xsl:copy-of select="."/>
>
>
>At 20:41 22/06/2010, you wrote:
> > <xsl:stylesheet version="1.1" 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
> xmlns:exslt="http://exslt.org/common";>
> >
> >   <xsl:variable name="data">
> >     <root>
> >       <test>1000</test>
> >       <test>2000</test>
> >       <test>3000</test>
> >      </root>
> >    </xsl:variable>
> >
> >    <xsl:template match="/">
> >      <xsl:for-each select="$data/root/test">
> >         <xsl:for-each select="."/>
> >      </xsl:for-each>
> >    </xsl:template>
> > </xsl:stylesheet>

Current Thread