我有使用嵌入式实体声明的 XML 文件。在结果文件中,我需要将实体名称替换为它们指向的实际文件。但是不能在 XSLT 样式表中指向 AFAIK 实体,因为它们应该由 XML 解析器处理。
示例源文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE topic SYSTEM "../../../App/Converted-DTD.dtd" [
<!-- Begin Document Specific Declarations -->
<!NOTATION pdf SYSTEM "">
<!ENTITY image1 SYSTEM "graphics/img-1.svg" NDATA pdf>
<!ENTITY image2 SYSTEM "graphics/img-2.svg" NDATA pdf>
<!-- End Document Specific Declarations -->
]>
<topic>
<title>My test topic</title>
<body>
<p>This is an image:
<image entity="image1"/></p>
<p>This is another image
<image entity="image2"/></p>
</body>
</topic>
我需要的是一个将实体引用更改为实际href的文件:
<topic>
<title>My test topic</title>
<body>
<p>This is an image:
<image href="graphics/img-1.svg"/></p>
<p>This is another image
<image href="graphics/img-2.svg"/></p>
</body>
</topic>
我不能依赖在 DTD 中声明的实体,因为每个文件都有不同的实体指向不同的文件。
也许这是微不足道的,但我找不到一种方法来获取嵌入式文档的特定声明。