The primary goal of Serna is to be a highly customizable XML WYSIWYG editor that renders documents according to XSL stylesheets. Therefore complete support of XSLT/XSL-FO is not the primary goal. Rather, it is important to support XSLT/XSL-FO to the extent that makes authoring smooth and convenient.
Note, however, that Syntext does intend to widen XSLT/XSL-FO support in the subsequent releases.
Refer to sernaInstallationDirectory/xml/stylesheets for stylesheet examples.
Syntext Serna dynamic XSL implementation conforms to the XSL Transformations (XSLT) Version 1.0 W3C Recommendation, 16 November 1999 except for the following:
Unimplemented top-level instructions:
xsl:output
xsl:key
xsl:decimal-format
xsl:namespace-alias
Unimplemented non-top-level instructions:
xsl:fallback
xsl:sort
xsl:comment
xsl:processing-instruction
Unimplemented pattern/expression functions:
key()
format-number()
Limitations of implemented instructions:
xsl:number ignores lang, letter-value, grouping-separator, grouping-size properties.
xsl:apply-templates and xsl:for-each do not allow xsl:sort.
disable-output-escaping property is not supported in xsl:text and xsl:value-of.
xsl:apply-templates applies nodes in node-set order (the way node-set was collected), not in document order.
When debugging a stylesheet we recommend also using other XSLT and XSL-FO engines (e.g. SAXON, RenderX XEP, or Antenna House).