转换某些 xml (dita) 文档时,特殊字符、与号和“小于”字符 (<) 会出现问题。但是以与号为例,发生的事情是由于某种原因它在输出中重复了几次。问题是,我发现 if&
被替换(直接在 xml 内容中),&
然后它工作正常,没有重复。
我不知道是什么原因造成的,但我想做的是在 DTD 中声明与号以将其替换为&
. 我通过谷歌搜索发现你应该这样做:
<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd" [
<!ENTITY amp "&#38;">
]>
为简单起见,我在这里包含了内联实体声明,但我也尝试在实际的 DTD (concept.dtd) 中声明它。但它不起作用。它甚至似乎都没有起作用,因为我也尝试用它来替换它<!ENTITY amp "TEST">
,只是想看看它是否有任何作用,但它没有。
那么我该怎么做呢?我只想&
替换为&
; 所以我不必手动替换每个文档中的每个出现...