0

我的 MySQL 数据库中有一个表的 XML 文件,该文件是使用 WebRowSet 创建的。

XML 看起来像这样:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="Status.xslt" ?>
<webRowSet xmlns="http://java.sun.com/xml/ns/jdbc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/jdbc http://java.sun.com/xml/ns/jdbc/webrowset.xsd">
  <properties>
     ....
  </properties>
  <metadata>
     ....
  </metadata>
  <data>
    <currentRow>
      <columnValue>...</columnValue>
    </currentRow>
    ...
  </data>
</webRowSet>

(这是架构:http: //java.sun.com/xml/ns/jdbc/webrowset.xsd

我的目标是使用 XSLT 使 XML 更具可读性,这就是我目前所拥有的:

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
    <html><head></head><body>

        <xsl:apply-templates />

    </body></html>
</xsl:template>

<xsl:template match="columnValue">
    <p style="color:red">
        <xsl:value-of select="." />
    </p>
</xsl:template>

</xsl:stylesheet>

当我在 Firefox 中打开 .XML 时,它只会打印所有值 - 我希望 columnValues 是红色的。当我将 TEST 放入 columnValue 模板时,它也没有显示出来。

任何帮助表示赞赏。

4

1 回答 1

4

在源 XML 中,columnValue位于命名空间中:http://java.sun.com/xml/ns/jdbc

您尚未在 XSLT 中声明此名称空间。试试这个:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:j="http://java.sun.com/xml/ns/jdbc">

...

<xsl:template match="j:columnValue">
....
于 2012-08-03T08:55:31.623 回答