2013-06-30 90 views
0

我需要將超鏈接添加到我編寫的XSL文件。這個超鏈接必須通過用戶點擊事件打開一個XML文件。這些文件XML在本地文件系統中放入我的當前目錄中。使用在文件系統上打開xml文件的XSLT創建超鏈接

XML文檔

<Document> 
<racine> <label>Jdk from Sun</label> </racine> 
<racine> <label>Maven plugin Eclipse</label> </racine> 
</Document> 

對於我的文檔,這部分的一部分,有兩個文件XML到工作目錄,即「中的JDK Sun.XML」和「Maven插件Eclipse的

一個XSL的一部分,我已經寫了

<?xml version="1.0" encoding="ISO-8859-1"?> 
<xsl:stylesheet version="2.0" 
xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="html" cdata-section-elements="Cdata" indent="yes"/> 
<xsl:template match = "/"> 

<html> 
    <head/> 
    <Body> 
    <xsl:for-each select="Document/racine"> 
    <html><a href="<H3><xsl:value-of select="label"/></H3>"</a></html> 
    </xsl:for-each> 
    </Body> 
<html> 

我表達

<html><a href="<H3><xsl:value-of select="label"/></H3>"</a></html> 

是一個廢話,我知道,但我不知道如何表現最好。爲了更加精確,我使用href屬性將本地文件系統鏈接爲'Sun.xml中的Jdk'和'Sun.xml'中的Jdk文件。 你的幫助是非常寶貴的。 預先感謝

+0

這是一個有點不清楚你問什麼,但你可以隨時使用'文件://'協議在'href'屬性鏈接到本地​​文件系統。 – austin

+0

是的,這是我想要的。但我不知道如何使用它。這就是爲什麼我需要你的幫助!謝謝 – new

回答

0

我不知道什麼<a href="<H3>...</H3>"></a>應該是說,所以我想你想是這樣的:

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output method="html" indent="yes"/> 

    <xsl:template match="Document"> 
    <html> 
     <head/> 
     <body> 
     <xsl:apply-templates select="racine" /> 
     </body> 
    </html> 
    </xsl:template> 

    <xsl:template match="racine"> 
    <h3> 
     <a href="{encode-for-uri(label)}"><xsl:value-of select="label" /></a> 
    </h3> 
    </xsl:template> 
</xsl:stylsheet> 

  • 使用模板匹配(<xsl:apply-templates>/<xsl:template>)超過<xsl:for-each>
  • 使用屬性值模板(捲曲括號),以填補href屬性
  • 必要使用encode-for-uri()docs)來創建一個結構良好的URL
+0

使用你的XSL,瀏覽器IE中沒有提供「Sun.xml中的Jdk」或「Sun.xml中的Jdk」的鏈接.IE僅顯示「Sun Maven插件Eclipse中的Jdk」。爲了更加精確,我使用href屬性將本地文件系統鏈接爲'Sun.xml中的Jdk'和'Sun.xml'中的Jdk文件。謝謝 – new

+0

然後,這不是一個XSLT問題,而是一個相當基本的HTML問題。弄清楚如何創建工作鏈接不應該花費你半個多小時的閱讀時間。 – Tomalak

+0

我知道如何在HTML中創建鏈接,沒有問題。我的問題是在XSL文件中創建它。對不起,因爲我是XSL新手,這就是爲什麼我在這裏發佈我的問題。謝謝 – new

1

我已經找到了我的問題的解決方案。我與能夠遇見的人分享。

對於下面的XML文件

<Document> 
<racine> <label>Jdk from Sun</label> </racine> 
<racine> <label>Maven plugin Eclipse</label> </racine> 
</Document> 

和XSL的這一部分中的屏幕截圖

<xsl:element name="a"> 
    <xsl:attribute name="href"><xsl:value-of select="label" /> 
    <xsl:text>.xml</xsl:text>  
    </xsl:attribute> 
    <xsl:value-of select="label" /> 
</xsl:element> 

查找輸出的上方。 enter image description here

感謝所有

相關問題