2014-01-14 57 views
0

我無法使圖像顯示在樣式表中設置的xml文件中。無法通過XSLT樣式表中的模板顯示RSS/XML圖像

這裏是XML的文件中的內容

 <image> 
     <title>SciTimes.com</title> 
     <link>home.htm</link> 
     <url>scitimes.jpg</url> 
     <width>620</width> 
     <height>96</height> 
     <description>SciTimes delivers up-to-the-minute news and information on the latest stories from the world of science and technology. 
     </description> 
     </image> 

然後,在我遇到的問題是在XSL文件。我在上面的XML文件中顯示來自圖像元素的圖像時出現問題。

這是我正在努力的部分。我試圖顯示在XML文件中引用

在這裏,我創建的模板圖像

 <xsl:template match="image" > 
      <a href="{link}"> 
       <img src="{url}" alt="{title}" width="{width}" height="{height}" longdesc="{descriptions}"/> 
      </a> 
     </xsl:template> 

和scitimes.jpg圖像,然後在根模板中我運用它

   <div id="logo"> 
        <xsl:apply-templates select="channel/image"/> 
       </div> 

但它不顯示

+0

現在還不清楚你在問什麼。 「斷開」是什麼意思,以及你期望輸出是什麼? –

+0

根據您的意見,請告訴我們您的預期產出。 –

+0

我有一切,但我無法得到圖像顯示,我已經創建了一個模板,然後在根模板中引用。我已經更新了上面的代碼 – programmerNOOB

回答

0

看起來斷開連接是上下文,在XSLT上下文中(幾乎)是一切。

例如,第一個模板匹配/,第一個xsl:value-of選擇channel/title。這不會匹配任何內容,因爲當前上下文是/

嘗試將第一個模板的匹配更改爲/rss/*。這應該填寫的一些的細節。但是,它看起來像你期待的情況下,當它沒有改變。這似乎從第二個div開始id="links"(例如,當您嘗試獲取dc:subject的值時)。上下文仍然是/

我建議使用更多的「推」的方法,通過使用xsl:apply-templates更多。使用一個巨大的模板並用xsl:value-of「拉」數據可能會很快變得無法管理。