xsl-list
[Top] [All Lists]

RE: [xsl] xpath query

2008-01-18 17:46:47
In XSLT 2.0, when you do <xsl:value-of select="EXPR"/> and EXPR selects a
sequence of nodes, the output consists of the string-values of those nodes,
separated by a single space.

If you want to copy the nodes to the output rather than extracting their
string values, try <xsl:copy-of>.

Michael Kay
http://www.saxonica.com/ 

-----Original Message-----
From: Sean Tiley [mailto:sean(_dot_)tiley(_at_)gmail(_dot_)com] 
Sent: 18 January 2008 23:46
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] xpath query

Hi there,
I am still struggling with mostof this stuff, but I have a 
question related to the original data.

<ROOT>
    <LEVEL2>
        <B>
            <a>100</a>
            <b apply="1">100</b>
            <c>100</c>
        </B>
        <C>
            <a>100</a>
            <b>100</b>
            <c apply="1">100</c>
        </C>
        </LEVEL2>
</ROOT>

If I create the following stylesheet I get 100 100 output

<xsl:stylesheet 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="2.0">
    <xsl:template match="ROOT">
        <html>
            <xsl:value-of select="LEVEL2/*/*[(_at_)apply='1']"/>
        </html>
    </xsl:template>
</xsl:stylesheet>

What I am not clear on is why does this return values and not nodes?
Or is this really returning both nodes and I am getting the 
value of each one because of the <xsl:value-of select="..."/> 
expression?

As far as I can figure the expression ROOT/LEVEL2/*/*[(_at_)apply='1']"
says give me the  nodes that have the arrtibute apply=1 and 
are grandchildren of level2.

I kind of though to get both values I would have to do something like

<xsl:template match="ROOT">
      <xsl:for-each select="LEVEL2/*/*[(_at_)apply='1']">
           <xsl:value-of select="."/>
      </xsl:for-each>
</xsl:template>

Sorry if this seems really trivial but it helps me to better 
understand.

--
Thanks
Sean

--~------------------------------------------------------------------
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>
--~--



--~------------------------------------------------------------------
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>