0

我有简单的 xsql

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="zad1.xsl" ?>

<page xmlns:xsql="urn:oracle-xsql" connection="java:comp/env/jdbc/mondialDS">
    <xsql:query max-rows="-1" null-indicator="no" tag-case="lower" rowset-element="continents">
        select name as continent 
        from mondial_user.Continent
        order by 1
    </xsql:query>
</page>

这给了我一份包含“澳大利亚/大洋洲”的大陆列表

我在上面的 xsql 上使用 XSL:

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <!-- Root template -->
 <res>
  <xsl:template match="/continents">
    <xsl:for-each select="row">
      <re>
        <xsl:value-of select="continent"/>
      </re>
    </xsl:for-each>
  </xsl:template>
</res>
</xsl:stylesheet>

Firefox 在“格式错误的 xml 文档”上抛出错误:

非洲美洲亚洲澳大利亚/大洋洲欧洲

----------------------------------^

帮助表示赞赏。

4

1 回答 1

0

您似乎以某种方式处理的不是上面显示的 XML,而是来自 SQL Query 的结果

此外,您的 XSLT 代码不是有效的 XSLT(尽管它似乎是格式良好的 XML),因为该res元素不在任何模板中且不在命名空间中。

报告的错误也有可能出现在您的 XSLT 代码中——在您未显示的代码部分中。

请提供 XML 文档和 XSLT 样式表的完整(但尽可能少)示例,运行时确实会产生错误。

于 2010-05-19T01:08:20.813 回答