浏览器显示纯文本而不是XML / XSLT的HTML

时间:2016-02-25 17:11:24

标签: html xml internet-explorer xslt

我正在使用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>

1 个答案:

答案 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”