Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml xslt和传递参数(查询字符串)_Xml_Xslt_Filter_Query String - Fatal编程技术网

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"/>

我的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”传递给并用作筛选器?
或者我可以吗?

您可以通过使用函数使用第二个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,如果答案真的能解决您的问题,请接受。不要将同一个问题扩展到新的需求。如果您确实需要大量扩展的需求,请提出新的问题。