Subject: RE: [xsl] Extract First node|
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']"/> If it is the former then your template should be: <xsl:copy-of select="b/c[attribute::className='pdf']"/> -- 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 Hi 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 <a> <b> <c type="html">HTML file</c> </b> <b> <c type="text">Text File</c> </b> <b> <c type="pdf">First Pdf File</c> </b> <b> <c type="pdf">Second Pdf File</c> </b> <b> <c type="rtf">Rtf File</c> </b> </a> 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']"/> 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. Thanks Navpreet.