<?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_Tutorial%2FXSLT_stylesheet%2Ftemplate</id>
		<title>XML Tutorial/XSLT stylesheet/template - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=XML_Tutorial%2FXSLT_stylesheet%2Ftemplate"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=XML_Tutorial/XSLT_stylesheet/template&amp;action=history"/>
		<updated>2026-04-29T20:23:24Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=XML_Tutorial/XSLT_stylesheet/template&amp;diff=10859&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=XML_Tutorial/XSLT_stylesheet/template&amp;diff=10859&amp;oldid=prev"/>
				<updated>2010-05-26T08:26:59Z</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_Tutorial/XSLT_stylesheet/template&amp;diff=10858&amp;oldid=prev</id>
		<title> в 18:22, 25 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=XML_Tutorial/XSLT_stylesheet/template&amp;diff=10858&amp;oldid=prev"/>
				<updated>2010-05-25T18:22:32Z</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;== A template can match from a selection of location paths, individual paths being separated with &amp;quot;|&amp;quot;.==&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;
File: Data.xml&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;
&amp;lt;employee&amp;gt;&lt;br /&gt;
  &amp;lt;firstName&amp;gt;Joe&amp;lt;/firstName&amp;gt;&lt;br /&gt;
  &amp;lt;surname&amp;gt;Smith&amp;lt;/surname&amp;gt;&lt;br /&gt;
&amp;lt;/employee&amp;gt;&lt;br /&gt;
File: Transform.xslt&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;
&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:template match=&amp;quot;firstName|surname&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:text&amp;gt;[template: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:text&amp;gt; outputs &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:text&amp;gt; ]&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
    &amp;lt;/div&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;
  &amp;lt;div&amp;gt;[template: firstName outputs Joe ]&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div&amp;gt;[template: surname outputs Smith ]&amp;lt;/div&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Call template based function recursively==&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;
File: Data.xml&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;numbers&amp;gt;&lt;br /&gt;
  &amp;lt;x&amp;gt;4&amp;lt;/x&amp;gt;&lt;br /&gt;
  &amp;lt;y&amp;gt;3.2&amp;lt;/y&amp;gt;&lt;br /&gt;
  &amp;lt;z&amp;gt;11&amp;lt;/z&amp;gt;&lt;br /&gt;
&amp;lt;/numbers&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;
  version=&amp;quot;1.0&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:variable name=&amp;quot;iterations&amp;quot; select=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template name=&amp;quot;myFunction&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;i&amp;quot;&amp;gt;1&amp;lt;/xsl:param&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;myValue&amp;quot;&amp;gt;0&amp;lt;/xsl:param&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:when test=&amp;quot;$i &amp;amp;lt;= $iterations&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:call-template name=&amp;quot;myFunction&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:with-param name=&amp;quot;i&amp;quot; select=&amp;quot;$i + 4&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:with-param name=&amp;quot;myValue&amp;quot;&lt;br /&gt;
            select=&amp;quot;$myValue + (4 div $i)&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:call-template&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:value-of select=&amp;quot;$myValue&amp;quot; /&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:template&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:call-template name=&amp;quot;myFunction&amp;quot; /&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;
4.8&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== If you want to include  descendants of the node, you have to explicitly request their templates.==&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;
File: Data.xml&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;
&amp;lt;data&amp;gt;&lt;br /&gt;
    &amp;lt;AAA id=&amp;quot;a1&amp;quot; pos=&amp;quot;start&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/AAA&amp;gt;&lt;br /&gt;
    &amp;lt;AAA id=&amp;quot;a2&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;CCC id=&amp;quot;c1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;DDD id=&amp;quot;d1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/CCC&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;CCC id=&amp;quot;c2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/BBB&amp;gt;&lt;br /&gt;
    &amp;lt;/AAA&amp;gt;&lt;br /&gt;
&amp;lt;/data&amp;gt;&lt;br /&gt;
File: Transform.xslt&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;
&amp;lt;xsl:stylesheet&lt;br /&gt;
      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:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/data&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;AAA&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:purple&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt; id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;BBB&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt; id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;CCC&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:maroon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt; id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;DDD&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt; id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/div&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;
    &amp;lt;div style=&amp;quot;color:purple&amp;quot;&amp;gt;AAA id=a1&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:blue&amp;quot;&amp;gt;BBB id=b1&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:blue&amp;quot;&amp;gt;BBB id=b2&amp;lt;/div&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;div style=&amp;quot;color:purple&amp;quot;&amp;gt;AAA id=a2&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:blue&amp;quot;&amp;gt;BBB id=b3&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:blue&amp;quot;&amp;gt;BBB id=b4&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:maroon&amp;quot;&amp;gt;CCC id=c1&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div style=&amp;quot;color:green&amp;quot;&amp;gt;DDD id=d1&amp;lt;/div&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:blue&amp;quot;&amp;gt;BBB id=b5&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div style=&amp;quot;color:maroon&amp;quot;&amp;gt;CCC id=c2&amp;lt;/div&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Mark a parameter as requred==&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;
File: Transform.xslt&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;
&amp;lt;xsl:stylesheet version=&amp;quot;2.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: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:call-template name=&amp;quot;date-formatter&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:with-param name=&amp;quot;date&amp;quot; select=&amp;quot;current-date()&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:call-template&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template name=&amp;quot;date-formatter&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;date&amp;quot; required=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:value-of select=&amp;quot;format-date($date, &amp;quot;[M01]/[D01]/[Y0001]&amp;quot;)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
12/11/2008&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== match=county[starts-with(.,K)]==&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;
File: Data.xml&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;US-ASCII&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;state name=&amp;quot;New York&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;county&amp;gt;Bristol&amp;lt;/county&amp;gt;&lt;br /&gt;
 &amp;lt;county&amp;gt;Kent&amp;lt;/county&amp;gt;&lt;br /&gt;
 &amp;lt;county&amp;gt;Newport&amp;lt;/county&amp;gt;&lt;br /&gt;
 &amp;lt;county&amp;gt;Providence&amp;lt;/county&amp;gt;&lt;br /&gt;
 &amp;lt;county&amp;gt;Washington&amp;lt;/county&amp;gt;&lt;br /&gt;
&amp;lt;/state&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;US-ASCII&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:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;county state=&amp;quot;{state/@name}&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates select=&amp;quot;state&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/county&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;state&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;county&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;county[starts-with(.,&amp;quot;K&amp;quot;)]&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;first-match&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
    &amp;lt;/first-match&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;county[2]&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;last-match&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
    &amp;lt;/last-match&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;county&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
    &amp;lt;/name&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;
&amp;lt;county state=&amp;quot;New York&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Bristol&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;last-match&amp;gt;Kent&amp;lt;/last-match&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Newport&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Providence&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Washington&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;/county&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Parts of XML document to which template should be applied are determined by location paths==&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;
File: Data.xml&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;
&amp;lt;data&amp;gt;&lt;br /&gt;
    &amp;lt;AAA id=&amp;quot;a1&amp;quot; pos=&amp;quot;start&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/AAA&amp;gt;&lt;br /&gt;
    &amp;lt;AAA id=&amp;quot;a2&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;CCC id=&amp;quot;c1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;DDD id=&amp;quot;d1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/CCC&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;CCC id=&amp;quot;c2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/BBB&amp;gt;&lt;br /&gt;
    &amp;lt;/AAA&amp;gt;&lt;br /&gt;
&amp;lt;/data&amp;gt;&lt;br /&gt;
File: Transform.xslt&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;
&amp;lt;xsl:stylesheet&lt;br /&gt;
      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:template match=&amp;quot;BBB&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:purple&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt; id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/source/AAA/CCC/DDD&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt; id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&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;
    &lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:purple&amp;quot;&amp;gt;BBB id=b1&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:purple&amp;quot;&amp;gt;BBB id=b2&amp;lt;/div&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:purple&amp;quot;&amp;gt;BBB id=b3&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:purple&amp;quot;&amp;gt;BBB id=b4&amp;lt;/div&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
        &lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:purple&amp;quot;&amp;gt;BBB id=b5&amp;lt;/div&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Processing always starts with the template match=&amp;quot;/&amp;quot;==&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;
File: Data.xml&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;
&amp;lt;data&amp;gt;&lt;br /&gt;
    &amp;lt;AAA id=&amp;quot;a1&amp;quot; pos=&amp;quot;start&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/AAA&amp;gt;&lt;br /&gt;
    &amp;lt;AAA id=&amp;quot;a2&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;CCC id=&amp;quot;c1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;DDD id=&amp;quot;d1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/CCC&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;CCC id=&amp;quot;c2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/BBB&amp;gt;&lt;br /&gt;
    &amp;lt;/AAA&amp;gt;&lt;br /&gt;
&amp;lt;/data&amp;gt;&lt;br /&gt;
File: Transform.xslt&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;
&amp;lt;xsl:stylesheet&lt;br /&gt;
      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:template match=&amp;quot;AAA&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:purple&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt; id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/div&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;
    &amp;lt;div style=&amp;quot;color:purple&amp;quot;&amp;gt;AAA id=a1&amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;div style=&amp;quot;color:purple&amp;quot;&amp;gt;AAA id=a2&amp;lt;/div&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== template match=state priority=2==&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;
File: Data.xml&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;US-ASCII&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;state name=&amp;quot;New York&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;county&amp;gt;Bristol&amp;lt;/county&amp;gt;&lt;br /&gt;
 &amp;lt;county&amp;gt;Kent&amp;lt;/county&amp;gt;&lt;br /&gt;
 &amp;lt;county&amp;gt;Newport&amp;lt;/county&amp;gt;&lt;br /&gt;
 &amp;lt;county&amp;gt;Providence&amp;lt;/county&amp;gt;&lt;br /&gt;
 &amp;lt;county&amp;gt;Washington&amp;lt;/county&amp;gt;&lt;br /&gt;
&amp;lt;/state&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;US-ASCII&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:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;county state=&amp;quot;{state/@name}&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates select=&amp;quot;state&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/county&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;state&amp;quot; priority=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;county&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;state&amp;quot; priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;county[starts-with(.,&amp;quot;K&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;county&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
    &amp;lt;/name&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;
&amp;lt;county state=&amp;quot;New York&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Bristol&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Kent&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Newport&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Providence&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Washington&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;/county&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Template with parameters==&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;
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: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:call-template name=&amp;quot;test&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:with-param name=&amp;quot;param1&amp;quot; select=&amp;quot;&amp;quot;57&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:with-param name=&amp;quot;param2&amp;quot; select=&amp;quot;&amp;quot;93&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:call-template&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template name=&amp;quot;test&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;param1&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text&amp;gt;Value of $param1: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:value-of select=&amp;quot;$param1&amp;quot;/&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;
Value of $param1: 57&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== the default action in the absence of priority attributes.==&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;
File: Data.xml&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;
&amp;lt;data&amp;gt;&lt;br /&gt;
    &amp;lt;AAA id=&amp;quot;a1&amp;quot; pos=&amp;quot;start&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/AAA&amp;gt;&lt;br /&gt;
    &amp;lt;AAA id=&amp;quot;a2&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;CCC id=&amp;quot;c1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;CCC id=&amp;quot;c2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/CCC&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;CCC id=&amp;quot;c3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/BBB&amp;gt;&lt;br /&gt;
    &amp;lt;/AAA&amp;gt;&lt;br /&gt;
&amp;lt;/data&amp;gt;&lt;br /&gt;
File: Transform.xslt&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;
&amp;lt;xsl:stylesheet&lt;br /&gt;
      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:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates select=&amp;quot;//CCC&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;CCC&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;h3 style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt; (id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
      &amp;lt;/h3&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;CCC/CCC&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;h2 style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt; (id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
      &amp;lt;/h2&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;h3 style=&amp;quot;color:blue&amp;quot;&amp;gt;CCC (id=c1)&amp;lt;/h3&amp;gt;&amp;lt;h2 style=&amp;quot;color:red&amp;quot;&amp;gt;CCC (id=c2)&amp;lt;/h2&amp;gt;&amp;lt;h3 style=&amp;quot;color:blue&amp;quot;&amp;gt;CCC (id=c3)&amp;lt;/h3&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== This priority order can be specified with the priority attributte.==&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;
File: Data.xml&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;
&amp;lt;data&amp;gt;&lt;br /&gt;
    &amp;lt;AAA id=&amp;quot;a1&amp;quot; pos=&amp;quot;start&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/AAA&amp;gt;&lt;br /&gt;
    &amp;lt;AAA id=&amp;quot;a2&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;CCC id=&amp;quot;c1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;CCC id=&amp;quot;c2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/CCC&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;CCC id=&amp;quot;c3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/BBB&amp;gt;&lt;br /&gt;
    &amp;lt;/AAA&amp;gt;&lt;br /&gt;
&amp;lt;/data&amp;gt;&lt;br /&gt;
File: Transform.xslt&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;
&amp;lt;xsl:stylesheet&lt;br /&gt;
      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:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates select=&amp;quot;//CCC&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;CCC&amp;quot; priority=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;h3 style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt; (id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
      &amp;lt;/h3&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;CCC/CCC&amp;quot; priority=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;h2 style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt; (id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
      &amp;lt;/h2&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;h3 style=&amp;quot;color:blue&amp;quot;&amp;gt;CCC (id=c1)&amp;lt;/h3&amp;gt;&amp;lt;h2 style=&amp;quot;color:red&amp;quot;&amp;gt;CCC (id=c2)&amp;lt;/h2&amp;gt;&amp;lt;h3 style=&amp;quot;color:blue&amp;quot;&amp;gt;CCC (id=c3)&amp;lt;/h3&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== When a template for the node exists, there is no default processing invoked==&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;
File: Data.xml&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;
&amp;lt;data&amp;gt;    &amp;lt;AAA id=&amp;quot;a1&amp;quot; pos=&amp;quot;start&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/AAA&amp;gt;&lt;br /&gt;
    &amp;lt;AAA id=&amp;quot;a2&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;CCC id=&amp;quot;c1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;DDD id=&amp;quot;d1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/CCC&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;CCC id=&amp;quot;c2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/BBB&amp;gt;&lt;br /&gt;
    &amp;lt;/AAA&amp;gt;&lt;br /&gt;
&amp;lt;/data&amp;gt;&lt;br /&gt;
File: Transform.xslt&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;
&amp;lt;xsl:stylesheet&lt;br /&gt;
      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:template match=&amp;quot;AAA&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:purple&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt; id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;BBB&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt; id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;CCC&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:maroon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt; id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;DDD&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt; id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/div&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;div style=&amp;quot;color:purple&amp;quot;&amp;gt;AAA id=a1&amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;div style=&amp;quot;color:purple&amp;quot;&amp;gt;AAA id=a2&amp;lt;/div&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== While XSLT does not define while and for loops, their behavior can be simulated.==&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;
File: Data.xml&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;
&amp;lt;data&amp;gt;&lt;br /&gt;
    &amp;lt;AAA repeat=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;BBB repeat=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;CCC repeat=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/data&amp;gt;&lt;br /&gt;
File: Transform.xslt&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;
&amp;lt;xsl:stylesheet&lt;br /&gt;
      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:template match=&amp;quot;/data/*&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;paragraph&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:call-template name=&amp;quot;for&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:with-param name=&amp;quot;stop&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@repeat&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:with-param&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:call-template&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template name=&amp;quot;for&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:param name=&amp;quot;start&amp;quot;&amp;gt;1&amp;lt;/xsl:param&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:param name=&amp;quot;stop&amp;quot;&amp;gt;1&amp;lt;/xsl:param&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:param name=&amp;quot;step&amp;quot;&amp;gt;1&amp;lt;/xsl:param&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:text/&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:if test=&amp;quot;$start &amp;amp;lt; $stop&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:call-template name=&amp;quot;for&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:with-param name=&amp;quot;stop&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;$stop&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:with-param&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:with-param name=&amp;quot;start&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;$start + $step&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:with-param&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:call-template&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;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;paragraph&amp;gt;AAAAAAAAA&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;paragraph&amp;gt;BBBBBB&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;paragraph&amp;gt;CCCCCCCCCCCCCCC&amp;lt;/p&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== With modes an element can be processed multiple times, each time producing a different result.==&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;
In &amp;lt;stylesheet id=&amp;quot;id3&amp;quot;/&amp;gt; one of the modes does not exist.&lt;br /&gt;
File: Data.xml&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;
&amp;lt;data&amp;gt;&lt;br /&gt;
    &amp;lt;AAA id=&amp;quot;a1&amp;quot; pos=&amp;quot;start&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/AAA&amp;gt;&lt;br /&gt;
    &amp;lt;AAA id=&amp;quot;a2&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;CCC id=&amp;quot;c1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;CCC id=&amp;quot;c2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/CCC&amp;gt;&lt;br /&gt;
      &amp;lt;BBB id=&amp;quot;b5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;CCC id=&amp;quot;c3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/BBB&amp;gt;&lt;br /&gt;
    &amp;lt;/AAA&amp;gt;&lt;br /&gt;
&amp;lt;/data&amp;gt;&lt;br /&gt;
File: Transform.xslt&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;
&amp;lt;xsl:stylesheet&lt;br /&gt;
      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:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates select=&amp;quot;//CCC&amp;quot; mode=&amp;quot;red&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates select=&amp;quot;//CCC&amp;quot; mode=&amp;quot;blue&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates select=&amp;quot;//CCC&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;CCC&amp;quot; mode=&amp;quot;red&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt; id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;CCC&amp;quot; mode=&amp;quot;blue&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt; id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;CCC&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;color:purple&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt; id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/div&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;div style=&amp;quot;color:red&amp;quot;&amp;gt;CCC id=c1&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;color:red&amp;quot;&amp;gt;CCC id=c2&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;color:red&amp;quot;&amp;gt;CCC id=c3&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;color:blue&amp;quot;&amp;gt;CCC id=c1&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;color:blue&amp;quot;&amp;gt;CCC id=c2&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;color:blue&amp;quot;&amp;gt;CCC id=c3&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;color:purple&amp;quot;&amp;gt;CCC id=c1&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;color:purple&amp;quot;&amp;gt;CCC id=c2&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;color:purple&amp;quot;&amp;gt;CCC id=c3&amp;lt;/div&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== without if==&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;
File: Data.xml&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;africa&amp;gt;&lt;br /&gt;
 &amp;lt;nation&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;Algeria&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;capital&amp;gt;Algiers&amp;lt;/capital&amp;gt;&lt;br /&gt;
  &amp;lt;population&amp;gt;32277942&amp;lt;/population&amp;gt;&lt;br /&gt;
  &amp;lt;cc&amp;gt;dz&amp;lt;/cc&amp;gt;&lt;br /&gt;
 &amp;lt;/nation&amp;gt;&lt;br /&gt;
&amp;lt;/africa&amp;gt;&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;US-ASCII&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:output method=&amp;quot;text&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;africa&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;nation&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;nation[population &amp;amp;lt;= 10000000]&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text&amp;gt; * &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:value-of select=&amp;quot;name&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text&amp;gt; (&amp;amp;lt;= 10M)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text&amp;gt;&amp;amp;#10;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;nation[population &amp;gt; 10000000]&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text&amp;gt; * &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:value-of select=&amp;quot;name&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text&amp;gt; (&amp;gt; 10M)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text&amp;gt;&amp;amp;#10;&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;
 * Algeria (&amp;gt; 10M)&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== xsl:template match=&amp;quot;/&amp;quot;==&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;
File: Data.xml&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;
&amp;lt;data&amp;gt;&lt;br /&gt;
  &amp;lt;element&amp;gt;Fe&amp;lt;/element&amp;gt;&lt;br /&gt;
  &amp;lt;element&amp;gt;Cl&amp;lt;/element&amp;gt;&lt;br /&gt;
  &amp;lt;element&amp;gt;Br&amp;lt;/element&amp;gt;&lt;br /&gt;
  &amp;lt;element&amp;gt;I&amp;lt;/element&amp;gt;&lt;br /&gt;
  &amp;lt;element&amp;gt;Ni&amp;lt;/element&amp;gt;&lt;br /&gt;
  &amp;lt;element&amp;gt;H&amp;lt;/element&amp;gt;&lt;br /&gt;
  &amp;lt;element&amp;gt;Po&amp;lt;/element&amp;gt;&lt;br /&gt;
  &amp;lt;element&amp;gt;S&amp;lt;/element&amp;gt;&lt;br /&gt;
  &amp;lt;element&amp;gt;O&amp;lt;/element&amp;gt;&lt;br /&gt;
&amp;lt;/data&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 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:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:copy/&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>