0

我应该用我们学校网站的 xml 文件中的数据创建一个实际上很简单的表。我有 XML 和 xsl 样式表,但无论我做什么,表格都不会显示。除了 IE,我还在其他浏览器中遇到解析错误。不幸的是,我对 XML 不是很熟悉。我尝试了一些 php5 方法,主要是使用 simplexml,但无法让它们正常工作。

任何关于为什么表格不显示的提示以及跨浏览器替代方案的建议将不胜感激。

这是 XML 文件的片段:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="wftemplate1.xsl"?>
<databases filename="Classtests">
<database>
<row>
  <column name="spalte1">Class</column>
  <column name="spalte2">Subject</column>
  <column name="spalte3">Teacher</column>
  <column name="spalte4">Date</column>
</row>
</database>
<details>
<row>
  <column name="spalte1">1A</column>
  <column name="spalte2">D</column>
  <column name="spalte3">ABC</column>
  <column name="spalte4">11.11.2012</column>
</row>
<row>
  <column name="spalte1"> </column>
  <column name="spalte2"> </column>
  <column name="spalte3">ABC</column>
  <column name="spalte4">11.01.2013</column>
</row>
.
.
.
</details>
</databases>

这是当前的 xsl 样式表:

    <?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
  <xsl:template match="/">
    <html>
      <body>
        <!-- Überschrift -->

        <div style="font-family:Verdana; font-size:14pt; font-weight:bold;">
          <xsl:value-of select="databases/@filename" />
        </div>
        <p />

        <!-- Beginn der Tabelle -->

        <table border="1">

          <!-- Kopfzeile -->

          <xsl:for-each select="databases/database/row">
            <tr>
              <xsl:for-each select="column">
                <td bgcolor="C0C0C0">
                  <div style="font-family:Verdana; font-size:9pt; font-weight:bold;">
                    <xsl:value-of select="." />
                  </div>
                </td>
              </xsl:for-each>
            </tr>
          </xsl:for-each>

          <!-- Datenzeilen -->

          <xsl:for-each select="databases/details/row">
            <tr bgcolor="#80FFFF">
              <xsl:for-each select="column">
                <td>
                  <div style="font-family:Verdana; font-size:9pt;">
                    <xsl:value-of select="." />
                  </div>
                </td>
              </xsl:for-each>
            </tr>
          </xsl:for-each>
        </table>

        <p />

        <div style="font-family:Verdana; font-size:7pt; font-weight:bold;">
        Ende der Liste </div>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>
4

1 回答 1

0

通过查看您的 XSLT,您正在使用IE9 不支持的旧命名空间http://www.w3.org/TR/WD-xsl 。

有关详细信息,请参阅MSDN 网站上的XSLT 兼容性。

尝试将您的 XSLT 文件的名称空间更改为http://www.w3.org/1999/XSL/Transform并查看您的进展情况。

于 2012-10-12T07:10:51.273 回答