J.

Wow good call.

So I have a master stylesheet that imports other stylesheets that each do
there own thing.   Three render HTML pages, one renders JPEG's, two render
PDF's.  Is there a way to set the output to XML in 3 of the stylesheets and
HTML in the other 3?

When I try to do this (by setting xsl:output in different imported
stylesheets) I get a vaiant of the following exception:
XSLT Error (javax.xml.transform.TransformerConfigurationException): method
can not be multiply defined at the same import level! Old value = html; New
value = xml

WHY I THINK I NEED ISO-8859-1 ENCODING: I did have <xsl:output method
="html" encoding="iso-8859-1"/>.  This has to be there because our NeoWare
Linux boxes did not render Cascading Stylesheets correctly if the HTML was
UTF-8 encoded (Netscape default is Western) [font's would appear styled
unstyled randomly].  So in the HTML imported XSL stylesheets I declared
<xsl:output method="html" encoding="iso-8859-1"/>.

Could you point me in the right direction to get this to work?  Or should I
just have the XML renderd stuff under one stylesheet and make another
stylesheet to do the HTML stuff?  One master stylesheet is so nice.

Thanks a bunch,

JohnPT



                                                                                
                                                        
                    [EMAIL PROTECTED]                                           
                     
                    APACHE.ORG                                                 
To:     [EMAIL PROTECTED]                          
                                                                               
cc:                                                      
                    04/04/02 02:37 PM                                          
Subject:     Re: .fo entity problem ?                    
                    Please respond to fop-user                                  
                                                        
                                                                                
                                                        
                                                                                
                                                        




[EMAIL PROTECTED] wrote:
> I'm having the same problem.  This could be a stylesheet configuration
> problem.  When I run my XML through Xalan my ASCII entity references get
> mapped to there names.  So if my XML contains &#201; when I run it
through
> Xalan it puts &eacute; in my .fo file.  Then when I try to render the FO
it
> doesn't know what &eacute; is.
>
> 2 step process
> Run XML file through XSL to generate .fo file (&#201; get's mapped to
> &eacute;)
> Run .fo file through FOP to generate .pdf (FOP don't know &eacute;)
>
> Is there a way to stop Xalan from converting ASCII entity references to
> there names?

You simply have to use the XML output method:
  <xsl:output method="xml"/>
This is, BTW, the default.

Check whether you have set the output method to HTML.
Check included and imported XSL files as well. If you
run the processor embedded, check also the code whether
it sets it (this overrides the declaration in the XSL
file).

> My stylesheet is declared like this
> <xsl:stylesheet
>   version="1.0"
>   xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>   xmlns:lxslt="http://xml.apache.org/xslt";
>   xmlns:redirect="org.apache.xalan.xslt.extensions.Redirect"
>   xmlns:pdf="class:PDFWriter"
>   xmlns:fo="http://www.w3.org/1999/XSL/Format";
>   extension-element-prefixes="redirect pdf"
>   exclude-result-prefixes="lxslt">

These are namespaces and have no influence on the
output format whatsoever.
However, why do you need the redirect and pdf namespaces?
Are you triggering FOP from within the XSLT file? There
are easier ways to do this...

J.Pietschmann









Reply via email to