假设我有一个 XML 文件test.xml
,其中包含(除其他外)一些 MATHML:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="template.xsl"?>
<equation>
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<row>
<!-- Using a MATHML entity name here! -->
<mi>∑</mi>
</row>
</math>
</equation>
我想使用浏览器 XSLT 引擎将其转换test.xml
为 XHTML+MATHML 并显示它。我的 XSLT 文件template.xsl
如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/equation">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
Here is an equation:
<xsl:copy-of select="."/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
当我test.xml
在浏览器中打开时,它会错误提示实体∑
未声明。显然,我希望 ∑ 符号按原样显示。当我使用数字实体∑
时,它按预期工作,但查找每个数学符号的数字实体是一件痛苦的事。
我尝试播放<xsl:output>
标签尝试不同的文档类型,例如doctype-system="http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd"
但到目前为止没有运气。