You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by Glen Mazza <gr...@yahoo.com> on 2004/10/24 01:17:49 UTC

FObj.bind() SAXParseException

Finn,

The FObj.bind() method throws a SAXParseException if
this method hasn't been overridden in the FObj
subclass.  I'm unsure why a subclass override is
required (as the javadoc comment for this method
indicates)--wouldn't it be OK if we just have an empty
method here without the exception (e.g. if you have no
properties of concern for a particular fo)?  That
would seem to be preferable.

I mention this because I'm currently trying to run our
pdfoutline.fo example, and this exception is being
called because no bind() method has been implemented
yet in the fox:bookmarks element.

Thanks,
Glen


Re: FObj.bind() SAXParseException

Posted by Finn Bock <bc...@worldonline.dk>.
[Glen]

> The FObj.bind() method throws a SAXParseException if
> this method hasn't been overridden in the FObj
> subclass.  I'm unsure why a subclass override is
> required (as the javadoc comment for this method
> indicates)--wouldn't it be OK if we just have an empty
> method here without the exception (e.g. if you have no
> properties of concern for a particular fo)?  That
> would seem to be preferable.

I'm a bit unsure. Generally I wanted two ways of handling 
atrributes/properties. Either
- override "processNode" and optionally "createPropertyList" if the
   element wants to deal with the attributes directly,
- or override "bind" if the element want to take part in the whole
   property system.

Outline.java is an example of an element that want to handle the 
attributes directly. And I think that the other two element "Label" and 
"Bookmarks" should do the same.

So the preferred solution IMO would be to add a null 
"createPropertyList" and an empty "processNode" method to ExtensionObj.

> I mention this because I'm currently trying to run our
> pdfoutline.fo example, and this exception is being
> called because no bind() method has been implemented
> yet in the fox:bookmarks element.

and

 >  +        fobj = node;

Appologies for the regressions.

regards,
finn