У меня есть для каждого цикла в моем файле xslt, который будет обрабатывать несколько процессов, если какое-либо из условий имеет соответствующий сценарий, чем я хочу выйти из цикла и дать первое значение (которое удовлетворило условие) для моего вывода.Как избежать дубликатов, генерируемых из XSLT
Вот мой файл XML
<Product>
<ContactDetails>
<addressdetail>
<Street>Stack</Street>
<HouseNumber>123</HouseNumber>
</addressdetail>
<addressdetail>
<Street>Stack</Street>
<HouseNumber>123456</HouseNumber>
</addressdetail>
<addressdetail>
<Street>Stack</Street>
<HouseNumber>456</HouseNumber>
</addressdetail>
</ContactDetails>
</Product>
и в моем файле XSL я некоторые KINDING как этот
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:saxon="http://saxon.sf.net/" extension-element-prefixes="saxon">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<p1:product_req>
<p2:Contactdetails_Req>
<xsl:for-each select ="Product[ContactDetails= 'addressdetails'] ">
<xsl:if test="Street='Stack'" >
<p3:SC>abc</p3:SC>
</xsl:if>
</xsl:for-each>
</p2:Contactdetails_Req>
</p1:product_req>
</xsl:template>
</xsl:stylesheet>
После преобразования, я имею три значения на моем выходе XML
<p1:Product_Req>
<p2:ContactDetails_Req>
<p3:ac>abc</p3:ac>
<p3:ac>abc</p3:ac>
<p3:ac>abc</p3:ac>
</p1:Product_Req>
</p2:ContactDetails_Req>
Но мне не нужны значения отталкивания на моем выходе xml, мне нужно только одно значение на моем узле Xml ac. Я попытался с помощью тождественного преобразования, но ничего не кажется, работает, любая помощь высоко ценится
<p1:Product_Req>
<p2:ContactDetails_Req>
<p3:ac>abc</p3:ac>
</p1:Product_Req>
</p2:ContactDetails_Req>
мне нужно, чтобы получить мой преобразованный выход без дублей.
Пожалуйста, разместите воспроизводимый пример. Ваш код делает ** ** ** не предоставляет вывод, который вы требуете. –