xsl-list
[Top] [All Lists]

Re: question about apply-templates / following-sibling

2002-12-12 09:37:23
Hi,

I did not explained the thing I would like to do correct before, because
the example should not be too complex and so I told that I want to
copy all the elements. Now I see that this was the wrong expression,
because I would like to add this param in every chapter, section and
simplesect, so I think I need to apply templates (and there are some
elements and attributes that are changed, too).

But I will change your code to that and test it.
Can you tell me a good reference where I can see some examples of
how to use keys? I never used them before.

Thanks for help :-)

Marko

At 15:52 12.12.2002 +0000, you wrote:

I suspect that it's possible to do this with a single Tennison-esqe
select expression, but it's simpler to just ignore your dtd expression
and rephrase your English descriptin as an xsl:choose


<xsl:choose>
 <!--
If the chapter
contains
a section or simplesect, the para can be inserted right before it
-->
  <xsl:when test="section|simplesect">
    <xsl:copy-of select="(section|simplesect)[1]/preceding-sibling::*"/>
     <para>new stuff</para>
    <xsl:copy-of select="(section|simplesect)[1]"/>
    <xsl:copy-of select="(section|simplesect)[1]/following-sibling::*"/>
  </xsl:when>
<!--
 but if
not, it
has to be the last element of chapter, only followed by index elements if
present.
-->
 <xsl:otherwise>
 <xsl:copy-of select="*[not(self::index)[last()]/preceding-sibling::*"/>
     <para>new stuff</para>
 <xsl:copy-of select="*[not(self::index)[last()]"/>
 <xsl:copy-of select="*[not(self::index)[last()]/following-sibling::*"/>
 <xsl:otherwise>
</xsl:choose>

untested...

you could use varables or keys to save  looking up the insertion points
three times on each branch.

David



_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>