You start with
preceding::table-wrapper[ends-with(@km,'Ta.A')]
and you want the element name to be variable. So you replace table-wrapper
with *[name()=$x]. That gives you
preceding::*[name()=$x][ends-with(@km,'Ta.A')]
not
preceding::*[name()=$x[ends-with(@km,'Ta.A')]]
because the ends-with predicate qualifies the element *, not the variable
$x.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Emily(_dot_)Garrett(_at_)thomson(_dot_)com
[mailto:Emily(_dot_)Garrett(_at_)thomson(_dot_)com]
Sent: 03 November 2006 20:49
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] FW: Trying to translate code with specific
values into variables to do a count
I am trying to translate code using specific values into code
that uses variables to represent those values.
Here is an XML example:
<chunk km="Ch">
<table-wrapper km="Ch.1.Ta.A">
.....
</table-wrapper>
<table-wrapper km="Ch.1.Ta.A">
.....
</table-wrapper>
<table-wrapper km="Ch.1.Ta.A">
.....
</table-wrapper>
</chunk>
The following code counts all the table-wrapper elements with
a km attribute that ends in Ta.A that are inside of this
chunk element where the km attribute value is Ch.
<xsl:value-of select="count(preceding::table-wrapper[ends-with(@km,
'Ta.A')][ancestor::chunk[(_at_)km='Ch']])+1"/>
This example works perfectly.
But when I try to represent the working code above with
variables, I get an error:
<xsl:value-of
select="count(preceding::*[name()=$counterElement[ends-with(@*
[name()=$c
ounterAttName],$counterAttValue)]][ancestor::*[name()=$contain
erElement[
@*[name()=$containerAttName]=$containerAttValue]]])+1"/>
Here is the error:
XPTY0020: The context item for axis step
attribute::attribute() is not a node
Does anyone have an idea of what I'm doing wrong?
Thanks.
Emily
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--