我正在使用XSLT使用IE11将XML文件显示为HTML。 我所看到的只是纯文本而不是HTML。 两个文件都保存在同一个文件夹中。
我在w3schools
上比较了我的xsl文件这两个文件在下面。
RuleDefinitions.xml:
<?xml-stylesheet type= "html/xsl" href= "RuleDescriptions.xsl"?>
<rules>
<rule>
<term>FCFPriRegExp</term>
<title>ClassNameRegexp</title>
<description>This rule specifies the naming conventions for private final
class fields. The definition is done with a regexp (Regular
expression)</description>
</rule>
<rule>
<term>RegExpPrefixForMethodReturingBoolean</term>
<title>MethodReturningBoolean</title>
<description>This rule specifies the regexp for a method returning a
boolean value. In general a method returning a boolen is phrased like a
question and should normally comply to isEmpty(), hasMoreElements(),
areBlack(), ... Here you can specify a regexp which describes the name
for methods returning a boolean value.</description>
</rule>
RuleDefinitions.xsl
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xlmns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:template match="/">
<html xlns="http://www.w3.org/1999/xhtml">
<head>
<title>Java Code Standard Rules</title>
</head>
<body>
<table border="1">
<tr bgcolor="#9acd32">
<th>Term</th>
<th>Title</th>
<th>Description</th>
</tr>
<xsl:for-each select="rules/rule">
<tr>
<td><xsl:value-of select="term"/></td>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="description"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
答案 0 :(得分:0)
您展示的示例有几个问题,但在第一种情况下,它可能只是您问题中的拼写错误。
首先,在您的XML示例中,您缺少结束</rules>
标记,因此您的XML格式不正确。
其次,也许更可能是原因,是你在“xsl”前缀的名称空间声明中拼写错误的“xmlns”。
而不是......
xlmns:xsl="http://www.w3.org/1999/XSL/Transform"
应该是这样。
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
编辑:正如评论中所述(感谢wero!),您还应该检查您的文件名是否正确。 XML包含对“RuleDescriptions.xsl”的引用,但在您的问题中,您已将该文件标记为“RuleDefinitions.xsl”