Re: AW: AW: [xsl] intra document link

Subject: Re: AW: AW: [xsl] intra document link
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 19 Feb 2004 12:45:53 -0500
At 2004-02-19 15:19 +0100, Nikolas Nehmer wrote:
That's right what I really meant was a inter intra document link ;-)
inter based on several html pages an intra one XML file ! So my source
document is a single XML file holding the Book and Chapter Data and this
Data should be displayed in several XHTML pages! Do you have any
suggestions? Is there any solution without "ugly" scripts with plain
XML/XSL/XHTML?

Most XSLT processors have extension instructions that allow you to create multiple output files. You choose the filename and this can be a calculated value.


    <!--TOC-->
    <xsl:for-each select="b:Book/b:chapters/iese.Chapter:Chapter">
      <li>
        <a href="chapter{1 +
                 count(preceding-sibling::iese.Chapter:Chapter)}.htm">
          <xsl:value-of select="iese.Chapter:heading"/>
        </a>
      </li>
    </xsl:for-each>

Then to create the individual files, use the same calculation in the target filename. The following is an example using an extension instruction in Saxon:

    <!--Body processing-->
    <xsl:for-each select="b:Book/b:chapters/iese.Chapter:Chapter">
      <saxon:output href="chapter{1 +
                          count(preceding-sibling::iese.Chapter:Chapter)}.htm">
        <html>
          ...
          <!--rest of chapter processing-->
          ...
        </html>
      </saxon:output>
    </xsl:for-each>

I hope this helps.

...................... Ken


-- Public courses: upcoming world tour of hands-on XSL training events Each week: Monday-Wednesday: XSLT/XPath; Thursday-Friday: XSL-FO Washington, DC: 2004-03-15 San Francisco, CA: 2004-03-22 Hong Kong: 2004-05-17 Germany: 2004-05-24 England: 2004-06-07 World-wide on-site corporate, government & user group XML training!

G. Ken Holman                  mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.           http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0     +1(613)489-0999 (F:-0995)
Male Breast Cancer Awareness   http://www.CraneSoftwrights.com/s/bc


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



Current Thread