Subject: Re: [xsl] following sibling not working From: Paul Tremblay <phthenry@xxxxxxxxxxxxx> Date: Sun, 29 Jun 2003 18:28:58 -0400 |
On Sun, Jun 29, 2003 at 07:38:09PM +0100, David Carlisle wrote: > > You have to give us _some_ clues: > what does your input document look like > what is the current node when that test is executed (eg what template is > it in) > when you say it doesn't work, do you mean you get an error, or just a > diifferent result. > My original document looks like this: <para role = "command-line-verbose"> <emphasis role = "command"> &script-name; </emphasis> <emphasis role = "mandatory-short-option">d</emphasis> <emphasis role = "mandatory-option">days</emphasis> <emphasis role = "mandatory-option-argument">days</emphasis> <emphasis role = "option">verbose</emphasis> <emphasis role = "option-with-argument">append</emphasis> <emphasis role = "option-argument">device</emphasis> <emphasis role = "option-with-argument">backup-to</emphasis> <emphasis role = "option-argument">device</emphasis> <emphasis role = "short-option">m</emphasis> <emphasis role = "option">multiple-archive</emphasis> <emphasis role = "option">verify</emphasis> <emphasis role = "option">quiet</emphasis> <emphasis role = "option">dummy</emphasis> <emphasis role = "option">no-remove</emphasis> <emphasis role = "mandatory-short-option">f</emphasis> <emphasis role = "mandatory-option">file</emphasis> <emphasis role = "mandatory-option-argument">file</emphasis> <emphasis role = "or">|</emphasis> <emphasis role = "arguments">path</emphasis> </para> A fragment from my xsl document looks like this: <xsl:template match = "emphasis[@role = 'option']|emphasis[@role = 'option-with-argument']"> <xsl:if test = "not(preceding-sibling::*[1][@role = 'short-option'])"> <block new-lines-after = "1"> <xsl:text>[</xsl:text> </block> </xsl:if> <block new-lines-after = "0"> <xsl:text>.B --</xsl:text> </block> <block new-lines-after = "1"> <xsl:apply-templates/> </block> <xsl:if test = "not(following-sibling::emphasis[1][@role = 'option-argument'])"> <block new-lines-after = "1"> <xsl:text>]</xsl:text> </block> </xsl:if> </xsl:template> I am not generating an error when I run my stylesheet. But the "if" statement does not work. That is, the template with the "following sibling" instruction outputs a bracket. My "if" statement is trying to say "if the next sibling has the role with a value of 'argument', don't output the bracket." I hope this is clearer Thanks Paul -- ************************ *Paul Tremblay * *phthenry@xxxxxxxxxxxxx* ************************ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] following sibling not wor, David Carlisle | Thread | Re: [xsl] following sibling not wor, David Carlisle |
Re: [xsl] background-image being en, Eric Smith | Date | Re: [xsl] background-image being en, J.Pietschmann |
Month |