[GUMP@brutus]: Project xml-fop (in module xml-fop) failed

2004-12-08 Thread Sam Ruby
To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at [EMAIL PROTECTED]

Project xml-fop has an issue affecting its community integration.
This issue affects 1 projects,
 and has been outstanding for 6 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- xml-fop :  XSL-FO (Formatting Objects) processor


Full details are available at:
http://brutus.apache.org/gump/public/xml-fop/xml-fop/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -DEBUG- Sole output [fop.jar] identifier set to project name
 -INFO- Made directory [/usr/local/gump/public/workspace/xml-fop/build/classes]
 -INFO- Made directory 
[/usr/local/gump/public/workspace/xml-fop/build/test-classes]
 -INFO- Failed with reason build failed
 -INFO- Failed to extract fallback artifacts from Gump Repository



The following work was performed:
http://brutus.apache.org/gump/public/xml-fop/xml-fop/gump_work/build_xml-fop_xml-fop.html
Work Name: build_xml-fop_xml-fop (Type: Build)
Work ended in a state of : Failed
Elapsed: 30 secs
Command Line: java -Djava.awt.headless=true 
-Xbootclasspath/p:/usr/local/gump/public/workspace/xml-xerces2/java/build/xercesImpl.jar:/usr/local/gump/public/workspace/xml-xalan/java/build/serializer.jar:/usr/local/gump/public/workspace/xml-xalan/java/build/xalan-unbundled.jar:/usr/local/gump/public/workspace/xml-commons/java/external/build/xml-apis.jar
 org.apache.tools.ant.Main 
-Dgump.merge=/home/gump/workspaces2/public/gump/work/merge.xml 
-Dbuild.sysclasspath=only gump 
[Working Directory: /usr/local/gump/public/workspace/xml-fop]
CLASSPATH: 
/opt/jdk1.4/lib/tools.jar:/usr/local/gump/public/workspace/xml-fop/build/classes:/usr/local/gump/public/workspace/xml-fop/build/test-classes:/usr/local/gump/public/workspace/ant/dist/lib/ant-stylebook.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-swing.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-trax.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-junit.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-nodeps.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant.jar:/usr/local/gump/public/workspace/xml-batik/batik-08122004/lib/batik-util.jar:/usr/local/gump/public/workspace/xml-batik/batik-08122004/lib/batik-swing.jar:/usr/local/gump/public/workspace/xml-batik/batik-08122004/lib/batik-css.jar:/usr/local/gump/public/workspace/xml-batik/batik-08122004/lib/batik-bridge.jar:/usr/local/gump/public/workspace/xml-batik/batik-08122004/lib/batik-xml.jar:/usr/local/gump/public/workspace/xml-batik/batik-08122004/lib/batik-svg-dom.jar:/usr/local/gump/public/workspace/xml-batik/batik-08122004/lib/batik-awt-util.jar:/usr/local/gump/public/workspace/xml-batik/batik-08122004/lib/batik-transcoder.jar:/usr/local/gump/public/workspace/xml-batik/batik-08122004/lib/batik-gui-util.jar:/usr/local/gump/public/workspace/xml-batik/batik-08122004/lib/batik-dom.jar:/usr/local/gump/public/workspace/xml-batik/batik-08122004/lib/batik-ext.jar:/usr/local/gump/public/workspace/xml-batik/batik-08122004/lib/batik-svggen.jar:/usr/local/gump/public/workspace/xml-batik/batik-08122004/lib/batik-parser.jar:/usr/local/gump/public/workspace/xml-batik/batik-08122004/lib/batik-extension.jar:/usr/local/gump/public/workspace/xml-batik/batik-08122004/lib/batik-gvt.jar:/usr/local/gump/public/workspace/avalon-trunk/runtime/framework/api/target/deliverables/jars/avalon-framework-api-08122004.jar:/usr/local/gump/public/workspace/avalon-tools/tools/magic/target/deliverables/jars/avalon-tools-magic-08122004.jar:/usr/local/gump/public/workspace/dist/junit/junit.jar:/usr/local/gump/public/workspace/avalon-trunk/runtime/framework/legacy/target/deliverables/jars/avalon-framework-legacy-08122004.jar:/usr/local/gump/public/workspace/avalon-trunk/runtime/framework/impl/target/deliverables/jars/avalon-framework-impl-08122004.jar:/usr/local/gump/public/workspace/jakarta-commons/logging/dist/commons-logging.jar:/usr/local/gump/public/workspace/jakarta-commons/logging/dist/commons-logging-api.jar:/usr/local/gump/public/workspace/jakarta-commons/io/dist/jakarta-commons-io-08122004.jar:/usr/local/gump/public/workspace/jfor/dist/lib/jfor-08122004.jar:/usr/local/gump/public/workspace/jakarta-servletapi/dist/lib/servlet.jar
-

junit:
[javac] Compiling 31 source files to 
/home/gump/workspaces2/public/workspace/xml-fop/build/test-classes
[javac] This version of java does not support the classic compiler; 
upgrading to modern
[javac] 

Retrieve-marker and removal of leading and trailing spaces

2004-12-08 Thread Simon Pepping
Hi,

I also noted a problem with the removal of leading and trailing spaces
in connection with retrieve-marker:

fo:static-content flow-name=xsl-region-after
  fo:block text-align=start
fo:inline color=redfo:retrieve-marker retrieve-class-name=class 
retrieve-boundary=page 
retrieve-position=first-starting-within-page//fo:inline and
blue: fo:inline color=bluefo:retrieve-marker 
retrieve-class-name=class retrieve-boundary=page 
retrieve-position=first-starting-within-page//fo:inline
  /fo:block
/fo:static-content

The spaces before `and' and after `blue:' are removed. This is probably
due to the fact that the space removal mechanism does not recognize
that fo:retrieve-marker elements may generate text.

Regards, Simon

-- 
Simon Pepping
home page: http://www.leverkruid.nl



Another problem with Marker.rebind()

2004-12-08 Thread Simon Pepping
I noticed another problem with Marker.rebind(): When the same marker
is retrieved more than once, the first rebind is overwritten with the
second. See this example:

fo:static-content flow-name=xsl-region-after
  fo:block text-align=start
fo:inline color=redred: fo:retrieve-marker 
retrieve-class-name=class retrieve-boundary=page 
retrieve-position=first-starting-within-page//fo:inline,
fo:inline color=blueblue: fo:retrieve-marker 
retrieve-class-name=class retrieve-boundary=page 
retrieve-position=first-starting-within-page/./fo:inline
  /fo:block
/fo:static-content

Both markers are printed in blue. Perhaps it would be a solution to
clone the subtree below the marker to retrieve-marker, and rebind that
copy. That would be another example of layout dependent data in the FO
tree. If every retrieve-marker would always discard its existing
subtree and copy the subtree under the retrieved marker in
LM.preloadnext(), this would prevent later runs with the same FO tree
from reusing markers that would pertain to the layout of an earlier
run.

Regards, Simon

-- 
Simon Pepping
home page: http://www.leverkruid.nl



Re: Retrieve-marker and removal of leading and trailing spaces

2004-12-08 Thread J.Pietschmann
Simon Pepping wrote:
The spaces before `and' and after `blue:' are removed. This is probably
due to the fact that the space removal mechanism does not recognize
that fo:retrieve-marker elements may generate text.
Whitespace/linefeed handling should run after rebinding the
retrieved marker content in order to get it right. I personally
still think it should be integrated into break position
computation, with something like a whitespace state held in
the layout context.
J.Pietschmann


RE: Another problem with Marker.rebind()

2004-12-08 Thread Victor Mote
Simon Pepping wrote:

 Both markers are printed in blue. Perhaps it would be a 
 solution to clone the subtree below the marker to 
 retrieve-marker, and rebind that copy. That would be another 
 example of layout dependent data in the FO tree. If every 

Just by way of clarification, this is no doubt de facto true in the current
FOP HEAD code, but, depending on the design, IMO it is not a necessity.
Peter West and I discussed this some, probably around August of 2003. I
thought at the time that a GraftingPoint interface which lived in the FOTree
could be used to handle this concept without disrupting the independence of
the FOTree. I am now of the opinion that the solution may be even simpler.
If you take the idea that the AreaTree is a view of the FOTree, so that
Areas essentially inherit and/or derive traits from their generated-by
FOTree nodes (instead of having bound values cached in them), then the
solution may be as simple as using some redirects when static content is
involved. This depends, in turn, on late binding (really, no binding) of the
property values, which does not appear to be possible with the current FOP
design. I am close to being able to demonstrate all of this within FOray,
but I am not sure whether I will get it done in time for the upcoming 0.2
release, although it will have an independent FOTree.

Victor Mote



Re: Another problem with Marker.rebind()

2004-12-08 Thread Peter B. West
Victor Mote wrote:
Simon Pepping wrote:

Both markers are printed in blue. Perhaps it would be a 
solution to clone the subtree below the marker to 
retrieve-marker, and rebind that copy. That would be another 
example of layout dependent data in the FO tree. If every 

There is a certain wry entertainment value in watching the wheel being 
re-invented.  Before I arrived, this problem was known as 
re-parenting.  In my discussions of the issue, years after 
re-parenting was first discussed, there is even a diagram - shock, 
horror! - of the basic process proposed for Defoe (then the non-longer 
visible, but still present, Alt-design).  Oh, I'm sorry, it involves 
re-thinking the building of the FO tree, using stream parsing.  It does 
render the marker problem trivial, but so what.  We have HEAD.

Finn's off scratching his head vigorously, having just realized that 
there is a fundamental flaw in the design wrt markers.  It will be 
interesting to see what emerges.

Just by way of clarification, this is no doubt de facto true in the current
FOP HEAD code, but, depending on the design, IMO it is not a necessity.
Peter West and I discussed this some, probably around August of 2003. I
thought at the time that a GraftingPoint interface which lived in the FOTree
could be used to handle this concept without disrupting the independence of
the FOTree. I am now of the opinion that the solution may be even simpler.
Couldn't agree more, Victor.
If you take the idea that the AreaTree is a view of the FOTree, so that
Areas essentially inherit and/or derive traits from their generated-by
FOTree nodes (instead of having bound values cached in them),
You can combine both ideas.
then the
solution may be as simple as using some redirects when static content is
involved.
Bingo!
This depends, in turn, on late binding (really, no binding) of the
property values,
...and again...
 which does not appear to be possible with the current FOP
design.
...and again.
 I am close to being able to demonstrate all of this within FOray,
but I am not sure whether I will get it done in time for the upcoming 0.2
release, although it will have an independent FOTree.
Thanks for pointing all of this out, Victor.  It's nice to see some 
convergence on these ideas.  Interesting that it must happen in Defoe 
and Foray.

Peter


Re: Another problem with Marker.rebind()

2004-12-08 Thread Glen Mazza
- Original Message - 
From: Peter B. West [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, December 08, 2004 8:20 PM
Subject: Re: Another problem with Marker.rebind()


 Oh, I'm sorry, it involves
 re-thinking the building of the FO tree, using stream parsing.

Peter, are you saying that a pull parser is more computationally powerful
than a SAX Parser--or is it just much more convenient?  I don't think pull
parsers can do more than SAX Parsers for the simple reason that you can
implement a pull parser using a SAX Parser, no?

Glen



Re: Another problem with Marker.rebind()

2004-12-08 Thread Peter B. West
Glen Mazza wrote:

Oh, I'm sorry, it involves
re-thinking the building of the FO tree, using stream parsing.

Peter, are you saying that a pull parser is more computationally powerful
than a SAX Parser--or is it just much more convenient?  I don't think pull
parsers can do more than SAX Parsers for the simple reason that you can
implement a pull parser using a SAX Parser, no?
Firstly, my apologies to all for the tone of my previous message.  Too 
little sleep, too much gall.

Defoe uses SAX for its stream parsing.  Consequently, it's less 
computationally efficient.  To use an extreme example, for many years 
compilers were less computationally efficient than coding with 
assembler.  There are inefficiencies at every level of a computer 
system, from the microcode up.  At any level, does the interface ease 
the development of solutions built on top?

For most of my initial stint at FOP, I was obsessively concerned with 
micro-efficiencies, and I displayed my ignorance concerning this on many 
occasions.  (Ask Jeremias or Joerg.)  I have watched improvements in the 
performance of JVMs overtake my obsessions while I have been working on 
FOP.  So much for not teaching an old dog new tricks.  In spite of those 
concerns, I went with an inefficient parsing mechanism, because it 
mightily clarified the parsing process.

As a completely unintentional side-effect, it gave me the tools to solve 
the really critical FOP performance problem on large files.  This isn't 
going to be solved by micro-efficiencies on FO tree storage.

Unfortunately, software developers are an intensely conservative lot.  R 
J Neuhaus has a lovely term, the herd of independent minds.  And he's 
not even describing software developers.  It will be a long time before 
the SAX franchise falters.  The curious thing is that Microsoft never 
went down the SAX road.  They get by.

Defoe is a big job, and I need all the help I can get, but I'll get there.
Peter


AW: Embedding XMP in FO

2004-12-08 Thread Victor Röder
Hi Jeremias,

 you haven't told us what branch you are on. Are you on the maintenance
 branch or on FOP HEAD?

I suppose I'm working with the 0.20.5 code base...

 These hints are targeted at FOP HEAD code but some can be applied to the
 maintenance branch, too, although the whole mechanism is quite different
 there.

I didn't had the chance to look at the HEAD branch yet. Is it in an
stable/usable state?

 One thing you will have to do is creating an ElementMapping class (plus
 node subclasses, or you extend the existing ExtensionElementMapping) so
 the FOTreeBuilder can create nodes for each XML element of the various
 namespaces in the metadata part. A good example in your case is the
 bookmarks support code you can find in the org.apache.fop.fo.extensions
 package. There you have an example of an ElementMapping class
 (ExtensionElementMapping) and node classes (Bookmarks/Outline). That's
 the first step.

I tried to build up a separated DOM with the XMP data in it (similarly to
the SVG stuff). But I think there are several restrictions so that I doubt
that this could be done with the 0.20.5 sources.
Examples: 1) There is no way to define an own PropertyHandler. There are two
for FO and SVG, but they are in the fop.jar as class files. 2) The SAX
parser does not submit the prefix bindings for namespaces (e.g.
xmlns:xap=http://ns.adobe.com...;) as attributes. They are missing in the
PropertyList. 3) Leaf text nodes are not submitted to
FObj.addCharacters(...).

 I'm not sure if attaching the metadata to a page-sequence is the right
 approach. The page-sequence itself isn't represented in the resulting
 PDF. You might also have multiple page-sequences in a document. So
 you should probably attach it to fo:root where it applies to the whole
 document. Attaching metadata to individual pages or objects is probably
 trickier.

Yes, you're right. Attaching it to the 'root' and to a 'block' or
'foreign-instream-object' is sounder.

 This should give you a few pointers into the code. I'm not sure if I got
 everything right, because I'm not so familiar with this part, yet.
 Hopefully, my colleagues will correct me if I wrote anything wrong.

Thanks, it helped me out. But I don't think that the 0.20.5 sources will get
me any further... Btw: Did you notice that it does not compile if you remove
the fop.jar with compiled sources from the classpath? There seem to be
inconsistent packages between the fop.jar and the actual source directory
tree.

 I hope this helps nonetheless. We're looking forward to your patches for
 FOP HEAD. ;)

Well, we'll see :-). One request: Please do not see SVG as the *only*
foreign XML vocabulary that one could embed in FO :-).

Thank you,
Victor