2012-02-23 46 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

相关问题