Subject: Re: [xsl] What is the equivalent of this statement ? From: Liam R E Quin <liam@xxxxxx> Date: Fri, 13 Jul 2012 14:05:55 -0400 |
On Sat, 2012-07-14 at 00:47 +0700, Lucent Lau wrote: > Hello, > > If I have this XML structure: > > <root> > <elemA> > <elemB> > <elemC id="1"/> > </elemB> > </elemA> > </root> > > what is the equivalent of this statement if I do not want to > specifically use elemC > <xsl:apply-templates select="node()[ not( self::elemC[@id=('1')])]" /> > > Can I say: > <xsl:apply-templates select="node()[ not( self::elemA/*/*[@id=('1')])]" /> > No, because there's no elemA in the same context as an elemC. Presumably this is in a template that matches elemB, and you are processing the whitespace node but not the selcted element node. I'd probably have an empty template with match="elemA/elemB/elemC[id = 1]" and then just use apply-templates. You could also say, node()[not(@id = 1)] if no other element has @id. Liam -- Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/ Pictures from old books: http://fromoldbooks.org/ Ankh: irc.sorcery.net irc.gnome.org freenode/#xml
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] What is the equivalent of, Ihe Onwuka | Thread | [xsl] how to efficiently extract un, Robby Pelssers |
Re: [xsl] What is the equivalent of, Ihe Onwuka | Date | Re: [xsl] [FO] image on even, table, J.Pietschmann |
Month |