|
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 |