Hi, Peter, > + /* > + * FLABridge provides some obscure attribute mangling to wordml2000 > import/export filters. > + * In the long run, you might want to replace this with an XSLT > extension function. > + */ > + class FLABridge : public WeakImplHelper1< DocumentHandlerAdapter > > + {
FLA is a way to avoid doing heavy arithmetic computations of attribute values directly in XSLT; instead, the arithmetic expression is emitted to output as FLA expression and suffix '.value' is added to the name of the attribute, so it can be recognised and evaluated by the FLABridge (where the suffix is removed again). It is mainly used in filter/source/xslt/import/wordml/wordml2ooo_props.xsl, but at a few other places too. So much for theory. In practice, the syntax of FLA is so horrible that XLST is the essence of clarity in comparison .-) E.g., look at the following snippet from filter/source/xslt/import/wordml/wordml2ooo_props.xsl and description of the FLA syntax in filter/source/xsltfilter/fla.cxx and tell what the expression in 'select' does .-) <xsl:attribute name="fo:margin-top.value"> <xsl:value-of select="concat('(.(twips2cm(?[',name(w:hdr),'](?(>=($0[',w:pgMa r/@w:top,'])($1(|[',w:pgMar/@w:header,'][720])))($1)($0))[',w:pgMar/@w:top,'])) [cm])')"/> </xsl:attribute> IMHO all these FLA computations should be rewritten to XSLT and the FLABridge abolished. Maybe you'd want to attempt that? :-) D. _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice