Subject: [xsl] 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 |
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: [xsl] 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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Encoding issues with docu, Nic James Ferrier | Thread | [xsl] REsending: make element requi, Philip Vallone |
Re: [xsl] Encoding issues with docu, Nic James Ferrier | Date | Re: [xsl] Encoding issues with docu, Pankaj Bishnoi |
Month |