我知道XSLT一般都可以调试,但考虑到它的模块化XSLT结构以及catalog.xml文件指向样式表这一事实,究竟如何调试DITA转换?
我希望能够在运行时逐步执行代码,并能够设置断点等。
答案 0 :(得分:3)
在代码中添加print语句总是有一个很好的老技巧,即xslt转换为<xsl:message>
。以下是我的前线转换的片段:
<!--
<xsl:message>createFrontMatter_1.0</xsl:message>
<xsl:message>artworkPrefix=<xsl:copy-of select="$artworkPrefix"/></xsl:message>
<xsl:message>customizationDir.url=<xsl:value-of select="$customizationDir.url"/></xsl:message>
<xsl:message>imageLogoPath=<xsl:value-of select="$imageLogoPath"/></xsl:message>
<xsl:message>imageNotePath=<xsl:value-of select="$imageNotePath"/></xsl:message>
<xsl:message>imageWatermarkPath=<xsl:value-of select="$imageWatermarkPath"/></xsl:message>
<xsl:message>page-width=<xsl:value-of select="$page-width"/></xsl:message>
<xsl:message>page-height=<xsl:value-of select="$page-height"/></xsl:message>
-->
如果我取消注释,我会在输出日志中得到一个很好的调试文本块,显示我使用的设置的各种值。
答案 1 :(得分:3)
如果您使用的是氧气编辑器,您可以使用此处描述的技术(来自Oxygen 14.2文档)调试Toolkit转换:
调试PDF转换
要使用XSLT调试器调试DITA PDF转换方案,请执行以下步骤: 转到选项&gt;偏好&gt; XML&gt; XML目录,单击添加,然后选择位于[Oxygen安装目录] \ frameworks \ dita \ DITA-OT \ plugins \ org.dita.pdf2 \ cfg \ catalog.xml;
在DITA Maps Manager中打开地图并创建DITA Map PDF转换方案;
编辑方案,转到“参数”选项卡,将clean.temp参数的值更改为no;
运行转型方案;
在Oxygen XML中打开位于临时目录和格式的stage1.xml文件并缩进它;
通过关联位于OXYGEN_INSTALL_DIR / frameworks / dita / DITA-OT / plugins / org.dita.pdf2 / xsl / fo / topic2fo_shell_fop.xsl;的
在转换方案中,编辑“参数”列表并将参数locale设置为值en_GB,并将参数customizationDir.url设置为指向自定义目录或默认DITA OT自定义目录。它的值应该具有以下URL语法:file:// c:/path/to/OXYGEN_INSTALL_DIR/frameworks/dita/DITA-OT/plugins/org.dita.pdf2/cfg。
调试转换方案。
我通过在Oxygen在线帮助中搜索“debug toolkit”找到了这个主题。
这些说明专门针对PDF,但您也应该能够将这些说明适用于基于HTML的转换。