RE: [xsl] Extract First node

Subject: RE: [xsl] Extract First node
From: cknell@xxxxxxxxxx
Date: Thu, 01 Sep 2005 21:20:10 -0400
Do you want the element or the text contained in the element? The xsl:value-of returns the latter. If that is what you want then change your template to this:

<xsl:value-of select="b/c[@type='pdf'][1]"/>

If it is the former then your template should be:

<xsl:copy-of select="b/c[attribute::className='pdf'][1]"/>
Charles Knell
cknell@xxxxxxxxxx - email

-----Original Message-----
From:     SINGH Navpreet <Navpreet.SINGH@xxxxxxxxx>
Sent:     Fri, 2 Sep 2005 10:23:12 +1000
To:       <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Subject:  [xsl] Extract First node

I am having a problem with XPath expression for XSLT. I am trying to extract a node from xml with a special attribute. For example
    <c type="html">HTML file</c>
    <c type="text">Text File</c>
    <c type="pdf">First Pdf File</c>
    <c type="pdf">Second Pdf File</c>
    <c type="rtf">Rtf File</c>

Element <c> can appear in any order and there could be a number of <c> with attribute type="pdf". I want to extract the first occurence of the element <c> which has a attribute type="pdf". I tried to extract it with
<xsl:value-of select="b/c[attribute::className='pdf'][1]"/>
after matching the template for <a>. But I am getting "First Pdf File Second Pdf File". Can anyone tell me where I am making mistake. I am using Saxon-B8.5.

Current Thread