SVG import: svgreader -> internal-style-ref

Thorsten Behrens thb at
Tue Apr 17 05:41:39 PDT 2012

Christina Roßmanith wrote:
> To get a better understanding:
>   What is the intent of internal-style-ref?
>   Which items should get identical values? Are identical values
> allowed at all?
>   Are empty values allowed? (Probably not because in that case the
> text doesn't show up)
Hi Christina,

look at writeStyle() - this internal-style-ref attribute is a hack
to make this two-pass writing possible. I mentioned that on Saturday
- ODF wants all styles written before any shapes, so we traverse the
svg DOM tree, and generate the various graphic styles that we need
(later referenced by the actual shapes - ODF has this concept of
styling everything, i.e. a bunch of things can _only_ be set via
styles, not directly on the shape).

To later be able to reference the right style, when we write the
shapes (those get numeric references, like svggraphicstyle12), the
sequentially-numbered style references get stored at the shape - via
this internal-style-ref attribute.

Identical internal-style-ref means identical maCurrState, and yes,
this is permitted. Empty ones are a bug, I suspect.

> Below you find two very small svg examples together with the result
> of dumpTree() (cf. svgreader.cxx) and a short description whether
> the text is displayed correctly.
Sorry, didn't look closer yet - possibly writeStyle() goes wrong,
there are a few special-case handlers for XML_TEXT?


-- Thorsten
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <>

More information about the LibreOffice mailing list