Cd Chen's Services

ba ba ba la~~

XEP validate error: XXX cannot have a value of ""

最近趕 SLBU301 的過程中,用 XEP 跑 PDF 時,都會出現類似下列的錯誤:

(document [system-id file:stdin]
  (validate 
    [error] Attribute 'border-bottom-width' cannot have a value of "".
    [validation total: 1 error]
Parse error: Invalid XSL FO source 'file:stdin': 1 error found during validation

其中報錯的 Attribute 名稱每次都不一樣,FO 的內容卻完全正確。懷疑的原因如下:

  • XSLT Processor 設定有錯
  • DocBook XML/XSL Source 有誤
  • XEP 的 Bug

不過,經過縝密的檢查卻沒有找到錯誤的地方。

後來在「XSL-FO validation issues on Win7/64bit」這系列的討論中找到曙光!! 經過測試後,才發現真的是 64Bit 的 JVM 搞的鬼!! 修改 xep.sh 成為如下所示:

${JAVA_HOME}/bin/java \
        -Xmx512m \
        -d32 \
        -classpath "${CP}" \
        "-Dcom.renderx.xep.CONFIG=${XEP_HOME}/etc/xep/xep.xml" \
        com.renderx.xep.XSLDriver \
        $@

之後就不再出現問題了!! 

PS: 我很好奇的是,同樣的組態,之前都沒有任何問題!! 難道是老天暗示我該退休了嗎??

這篇內容的 Trackback 網址:

http://www.cdchen.idv.tw/trackback/1064