XML/XSLT stylesheet/every

Материал из Web эксперт
Перейти к: навигация, поиск

every and some operator

   <source lang="xml">

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>
    greater than 4, print "Yes," otherwise</xsl:text>
   <xsl:text>
    print "No"

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

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

         </xsl:text>
   <xsl:value-of 
     select="if (every $m in $English-months satisfies 
             (string-length($m) > 4)) then "Yes" else "No""/>
   <xsl:text>
</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
</source>