Bug report - reading config xml

View: New views
4 Messages — Rating Filter:   Alert me  

Bug report - reading config xml

by Domján Gergő :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hi Everyone,


I think, I have found a bug.
I want to use FOP to convert xsl-fo files into txt files with layout.

I experienced, that the layout is distorted because the max column number is set to 80 by default. I wanted to change this value using a config xml ( fop -c cfg.xml),
so I took the example config xml (distribution 0.95, {fop-dir}/conf/fop.xconf).

It contains this section:

 <renderers>
    <renderer mime="text/plain">
      <pageSize columns="80"/>
    </renderer>

  </renderers>


This would be exactly what I need, and because this section, I think, FOP is supposed to read this information from the configuration xml and not only to work with the default value.
The problem is, that the application is not reading this config information from the config file.
Than I validated the config file I built, and according to the latest .xsd (http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/foschema/fop-configuration.xsd, No 731248),
it is not valid, the "pageSize" element does not exist.

Can You please advise, how to set default column number to higher or could anyone please add this functionality/fix this bug?


Thank You

doger



________________________________________________________
Nokia 5130 Domino csomagban 25 990 Ft helyett 23 391 Ft csak a T-Mobile Webshopban.
<?xml version="1.0"?>
<!--
  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: fop.xconf 447325 2006-09-18 08:55:33Z jeremias $ -->

<!--

This is an example configuration file for FOP.
This file contains the same settings as the default values
and will have no effect if used unchanged.

Relative config url's will be resolved relative to
the location of this file.

-->

<!-- NOTE: This is the version of the configuration -->
<fop version="1.0">

  <!-- Base URL for resolving relative URLs -->
  <base>.</base>
 
  <!-- Source resolution in dpi (dots/pixels per inch) for determining the size of pixels in SVG and bitmap images, default: 72dpi -->
  <source-resolution>72</source-resolution>
  <!-- Target resolution in dpi (dots/pixels per inch) for specifying the target resolution for generated bitmaps, default: 72dpi -->
  <target-resolution>72</target-resolution>
 
  <!-- Default page-height and page-width, in case
       value is specified as auto -->
  <default-page-settings height="11in" width="8.26in"/>
 
  <!-- Information for specific renderers -->
  <!-- Uses renderer mime type for renderers -->
  <renderers>
    <renderer mime="application/pdf">
      <filterList>
        <!-- provides compression using zlib flate (default is on) -->
        <value>flate</value>
 
        <!-- encodes binary data into printable ascii characters (default off)
             This provides about a 4:5 expansion of data size -->
        <!-- <value>ascii-85</value> -->
 
        <!-- encodes binary data with hex representation (default off)
             This filter is not recommended as it doubles the data size -->
        <!-- <value>ascii-hex</value> -->
      </filterList>

      <fonts>
        <!-- embedded fonts -->
        <!--
        This information must exactly match the font specified
        in the fo file. Otherwise it will use a default font.

        For example,
        <fo:inline font-family="Arial" font-weight="bold" font-style="normal">
            Arial-normal-normal font
        </fo:inline>
        for the font triplet specified by:
        <font-triplet name="Arial" style="normal" weight="bold"/>

        If you do not want to embed the font in the pdf document
        then do not include the "embed-url" attribute.
        The font will be needed where the document is viewed
        for it to be displayed properly.

        possible styles: normal | italic | oblique | backslant
        possible weights: normal | bold | 100 | 200 | 300 | 400
                          | 500 | 600 | 700 | 800 | 900
        (normal = 400, bold = 700)
        -->

        <!--
        <font metrics-url="arial.xml" kerning="yes" embed-url="arial.ttf">
          <font-triplet name="Arial" style="normal" weight="normal"/>
          <font-triplet name="ArialMT" style="normal" weight="normal"/>
        </font>
        <font metrics-url="arialb.xml" kerning="yes" embed-url="arialb.ttf">
          <font-triplet name="Arial" style="normal" weight="bold"/>
          <font-triplet name="ArialMT" style="normal" weight="bold"/>
        </font>
        -->
      </fonts>

      <!-- This option lets you specify additional options on an XML handler -->
      <!--xml-handler namespace="http://www.w3.org/2000/svg">
        <stroke-text>false</stroke-text>
      </xml-handler-->

    </renderer>

    <renderer mime="application/postscript">
      <!-- This option forces the PS renderer to rotate landscape pages -->
      <!--auto-rotate-landscape>true</auto-rotate-landscape-->
     
      <!-- This option lets you specify additional options on an XML handler -->
      <!--xml-handler namespace="http://www.w3.org/2000/svg">
        <stroke-text>false</stroke-text>
      </xml-handler-->
    </renderer>

    <renderer mime="application/vnd.hp-PCL">
    </renderer>

    <!-- MIF does not have a renderer
    <renderer mime="application/vnd.mif">
    </renderer>
    -->

    <renderer mime="image/svg+xml">
      <format type="paginated"/>
      <link value="true"/>
      <strokeText value="false"/>
    </renderer>

    <renderer mime="application/awt">
    </renderer>

    <renderer mime="image/png">
      <!--transparent-page-background>true</transparent-page-background-->
    </renderer>

    <renderer mime="image/tiff">
      <!--transparent-page-background>true</transparent-page-background-->
      <!--compression>CCITT T.6</compression-->
    </renderer>

    <renderer mime="text/xml">
    </renderer>

    <!-- RTF does not have a renderer
    <renderer mime="text/rtf">
    </renderer>
    -->

    <renderer mime="text/plain">
      <pageSize columns="80"/>
    </renderer>

  </renderers>

</fop>


Re: Bug report - reading config xml

by cbowditch :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Domján Gergő wrote:
>
> Hi Everyone,

Hi Domjan,

>
>
> I think, I have found a bug.
> I want to use FOP to convert xsl-fo files into txt files with layout.
>
> I experienced, that the layout is distorted because the max column
> number is set to 80 by default. I wanted to change this value using a
> config xml ( fop -c cfg.xml),
> so I took the example config xml (distribution 0.95,
> {fop-dir}/conf/fop.xconf).
>
> It contains this section:
>
>  <renderers>
>     <renderer mime="text/plain">
>       <pageSize columns="80"/>
>     </renderer>
>
>   </renderers>
>
>
> This would be exactly what I need, and because this section, I think,
> FOP is supposed to read this information from the configuration xml and
> not only to work with the default value.
> The problem is, that the application is not reading this config
> information from the config file.

That's right. It is not sufficient to simply add new XML elements into
the config and hope that FOP somehow applies this value to the output.
You have to make FOP read the element by changing the code. This is done
fairly eaily in the configure method of class TXTRendererConfigurator.
Then you have to make sure the value extracted there is applied to the
output which in some cases is less trivial.

> Than I validated the config file I built, and according to the latest
> .xsd
> (http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/foschema/fop-configuration.xsd,
> No 731248),
> it is not valid, the "pageSize" element does not exist.
>
> Can You please advise, how to set default column number to higher or
> could anyone please add this functionality/fix this bug?

Chris

>
>
> Thank You
>
> doger
>
>
>
> ________________________________________________________
> Nokia 5130 Domino csomagban 25 990 Ft helyett 23 391 Ft csak a T-Mobile
> Webshopban. < http://ad.adverticum.net/b/cl,1,6022,359365,443916/click.prm>
>


Re: Re: Bug report - reading config xml

by Domján Gergő :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Chris,

Thank You for Your answer.
I would like to make clear, that it was not me, who added this "pageSize" element arbitrarily to the config file, it was in the sample config xml I downloaded with the FOP package 0.95 from the Apache FOP website.
So it is definitely a mistake.

There is two solution for the problem:
1. to delete the "pageSize" element from the sample config xml on the Apache web site
2. to add this functionality really to the FOP application.

As You wrote, the second is also not a big deal (or: "fairly easy"), to someone, who has the development environment for Java installed and who has some experience with Java programming.

Sadly, I have none of them, so I was wondering, if I could ask someone from the Apache FOP community and who would be so kind to do this (maybe not only) for me.

Please please please

Thank You in advance

Gergo



Chris Bowditch <bowditch_chris@...> írta:

Domján Gergő wrote:
>
> Hi Everyone,

Hi Domjan,

>
>
> I think, I have found a bug.
> I want to use FOP to convert xsl-fo files into txt files with layout.
>
> I experienced, that the layout is distorted because the max column
> number is set to 80 by default. I wanted to change this value using a
> config xml ( fop -c cfg.xml),
> so I took the example config xml (distribution 0.95,
> {fop-dir}/conf/fop.xconf).
>
> It contains this section:
>
> <renderers>
> <renderer mime="text/plain">
> <pageSize columns="80"/>
> </renderer>
>
> </renderers>
>
>
> This would be exactly what I need, and because this section, I think,
> FOP is supposed to read this information from the configuration xml and
> not only to work with the default value.
> The problem is, that the application is not reading this config
> information from the config file.

That's right. It is not sufficient to simply add new XML elements into
the config and hope that FOP somehow applies this value to the output.
You have to make FOP read the element by changing the code. This is done
fairly eaily in the configure method of class TXTRendererConfigurator.
Then you have to make sure the value extracted there is applied to the
output which in some cases is less trivial.

> Than I validated the config file I built, and according to the latest
> .xsd
> (http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/foschema/fop-configuration.xsd,
> No 731248),
> it is not valid, the "pageSize" element does not exist.
>
> Can You please advise, how to set default column number to higher or
> could anyone please add this functionality/fix this bug?

Chris

>
>
> Thank You
>
> doger
>
>
>
> ________________________________________________________
> Nokia 5130 Domino csomagban 25 990 Ft helyett 23 391 Ft csak a T-Mobile
> Webshopban. < http://ad.adverticum.net/b/cl,1,6022,359365,443916/click.prm>;
>





________________________________________________________
Nokia 5130 Domino csomagban 25 990 Ft helyett 23 391 Ft csak a T-Mobile Webshopban.

Re: Bug report - reading config xml

by Vincent Hennebert-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Domján,

Domján Gergő wrote:

> Hi Chris,
>
> Thank You for Your answer.
> I would like to make clear, that it was not me, who added this "pageSize" element arbitrarily to the config file, it was in the sample config xml I downloaded with the FOP package 0.95 from the Apache FOP website.
> So it is definitely a mistake.
>
> There is two solution for the problem:
> 1. to delete the "pageSize" element from the sample config xml on the Apache web site
> 2. to add this functionality really to the FOP application.
>
> As You wrote, the second is also not a big deal (or: "fairly easy"), to someone, who has the development environment for Java installed and who has some experience with Java programming.
>
> Sadly, I have none of them, so I was wondering, if I could ask someone from the Apache FOP community and who would be so kind to do this (maybe not only) for me.

I’m afraid there is no interest (to my knowledge) in the current
development team in maintaining the text renderer. Our resources are
very sparse and we prefere to concentrate on parts that are more core to
the FOP project. If the text renderer is ever broken by improvements to
the code, it’s probable that it’s not going to be fixed.

Sorry, if you really need this functionality you will have to give it
a go yourself. But I’m not even sure that would be helpful anyway. What
do you want to do? Maybe you could describe your issue in more details
on the fop-users list, and we could give you some help or suggest
alternative ways to produce your text output. Using the well-supported
PDF output and converting it to text with some PDF post-processing tool
is probably going to give better results, for example. Have a look at
the following thread:
http://markmail.org/thread/y7k2awwwxuihyw2y


HTH,
Vincent


> Thank You in advance
>
> Gergo
>
>
>
> Chris Bowditch <bowditch_chris@...> írta:
>
>
>> Domján Gergő wrote:
>>> Hi Everyone,
>> Hi Domjan,
>>
>>>
>>> I think, I have found a bug.
>>> I want to use FOP to convert xsl-fo files into txt files with layout.
>>>
>>> I experienced, that the layout is distorted because the max column
>>> number is set to 80 by default. I wanted to change this value using a
>>> config xml ( fop -c cfg.xml),
>>> so I took the example config xml (distribution 0.95,
>>> {fop-dir}/conf/fop.xconf).
>>>
>>> It contains this section:
>>>
>>> <renderers>
>>> <renderer mime="text/plain">
>>> <pageSize columns="80"/>
>>> </renderer>
>>>
>>> </renderers>
>>>
>>>
>>> This would be exactly what I need, and because this section, I think,
>>> FOP is supposed to read this information from the configuration xml and
>>> not only to work with the default value.
>>> The problem is, that the application is not reading this config
>>> information from the config file.
>> That's right. It is not sufficient to simply add new XML elements into
>> the config and hope that FOP somehow applies this value to the output.
>> You have to make FOP read the element by changing the code. This is done
>> fairly eaily in the configure method of class TXTRendererConfigurator.
>> Then you have to make sure the value extracted there is applied to the
>> output which in some cases is less trivial.
>>
>>> Than I validated the config file I built, and according to the latest
>>> .xsd
>>> (http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/foschema/fop-configuration.xsd,
>>> No 731248),
>>> it is not valid, the "pageSize" element does not exist.
>>>
>>> Can You please advise, how to set default column number to higher or
>>> could anyone please add this functionality/fix this bug?
>> Chris
>>
>>>
>>> Thank You
>>>
>>> doger