我的xml文件中有一个用户列表,这就是我在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 :(得分:0)
您可以使用document()
函数来使用第二个xml文档中的数据。
例如:
<xsl:variable name="value" select="some-value"/>
<xsl:value-of select="document('users.xml')/users/user[@id=$value]"/>
如果您需要经常访问第二个文档,将其作为<xsl:variable>
加载也可能更方便。
答案 1 :(得分:0)
让我们说带有用户详细信息的文件名为details.xml。 它有以下结构:
<detail id='aaa'>
</detail>
<detail id='bbb'>
</detail>
然后您可以将这些行添加到您的代码中:
<xsl:variable name="userId" select="@id" />
<xsl:value-of select="document('details.xml')/detail[@id=$userId]"/>