2010-05-18 52 views
0

問題我簡單的XSQL正斜槓在XSL和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> 

這給了我其中以「澳大利亞/大洋洲」大洲列表

我使用XSL以上XSQL:

<?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> 

火狐引發錯誤的 「錯誤格式化XML文檔」 有:

AfricaAmericaAsiaAustralia /海洋iaEurope

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

幫助讚賞。

回答

0

看起來,您處理的不是上面顯示的XML,而是來自SQL查詢的結果。

另外,你的XSLT代碼無效XSLT(雖然這似乎是簡潔(wellformed)XML),因爲res元素沒有任何模板內,並沒有命名空間的..

還有一個可能性,即報告的錯誤可能在您的XSLT代碼中 - 您未顯示的代碼部分。

請提供一個完整(儘可能最少)的XML文檔和XSLT樣式表的示例,它們在運行時會真正產生錯誤。

+0

thoose two是完整的文件(imean xsl和xsql)。我應該爲res元素提供單獨的名稱空間嗎? – 2010-05-19 06:03:04

+0

@ Peter-Kaleta:如果你沒有提供一個完整的例子,那麼人們如何重新審視這個問題並進行調查呢?因此獲得幫助的可能性很小... – 2010-05-19 12:56:43

+1

再次,這些文件是完整的。 Ty尋求幫助我設法通過向xsl添加根元素來實現這一目標 – 2010-05-21 08:56:57