Re: [xsl] Attribute Matching

Subject: Re: [xsl] Attribute Matching
From: David Carlisle <davidc@xxxxxxxxx>
Date: Sun, 7 Jan 2007 21:30:05 GMT
> <xsl:copy-of select="$field[@flg=$drvr/@*[.=name()]]"/>

.=name() is true if the value of the node is the same as its name, so
something like id="id" would test true.

so

$drvr/@*[.=name()]

selects all attributes of the elements in $drvr that have the same name
as their value.

so

@flg=$drvr/@*[.=name()]

is true if there is a flg attribute on the current element that has the
same value as the attribute in $drvr that has the same name as its
value.

It seems like you want something like

<xsl:template match="row">
 <Field flg="{name(@*[.=1])}"/>
</xsl:template>


David

Current Thread