Как выбрать определённый узел по значениях его дочерних узлов?

xslt xpath xsl

Есть такой XML-документ:
<test>
<name>(mixed)</name>
<instance>
<iis_version>6</iis_version>
<client_type>1</client_type>
<minimum_ms>13</minimum_ms> <!--VALUE1-->
<maximum_ms>33</maximum_ms>
<average_ms>23</average_ms>
</instance>
<instance>
<iis_version>6</iis_version>
<client_type>2</client_type>
<minimum_ms>13</minimum_ms> <!--VALUE2-->
<maximum_ms>33</maximum_ms>
<average_ms>24</average_ms>
</instance>
</test>

Нужно выбрать сначала значение minimum_ms для (VALUE1) <instance>, где <iis_version> равно 6, а <client_type> = 1, а потом то же самое проделать и для minimum_ms во втором <instance> (VALUE2).

Считается, что сейчас анализатор XSLT находится в узле <test> (т.е., нужно написать XPath-запрос относительно этого узла).
Ответы:
<xsl:value-of select="./instance[iis_version=6][client_type=1]/minimum_ms"/> <!--VALUE1-->
<xsl:value-of select="./instance[iis_version=6][client_type=2]/minimum_ms"/> <!--VALUE2-->
<xsl:template match="test">
<xsl:apply-templates select="instance" mode="var1"/>
<xsl:apply-templates select="instance" mode="var2"/>
</xsl:template>


17 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.