[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: FW: Trying to translate code with specific values

Subject: RE: FW: Trying to translate code with specific values into variables to do a count
From: <Emily.Garrett@xxxxxxxxxxx>
Date: Sat, 4 Nov 2006 07:15:35 -0500
translate code message
Thanks.  That makes sense.  I tried it but still get the same error.  I
changed it to this:

<xsl:value-of
select="count(preceding::*[name()=$counterElement][ends-with(@*[name()=$count
erAttName],$counterAttValue)][ancestor::*[name()=$containerElement][@*[name()
=$containerAttName]=$containerAttValue]])+1"/>

Here is the error:
XPTY0020: The context item for axis step attribute::attribute() is not a node

Thanks.

Emily


Date: Fri, 3 Nov 2006 22:28:41 -0000
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Subject: RE:  FW: Trying to translate code with specific values into
variables to do a count
Message-ID: <016c01c6ff97$6ad0c810$6401a8c0@turtle>

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/ <http://www.saxonica.com/>



Date: Fri, 3 Nov 2006 15:49:03 -0500
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
From: <Emily.Garrett@xxxxxxxxxxx>
Subject: FW: Trying to translate code with specific values into variables to
do a count
Message-ID:
<3BE0394641D53F46B7D3C6CE870CEC540438C59F@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>

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=3D"Ch">
<table-wrapper km=3D"Ch.1.Ta.A">
.....
</table-wrapper>
<table-wrapper km=3D"Ch.1.Ta.A">
.....
</table-wrapper>
<table-wrapper km=3D"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=3D"count(preceding::table-wrapper[ends-with(@km,
'Ta.A')][ancestor::chunk[@km=3D'Ch']])+1"/>             =20
This example works perfectly.

But when I try to represent the working code above with variables, I get
an error:
<xsl:value-of
select=3D"count(preceding::*[name()=3D$counterElement[ends-with(@*[name()=
=3D$c
ounterAttName],$counterAttValue)]][ancestor::*[name()=3D$containerElement=
[
@*[name()=3D$containerAttName]=3D$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

------------------------------

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.