On Jan 19, 2007, at 13:11, Adrian Cumiskey wrote:

Hi,

Thanks for the investigation (and the patch).

<snip />
But this doesn't fix the SERERE error messages ... I am still learning FO and don't understand all the layout stuff yet so I'm a little hesitant to go in and try and fix this myself. The error output "FOText w/o Block ancestor" resides in this method in org.apache.fop.fo.FObjMixed.
<snip />
Wrapper is a neutral object container and should be allowed where #PCDATA, %block;, or %inline are (see http://www.w3.org/TR/xsl/ #d0e6532).

Hmm, nasty case. Strictly speaking, the fo:wrapper contains a few text-nodes (albeit whitespace only). Those text-nodes would be illegal according to the Rec: "An fo:wrapper is only permitted to have children that would be permitted to be children of the parent of the fo:wrapper..." The fo:flow is the parent, so the fo:wrapper may only contain "(% block;)+".

The white-space nodes in the fo:flow are simply ignored. Flow does not subclass FObjMixed, and thus does not implement a characters() event...

I'll dig into this in the weekend.

Cheers,

Andreas

Reply via email to