【发布时间】:2014-06-03 19:37:55
【问题描述】:
我在 XML 和 XSLT 中使用下面提到的代码
XML:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="wiley.xsl"?>
<!DOCTYPE component PUBLIC "-//JWS//DTD WileyML 20110801 Vers 3Gv2.0//EN" "Wileyml3gv20-flat.dtd">
<component xmlns="http://www.wiley.com/namespaces/wiley" version="2.0" type="serialArticle" xml:lang="en" xml:id="ecog473">
XSLT:
<?xml version='1.0' encoding='utf-8' ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" xmlns:xlink="http://www.w3.org/1999/xlink">
<xsl:output method="html"/>
<xsl:template match="/">
但是显示的文本没有任何样式(作为文本),并且它在文档末尾已损坏并显示此错误消息。
IE 中的错误,
无法使用 XSL 样式表查看 XML 输入。请更正错误,然后单击“刷新”按钮,或稍后重试。
不支持在 DTD 中使用默认命名空间声明属性。
但是,我可以在浏览器中查看文本;当我在下面使用它时。
在 XML 中:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--<!DOCTYPE component PUBLIC "-//JWS//DTD WileyML 20110801 Vers 3Gv2.0//EN" "Wileyml3gv20-flat.dtd">-->
<?xml-stylesheet type="text/xsl" href="wiley.xsl"?>
<component version="2.0" type="serialArticle" xml:lang="en" xml:id="ecog473">
删除了组件标签中的 ns (xmlns="http://www.wiley.com/namespaces/wiley")
如何查看所有内容(DTD 声明,ns)?
谢谢。
【问题讨论】:
-
注意IE只支持XSLT 1.0版本,不支持2.0