[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: How to render TEI <div*>s with chapter-like pagin

Subject: Re: How to render TEI <div*>s with chapter-like pagination?
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 10 Apr 2003 20:39:21 +0100
pagin in div

> I did have an idea of my own, though I'm not sure how
> fragile it is. <div*>s are not allowed outside
> <front>, <body>, or <back> tags. So, if those tags
> always render as <fo:page-sequence> . . .
> </fo:page-sequence>, then making it so that something
> like "</fo:page-sequence><fo:page-sequence>" is output
> at the beginning of every top-level <div> except the
> first should do what I want. The main catch that I see
> is that one has to do something ugly like <xsl:text
> disable-output-escaping="yes">&lt;/fo:page-sequence&gt;</:xsl:text>,
> etc., since XSLT doesn't allow ill-formed XML inside
> templates.

It's not just fragile, it just simply won't work at all in many
situations as d-o-e is an optional feature. In particular it
almost certainly won't work if the result tree from XSLT is passed
straight as an in memory tree to the FO engine as d-o-e is about
writing out tags and tags don't have any meaning for an XML tree, only
its linearisation.

You really need to think in tree transformations when using XSLT
if you think in those terms then you can't even state a requirement to
create non-well formed markup, and XSLT's behaviour will seem far more
natural.

David


If I understand you correctly you want page-sequences that slurp up
a anything before the first div
b each div
c anything after the last div
which is something like

<xsl:variable name="x" select="div1|div2|div3"/>

<xsl:if test="$x[1]/preceding-sibling::*">
  <fo:page-sequence>
    <xsl:apply-templates select="$x[1]/preceding-sibling::*"/>
  </fo:page-sequence>
  </xsl:if>
  <xsl:apply-templates select="$x"/>

<xsl:if test="$x[last()]/following-sibling::*">
  <fo:page-sequence>
    <xsl:apply-templates select="$x[last()]/following-sibling::*"/>
  </fo:page-sequence>
  </xsl:if>

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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.