xslt и передаваемые параметры (строки запроса) - PullRequest
0 голосов
/ 23 февраля 2012

У меня есть список пользователей в моем 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" и использую его как фильтр?или я могу?

Ответы [ 2 ]

0 голосов
/ 23 февраля 2012

Допустим, что файл с пользовательскими данными называется 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]"/>
0 голосов
/ 23 февраля 2012

Вы можете использовать данные из второго XML-документа, используя функцию document().

Например:

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

Также может быть удобнее загрузить второй документ как <xsl:variable>, если вам потребуется частый доступ к нему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...