Peter B. West wrote:
In a pull model, as distinct from the peephole processing model encouraged by SAX, this is easy, because you know where you are at all times; e.g., whether you are within an fo:flow, or more specifically, whether you are descending within an "out-of-line" formatting object. If you are, then you know that any fo:footnote or fo:float you encounter is illegal, and you can say why.
Hm, in the maintenance code some stuff like a link set which can
represent a context is passed down the FO tree similar to properties,
because it is used in the layout of the leaf nodes. In case of links,
it is checked I believe because otherwise link building is messed up.
I thought of passing a set of flags (bits in an integer) down to
indicate whether we are in a flow, a float, a footnote etc.
Alternatively, walk up the tree upon adding a node to the FO tree and
barf if there is something unexpected. This conserves long living memory
at the expense of short living memory (the stack) and performance.


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

Reply via email to