Subject: Re: [xsl] XSL design question From: Tom Schutzer-Weissmann <xsl@xxxxxxxxxxxxxxxx> Date: Tue, 2 Sep 2003 19:09:28 +0000 |
Hi Pete, [...] ><!ELEMENT title (#PCDATA | b | i | tt | index)*> [..] > This won't work either: > > <xsl:apply-templates select="*[not(self::index)]"/> How doesn't it work? It should, in "title" context, because it means apply templates to every child that isn't an index. eg <xsl:template match="title"> <xsl:apply-templates select="*[not(self::index)]"/> </xsl:template> [...] > This, too will not work: > > <xsl:apply-templates select="*[not(descendant::index)]"/> [...] This shouldn't work (if the context node is a "title") because it means apply templates to all children that don't have an index descendant. You could use modes, just as you suggested: <xsl:template match="title"> <xsl:apply-templates mode="toc"/> </xsl:template> <xsl:template match="i|b|tt" mode="toc"> <!-- do something --> </xsl:template> <xsl:template match="index" mode="toc"/> <!-- do nothing --> Some very organised people use modes all the time, except for the first template that matches /. Tom SW -- "The facts are hideous, but we must face them" - Bertie Wooster XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XSL design question, David Carlisle | Thread | Re: [xsl] XSL design question, pcarey |
[xsl] testing for preceding-sibling, Robert P. J. Day | Date | Re: [xsl] testing for preceding-sib, Wendell Piez |
Month |