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

creating a xslfo using xslt and a xml file

Subject: creating a xslfo using xslt and a xml file
From: "Helen McArthur" <helen_166@xxxxxxxxxxx>
Date: Fri, 23 Feb 2007 17:53:12 +0000
 creating a xslfo using xslt and a xml file
i have a xml file which i need to transform to xslfo

i have created a java class to convert it but it doesnt convert correctly, when it converts the file the fo tags are completly removed which isnt what i want can anyone tell me what im doing wrong

i think it has to be something to do with my xsl-fo because apaches example works

my xslt: (part of)
<?xml version="1.0" encoding="iso-8859-1"?>


<fo:root xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:saxon="http://icl.com/saxon">
<fo:layout-master-set>



<fo:simple-page-master master-name="my-page"> <fo:region-body margin="0.75in"/> </fo:simple-page-master> </fo:layout-master-set>

                 <fo:page-sequence master-reference="my-page">
                   <fo:flow flow-name="xsl-region-body">



<xsl:template match='/' mode='ffp'>

</xsl:template>

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


the java class:
public void CreateXSLFO(String xmldocname, String xsltdocname, String xslfodocname) {


System.out.println("creating xsl-fo");

       File xmldocument = new File(xmldocname);
       File xsltdocument = new File(xsltdocname);
       File xslfodocument = new File(xslfodocname);

try {
OutputStream outputstream = new java.io.FileOutputStream(xslfodocument);


TransformerFactory factory = TransformerFactory.newInstance();

//pass the xslt document
Transformer transformer = factory.newTransformer(new StreamSource(xsltdocument));


           //pass the xml document
           Source sourse = new StreamSource(xmldocument);

           //pass the outputstream (new file)
           Result result = new StreamResult(outputstream);

           // transform the xslt to xsl-fo using FOP
           transformer.transform(sourse, result);
       }
       catch (Exception e)
       {
           e.printStackTrace();
       }

       System.out.println("xslfo created");
   }

apaches example:
<?xml version="1.0" encoding="UTF-8"?>
<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- $Id$ -->
<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" exclude-result-prefixes="fo">
<xsl:output method="xml" version="1.0" omit-xml-declaration="no" indent="yes"/>
<xsl:param name="versionParam" select="'1.0'"/>
<!-- ========================= -->
<!-- root element: projectteam -->
<!-- ========================= -->
<xsl:template match="projectteam">
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="simpleA4" page-height="29.7cm" page-width="21cm" margin-top="2cm" margin-bottom="2cm" margin-left="2cm" margin-right="2cm">
<fo:region-body/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="simpleA4">
<fo:flow flow-name="xsl-region-body">
<fo:block font-size="16pt" font-weight="bold" space-after="5mm">Project: <xsl:value-of select="projectname"/>
</fo:block>
<fo:block font-size="12pt" space-after="5mm">Version <xsl:value-of select="$versionParam"/>
</fo:block>
<fo:block font-size="10pt">
<fo:table table-layout="fixed" width="100%" border-collapse="separate">
<fo:table-column column-width="4cm"/>
<fo:table-column column-width="4cm"/>
<fo:table-column column-width="5cm"/>
<fo:table-body>
<xsl:apply-templates select="member"/>
</fo:table-body>
</fo:table>
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>
<!-- ========================= -->
<!-- child element: member -->
<!-- ========================= -->
<xsl:template match="member">
<fo:table-row>
<xsl:if test="function = 'lead'">
<xsl:attribute name="font-weight">bold</xsl:attribute>
</xsl:if>
<fo:table-cell>
<fo:block>
<xsl:value-of select="name"/>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<xsl:value-of select="function"/>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<xsl:value-of select="email"/>
</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:template>
</xsl:stylesheet>


_________________________________________________________________
Rate your skiving credentials with our Slack-o-meter http://www.slack-o-meter.com


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.