我在编辑软件创建的XML文件的顶部有以下文档特定的DTD:
<!DOCTYPE front SYSTEM "file:///M:/Library/AMH-Paed.dtd" [
<!NOTATION cgm PUBLIC "" >
<!-- Begin Document Specific Declarations --><!ENTITY fm.tcont " (Continued)">
<!ENTITY equation1 SYSTEM "equation11.cgm" NDATA cgm>
<!ENTITY equation2 SYSTEM "equation26.cgm" NDATA cgm>
<!ENTITY equation3 SYSTEM "equation32.cgm" NDATA cgm>
<!ENTITY equation4 SYSTEM "equation41.cgm" NDATA cgm>
<!ENTITY equation5 SYSTEM "equation51.cgm" NDATA cgm>
<!ENTITY equation6 SYSTEM "equation62.cgm" NDATA cgm>
<!-- End Document Specific Declarations -->]>
我们正在更新内容的常规文档类型,因此通过XSLT转换当前的XML文件。
我们有几百个文档,但只有少数文档具有任何特定声明(数量,名称和值不同),我们必须通过转换来维护这些声明。
但是,我找不到通过转换维护上述实体声明的方法。
有可能,你会怎么做?
答案 0 :(得分:1)
DTD声明不是提供给XSLT处理器的数据模型的一部分,因此无法直接完成。
解决方法是使用Andrew Welch的Lexev工具。这将DTD转换为XML表示形式作为预处理步骤,然后反过来作为后处理步骤。