[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] How to render TEI
Re: [xsl] How to render TEI s with chapter-like pagination?
Subject: Re: [xsl] How to render TEI <div*>s with chapter-like pagination?
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 10 Apr 2003 20:39:21 +0100
> 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"></fo:page-sequence></: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
- [xsl] How to render TEI <div*>s with chapter-like pagination?
- James J. Ramsey - Wed, 9 Apr 2003 15:38:01 -0700 (PDT)
- Wendell Piez - Thu, 10 Apr 2003 12:03:07 -0400
- James J. Ramsey - Thu, 10 Apr 2003 12:17:08 -0700 (PDT)
- David Carlisle - Thu, 10 Apr 2003 20:39:21 +0100 <=
- James J. Ramsey - Thu, 10 Apr 2003 14:37:28 -0700 (PDT)
- Wendell Piez - Thu, 10 Apr 2003 18:37:17 -0400
- James J. Ramsey - Thu, 10 Apr 2003 17:49:22 -0700 (PDT)
- Wendell Piez - Fri, 11 Apr 2003 13:33:59 -0400
<- Previous Index Next ->
Re: [xsl] How to render TEI <div*>s, James J. Ramsey
Thread
Re: [xsl] How to render TEI <div*>s, James J. Ramsey
RE: [xsl] XSL Question., Kevin Collins
Date
[xsl] xsl:eval, Rajesh Jivangikar
Month
Subject: Re: [xsl] How to render TEI <div*>s with chapter-like pagination? From: David Carlisle <davidc@xxxxxxxxx> Date: Thu, 10 Apr 2003 20:39:21 +0100 |
> 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"></fo:page-sequence></: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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to render TEI <div*>s, James J. Ramsey | Thread | Re: [xsl] How to render TEI <div*>s, James J. Ramsey |
RE: [xsl] XSL Question., Kevin Collins | Date | [xsl] xsl:eval, Rajesh Jivangikar |
Month |
Products
Features
Resources
Support
Oxygen XML on Facebook
Follow
Oxygen XML on Twitter
Oxygen XML Web Feed
Oxygen XML
Blog
Oxygen XML Youtube Channel
© 2002-2022 SyncRO Soft SRL. All rights reserved.
This website was created & generated with <oXygen/>®XML Editor