Я новичок в xslt 2.0, я хотел бы установить значение переменной в цикле for-each только один раз (значит, если значение установлено, я хочу выйти из цикла).
Пока это повторяется для всех пользователей. Я просто хочу выйти из цикла, как только значение будет установлено (сразу после моей первой попытки). Я не уверен, как сломать, если значение установлено один раз.
Не могли бы вы помочь мне по приведенному ниже коду?
XSLT-код:
<xsl:variable name="v_first_name">
<xsl:for-each select="$emailList/emails/child::*">
<xsl:variable name="mailid" select="id" />
<xsl:for-each select="$userList/users/child::*">
<xsl:if test="emailid = $mailid">
<xsl:if test="firstname eq 'Antony'">
<xsl:value-of select="firstname" />
</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:variable>
<xsl:if test="$v_first_name != ''">
<first_name>
<xsl:value-of select="$v_first_name" />
</first_name>
</xsl:if>
XML O/ p:
<first_name>AntonyAntonyAntonyAntony</first_name>
Ожидаемый XML O / P:
<first_name>Antony</first_name>
Примечание 1. Обратите внимание, что я использую xslt 2.0, и в моих списках могут быть дубликаты (поэтому Антоний может прийти дважды, но я хочу только один раз (или уникальный)). Примечание 2: Я также пытался с помощью position (), но не смог найти его работоспособным, поскольку условие () может совпадать в любой позиции.
Заранее спасибо.