xml and xslfo

i have created a class whcih converts a xml file to a xslfo using a xslt

this works within the IDE but when i call it from a jsp i get a error within tomcat which says

stylesheet requires attribute version

this is not required when i run it in the ide, why?

<?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>

when i change it to the following:

<?xml version="1.0" encoding="iso-8859-1"?>

<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">

<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>

</xsl:stylesheet>

i get a fo document with no fo tags? why?

this is my java class which creates the xsl-fo:

publicvoid 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");

}

[4310 byte] By [h1400046a] at [2007-11-26 19:26:27]
# 1
Be sure to put required library in TOMCAT's appropriate folder.IDE has these libraries and Tomcat don't have them
RezaRavasizadeha at 2007-7-9 21:51:47 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 2
what do you mean which libuary do you think i am missing? i added all the jars as far as i can see
h1400046a at 2007-7-9 21:51:47 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 3
I can't tell you which one but when on IDE work and on Tomcat doesn't work this means some library is missing
RezaRavasizadeha at 2007-7-9 21:51:47 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 4

mm i dunno,

one thing is for use im importing javax in the class:

import javax.xml.transform.Result;

import javax.xml.transform.Source;

import javax.xml.transform.Transformer;

import javax.xml.transform.TransformerFactory;

import javax.xml.transform.sax.SAXResult;

import javax.xml.transform.stream.StreamResult;

import javax.xml.transform.stream.StreamSource;

but there isnt a jar for that shud there be?

h1400046a at 2007-7-9 21:51:47 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 5

what is really baffling is that if i replace my xslt with apaches example the class is able to transform it, so what makes it different? and why is it that it doesnt turn mine into correct fo format?

<?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>

h1400046a at 2007-7-9 21:51:47 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 6
You declared that you are using XSLT version 1.1. Looks like some software has noticed that and refused to process it because it only supports version 1.0.
DrClapa at 2007-7-9 21:51:47 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 7

ok ive changed it to 1.0 but i still get a fo file with no fo in it? why

my code

<?xml version="1.0" encoding="iso-8859-1"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" exclude-result-prefixes="fo">

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

<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">

any suggestions how i get 1.1? is it something to do with the xlan jar ?

BUT WHY DOES IT WORK WITH APACHES CODE?

Message was edited by:

h1400046

h1400046a at 2007-7-9 21:51:47 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 8

i figured it out :

<?xml version="1.0" encoding="iso-8859-1"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" exclude-result-prefixes="fo">

<xsl:template match='Resume/StructuredXMLResume'>

the root node needed to be included like this, i wasnt doing this before!

h1400046a at 2007-7-9 21:51:47 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...