Re: question on fonts

2001-07-12 Thread Alex McLintock

 --- Wolf Gustavo (SGC-EXT) [EMAIL PROTECTED] wrote: 
 Hi all,
   does anyone know how to make fop transform a th (like in 4th) in
 order to put it as superscript with a small font (in good ol'LateX it would
 go like $4^{th}$)?

You might try 

4fo:inline font-size=7pt line-height='8pt' vertical-align=super th/fo:inline

though I haven't tried it..




=
Alex McLintock[EMAIL PROTECTED]Open Source Consultancy in London
OpenWeb Analysts Ltd, http://www.OWAL.co.uk/ 
DR WHO COMPETITION: 
http://www.diversebooks.com/cgi-bin/caption/captions.cgi?date=200104
Get Your XML T-Shirt t-shirt/ at http://www.inversity.co.uk/


Do You Yahoo!?
Get your free @yahoo.co.uk address at http://mail.yahoo.co.uk
or your free @yahoo.ie address at http://mail.yahoo.ie

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Re: fo:flow within fo:page-sequence

2001-07-12 Thread Keiron Liddle


On Thu, 12 Jul 2001 11:25:06 Wolf Gustavo (SGC-EXT) wrote:
 Hi,
   in the XML bible, chap. 15, I read that for a  fo:page-sequence I
 can
 have one fo:flow per region, i.e.: fo:flow flow-name=xsl-region-body,
 and then another like fo:flow flow-name=xsl-region-after., etc, 
 which
 makes 5 in total per page.
 However, when I try to define one flow for body and another for after,
 Fop
 tells me that only a single fo:flow admitted per fo:page-sequence.
 Does anybody know how to solve this?
 Thanks a lot, Gustavo


The allowed content for a page-sequence is:
(title?,static-content*,flow)

That is - only one flow.

What you want (possibly) is to define some static-content, as in the
example in docs/examples/pagination/allregions.fo.

eg.
fo:static-content flow-name=xsl-region-start
  fo:block-container height=22.2cm width=1cm top=0cm left=0cm
position=absolute
  fo:blockStart/fo:block
/fo:block-container
/fo:static-content



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




cannot find class java/lang/Thread

2001-07-12 Thread Davy Moskofian

Hi,

I have installed FOP on my Sun station.
When I try to execute the fop.sh command, I get the following error
message:
Unable to initialize threads: cannot find class java/lang/Thread
Can anyone tell me if there is a solution to this problem ?

Thanks a lot




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




cvs commit: xml-fop/src/org/apache/fop/svg SVGElementMapping.java

2001-07-12 Thread keiron

keiron  01/07/12 06:03:42

  Modified:src/org/apache/fop/apps Driver.java
   src/org/apache/fop/configuration Configuration.java
ConfigurationReader.java
   src/org/apache/fop/extensions ExtensionElementMapping.java
   src/org/apache/fop/fo ElementMapping.java
StandardElementMapping.java
   src/org/apache/fop/image SVGImage.java
   src/org/apache/fop/render/awt AWTRenderer.java
   src/org/apache/fop/render/pdf PDFRenderer.java
   src/org/apache/fop/render/ps PSRenderer.java
   src/org/apache/fop/svg SVGElementMapping.java
  Log:
  combined property list setting into element setting
  also always get parser class name from one place
  
  Revision  ChangesPath
  1.28  +96 -53xml-fop/src/org/apache/fop/apps/Driver.java
  
  Index: Driver.java
  ===
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/apps/Driver.java,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- Driver.java   2001/07/02 10:48:01 1.27
  +++ Driver.java   2001/07/12 13:02:56 1.28
  @@ -1,4 +1,4 @@
  -/* $Id: Driver.java,v 1.27 2001/07/02 10:48:01 keiron Exp $
  +/* $Id: Driver.java,v 1.28 2001/07/12 13:02:56 keiron Exp $
* Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
* For details on use and redistribution please refer to the
* LICENSE file included with these sources.
  @@ -9,7 +9,6 @@
   // FOP
   import org.apache.fop.fo.FOTreeBuilder;
   import org.apache.fop.fo.ElementMapping;
  -import org.apache.fop.fo.PropertyListMapping;
   import org.apache.fop.layout.AreaTree;
   import org.apache.fop.layout.FontInfo;
   import org.apache.fop.render.Renderer;
  @@ -136,6 +135,18 @@
   /** the system resources that FOP will use*/
   private BufferManager _bufferManager;
   
  +public static final String getParserClassName() {
  +String parserClassName = null;
  +try {
  +parserClassName = System.getProperty(org.xml.sax.parser);
  +} catch(SecurityException se) {
  +}
  +if (parserClassName == null) {
  +parserClassName = org.apache.xerces.parsers.SAXParser;
  +}
  +return parserClassName;
  +}
  +
   /** create a new Driver */
   public Driver() {
   _stream = null;
  @@ -200,30 +211,24 @@
   _reader = reader;
   }
   
  -
   /**
* Sets all the element and property list mappings to their default values.
*
*/
   public void setupDefaultMappings() {
   addElementMapping(org.apache.fop.fo.StandardElementMapping);
  -addPropertyList (org.apache.fop.fo.StandardPropertyListMapping);
  -
   addElementMapping(org.apache.fop.svg.SVGElementMapping);
  -addPropertyList (org.apache.fop.svg.SVGPropertyListMapping);
  -
   addElementMapping(org.apache.fop.extensions.ExtensionElementMapping);
  -addPropertyList (org.apache.fop.extensions.ExtensionPropertyListMapping);
   
  -// add mappings from user configuration
  -Hashtable mappings = Configuration.getHashtableValue(mappings);
  -if (mappings != null) {
  -String prop = (String) mappings.get(property);
  -String ele = (String) mappings.get(element);
  -try {
  -addElementMapping(ele);
  -addPropertyList(prop);
  -} catch (IllegalArgumentException e) {
  +// add mappings from available services
  +Enumeration providers = 
Service.providers(org.apache.fop.fo.ElementMapping.class);
  +if (providers != null) {
  +while(providers.hasMoreElements()) {
  +String str = (String)providers.nextElement();
  +try {
  +addElementMapping(str);
  +} catch (IllegalArgumentException e) {
  +}
   }
   }
   }
  @@ -271,7 +276,6 @@
   
   }
   
  -
   /**
* Set the Renderer to use
* @param renderer the renderer instance to use
  @@ -361,41 +365,6 @@
   }
   
   /**
  - * Add the PropertyListMapping.
  - */
  -public void addPropertyList(PropertyListMapping mapping) {
  -mapping.addToBuilder(_treeBuilder);
  -}
  -
  -/**
  - * Add the PropertyListMapping with the given class name.
  - */
  -public void addPropertyList(String listClassName)
  -throws IllegalArgumentException {
  -try {
  -PropertyListMapping mapping =
  -  (PropertyListMapping) Class.forName(
  -listClassName).newInstance();
  -addPropertyList(mapping);
  -
  -} catch (ClassNotFoundException e) {
  -throw new IllegalArgumentException(Could not find  +
  

cvs commit: xml-fop/src/org/apache/fop/svg SVGPropertyListMapping.java

2001-07-12 Thread keiron

keiron  01/07/12 06:12:09

  Removed: src/org/apache/fop/extensions
ExtensionPropertyListMapping.java
   src/org/apache/fop/fo PropertyListMapping.java
StandardPropertyListMapping.java
   src/org/apache/fop/svg SVGPropertyListMapping.java
  Log:
  no longer needed

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Java Extensions in Xalan vs Fop

2001-07-12 Thread Gareth Noyce

Hi all,

Firstly, many thanks for the hard work on FOP -- it's a great piece of work.

Unfortunately I've stumbled upon a problem which I'm at a loss to figure
out. I'm hoping that someone on the list will be able to shed some light on
the problem.

I've been playing with Java Extension functions under Xalan with great
success. I need to move one of these over to go through FOP in order to
process dates, so I've slightly amended the example as provided with Xalan
to better suit my needs and to test the process.

I've got a small test xml file which contains the following:


[g-test.xml]
--
?xml version=1.0?
gtest
date2001-07-11/date
/gtest
--

The XSL file generates a FO file suitable for processing by FOP. Cutting out
most of the cruft, the file is as follows:


[g-test.xsl]
--
?xml version=1.0?
xsl:stylesheet version=1.0
xmlns:xsl=http://www.w3.org/1999/XSL/Transform;
xmlns:fo=http://www.w3.org/1999/XSL/Format;
xmlns:java=http://xml.apache.org/xslt/java; xmlns:bchext=xalan://BchDate


 xsl:template match=/

fo:root xmlns:fo=http://www.w3.org/1999/XSL/Format;

  !-- Layout the page dimensions. A4 landscape... --

 [SNIP]

  !-- Start the page sequence... Each page will follow this
odel...  --

 [SNIP]

/fo:root
 /xsl:template

xsl:template match=date

  !-- This is the format mask for SimpleDateFormat --
  xsl:variable name=format select=string('EEE MMM dd ')/

  xsl:variable name=date select=string(.)/


fo:table font-size=7pt
 [TABLE COLUMN SETUP / SNIP]

 fo:table-header
 [SNIP]
 /fo:table-header

 fo:table-body
   fo:table-row
 fo:table-cell
   fo:block border-right-width=0.5pt text-align=center
vertical-align=middle border-style=solid line-height=11pt
xsl:variable name=formatter
select=java:java.text.SimpleDateFormat.new($format)/
xsl:variable name=formatdate select=java:BchDate.getDate
($date)/
xsl:value-of select=java:format($formatter,
$formatdate)/
   /fo:block
 /fo:table-cell

  ...
  [SNIP]
  ...

   /fo:table-row
 /fo:table-body
  /fo:table
/xsl:template
/xsl:stylesheet

--

I'll leave out the Java class for brevity, it's basically the same as the
3-java-namespace example from Xalan.

The Java class is on the classpath, I included a function 'main' to test
this and all works fine. The XML, XSL and Java will all process through
Xalan as expected, and an XSL:FO file is produced correctly, no problems.
However, I wish to use FOP to do all this in one go with the usual
java -jar fop.jar -xml g-test.xml -xsl g-test.xsl -pdf out.pdf -- and this
is where my problem crops up. When I run the command as shown, the error:

filepath; Line 123; Column 87; ERROR: BchDate

is shown.

I understand this error to be along the lines of a Can't find class
BchDate, as I had the same problem with Xalan whilst learning how to
implement extensions.

Can anyone point out what stupid mistake I am making here? I'm at a loss as
to why the same files will process with Xalan-j_2_2_D6 and yet not with
FOP-0.19 which, as I understand it, uses Xalan for the XSLT stage... I've
double checked the CLASS_PATH settings, tested the Java and been all over
the website trying to figure out if I should be using a different namespace
setting for FOP (things aren't particularly clear, there or in the docs).

I'm running NT4 for development, and the server is 2k. Java is JDK1.3.1 from
Sun.

I'm sorry for the length of the post. I thought it would save time to
explain things as verbosly as possible!

Thanks in advance for your time,  best regards

Gareth Noyce

P.S. I'll happily send all my test files to anyone off list if it helps.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Re: Java Extensions in Xalan vs Fop

2001-07-12 Thread Jeremias Maerki

 The Java class is on the classpath, I included a function 'main' to test
 this and all works fine. The XML, XSL and Java will all process through
 Xalan as expected, and an XSL:FO file is produced correctly, no problems.
 However, I wish to use FOP to do all this in one go with the usual
 java -jar fop.jar -xml g-test.xml -xsl g-test.xsl -pdf out.pdf -- and this
 is where my problem crops up. When I run the command as shown, the error:

I may get something wrong, but don't you have to specify an additional
-cp for you BchDate class? fop.jar contains a manifest file which
specifies the classpath to use. If you need more than the standard
packages, I'd write something like:

java -jar -cp yourPath fop.jar -xml ...

I didn't test this but it's worth a try.

Jeremias Märki

mailto:[EMAIL PROTECTED]

OUTLINE AG
Postfach 3954 - Rhynauerstr. 15 - CH-6002 Luzern
Fon +41 (41) 317 2020 - Fax +41 (41) 317 2029
Internet http://www.outline.ch


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Re: cannot find class java/lang/Thread

2001-07-12 Thread Alex McLintock

 --- Davy Moskofian [EMAIL PROTECTED] wrote:  Hi,
 
 I have installed FOP on my Sun station.
 When I try to execute the fop.sh command, I get the following error
 message:
 Unable to initialize threads: cannot find class java/lang/Thread
 Can anyone tell me if there is a solution to this problem ?

You really need to make sure that you can run java programs on your system.
It sounds like it isn't set up properly (or your environment isn't).

FOP isn't an idiot proof application - you do need to know some Java and XML.

Alex


=
Alex McLintock[EMAIL PROTECTED]Open Source Consultancy in London
OpenWeb Analysts Ltd, http://www.OWAL.co.uk/ 
DR WHO COMPETITION: 
http://www.diversebooks.com/cgi-bin/caption/captions.cgi?date=200104
Get Your XML T-Shirt t-shirt/ at http://www.inversity.co.uk/


Do You Yahoo!?
Get your free @yahoo.co.uk address at http://mail.yahoo.co.uk
or your free @yahoo.ie address at http://mail.yahoo.ie

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




is there something like internal-graphic ?

2001-07-12 Thread Heiko Barthel

I use FOP currently with external graphics, but I want to add directly
binary data of an element like:

bmp
 BDGADUGADUGFSZFDSSJDGSGDSDSDSDTSDGSICXSGDSD(S
/bmp

Does anybody know a way to include this directly in the FO or do I have to
create a file with the data of bmp and use fo:external-graphic ?

-- 
GMX - Die Kommunikationsplattform im Internet.
http://www.gmx.net

GMX Tipp:

Machen Sie Ihr Hobby zu Geld bei unserem Partner 11!
http://profiseller.de/info/index.php3?ac=OM.PS.PS003K00596T0409a


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Re: properties, elements

2001-07-12 Thread Karen Lease

A few quick thoughts...

That was probably just my XML super-ego thinking that case-by-case
checks were a _bad_ thing... But on the other hand, as Arved points out,
the complexity of the model would make it rather problematic. It's
certainly more important to focus on detecting cases which FOP (or FO)
can't or isn't supposed to handle and giving some kind of comprehensible
message to the user, rather than getting hung up on formal correctness.

We can do some global checking in the end method if that's necessary.
That lets us look at all the descendants of an FO. The other way to look
at constraints like the footnote one (or more generally, no floats
beneath other floats - Dieu merci!) is from the ancestor point of view.
When an FO is created, it knows what its parent will be even though it
isn't yet on that parent's child list. So a footnote or float FO can
check to see if has a footnote or float ancestor.

We also need to think about what to do when we encounter this kind of
case. Obviously we want to inform the user. We could either stop on an
exception or just ignore the offending FO and keep going.

Considering the property validity checks, I haven't touched that stuff
in ages. In general there are warning messages for values that aren't
convertible into one of the expected types. Most properties are just
assumed to be valid for all elements unless they are explicitly
associated with a particular element or elements.
There are still lots of values which aren't handled, including the
famous inherit keyword for all properties. In short, there is still
plenty of work in there for some enterprising person(s).

Regards,
Karen

Arved Sandstrom wrote:
 
 At 10:25 PM 7/11/01 +0200, Karen Lease wrote:
 Keiron Liddle wrote:
 
  Then after that I will see about handling the element child constraints (I
  haven't worked out how this should be done yet, any ideas) and doing a
  similar thing (to be impl.) with the rest of the elements that we don't
  have yet.
 
 
 For things like tables, I had been thinking of handling child type
 checking in the addChild method. That way we can give messages early in
 the game and also do special things like handling different children in
 special ways. An example is when table-cell FO are directly under a
 table-body (or header or footer) rather than in a table-row. In that
 case, I think it would be better to create a fake row to hold them.
 That kind of work is logically done during FO tree building.
 
 However that's rather a piecemeal approach. Perhaps it would be good to
 describe (schema? DTD?) the possible child types and have the base class
 implementation do that kind of checking.
 
 Just my .02 euros!
 
 I wonder if we should bother with formal parse-time validation at all (i.e.
 the schema/DTD idea). We already know that inheritable properties complicate
 the attribute issue, and then we also know that there are enough formatting
 objects with special content constraints that why even bother?
 
 I suggest letting the existing (and improved as required) properties
 refinement mechanism worry about checking property validity (Karen, maybe
 you can give us a state of the union as to where we stand on this?), and as
 Karen also mentioned, let's build in our own checking mechanism. My
 contribution to Karen's comments is merely to argue for not even bothering
 with schemas or DTDs at all.
 
 Perhaps we should winnow out all the rules from the spec into one document,
 and that should give us a 10,000 ft view of what we are faced with. That
 might lead us to an efficient approach, or suggest certain base-class
 checking shortcuts rather than sub-class checking. For example, among the
 variety of things we have are:
 
 1) fo:wrapper -
 (#PCDATA|%inline;|%block;)*
 An fo:wrapper is only permitted to have children that would be permitted to
 be children of the parent of
 the fo:wrapper, with two exceptions:
 * An fo:wrapper may always have a sequence of zero or more fo:markers as its
 initial children.
 * An fo:wrapper that is a child of an fo:multi-properties is only permitted
 to have children that would
 be permitted in place of the fo:multi-properties.
 This restriction applies recursively.
 
 2) fo:footnote
 Contents:
 (inline,footnote-body)
 An fo:footnote is not permitted to have an fo:float, fo:footnote, or
 fo:marker as a descendant.
 Additionally, an fo:footnote is not permitted to have as a descendant an
 fo:block-container that
 generates an absolutely positioned area.
 
 3) fo:table-header
 Contents:
 (table-row+|table-cell+)
 The fo:table-header has fo:table-row (one or more) as its children, or
 alternatively fo:table-cell (one or
 more). In the latter case cells are grouped into rows using the starts-row
 and ends-row properties.
 In addition this formatting object may have a sequence of zero or more
 fo:markers as its initial children.
 
 I do not get the feeling that we have a comprehensive or consistent system
 for enforcing these content rules. Note 

cvs commit: xml-fop/src/org/apache/fop/fo/flow Block.java

2001-07-12 Thread arved

arved   01/07/12 19:30:37

  Modified:src/org/apache/fop/fo/flow Block.java
  Log:
  AHS: addressing break boundary conditions
  
  Revision  ChangesPath
  1.34  +21 -73xml-fop/src/org/apache/fop/fo/flow/Block.java
  
  Index: Block.java
  ===
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/flow/Block.java,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- Block.java2001/03/05 04:39:56 1.33
  +++ Block.java2001/07/13 02:30:33 1.34
  @@ -1,52 +1,8 @@
  -/*-- $Id: Block.java,v 1.33 2001/03/05 04:39:56 keiron Exp $ --
  -
  - 
  - The Apache Software License, Version 1.1
  - 
  -
  - Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
  -
  - Redistribution and use in source and binary forms, with or without modifica-
  - tion, are permitted provided that the following conditions are met:
  -
  - 1. Redistributions of  source code must  retain the above copyright  notice,
  - this list of conditions and the following disclaimer.
  -
  - 2. Redistributions in binary form must reproduce the above copyright notice,
  - this list of conditions and the following disclaimer in the 
documentation
  - and/or other materials provided with the distribution.
  -
  - 3. The end-user documentation included with the redistribution, if any, must
  - include  the following  acknowledgment:  This product includes  
software
  - developed  by the  Apache Software Foundation  
(http://www.apache.org/).
  - Alternately, this  acknowledgment may  appear in the software itself,  
if
  - and wherever such third-party acknowledgments normally appear.
  -
  - 4. The names FOP and  Apache Software Foundation  must not be used to
  - endorse  or promote  products derived  from this  software without  
prior
  - written permission. For written permission, please contact
  - [EMAIL PROTECTED]
  -
  - 5. Products  derived from this software may not  be called Apache, nor may
  - Apache appear  in their name,  without prior written permission  of 
the
  - Apache Software Foundation.
  -
  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  -
  - This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation and was  originally created by
  - James Tauber [EMAIL PROTECTED]. For more  information on the Apache
  - Software Foundation, please see http://www.apache.org/.
  -
  +/*-- $Id: Block.java,v 1.34 2001/07/13 02:30:33 arved Exp $-- */
  +/*
  + * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
  + * For details on use and redistribution please refer to the
  + * LICENSE file included with these sources.
*/
   
   package org.apache.fop.fo.flow;
  @@ -147,10 +103,14 @@

area.getIDReferences().createID(id);
   
this.marker = 0;
  - int breakStatus;
  -  if ((breakStatus = propMgr.checkBreakBefore()) != Status.OK) {
  -return new Status(breakStatus);
  -  }
  + 
  + // no break if first in area tree, or 
leading in context
  + // area
  + int breakBeforeStatus = 
propMgr.checkBreakBefore(area);
  + if (breakBeforeStatus != Status.OK) {
  + return new 
Status(breakBeforeStatus);
  + }
  +   
int numChildren = this.children.size();
for (int i = 0; i  numChildren; 

cvs commit: xml-fop/src/org/apache/fop/layout Area.java

2001-07-12 Thread arved

arved   01/07/12 19:31:16

  Modified:src/org/apache/fop/layout Area.java
  Log:
  AHS: addressing break boundary conditions
  
  Revision  ChangesPath
  1.20  +5 -1  xml-fop/src/org/apache/fop/layout/Area.java
  
  Index: Area.java
  ===
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/layout/Area.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- Area.java 2001/06/12 11:37:35 1.19
  +++ Area.java 2001/07/13 02:31:14 1.20
  @@ -1,4 +1,4 @@
  -/* $Id: Area.java,v 1.19 2001/06/12 11:37:35 keiron Exp $
  +/* $Id: Area.java,v 1.20 2001/07/13 02:31:14 arved Exp $
* Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
* For details on use and redistribution please refer to the
* LICENSE file included with these sources.
  @@ -120,6 +120,10 @@
   
   public Vector getChildren() {
   return this.children;
  +}
  +
  +public boolean hasChildren() {
  +return (this.children.size() != 0);
   }
   
   public int getContentWidth() {
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Boundary Conditions on breaks

2001-07-12 Thread Arved Sandstrom

Hi, all

Latest commits against PropertyManager, Block and Area begin to address 
boundary conditions on page and column breaks.

What I mean by this is, in case nobody noticed, up til now if a block had a 
break-before=*page|column on it, _and_ it was already leading in its 
context, the break would get forced nevertheless. The same goes for 
break-after.

I have code in PropertyManager, relatively untested, which should address 
break-before boundary conditions. The equivalent needs to be done for 
break-after; this is a bit more complicated.

Having a block with a break condition actually lead or trail in context, 
before imposing the break condition, is relatively rare, I think, so this may 
have not caused many problems. Leastways nobody has complained. Where it 
would cause issues is most likely in the case you are doing things properly, 
and using XSLT to generate your FO, and let's say that you use sections, and 
you put a break-before=page on every section title; if a section leads off 
a page-sequence, which is pretty likely, then you would get an extra unwanted 
blank page. This should now be fixed.

Regards,
Arved Sandstrom
-- 
Fairly Senior Software Type
e-plicity (http://www.e-plicity.com)
Halifax, Nova Scotia
Wireless * B2B * J2EE * XML

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Re: Tree class

2001-07-12 Thread Arved Sandstrom

On Tuesday 10 July 2001 04:27, Peter B. West wrote:

  I have attempted to make Tree class operations thread-safe, and have
 added a subclass TreeRoot in an attempt to support fail-fast iterators
 as in AbstractList and its subclasses.  Comments from more experienced
 Java folks would be welcome.

 My motivation, apart from the perceived need to give direct expression
 to the trees in use, was to provide a platform for some of the tree
 flattening operations which werer talked about here briefly.  My
 concerns about the relationship between the final form of layout and the
 tree structure have tended to resolve in favour of virtual operations on
 an underlying tree, because the trees express so eloquently the
 relationships between the various layout components.  If virtual
 flattening operations on trees are to be implemented, they will have to
 have well defined trees to work with, I should think.

 I still haven't looked in depth into the code, but it also occurs to me
 that, in association with the FO and area trees, a context stack would
 be a very useful way of keeping track of a lot of information that is
 relevant to the layout process.  Some such stack or stacks may already
 be present in the code, explicitly or implicitly.  Can someone point me
 in the right direction?

 Peter

Hi, Peter

Your Tree class efforts have not gone unnoticed. I've been mulling them over, 
anyway.

My interest in what you are doing is not related to flattening, per se, 
although this mechanism may simplify answering questions that we need to ask. 
The kinds of questions that routinely come up are:

1. Is this area leading or trailing in context (page, even-page, odd-page, 
column)?
2. Is this area first or last in a reference-area or page-sequence?
3. Get me the preceding or succeeding sibling. Get me all siblings and/or 
ancestors that have this or that constraint (e.g. particular keep);
4. Tell me if there is a stacking constraint before or after this area? If 
so, what is it?

There are convoluted mechanisms for doing some of this. Answering questions 
about trailing conditions (is this area trailing in context? is this the last 
area in the page sequence?) are currently not so easy. I don't want to even 
think about trying to answer question 4 for all the different situations - 
anything your efforts can do to simplify that would be great. I know that you 
have taken an interest in space-specifier resolution; the first step of 
course is just to figure out what the sequence of space specifiers is, 
assuming a stacking constraint exists, and right now that would be a serious 
pain in the butt.

I would recommend familiarizing with our current area hierarchy, assuming you 
have not already done so. Basically Pages are flat within the area tree 
(AreaTree); each page contains 5 AreaContainers (for the regions), and the 
region-body itself is a container for 3 AreaContainers. One of those, the 
main-reference-area, is a container for span-area AreaContainers, and 
finally, span-areas contain ColumnAreas, which are also AreaContainers (and 
represent normal-flow-areas). So you see that we are pretty closely following 
the abstract model in the spec.

ColumnAreas contain all the actual normal flow stuff.

I cannot really say that there are any context stacks. Areas maintain a list 
of their children, as a Vector. There is just no other context information 
easily to be had, for example related to easily answering questions like the 
above. If you look at the checkBreakBefore() method in PropertyManager, 
you'll see the kinds of hoops we have to jump through right now to answer 
basic questions...it would be nice to obviate the necessity for that.

Any insight you can bring to bear on this would be appreciated. I'd 
personally be happy to assist with integrating your tree stuff into FOP.

Regards,
Arved

-- 
Fairly Senior Software Type
e-plicity (http://www.e-plicity.com)
Halifax, Nova Scotia
Wireless * B2B * J2EE * XML

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




PDF rotate

2001-07-12 Thread Willy Ching

Hello!

Can somebody tell me if I can use fop to rotate a PDF document read
it from a file? If yes, kindly show some sample code if possible.

Thanks!


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Browser and Reader Versions supported

2001-07-12 Thread Yalavarthi, Vasu

Hi,
 I wanted to know what Web Browser(IE) and Acrobat Reader versions FOP(FOP
generated PDF) supports.
Right now we are also using iText, the generated PDF doesn't render on
certain browser/reader combinations.

Thanks,
Vasu

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]