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