2015-07-21 75 views
0

我試圖將bank of canada的提要轉換爲在我的應用中使用它。xslt命名空間問題rss

這裏是我的XML和XSL我:http://xsltransform.net/bFDb2D4/4

我不能改變的XML,這是一個RSS提要。唯一的線阻止我是這一個:

xmlns="http://purl.org/rss/1.0/" 

如果我刪除這一個,我的選擇器是好的,我得到的結果。我是xslt的初學者。有人能解釋我做錯了什麼嗎?

回答

1

xmlns="http://purl.org/rss/1.0/" 

說,像RDF,項目,標題在XML中的所有不合格的元素名稱的給定命名空間。爲了比賽這些元素,你需要在你的XSLT相同的命名空間定義和inclue命名空間前綴在XPath表達式:

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" 
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:rss="http://purl.org/rss/1.0/" 
    exclude-result-prefixes = "rss"> 

<xsl:output method="html"/> 
<xsl:template match="/"> 
    <xsl:apply-templates select="/rss:RDF/rss:item"/> 
</xsl:template> 

<xsl:template match="rss:item"> 
    <p> 
     <xsl:value-of select="rss:title"/><br/> 
     <xsl:value-of disable-output-escaping="yes" select="description"/> 
    </p> 
</xsl:template> 

</xsl:stylesheet> 
+0

它的工作!非常感謝,先生http://xsltransform.net/bFDb2D4/5 – Giu