Firefox出现以下错误: 加载样式表时出错:解析XSLT样式表失败。
在Google Chrome中,它会显示一个空白页面。
以下是我的.xsl
的代码<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<title>Curriculum Vitae</title>
<link rel="stylesheet" type="text/css" href="css/myStyle.css"/>
<script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
<script type="text/javascript" src="js/script.js"></script>
</head>
<body>
<h1>Curriculum Vitae: Matthew Stanley Klein</h1>
<br/>
<ul id="nav">
<li><a href="#">General Information</a></li>
<li><a href="#">Work Experience</a></li>
<li><a href="#">Miscellaneous</a></li>
<li><a href="#">References</a></li>
<li><a href="#">Showreel</a></li>
</ul>
<xsl:for-each select="references/company">
<xsl:choose>
<xsl:when test="name != ''">
<dl>
<dt><xsl:value-of select="name" /></dt>
<dd>
<dl>
<dt>Name of Person: <xsl:value-of select="person" /></dt>
<dd>
<xsl:when test="cellphone != ''">
Cellphone: <xsl:value-of select="cellphone" />
</xsl:when>
<xsl:when test="work != ''">
<br/>
work: <xsl:value-of select="work" />
</xsl:when>
<xsl:when test="email != ''">
<br/>
email: <xsl:value-of select="email" />
</xsl:when>
</dd>
</dl>
</dd>
</dl>
</xsl:when>
<hr/>
</xsl:choose>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
导致此错误的原因是什么?
答案 0 :(得分:2)
xsl:when
家长应为xsl:choose
。xsl:choose
应仅包含xsl:when
(不是<hr/>
)答案 1 :(得分:2)
xsl:when
必须是xsl:choose
的孩子,而不是<dd>
,而xsl:choose
只能有xsl:when
和xsl:otherwise
作为孩子,而不是<\hr>
{1}}。
您可以使用VisualStudio Express和Eclipse XML包作为XSLT编辑器在编写时查找这些内容。
答案 2 :(得分:1)
也许是<hr/>
和</xsl:when>
之间的</xsl:choose>
?
应该在<xsl:when>
之内,或在<xsl:choose>
之外......
答案 3 :(得分:1)
在编写XSLT时使用XML Spy或类似工具 - 该工具将快速告诉您什么是不允许的和什么是不允许的。