Xml xslt和传递参数(查询字符串)
我的xml文件中有一个用户列表,这是我在xslt中的内容:Xml xslt和传递参数(查询字符串),xml,xslt,filter,query-string,Xml,Xslt,Filter,Query String,我的xml文件中有一个用户列表,这是我在xslt中的内容: <a > <xsl:attribute name="href"> <xsl:value-of select="@First_Name"/> <xsl:text>_</xsl:text><xsl:value-of select="@Last_Name"/>
<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”传递给并用作筛选器?
或者我可以吗?您可以通过使用函数使用第二个xml文档中的数据 例如:
<xsl:variable name="value" select="some-value"/>
<xsl:value-of select="document('users.xml')/users/user[@id=$value]"/>
如果您需要经常访问第二个文档,则将其作为
加载可能更方便。假设包含用户详细信息的文件称为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]"/>
您是否尝试在id
属性上组合来自两个xml文件的数据?您是否尝试在运行时动态构造文件名,然后读入并处理此文件的内容?您知道我可以将id传递给其他xml文件的方法,如:并处理该文件中传递的id?(我指的是像“users.xslt”一样转换它的xsl文件)没有意义,无法将id参数传递给其他XML。@Dennis,如果答案真的能解决您的问题,请接受。不要将同一个问题扩展到新的需求。如果您确实需要大量扩展的需求,请提出新的问题。