使用XSL解析

问题描述:

Firefox提供以下错误: 加载样式表时出错:解析XSLT样式表失败。使用XSL解析

在谷歌浏览器中显示一个空白页面。

这里是我的.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> 

是什么原因造成这个错误的代码?

也许这是</xsl:when></xsl:choose>之间的<hr/>

这应该是内<xsl:when>,或外部<xsl:choose> ...

+0

yup,


应该在以外 – user1192413 2012-02-06 15:34:27

  1. xsl:when家长应xsl:choose
  2. xsl:choose应该只包含xsl:when(不<hr/>
+0

谢谢!我不得不为每个新块 user1192413 2012-02-06 15:33:18

+0

@ user1192413创建一个新的,欢迎! – 2012-02-06 15:40:30

xsl:when必须是xsl:choose,不<dd>孩子,xsl:choose只能有xsl:whenxsl:otherwise儿童,不<\hr>

您可以使用VisualStudio Express和Eclipse XML包作为XSLT编辑器在编写它们时查找这些内容。

编写XSLT时使用XML Spy或类似工具 - 该工具将快速告诉您什么是和什么是不允许的。