2012-02-23 45 views
0

我有一個用戶列表在我的xml文件,這是我在XSLT:XSLT和傳遞參數(查詢字符串)

<a > 
    <xsl:attribute name="href"> 
     <xsl:value-of select="@First_Name"/> 
     <xsl:text>_</xsl:text><xsl:value-of select="@Last_Name"/> 
     <xsl:text>.xml</xsl:text> 
    </xsl:attribute> 
    <xsl:value-of select="@id"/> 
    <xsl:value-of select="@First_Name"/> 
    <xsl:text> </xsl:text> 
    <xsl:value-of select="@Last_Name"/> 
</a> 
現在

....還有另外一個xml文件至極包含詳細每個用戶的信息 如何傳遞「@id」並將其用作過濾器? 還是可以嗎?

+0

你是不是想將數據從兩個XML文件結合起來? – 2012-02-23 00:44:39

+0

您是否試圖在運行時動態構造一個文件名,然後讀入並處理該文件的內容? – Kevan 2012-02-23 01:09:59

回答

0

通過使用document()函數,可以使用第二個xml文檔中的數據。

例如:

<xsl:variable name="value" select="some-value"/> 
<xsl:value-of select="document('users.xml')/users/user[@id=$value]"/> 

這也可能是更方便的第二個文檔加載爲<xsl:variable>,如果你也將需要經常訪問它。

0

假設帶有用戶詳細信息的文件名爲details.xml。 它已得到以下結構:

<detail id='aaa'> 
    </detail> 
    <detail id='bbb'> 
    </detail> 

然後你就可以將這些行添加到您的代碼:上`id`屬性

<xsl:variable name="userId" select="@id" /> 
    <xsl:value-of select="document('details.xml')/detail[@id=$userId]"/> 
+0

謝謝....問題解決了...... – Dennis 2012-02-23 01:25:22

+0

你知道一種方法,我可以將ID傳遞給其他xml文件,如: name family 並處理在該文件中傳遞的ID?(我的意思是xsl文件它正在轉換它像「users.xslt」) – Dennis 2012-02-23 01:29:12

+1

它沒有任何意義,並且不可能將id參數傳遞給其他XML。 – Lukasz 2012-02-23 10:24:14

相關問題