Я просто хотел проверить, можно ли каким-либо образом избежать подробного кодирования, как показано ниже в xslt1.0, где у нас есть несколько условий проверки, причем выходные элементы должны копироваться на основе определенных условий. Если условие не верно, то сам элемент будет отсутствовать в выходе. Причина, о которой я спрашиваю, у нас есть много элементов, присутствующих в файле xsl.xslt эффективный способ проверки условий
Мой XSLT
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
<xsl:output omit-xml-declaration="yes" indent="yes" />
<xsl:strip-space elements="*" />
<xsl:template match="/">
<Root>
<xsl:if test="Root/a/text() = '1'">
<first>present</first>
</xsl:if>
<xsl:if test="Root/b/text() = '1'">
<second>present</second>
</xsl:if>
<xsl:if test="Root/c/text() = '1'">
<third>present</third>
</xsl:if>
<xsl:if test="Root/d/text() = '1'">
<fourth>present</fourth>
</xsl:if>
</Root>
</xsl:template>
</xsl:stylesheet>
мой вклад XML
<Root>
<a>1</a>
<b>1</b>
<c>0</c>
<d>1</d>
</Root>
мой выход
<Root>
<first>present</first>
<second>present</second>
<fourth>present</fourth>
</Root>