添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
大方的茄子  ·  Vue3.0 ...·  2 年前    · 

布尔型函数是用于操作布尔型数据的函数,常有的有boolean(),ture(),false(),not(),lang().

1、boolean()

boolean(xpathExpression)函数用于将参数xpathExpression值转换为布尔型。对应数值型,如果数值等于0,boolean()函数返回false,其他返回true;对于节点如果节点存在返回true,否则返回false。

简单示例:

xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <numbers>
        <number>-1</number>
        <number>0</number>
        <number>0.1</number>
        <number>1</number>
        <number>2.1</number>
        <number>abc</number>
    </numbers>
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="text" version="1.0" encoding="gb2312" indent="yes"/>    
        <xsl:template match="/numbers">
           <xsl:for-each select="number">
                <xsl:value-of select="concat('convert ',.,' to  boolean:',boolean(number())) "/>
                <xsl:text>&#x000A;</xsl:text>       
           </xsl:for-each>
           <xsl:value-of select="concat('convert element number to  boolean:',boolean(number)) "/>
           <xsl:text>&#x000A;</xsl:text>
          <xsl:value-of select="concat('convert element noexistele to  boolean:',boolean(noexistele)) "/>
        </xsl:template>
    </xsl:stylesheet>
    convert 2.1 to boolean:true convert abc to boolean:false convert element number to boolean:true convert element noexistele to boolean:false
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="text" version="1.0" encoding="gb2312" indent="yes"/>    
        <xsl:template match="/root">
           <xsl:value-of select="concat('not(element) is:',not(element)) "/>
           <xsl:text>&#x000A;</xsl:text>
          <xsl:value-of select="concat('not(noexistele) is:',not(noexistele)) "/>
        </xsl:template>
    </xsl:stylesheet>

    5、lang()

    lang(string)函数用于判断上下文节点的xml:lang属性是否等于参数string。如果上下文节点没有设置xml:lang属性,lang()将按照上下文节点的最近祖先节点继承,如果都没有则返回false;lang()函数不对上下文的节点内容进行判断,只是判断其xml:lang属性;在比较的时候,不区分大小写。

    简单示例:

    <?xml version="1.0" encoding="UTF-8"?>
    <article>
        <title xml:lang="en">the article title</title>
        <para xml:lang="zh-cn">文章段落</para>
        <para xml:lang="FFF">文章段落</para>
    </article>
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="text" version="1.0" encoding="gb2312" indent="yes"/>    
        <xsl:template match="/article">
           <xsl:apply-templates select="title"/>
           <xsl:apply-templates select="para"/>
        </xsl:template>
        <xsl:template match="title">
            <xsl:value-of select="lang('en')"/>
            <xsl:text>&#x000A;</xsl:text>    
        </xsl:template>
        <xsl:template match="para">
            <xsl:value-of select="lang('zh-cn')"/>
            <xsl:text>&#x000A;</xsl:text>    
        </xsl:template>
    </xsl:stylesheet>