[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
At 2003-06-02 11:11 +1200, Conal Tuohy wrote:
This is not a well-formed XPath expression.
And the principal node type along the self access is element, not attribute, so this is the wrong direction to look for an answer.
At 2003-06-01 22:59 +0200, Adrian Grigore wrote:
test="count(.|../@id)=1" is only true when the current node is an attribute "id".
test="count(.|../self::somenode/@id)=1" is only true when the current node is an attribute named "id" and it is attached to an element named "somenode".
test="self::somechildnode" is only true when the current node is the element "somechildnode".
test="self::somechildnode/parent::somenode" is only true when the current node is the element "somechildnode" child of the "somenode" element.
Simple, but not obvious.
Consider that the attribute tests I have count the number of nodes in the union of the current node and the current node's "id" attribute ... since XPath 1.0 nodes are not duplicated in a node set, the union will only produce a singleton node set when the current node *is* the node being addressed.
I hope this helps.
................. Ken
p.s. for those who own our XSLT PDF book Tenth Edition, we document on pages 192 and 193 examples of all possible testing patterns for node types for the current node ... BTW, the Eleventh Edition should be out in a few weeks.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
RE: [xsl] Finding out if the current node is an attribute node
Subject: RE: [xsl] Finding out if the current node is an attribute node From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Sun, 01 Jun 2003 21:13:47 -0400 |
At 2003-06-02 11:11 +1200, Conal Tuohy wrote:
Does "self::*@" work?
This is not a well-formed XPath expression.
And the principal node type along the self access is element, not attribute, so this is the wrong direction to look for an answer.
At 2003-06-01 22:59 +0200, Adrian Grigore wrote:
> In other words, I am looking for an easy way to check within the > template example if the template's match attribute is something like > > /somenode/@id
test="count(.|../@id)=1" is only true when the current node is an attribute "id".
test="count(.|../self::somenode/@id)=1" is only true when the current node is an attribute named "id" and it is attached to an element named "somenode".
> in which case it matched an attribute node or something like > > /somenode/somechildnode
test="self::somechildnode" is only true when the current node is the element "somechildnode".
test="self::somechildnode/parent::somenode" is only true when the current node is the element "somechildnode" child of the "somenode" element.
> So, is there any simple way to do this? Maybe I overlooked > something obvious?
Simple, but not obvious.
> There is certainly no other way for me to implement this, I > looked for > another way for many hours already. Any help would be greatly > appreciated! :-)
Consider that the attribute tests I have count the number of nodes in the union of the current node and the current node's "id" attribute ... since XPath 1.0 nodes are not duplicated in a node set, the union will only produce a singleton node set when the current node *is* the node being addressed.
I hope this helps.
................. Ken
p.s. for those who own our XSLT PDF book Tenth Edition, we document on pages 192 and 193 examples of all possible testing patterns for node types for the current node ... BTW, the Eleventh Edition should be out in a few weeks.
-- Upcoming hands-on courses: (registration still open!) - (XSLT/XPath and/or XSL-FO) North America: June 16-20, 2003
G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Crane Softwrights Ltd. http://www.CraneSoftwrights.com/m/ Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995) ISBN 0-13-065196-6 Definitive XSLT and XPath ISBN 0-13-140374-5 Definitive XSL-FO ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath ISBN 1-894049-11-X Practical Formatting Using XSL-FO Member of the XML Guild of Practitioners: http://XMLGuild.info Male Breast Cancer Awareness http://www.CraneSoftwrights.com/m/bc
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Finding out if the curren, Conal Tuohy | Thread | RE: [xsl] Finding out if the curren, G. Ken Holman |
RE: [xsl] Finding out if the curren, Conal Tuohy | Date | RE: [xsl] Finding out if the curren, G. Ken Holman |
Month |