0

WebRowSet を使用して作成した MySQL データベースのテーブルの XML ファイルを取得しました。

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 が赤になることを期待していました。columnValue テンプレートに TEST を入力しても表示されません。

どんな助けでも大歓迎です。

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 に答える