xsl-list
[Top] [All Lists]

RE: [xsl] FW: Trying to translate code with specific values into variables to do a count

2006-11-03 15:31:24
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>