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

Re: XSL FO how to make things go. Re: Q: XML+XSL transforms

Subject: Re: XSL FO how to make things go. Re: Q: XML+XSL transforms to a print-ready format
From: "James Tauber" <jtauber@xxxxxxxxxxx>
Date: Mon, 11 Oct 1999 13:38:37 +0800
xsl fo running header
> I'll send my proposal in a separate message.

Okay. Here is my proposal. There are problems with it, but I think it is a
start.

First of all, we need a way of specifying static-content on a per-master
basis as well as a per-region basis so that, for example, odd and even pages
can differ in header.

My proposal for that is for static-content to have two additional
properties: region and master.

<fo:static-content jt:region="before" jt:master="right">...</fo:static>

means that this is the static content to put in the before region on pages
using the "right" master.

Next we need two new FOs in order to achieve running headers (including
dictionary-style). One, which produces area(s), occurs in static-content (eg
the header), the other occurs in the body. The basic idea is that a section
header, dictionary head word, or whatever, sets a field and the
static-content can "retrieve" the first or last value set for that field on
that page. In the absence of a field setting on a page, the last value set
for the previous page in the
page-sequence would be used, ultimately defaulting to an empty string.

NOTE: The names of the FOs and their properties are just what occur to me. I
have no problem changing them.

To set a field one uses a "running-field-set" element with the name of the
field in the "name" attribute and the value of the field the contents of the
element.

To retrieve a field one uses a "running-field" empty element with the name
of the field in the "name" attribute and another attribute "which" which
takes the value "first" or "last" which indicates which value of the field
on that page to take.

So, a section might result in a FO tree fragments like:

<jt:running-field-set name="section">3.4 Formatting
Model</jt:running-field-set>
<fo:block space-before.optimum="2cm" space-after.optimum="1cm"
font-size="24pt">3.4 Formatting Model</fo:block>
<fo:block>In XSL, one creates a number of formatting objects...</fo:block>

The static-content might then look like:

<fo:static-content region="before" master="right"><fo:block font-size="10pt"
font-style="italic" text-align-last="right"><fo:running-field name="section"
which="last"/></fo:block></fo:static-content>

In a dictionary, the body might have fragments like:

<fo:running-field-set name="headword">example</fo:running-field-set>
<fo:block><fo:inline-sequence
font-weight="bold">example</fo:inline-sequence>, n. Fact, thing,
illustrating general rule</fo:block>

and then have static-content

<fo:static-content region="before" master="right"><fo:block font-size="10pt"
font-style="italic" text-align-last="right"><fo:running-field
name="headword" which="first"/>&emdash;<fo:running-field name="headword"
which="last"/></fo:block></fo:static-content>

As I said at the start, there are problems with this. A more general
solution is needed and I hope it will be in XSL eventually.

James


 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.