根据xslt中的条件将字符串分配给变量

har*_*rsh 4 xml xslt xpath xslt-2.0 xslt-1.0

如果特定属性返回特定值,我想为变量赋值.在这里,如果pr:all/[@ pr:name = current()/ @ cx:name]/pr:properties /(@ ls:middlename)是"cengie",我希望将值"young"分配给可变"person" ".那可能吗?

<xsl:variable
  name='person' select='pr:all/[@pr:name=current()/@cx:name]/pr:properties/(@ls:middlename)'>
</xsl:variable>
Run Code Online (Sandbox Code Playgroud)

Tim*_*m C 19

您可以将任何xslt代码放在xsl:变量中,并将结果分配给变量.在这种情况下,您可以使用xsl:if来检查您的情况

<xsl:variable name="person"> 
    <xsl:if test="pr:all[@pr:name=current()/@cx:name]/pr:properties[@ls:middlename='cengie']">
       <xsl:text>young</xsl:text>
    </xsl:if>
</xsl:variable> 
Run Code Online (Sandbox Code Playgroud)

如果你想在这里使用'else',你可以使用xsl:choose代替.