XML表未显示 - 没有行或列

时间:2012-10-12 06:47:09

标签: xml xslt xml-parsing xmltable

我应该创建一个实际类型的简单表,其中包含来自我们学校网站的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>

1 个答案:

答案 0 :(得分:0)

从查看XSLT开始,您使用的是旧版命名空间 http://www.w3.org/TR/WD-xsl ,这在IE9中是不受支持的。

有关详细信息,请参阅MSDN网站上的XSLT Compatability

尝试将XSLT文件的名称空间更改为 http://www.w3.org/1999/XSL/Transform ,看看你是如何继续的。