every and some operator : every « XSLT stylesheet « XML






every and some operator


File: Data.xml


File: Transform.xslt

<?xml version="1.0"?>
<xsl:stylesheet version="2.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xsl:output method="text"/>
 
  <xsl:variable name="English-months" as="xs:string*"
    select="('January', 'February', 'March', 'April', 
             'May', 'June', 'July', 'August', 
             'September', 'October', 'November', 
             'December')"/>

  <xsl:template match="/">
    <xsl:text>  If ANY month name has a string-length() </xsl:text>
    <xsl:text>&#xA;    greater than 4, print 'Yes,' otherwise</xsl:text>
    <xsl:text>&#xA;    print 'No'&#xA;&#xA;         </xsl:text>

    <xsl:value-of 
      select="if (some $m in $English-months satisfies 
              (string-length($m) &gt; 4)) then 'Yes' else 'No'"/>

    <xsl:text>&#xA;</xsl:text>
    <xsl:text>&#xA;&#xA;  If EVERY month name has a string-</xsl:text>
    <xsl:text>length() &#xA;    greater than 4, print 'Yes,' </xsl:text>
    <xsl:text>otherwise&#xA;    print 'No'&#xA;&#xA;         </xsl:text>

    <xsl:value-of 
      select="if (every $m in $English-months satisfies 
              (string-length($m) &gt; 4)) then 'Yes' else 'No'"/>

    <xsl:text>&#xA;</xsl:text>
  </xsl:template>

</xsl:stylesheet>

Output:

  If ANY month name has a string-length() 
    greater than 4, print 'Yes,' otherwise
    print 'No'

         Yes


  If EVERY month name has a string-length() 
    greater than 4, print 'Yes,' otherwise
    print 'No'

         No

 








Related examples in the same category