如何使用 XSLT 函数(用户定义函数)打印 even/odd 数字

How to print even/odd number using XSLT function (User Defined Function)

我在这里尝试创建用户定义函数并识别 even/odd 号码,请任何人帮助我们。

注意# 我们想要创建 单独的函数 for even and odd numbers

XML 输入

<?xml version="1.0" encoding="UTF-8"?>
<root>
<num>1</num>
<num>2</num>
<num>3</num>
<num>4</num>
<num>5</num>
<num>6</num>
<num>7</num>
<num>8</num>
<num>9</num>
<num>10</num>
</root>

预期输出

<?xml version="1.0" encoding="UTF-8"?>
<root>
<even>
    <num>2</num>
    <num>4</num>
    <num>6</num>
    <num>8</num>
    <num>10</num>
</even>
<odd>
    <num>1</num>
    <num>3</num>
    <num>5</num>
    <num>7</num>
    <num>9</num>
</odd>
</root>

您可以通过表达式来识别偶数:

not($number mod 2)

这个returnstrue()如果是偶数,false()否则


实现您显示的输出是微不足道的:

<xsl:template match="/root">
    <root>
        <even>
            <xsl:copy-of select="num[not(. mod 2)]"/>
        </even>
        <odd>
            <xsl:copy-of select="num[boolean(. mod 2)]"/>
        </odd>
    </root>
</xsl:template>