我是xml转换xml使用xslt的新手,在这里,我发现很多答案帮我处理xml转换,但我仍然有问题,找不到解决方案,所以需要帮助。 使用xslt进程时如何保持标题?
输入xml:
<?xml version="1.0" encoding="BIG5"?>
<!DOCTYPE ROWSET SYSTEM "99_recatalog_big5.dtd"[
<!ENTITY % basetag SYSTEM "99_basic_a_big5.ent" >
<!ENTITY % filetag SYSTEM "99_records_big5.ent" >]>
<ROWSET>
</ROWSET>
输出与输入相同的xml标题:
<?xml version="1.0" encoding="BIG5"?>
<!DOCTYPE ROWSET SYSTEM "99_recatalog_big5.dtd"[
<!ENTITY % basetag SYSTEM "99_basic_a_big5.ent" >
<!ENTITY % filetag SYSTEM "99_records_big5.ent" >]>
<ROWSET>
</ROWSET>
第二个输出xml:
<?xml version="1.0" encoding="UTF8"?>
<!DOCTYPE ROWSET SYSTEM "94_recatalog_big5.dtd"[
<!ENTITY % basetag SYSTEM "94_basic_a_big5.ent" >
<!ENTITY % switchtag SYSTEM "94_records_big5.ent" >]>
<ROWSET>
</ROWSET>
有什么办法可以在xslt中做到这一点吗?
谢谢!
答案 0 :(得分:0)
你不能在直接的XSLT中做到这一点。
安德鲁·韦尔奇已经制作了一个名为Lexev的工具(我相信它与KernowforSaxon捆绑在一起),它通过将DTD预处理成XML表示来解决这个问题,然后对结果进行后处理,将其转换回DTD。