Subject: Re: [xsl] select element based on value of one of the children From: Ragulf Pickaxe <ragulf.pickaxe@xxxxxxxxx> Date: Tue, 11 Oct 2005 11:28:08 +0200 |
Hi Bjorn, > Dear reader, > As a XML and XSL newbie I would like to know whether it is possible to > select an element based on the value of one of children and how this can > best be done. > <xsl:template match="a[b='7']"> <xsl:copy-of select="."/> </xsl:template> If you wish to do further processing rather than just a copy, you can apply templates instead. What it is saying is that it should match all a elements with a child element b whose value is equal to '7'. The XSLT parser makes an implicit conversion to a string, but otherwise you might use [string(b)='7'] instead. > P.S. I tried to do my "homework" and found the following example > http://www.dpawson.co.uk/xsl/sect2/N3235.html#d4086e214. I, however, do > not understand what their solution to the problem is. What this says (from your homework): <xsl:apply-templates mode="copy" select="record[data-field/subfield='0039-0310X']" /> Is to apply templates to all record elements that have a child data-field with another child whose string value is equal to '0039-0310X'. They use mode so that the template matching * (all elements) is not invoked by default. Hope this helps. Regards, Ragulf Pickaxe :-)
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] select element based on v, Geert Josten | Thread | Re: [xsl] select element based on v, Ragulf Pickaxe |
Re: [xsl] select element based on v, Geert Josten | Date | Re: [xsl] select element based on v, Ragulf Pickaxe |
Month |