<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=XML%2FXSLT_stylesheet%2Fif</id>
		<title>XML/XSLT stylesheet/if - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=XML%2FXSLT_stylesheet%2Fif"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=XML/XSLT_stylesheet/if&amp;action=history"/>
		<updated>2026-04-04T19:47:34Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=XML/XSLT_stylesheet/if&amp;diff=10401&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=XML/XSLT_stylesheet/if&amp;diff=10401&amp;oldid=prev"/>
				<updated>2010-05-26T08:26:19Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 08:26, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=XML/XSLT_stylesheet/if&amp;diff=10400&amp;oldid=prev</id>
		<title> в 18:22, 25 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=XML/XSLT_stylesheet/if&amp;diff=10400&amp;oldid=prev"/>
				<updated>2010-05-25T18:22:29Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==An example of if-then-else logic in XSLT 1.0==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; &lt;br /&gt;
  xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:param name=&amp;quot;x&amp;quot; select=&amp;quot;&amp;quot;10&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;text&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text&amp;gt;&amp;amp;#xA;An example of if-then-else logic in XSLT 1.0:&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text&amp;gt;&amp;amp;#xA;&amp;amp;#xA;  If $x is larger than 10, print &amp;quot;Big&amp;quot;, &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text&amp;gt;&amp;amp;#xA;    otherwise print &amp;quot;Little&amp;quot;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text&amp;gt;&amp;amp;#xA;&amp;amp;#xA;           &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:when test=&amp;quot;$x &amp;amp;gt; 10&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt;Big&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt;Little&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text&amp;gt;&amp;amp;#xA;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
An example of if-then-else logic in XSLT 1.0:&lt;br /&gt;
  If $x is larger than 10, print &amp;quot;Big&amp;quot;, &lt;br /&gt;
    otherwise print &amp;quot;Little&amp;quot;&lt;br /&gt;
           Little&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Branching==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; standalone=&amp;quot;no&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;transcript&amp;gt;&lt;br /&gt;
  &amp;lt;student id=&amp;quot;STU12345&amp;quot; name=&amp;quot;name 1&amp;quot; status=&amp;quot;active&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;home_address&amp;gt;35 Wall Street, Wonderland, NJ&amp;lt;/home_address&amp;gt;&lt;br /&gt;
    &amp;lt;interests&amp;gt;&lt;br /&gt;
      &amp;lt;interest&amp;gt;interest 1&amp;lt;/interest&amp;gt;&lt;br /&gt;
      &amp;lt;interest&amp;gt;interest 2&amp;lt;/interest&amp;gt;&lt;br /&gt;
      &amp;lt;interest&amp;gt;interest 3&amp;lt;/interest&amp;gt;&lt;br /&gt;
    &amp;lt;/interests&amp;gt;&lt;br /&gt;
  &amp;lt;/student&amp;gt;&lt;br /&gt;
  &amp;lt;term&amp;gt;&lt;br /&gt;
    &amp;lt;heading name=&amp;quot;Winter 1999&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;course&amp;gt;&lt;br /&gt;
      &amp;lt;course-name&amp;gt;course 1&amp;lt;/course-name&amp;gt;&lt;br /&gt;
      &amp;lt;grade&amp;gt;A-&amp;lt;/grade&amp;gt;&lt;br /&gt;
      &amp;lt;credits&amp;gt;4&amp;lt;/credits&amp;gt;&lt;br /&gt;
    &amp;lt;/course&amp;gt;&lt;br /&gt;
    &amp;lt;course&amp;gt;&lt;br /&gt;
      &amp;lt;course-name&amp;gt;course 2&amp;lt;/course-name&amp;gt;&lt;br /&gt;
      &amp;lt;grade&amp;gt;A&amp;lt;/grade&amp;gt;&lt;br /&gt;
      &amp;lt;credits&amp;gt;3&amp;lt;/credits&amp;gt;&lt;br /&gt;
    &amp;lt;/course&amp;gt;&lt;br /&gt;
  &amp;lt;/term&amp;gt;&lt;br /&gt;
  &amp;lt;summary&amp;gt;summary&amp;lt;/summary&amp;gt;&lt;br /&gt;
  &amp;lt;comments&amp;gt;&lt;br /&gt;
    comments&lt;br /&gt;
  &amp;lt;/comments&amp;gt;&lt;br /&gt;
&amp;lt;/transcript&amp;gt;&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;transcript&amp;quot;&amp;gt;&lt;br /&gt;
    Student received A&amp;quot;s in the following courses:&lt;br /&gt;
    &amp;lt;xsl:apply-templates&lt;br /&gt;
      select=&amp;quot;term/course[starts-with(grade,&amp;quot;A&amp;quot;)]&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;course&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:value-of select=&amp;quot;course-name&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;not(position()=last())&amp;quot;&amp;gt;,&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    Student received A&amp;quot;s in the following courses:&lt;br /&gt;
    course 1,course 2&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Compare value of attribute with if statement==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Characters&amp;gt;&lt;br /&gt;
  &amp;lt;Character age=&amp;quot;1&amp;quot;&amp;gt;Character 1&amp;lt;/Character&amp;gt;&lt;br /&gt;
  &amp;lt;Character age=&amp;quot;2&amp;quot;&amp;gt;Character 2&amp;lt;/Character&amp;gt;&lt;br /&gt;
  &amp;lt;Character age=&amp;quot;3&amp;quot;&amp;gt;Character 3&amp;lt;/Character&amp;gt;&lt;br /&gt;
  &amp;lt;Character age=&amp;quot;4&amp;quot;&amp;gt;Character 4&amp;lt;/Character&amp;gt;&lt;br /&gt;
  &amp;lt;Character age=&amp;quot;5&amp;quot;&amp;gt;Character 5&amp;lt;/Character&amp;gt;&lt;br /&gt;
&amp;lt;/Characters&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
  version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;select&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h3&amp;gt;header 3.&amp;lt;/h3&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;/Characters/Character&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;Character&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;@age &amp;amp;gt; 2 &amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;paragraph&amp;gt;&lt;br /&gt;
        &amp;lt;b&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/b&amp;gt;&lt;br /&gt;
        is older than expected.&lt;br /&gt;
        &amp;lt;b&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@age&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/b&amp;gt;&lt;br /&gt;
        , is correct.&lt;br /&gt;
        &amp;lt;/paragraph&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
   &amp;lt;head&amp;gt;&lt;br /&gt;
      &amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=UTF-8&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;select&amp;lt;/title&amp;gt;&lt;br /&gt;
   &amp;lt;/head&amp;gt;&lt;br /&gt;
   &amp;lt;body&amp;gt;&lt;br /&gt;
      &amp;lt;h3&amp;gt;header 3.&amp;lt;/h3&amp;gt;&lt;br /&gt;
      &amp;lt;paragraph&amp;gt;&amp;lt;b&amp;gt;Character 3&amp;lt;/b&amp;gt;&lt;br /&gt;
                 is older than expected.&lt;br /&gt;
                 &amp;lt;b&amp;gt;3&amp;lt;/b&amp;gt;&lt;br /&gt;
                 , is correct.&lt;br /&gt;
                 &lt;br /&gt;
      &amp;lt;/paragraph&amp;gt;&lt;br /&gt;
      &amp;lt;paragraph&amp;gt;&amp;lt;b&amp;gt;Character 4&amp;lt;/b&amp;gt;&lt;br /&gt;
                 is older than expected.&lt;br /&gt;
                 &amp;lt;b&amp;gt;4&amp;lt;/b&amp;gt;&lt;br /&gt;
                 , is correct.&lt;br /&gt;
                 &lt;br /&gt;
      &amp;lt;/paragraph&amp;gt;&lt;br /&gt;
      &amp;lt;paragraph&amp;gt;&amp;lt;b&amp;gt;Character 5&amp;lt;/b&amp;gt;&lt;br /&gt;
                 is older than expected.&lt;br /&gt;
                 &amp;lt;b&amp;gt;5&amp;lt;/b&amp;gt;&lt;br /&gt;
                 , is correct.&lt;br /&gt;
                 &lt;br /&gt;
      &amp;lt;/paragraph&amp;gt;&lt;br /&gt;
   &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==if statement and value compare==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml&lt;br /&gt;
&amp;lt;poem&amp;gt;&lt;br /&gt;
  &amp;lt;a&amp;gt;line 1&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;b&amp;gt;line 1&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;c&amp;gt;line 1&amp;lt;/c&amp;gt;&lt;br /&gt;
  &amp;lt;d&amp;gt;&lt;br /&gt;
    line 1&lt;br /&gt;
  &amp;lt;/d&amp;gt;&lt;br /&gt;
&amp;lt;/poem&amp;gt;&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
  version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; omit-xml-declaration=&amp;quot;yes&amp;quot; indent=&amp;quot;no&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;a&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;. = &amp;quot;line 1&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
      1. a = &amp;quot;line 1&amp;quot;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;. = ../b&amp;quot;&amp;gt;2. a = ../b&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;. = ../c&amp;quot;&amp;gt;3. a = ../c&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;. != ../c&amp;quot;&amp;gt;4. a != ../c&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if&lt;br /&gt;
      test=&amp;quot;translate(.,&amp;quot;abcdefghijklmnopqrstuvwxyz&amp;quot;,&amp;quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ&amp;quot;) = translate(../c,&amp;quot;abcdefghijklmnopqrstuvwxyz&amp;quot;,&amp;quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ&amp;quot;)&amp;quot;&amp;gt;&lt;br /&gt;
      5. a = ../c (ignoring case)&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;. = ../d&amp;quot;&amp;gt;6. a = ../d&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;. = normalize-space(../d)&amp;quot;&amp;gt;&lt;br /&gt;
      7. a = normalize-space(../d)&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;b|c|d&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
      1. a = &amp;quot;line 1&amp;quot;&lt;br /&gt;
    2. a = ../b3. a = ../c&lt;br /&gt;
      5. a = ../c (ignoring case)&lt;br /&gt;
    &lt;br /&gt;
      7. a = normalize-space(../d)&lt;br /&gt;
    &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==if statement in for-each loop==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml &lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;book&amp;gt;&lt;br /&gt;
     &amp;lt;title&amp;gt;title 4&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;author&amp;gt;author 1&amp;lt;/author&amp;gt;&lt;br /&gt;
     &amp;lt;author&amp;gt;author 2&amp;lt;/author&amp;gt;&lt;br /&gt;
     &amp;lt;author&amp;gt;author 3&amp;lt;/author&amp;gt;&lt;br /&gt;
     &amp;lt;author&amp;gt;author 4&amp;lt;/author&amp;gt;&lt;br /&gt;
&amp;lt;/book&amp;gt;&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:transform xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
  version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
    by&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:if test=&amp;quot;position()!=last()&amp;quot;&amp;gt;,&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:if test=&amp;quot;position()=last()-1&amp;quot;&amp;gt;and&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:transform&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;title 4&lt;br /&gt;
    by&lt;br /&gt;
    author 1,author 2,author 3,andauthor 4&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==if statement with and operator==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Characters&amp;gt;&lt;br /&gt;
  &amp;lt;Character age=&amp;quot;1&amp;quot;&amp;gt;Character 1&amp;lt;/Character&amp;gt;&lt;br /&gt;
  &amp;lt;Character age=&amp;quot;2&amp;quot;&amp;gt;Character 2&amp;lt;/Character&amp;gt;&lt;br /&gt;
  &amp;lt;Character age=&amp;quot;3&amp;quot;&amp;gt;Character 3&amp;lt;/Character&amp;gt;&lt;br /&gt;
  &amp;lt;Character age=&amp;quot;4&amp;quot;&amp;gt;Character 4&amp;lt;/Character&amp;gt;&lt;br /&gt;
  &amp;lt;Character age=&amp;quot;5&amp;quot;&amp;gt;Character 5&amp;lt;/Character&amp;gt;&lt;br /&gt;
&amp;lt;/Characters&amp;gt;&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
                xmlns=&amp;quot;http://www.wbex.ru&amp;quot;&lt;br /&gt;
                xmlns:xsd=&amp;quot;http://www.w3.org/2000/10/XMLSchema&amp;quot;&lt;br /&gt;
                version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;{name(.)}&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;@*&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;(name(.) != &amp;quot;minOccurs&amp;quot;) and (name(.) != &amp;quot;maxOccurs&amp;quot;)&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;{name(.)}&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;lt;Characters xmlns=&amp;quot;http://www.wbex.ru&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Character age=&amp;quot;1&amp;quot;&amp;gt;Character 1&amp;lt;/Character&amp;gt;&lt;br /&gt;
  &amp;lt;Character age=&amp;quot;2&amp;quot;&amp;gt;Character 2&amp;lt;/Character&amp;gt;&lt;br /&gt;
  &amp;lt;Character age=&amp;quot;3&amp;quot;&amp;gt;Character 3&amp;lt;/Character&amp;gt;&lt;br /&gt;
  &amp;lt;Character age=&amp;quot;4&amp;quot;&amp;gt;Character 4&amp;lt;/Character&amp;gt;&lt;br /&gt;
  &amp;lt;Character age=&amp;quot;5&amp;quot;&amp;gt;Character 5&amp;lt;/Character&amp;gt;&lt;br /&gt;
&amp;lt;/Characters&amp;gt;&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use boolean operator in if statement==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;booklist&amp;gt;&lt;br /&gt;
  &amp;lt;book category=&amp;quot;S&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;title 1&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;author 1&amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book category=&amp;quot;FC&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;author 1&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;author 1&amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book category=&amp;quot;FC&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;title 3&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;author 1&amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book category=&amp;quot;CS&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;title 4&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;author 1&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;author 2&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;author 3&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;author 4&amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/booklist&amp;gt;&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:transform xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
  version=&amp;quot;2.0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;all-books&amp;quot; select=&amp;quot;//book&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;$all-books&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;h1&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/h1&amp;gt;&lt;br /&gt;
          &amp;lt;p&amp;gt;&lt;br /&gt;
            &amp;lt;i&amp;gt;by&amp;lt;/i&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;author[1]&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;count(author)!=1&amp;quot;&amp;gt;&lt;br /&gt;
              and others&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;/p&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;others&amp;quot; select=&amp;quot;$all-books[./@category=current()/@category and not(. is current())]&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;$others&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;p&amp;gt;Other books in this category:&amp;lt;/p&amp;gt;&lt;br /&gt;
            &amp;lt;ul&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;$others&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;li&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/li&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/ul&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:transform&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
   &amp;lt;body&amp;gt;&lt;br /&gt;
      &amp;lt;h1&amp;gt;title 1&amp;lt;/h1&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&amp;lt;i&amp;gt;by&amp;lt;/i&amp;gt;author 1&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
      &amp;lt;h1&amp;gt;author 1&amp;lt;/h1&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&amp;lt;i&amp;gt;by&amp;lt;/i&amp;gt;author 1&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;Other books in this category:&amp;lt;/p&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
         &amp;lt;li&amp;gt;title 3&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
      &amp;lt;h1&amp;gt;title 3&amp;lt;/h1&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&amp;lt;i&amp;gt;by&amp;lt;/i&amp;gt;author 1&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;Other books in this category:&amp;lt;/p&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
         &amp;lt;li&amp;gt;author 1&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
      &amp;lt;h1&amp;gt;title 4&amp;lt;/h1&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&amp;lt;i&amp;gt;by&amp;lt;/i&amp;gt;author 1&lt;br /&gt;
                       and others&lt;br /&gt;
                     &lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>