1

我在由我们的编辑软件创建的 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 文件。

我们有几百个文档,但其中只有少数有任何特定的声明(数量、名称和值各不相同),我们必须通过转换来维护这些声明。

但是,我找不到通过转换来维护上述实体声明的方法。

有可能吗,你会怎么做?

4

1 回答 1

1

DTD 声明不是呈现给 XSLT 处理器的数据模型的一部分,因此不能直接完成。

一种解决方法是使用 Andrew Welch 的 Lexev 工具。这会将 DTD 转换为 XML 表示形式作为预处理步骤,然后将反向作为后处理步骤。

于 2013-03-21T09:12:37.267 回答