2013-02-26 42 views
0

我知道一般情況下XSLT是可以調試的,但考慮到它的模塊化XSLT結構以及樣式表由catalog.xml文件指向的事實,我們究竟該如何去調試DITA轉換呢?如何調試DITA轉換?

我希望能夠在運行時通過代碼步驟,並能夠設置斷點等

回答

3

如果您正在使用的氧氣編輯器,可以調試工具包變換使用此處描述(從氧氣14.2文檔)技術:

調試PDF轉換

  1. 要調試DITA PDF轉換請使用XSLT調試器執行以下步驟: 轉至選項>首選項> XML> XML目錄,單擊添加並選擇位於[Oxygen Install Directory] ​​\ frameworks \ dita \ DITA-OT \ plugins \ org.dita.pdf2中的文件\ CFG \的catalog.xml;

  2. 在DITA Maps Manager中打開地圖並創建DITA Map PDF轉換場景;

  3. 編輯方案,轉到參數選項卡並將clean.temp參數的值更改爲no;

  4. 運行轉換方案;

  5. 在Oxygen中打開位於臨時目錄中的stage1.xml文件並格式化並縮進;

  6. 由位於OXYGEN_INSTALL_DIR的topic2fo_shell.xsl樣式表關聯創建此XML文件轉換場景/框架/ DITA/DITA-OT /插件/ org.dita.pdf2/XSL/FO/topic2fo_shell_fop.xsl;

  7. 在轉換方案中,編輯參數列表並使用值en_GB和參數customizationDir.url設置參數區域設置,以指向您的定製目錄或默認的DITA OT定製目錄。它的值應該有一個URL語法,如:file:// c:/path/to/OXYGEN_INSTALL_DIR/frameworks/dita/DITA-OT/plugins/org.dita.pdf2/cfg。

  8. 調試轉換方案。

我通過在Oxygen在線幫助中搜索「調試工具包」發現了本主題。

這些說明專門針對PDF,但您應該能夠將這些說明適應於基於HTML的轉換。

3

總是有很好的老把戲在代碼中加入周圍打印語句,這是XSLT轉換爲<xsl:message>。這是從我的frontmatter轉型的一個片段:

<!-- 
<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> 
--> 

如果我取消,我得到的輸出日誌文本的一個很好的調試塊,顯示了我使用的設置不同的值。

+0

是的,我也這樣做,但實際上我的意思是能夠在運行時通過代碼進行調試,能夠設置斷點等,就像在大多數編程IDE中一樣。但是,謝謝,我會澄清這個問題。 – Anders 2013-02-27 07:58:39

+2

可以添加到消息值的一件事是xtrf和xtrc屬性的值 - 爲每個元素定義的所謂全局atts組。在階段1處理期間,這些預填充了關於該主題的來源狀態的信息。在這裏閱讀有關它們:http://docs.oasis-open.org/dita/v1.2/os/spec/common/global-atts.html – 2013-03-01 14:47:19