2013-07-09 88 views
0

我需要創建包裹在與XML和XSLT錨標記,將顯示在iframe圖像的錨標記XML和XSLT

我的XML看起來像

<cars> 
    <car> 
    <name>Ferrari</name> 
    <image>http://www.bestdrives.org/ferrari-cars/ferrari-fiorano.jpg</image> 
    <link>http://www.ferrari.com/English/Pages/home.aspx</link> 
    </car> 
</cars> 

我所需要的圖像名義和形象包裝在一個錨標記

我的XSLT看起來像

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!-- Edited by XMLSpy® --> 
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml"> 
    <body> 
    <xsl:for-each select="cars/car"> 
     <xsl:template match="car"> 
     <xsl:attribute name="href" select="link"/> 
     <xsl:value-of select="name"/> 
     <img> 
    </html>    <xsl:attribute name="src" select="image"/> 
     </img> 
     </xsl:template> 
    </xsl:for-each> 
    </body> 
+0

你能實際使用爲您的IFrame顯示HTML嗎?特別是,您如何將XSLT應用於您的XML? –

+0

只需引用XML文件中的XSLT文件?如果我轉到XSLT,那麼我可以看到樣式(顯然沒有內容),但是如果我打開XML文件或通過iframe將其引用爲原始XML。 –

回答

0

像THI S' XSLT:

<xsl:template match="car"> 
     <a> 
      <xsl:attribute name="href" select="link"/> 
      <xsl:value-of select="name"/> 
      <img> 
       <xsl:attribute name="src" select="image"/> 
      </img> 
     </a> 
    </xsl:template> 
+0

這不適合我這只是拉出unstyled XML是我的頁面佈局正確的病態更新原始問題 –

0

您提供的XSLT沒有良好的XML(收盤</html>標籤已經結束了因某種原因<img>元素中,和<?xml聲明必須是第一個件事在前面沒有前導空格的文件中)。它也是無效的XSLT - 您不能在for-each中放入template,並且在XSLT 1.0中您不能在<xsl:attribute>上使用select(雖然您可以在XSLT 2.0中)。這個怎麼樣:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml"> 
    <body> 
    <xsl:for-each select="cars/car"> 
     <a href="{link}"> 
     <xsl:value-of select="name"/> 
     <img src="{image}" /> 
     </a> 
    </xsl:for-each> 
    </body> 
</html> 

href="{link}"符號被稱爲attribute value template,這是一個更簡潔的版本<xsl:attribute name="href"><xsl:value-of select="link" /></xsl:attribute>

+0

不是xml仍然進入iframe unstyled –

+0

@StephenRomero你如何從XML中引用XSLT?你是否使用了'<?xml-stylesheet?>處理指令並期待瀏覽器做這些樣式,或者你是否使用了服務器端技術來進行轉換(如果是這樣的話)? –