XML / XSL表未显示

时间:2014-01-06 14:21:34

标签: html css xml xslt

我在尝试在XSL页面中显示XML时遇到了很多问题。该表根本没有显示内容。它在预览中工作正常,但是当我实际加载页面时,表格中没有显示任何内容。

XSL:

<?xml version="1.0" encoding="iso-8859-1"?><!-- DWXMLSource="XML.xml" -->
<!DOCTYPE xsl:stylesheet  [
    <!ENTITY nbsp   "&#160;">
    <!ENTITY copy   "&#169;">
    <!ENTITY reg    "&#174;">
    <!ENTITY trade  "&#8482;">
    <!ENTITY mdash  "&#8212;">
    <!ENTITY ldquo  "&#8220;">
    <!ENTITY rdquo  "&#8221;"> 
    <!ENTITY pound  "&#163;">
    <!ENTITY yen    "&#165;">
    <!ENTITY euro   "&#8364;">
]>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="iso-8859-1" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8" />
    <title>XML</title>
    <link rel="stylesheet" href="css/style.css" type="text/css" />

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
    <div id="header">
        <div>
            <div class="logo">


        </div>
    </div>

        <table width="568" height="133" border="1" align="center">
          <xsl:for-each select="movie-List/movie">
            <tr>
              <td><xsl:value-of select="name"/></td>
            </tr>
            <tr>
              <td><xsl:value-of select="price"/></td>
            </tr>
            <tr>
              <td><xsl:value-of select="genre"/></td>
            </tr>
            <tr>
              <td><xsl:value-of select="age"/></td>
            </tr>
            <tr>
              <td bgcolor="#000000">&nbsp;</td>
            </tr>
          </xsl:for-each>

</table>



    <div id="footer">
        <div class="clearfix">

            <p>
                ©2014 All Rights Reserved for Josh Entertainment            </p>
        </div>
    </div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

XML:

<?xml version="1.0" encoding="iso-8859-1"?>
<movie-List>
  <movie>
    <name> Birdemic: Shock and Terror  </name>
    <price> £15 </price>
    <genre> Horror </genre>
    <age> 2010 </age>
  </movie>
  <movie>
    <name> Overboard  </name>
    <price> £5 </price>
    <genre> Drama</genre>
    <age> 1987 </age>
  </movie>
  <movie>
    <name> Going Overboard  </name>
    <price>  £20 </price>
    <genre> Comedy</genre>
    <age>1989 </age>
  </movie>
  <movie>
    <name> Marvin's Room  </name>
    <price> £3 </price>
    <genre> Drama </genre>
    <age> 1996 </age>
  </movie>
  <movie>
    <name> Iron Sky  </name>
    <price> £30 </price>
    <genre> Horror Comedy </genre>
    <age> 2012 </age>
  </movie>
  <movie>
    <name> Quills  </name>
    <price> £1.99 </price>
    <genre> Romantic </genre>
    <age> 2000 </age>
  </movie>
  <movie>
    <name> The Machinist  </name>
    <price> £11.99 </price>
    <genre> Crime </genre>
    <age> 2004 </age>
  </movie>
  <movie>
    <name> Swimming With Sharks </name>
    <price> £9.99 </price>
    <genre> Comedy </genre>
    <age> 1994 </age>
  </movie>
</movie-List>

感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

更改

<div class="logo">

<div class="logo"/>

然后,转换适用于Saxon 9.5并使用Firefox查看HTML输出。 不过,这可能只是你帖子中的拼写错误。

这是我得到的输出(请评论,如果这不是您所期望的 - 让我们知道真正的问题是什么):

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta charset="UTF-8"></meta>
  <title>XML</title>
  <link rel="stylesheet" href="css/style.css" type="text/css"></link>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></meta>
</head>
<body>
  <div id="header">
     <div>
        <div class="logo"></div>
     </div>
  </div>
  <table width="568" height="133" border="1" align="center">
     <tr>
        <td> Birdemic: Shock and Terror  </td>
     </tr>
     <tr>
        <td> £15 </td>
     </tr>
     <tr>
        <td> Horror </td>
     </tr>
     <tr>
        <td> 2010 </td>
     </tr>
     <tr>
        <td bgcolor="#000000">&nbsp;</td>
     </tr>
     <tr>
        <td> Overboard  </td>
     </tr>
     <tr>
        <td> £5 </td>
     </tr>
     <tr>
        <td> Drama</td>
     </tr>
     <tr>
        <td> 1987 </td>
     </tr>
     <tr>
        <td bgcolor="#000000">&nbsp;</td>
     </tr>
     <tr>
        <td> Going Overboard  </td>
     </tr>
     <tr>
        <td>  £20 </td>
     </tr>
     <tr>
        <td> Comedy</td>
     </tr>
     <tr>
        <td>1989 </td>
     </tr>
     <tr>
        <td bgcolor="#000000">&nbsp;</td>
     </tr>
     <tr>
        <td> Marvin's Room  </td>
     </tr>
     <tr>
        <td> £3 </td>
     </tr>
     <tr>
        <td> Drama </td>
     </tr>
     <tr>
        <td> 1996 </td>
     </tr>
     <tr>
        <td bgcolor="#000000">&nbsp;</td>
     </tr>
     <tr>
        <td> Iron Sky  </td>
     </tr>
     <tr>
        <td> £30 </td>
     </tr>
     <tr>
        <td> Horror Comedy </td>
     </tr>
     <tr>
        <td> 2012 </td>
     </tr>
     <tr>
        <td bgcolor="#000000">&nbsp;</td>
     </tr>
     <tr>
        <td> Quills  </td>
     </tr>
     <tr>
        <td> £1.99 </td>
     </tr>
     <tr>
        <td> Romantic </td>
     </tr>
     <tr>
        <td> 2000 </td>
     </tr>
     <tr>
        <td bgcolor="#000000">&nbsp;</td>
     </tr>
     <tr>
        <td> The Machinist  </td>
     </tr>
     <tr>
        <td> £11.99 </td>
     </tr>
     <tr>
        <td> Crime </td>
     </tr>
     <tr>
        <td> 2004 </td>
     </tr>
     <tr>
        <td bgcolor="#000000">&nbsp;</td>
     </tr>
     <tr>
        <td> Swimming With Sharks </td>
     </tr>
     <tr>
        <td> £9.99 </td>
     </tr>
     <tr>
        <td> Comedy </td>
     </tr>
     <tr>
        <td> 1994 </td>
     </tr>
     <tr>
        <td bgcolor="#000000">&nbsp;</td>
     </tr>
  </table>
  <div id="footer">
     <div class="clearfix">
        <p>
           ©2014 All Rights Reserved for Josh Entertainment            
        </p>
     </div>
  </div>
</body>
</html>