Request for 1.2: user defined objects in flow


Is it possible to include a "user defined object" in a flow*? If not,
would it make sense to include such a facility in SVG 1.2?

Let me elaborate: Suppose you have a DocBook document with embedded
MathML to which you want to apply an XSLT transformation to yield an SVG
document. No matter whether your SVG rendering application supports
MathML directly or whether your stylesheet has to do some kind of
MathML->SVG conversion: The document will contain flows of text that
have MathML formulas as inline elements. How can you place them
correctly in an SVG file? Neither SVG content generated from MathML nor
MathML itself (via foreignObject) could reside inside a flowSomething.
So in any case the stylesheet would have to kind-of reimplement text
flows, line breaking etc. just to make the flow mechanism accomodate its
custom elements.

So, here comes my naive proposal: could some <flow> Element be defined
that allows for custom objects to be embedded? As 1.2 states: flow
layout is intendet to be some kind of post-processing. The dimensions of
a custom object, which resides inside, say, a <g> element, would already
be calculated. This element could then be handled like a single glyph
and placed accordingly.

Of course severaly things are problematic about this concept. By means
of which mechanism would the dimensions be calculated and passed on? Can
the document author influence them or are they left entirely to the
rendering application? How about positioning of the object relative to
the baseline?

I would just like to ask the working group to consider these questions.
I have come across so many APIs, frameworks, etc. which implement great
line-flow techniques that are utterly impossible to extend to the
placement of something as common as mathematical formulas. I am also
sure, that an extendable mechanism would be of use in entirely different

Felix Breuer

Felix Breuer <>

Received on Thursday, 20 February 2003 19:21:28 UTC