Transforming a Document into a Formatting Object Form

To transform planets.xml into a document that uses formatting objects, which I'll call planets.fo, all I have to do is to apply the style sheet planets.xsl. You can do that using the XSLT techniques we saw in the previous chapter. For example, to use the xslt Java class I created in that chapter, you first set the class path to include the alphaWorks' xalan.jar and xerces.jar files, something like this:

%set classpath=%classpath%;C:lotusxsl_1_0_1xalan.jar;C:xsllotusxsl_1_0_1xerces.jar;

Then you apply planets.xsl to planets.xml to produce planets.fo:

%java xslt planets.xml planets.xsl planets.fo

The document planets.fo uses the XSL formatting objects to specify how the document should be formatted. Here's what planets.fo looks like:

<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

    <fo:layout-master-set>
        <fo:simple-page-master margin-right="20mm"
            margin-left="20mm" margin-bottom="10mm"
            margin-top="10mm" page-width="300mm"
            page-height="400mm" master-name="page">

            <fo:region-body margin-right="0mm"
                margin-left="0mm" margin-bottom="10mm"
                margin-top="0mm"/>

         <fo:region-after extent="10mm"/>

        </fo:simple-page-master>
    </fo:layout-master-set>

    <fo:page-sequence master-name="page">

        <!-- Added for fop -->
        <fo:sequence-specification>
            <fo:sequence-specifier-single master-name="page"/>
        </fo:sequence-specification>
        <!-- Added for fop -->

        <fo:flow>

            <fo:block font-family="sans-serif" line-height="48pt"
                font-size="36pt" font-weight="bold">
                Name:
                Mercury
            </fo:block>
            <fo:block font-family="sans-serif" line-height="48pt"
                font-size="36pt">
                Mass (Earth = 1):
                .0553</fo:block>
            <fo:block font-family="sans-serif" line-height="48pt"
                font-size="36pt">
                Day (Earth = 1):
                58.65</fo:block>
            <fo:block font-family="sans-serif" line-height="48pt"
                font-size="36pt">
                Radius (in miles):
                1516</fo:block>
            <fo:block font-family="sans-serif" line-height="48pt"
                font-size="36pt">
                Density (Earth = 1):
                .983</fo:block>
            <fo:block font-family="sans-serif" line-height="48pt"
                font-size="36pt">
                Distance (million miles):
                43.4</fo:block>

            <fo:block font-family="sans-serif" line-height="48pt"
                font-size="36pt" font-weight="bold">
                Name:
                Venus
            </fo:block>
            <fo:block font-family="sans-serif" line-height="48pt"
                font-size="36pt">
                Mass (Earth = 1):
                .815
            </fo:block>
            <fo:block font-family="sans-serif" line-height="48pt"
                font-size="36pt">
                Day (Earth = 1):
                116.75
            </fo:block>
            <fo:block font-family="sans-serif" line-height="48pt"
                font-size="36pt">
                Radius (in miles):
                3716
            </fo:block>
            <fo:block font-family="sans-serif" line-height="48pt"
                font-size="36pt">
                Density (Earth = 1):
                .943
            </fo:block>
            <fo:block font-family="sans-serif" line-height="48pt"
                font-size="36pt">
                 Distance (million miles):
                 66.8
            </fo:block>

            <fo:block font-family="sans-serif" line-height="48pt"
                font-size="36pt" font-weight="bold">
                Name:
                Earth
            </fo:block>
            <fo:block font-family="sans-serif" line-height="48pt"
                font-size="36pt">
                Mass (Earth = 1):
                1
            </fo:block>
            <fo:block font-family="sans-serif" line-height="48pt"
                font-size="36pt">
                Day (Earth = 1):
                1
            </fo:block>
            <fo:block font-family="sans-serif" line-height="48pt"
                font-size="36pt">
                Radius (in miles):
                2107
            </fo:block>
            <fo:block font-family="sans-serif" line-height="48pt"
                font-size="36pt">
                Density (Earth = 1):
                1
            </fo:block>
            <fo:block font-family="sans-serif" line-height="48pt"
                font-size="36pt">
                Distance (million miles):
                128.4
            </fo:block>

        </fo:flow>
    </fo:page-sequence>
</fo:root>

Okay, now we have planets.fo. How can we use it to create a formatted PDF file?

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.207.70