Subject: RE: [xsl] Grouping text nodes From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Thu, 4 Aug 2005 18:03:32 +0100 |
You could also write this as *[span/@class='vn'] Some people might find that more intuitive (though I'm not sure why). Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Jacoby, Peter R. [mailto:PJACOBY@xxxxxxxxxxxx] > Sent: 04 August 2005 17:13 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: RE: [xsl] Grouping text nodes > > >> > <xsl:template match="*[span[@class='vn']]" mode="lg"> > >> > >>What are the extra [ ] doing in this case? > > I've found that understanding XPath statements is easiest if > you try to turn it > into English (or your favorite spoken language) going left-to-right. > > So, match="*" means match on any node > > *[...] means match on any node where the ... evaluates to true > > *[span] means match on any node where it is true that it has > a child named span > > *[span[...]] means match on any node where it is true that is > has a child named > span and for which the ... evaluates to true for that span child > > *[span[@class='vn']] means match on any node where it is true > that is has a > child named span and that span child has an attribute named > class whose text > value is equal to the string "vn" > > I know this was probably more verbose than you needed, but > this is the concept > of breaking down XPath into its various parts that has helped > me learn it. > > Hope this helps. > > -Peter
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Grouping text nodes, Jacoby, Peter R. | Thread | [xsl] Applying a template on values, Ahsan Ali |
RE: [xsl] Using Saxon 8.5 and colle, Michael Kay | Date | Re: [xsl] Using Saxon 8.5 and colle, Colin Paul Adams |
Month |