我使用deltaxml已有一段时间,并且工作正常。但是对于特定的dita主题,我在日志中收到以下警告:
WARNING: Caught com.deltaxml.dita.FilterProcessingException: Exception thrown when attempting to run the ‘input-a/9-dxp-9-cals-table-checker.xsl’ step (source: ‘/dita-xsl/cals-tables/cals-table-checker.xsl’) whilst performing DCE[BEINGPROCESSED: file:/home/nxf36037/crrbcompareissue/trydirecttmp5/a-0-file-/regs/d ipflexcan3syn.dita, file:/home/nxf36037/crrbcompareissue/trydirecttmp5/b-0-file-/regs/d ipflexcan3syn.dita.bak, file:/home/nxf36037/crrbcompareissue/trydirecttmp5/b-0-file-/regs/d ipflexcan3syn.dita]
Feb 09, 2018 2:37:55 PM com.deltaxml.dita.ditabb ditaa
WARNING: Cannot find ids within file:/home/nxf36037/crrbcompareissue/trydirecttmp5/b-0-file-/regs/d ipflexcan3syn.dita Cause: java.io.FileNotFoundException: /home/nxf36037/crrbcompareissue/trydirecttmp5/b-0-file-/regs/dipfl excan3syn.dita (No such file or directory)
Feb 09, 2018 2:37:55 PM com.deltaxml.dita.ditaq ditaa
WARNING: Cannot prepare topics for comparison. Cause: com.deltaxml.util.href.ditab: Cannot construct target (concerning hrefs file:/home/nxf36037/crrbcompareissue/trydirecttmp5/b-0-file-/regs/d ipflexcan3syn.dita, file:/home/nxf36037/crrbcompareissue/trydirecttmp5/b-0-file-/regs/d ipflexcan3syn.dita.dxml-p1)
Feb 09, 2018 2:38:02 PM com.deltaxml.dita.ditaq ditaa
WARNING: Skipping topicref /home/nxf36037/crrbcompareissue/trydirecttmp5/b-0-file-/regs/dipfl excan3syn.dita. Cause: Cannot determine whether file:/home/nxf36037/crrbcompareissue/trydirecttmp5/b-0-file-/regs/d ipflexcan3syn.dita contains change.
我找不到导致此问题的原因,我已经尝试了几乎所有我认为可能是原因的论点。
我使用的命令行是:
java -jar /pkg/deltaxml-dita-/2017.09.21/lib/deltaxml-dita.jar compare mts B1518165232953/dipflexcan3syn/specsource/maps/dipflexcan3synbg .ditamap B1518165232953/dipflexcan3syn/specsource/maps/dipflexcan3syn_bg .ditamap output-format=dita-markup map-result-structure=map-pair map-result-origin=B trydirecttmp5
我还检查了dita文件,它们得到了验证,没有错误。您能在这里帮忙吗?
最佳答案
https://github.com/nigelwhitaker/cals-table-schematron处的schematron代码可用于以相当用户友好的方式在编辑器内部或使用schematron框架来检测和报告表验证问题。
正如在https://github.com/nigelwhitaker/cals-table-schematron/issues/4中Mohit所讨论的那样,它确实依赖XSLT 2.0或3.0功能,因此并不适合所有schematron系统。