On 11/30/05, scott hutinger <[EMAIL PROTECTED]> wrote:
> javax.xml.transform.TransformerException:
> org.apache.fop.apps.FOPException:
> file:///home/srh/src/derby-d/doc/trunk/fop-0.90alpha1/../out/tuning/tuningderby.fo:3:44:
> Error(3/44): No element mapping definition found for fox:outline
> From:
> http://xmlgraphics.apache.org/fop/0.90/upgrading.html
>
> "The fox:outline extension not implemented in this version anymore. It
> has been superseded by the new bookmark elements from XSL-FO 1.1."
>
> So some work is needed to get it up and running with the latest fop. I
> may be something totally stupid too :-)
Hi Scott,
dita2fo-shell.xsl in the toolkit emits <fox:outline> and <fox:label>
elements into the XSL-FO output for each topic to create the PDF
bookmarks. The template in dita2fo-shell.xsl needs to be changed to
emit <fo:bookmark> and <fo:bookmark-title> elements instead. It looks
like it might be as simple as changing the <fox> tags in the template
to the new <fo> tags, but I'm not currently set up with FOP .90 to try
it out.
andrew
i.e.:
Index: lib/dita2fo-shell.xsl
===================================================================
--- lib/dita2fo-shell.xsl (revision 345163)
+++ lib/dita2fo-shell.xsl (working copy)
@@ -90,12 +90,12 @@
<!-- create FOP outline elements for PDF bookmarks -->
<xsl:template match="*" mode="outline">
<xsl:if test="contains(@class,' topic/topic ')">
- <fox:outline>
+ <fo:bookmark>
<xsl:attribute name="internal-destination">
<!-- use id attribute node to generate anchor for PDF
bookmark fix bug#1304859 -->
<xsl:value-of select="generate-id(@id)"/>
</xsl:attribute>
- <fox:label>
+ <fo:bookmark-title>
<!-- if topic contains navtitle, use that as label for PDF
bookmark -->
<!-- otherwise, use title -->
<xsl:choose>
@@ -106,9 +106,9 @@
<xsl:apply-templates select="title" mode="text-only"/>
</xsl:otherwise>
</xsl:choose>
- </fox:label>
+ </fo:bookmark-title>
<xsl:apply-templates mode="outline" />
- </fox:outline>
+ </fo:bookmark>
</xsl:if>
</xsl:template>
<xsl:template match="*" mode="text-only">