XML中的If-else语句
我有这样一个个人身份证号码:53012393715。第十个数字表示性别。我想使用if-else语句来执行这样的操作。首先,我应该从id获得第10个号码,在我的情况下是1(一)。如果数字是偶数(0,2,4,6,8),则表示女性,否则(1,3,5,7,9)表示男性。我需要在输出XML文件中获取性别 我尝试使用concat函数获取第10个数字,但它不起作用,而且我不知道如何正确使用if-else语句 我的输入XML文件:XML中的If-else语句,xml,xslt,Xml,Xslt,我有这样一个个人身份证号码:53012393715。第十个数字表示性别。我想使用if-else语句来执行这样的操作。首先,我应该从id获得第10个号码,在我的情况下是1(一)。如果数字是偶数(0,2,4,6,8),则表示女性,否则(1,3,5,7,9)表示男性。我需要在输出XML文件中获取性别 我尝试使用concat函数获取第10个数字,但它不起作用,而且我不知道如何正确使用if-else语句 我的输入XML文件: <ClientList> <Client>
<ClientList>
<Client>
<IdNumber>53012393715</IdNumber>
</Client>
</ClientList>
53012393715
这是我要获取的一个输出XML文件:
<ClientList>
<Client>
<Gender>man</Gender>
</Client>
</ClientList>
男人
使用子字符串
获取第10项
<xsl:variable name="gender" select="substring(IdNumber, 10, 1)" />
把这些放在一起会得到这个
<xsl:template match="Client">
<Client>
<xsl:variable name="gender" select="substring(IdNumber, 10, 1)" />
<xsl:choose>
<xsl:when test="number($gender) mod 2 = 1">Male</xsl:when>
<xsl:otherwise>Female</xsl:otherwise>
</xsl:choose>
</Client>
</xsl:template>
男性
女性
然而,如果您可以使用XSLT2.0,您将能够做到这一点
<xsl:value-of select="if (number($gender) mod 2 = 1) then 'male' else 'female'" />
使用
子字符串
获取第10项
<xsl:variable name="gender" select="substring(IdNumber, 10, 1)" />
把这些放在一起会得到这个
<xsl:template match="Client">
<Client>
<xsl:variable name="gender" select="substring(IdNumber, 10, 1)" />
<xsl:choose>
<xsl:when test="number($gender) mod 2 = 1">Male</xsl:when>
<xsl:otherwise>Female</xsl:otherwise>
</xsl:choose>
</Client>
</xsl:template>
男性
女性
然而,如果您可以使用XSLT2.0,您将能够做到这一点
<xsl:value-of select="if (number($gender) mod 2 = 1) then 'male' else 'female'" />
您尝试过什么?你的实际产出是多少?请学习如何创建一个,并检查。你尝试了什么?你的实际产出是多少?请学习如何创建一个,也请检查。非常感谢。顺便问一下,如何检查我是否可以使用XSLT2.0?它似乎比XSLT1.0更容易使用。这取决于您使用的处理器。查看您的处理器是否支持XSLT2.0非常感谢。顺便问一下,如何检查我是否可以使用XSLT2.0?它似乎比XSLT1.0更容易使用。这取决于您使用的处理器。请参阅以检查处理器是否支持XSLT 2.0