title: XSLT templates' ambiguity clarification
body: <p>When ran the following input XML</p>
  
  <pre><code>&lt;root&gt;
      &lt;value&gt;false&lt;/value&gt;
      &lt;value&gt;true&lt;/value&gt;
  &lt;/root&gt;
  </code></pre>
  
  <p>against the following XSLT:</p>
  
  <pre><code>&lt;xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;
  &lt;xsl:output method="xml" indent="yes"/&gt;
  &lt;xsl:strip-space elements="*"/&gt;
  
  &lt;xsl:template match="@*|node()"&gt;
    &lt;xsl:copy&gt;
      &lt;xsl:apply-templates select="@*|node()"/&gt;
    &lt;/xsl:copy&gt;
  &lt;/xsl:template&gt;
  
  &lt;xsl:template match="value"&gt;
      &lt;true_value/&gt;
  &lt;/xsl:template&gt;
  
  &lt;xsl:template match="value[. = 'false']"&gt;
      &lt;false_value/&gt;
  &lt;/xsl:template&gt;
  
  &lt;/xsl:stylesheet&gt;
  </code></pre>
  
  <p>I get <code>value</code> element with 'false' as its content changed to <code>false_value</code>.. and all other <code>value</code> elements are turned into <code>true_value</code>.
  Output:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;root&gt;
     &lt;false_value/&gt;
     &lt;true_value/&gt;
  &lt;/root&gt;
  </code></pre>
  
  <p>But only when I change the template match to <code>root/value</code> do I get ambiguous template warning.</p>
  
  <pre><code>&lt;xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;
  &lt;xsl:output method="xml" indent="yes"/&gt;
  &lt;xsl:strip-space elements="*"/&gt;
  
  &lt;xsl:template match="@*|node()"&gt;
    &lt;xsl:copy&gt;
      &lt;xsl:apply-templates select="@*|node()"/&gt;
    &lt;/xsl:copy&gt;
  &lt;/xsl:template&gt;
  
  &lt;xsl:template match="root/value"&gt;
      &lt;true_value/&gt;
  &lt;/xsl:template&gt;
  
  &lt;xsl:template match="root/value[. = 'false']"&gt;
      &lt;false_value/&gt;
  &lt;/xsl:template&gt;
  
  &lt;/xsl:stylesheet&gt;
  </code></pre>
  
  <p>Please help me by explaining what difference does addition of <code>root</code> to the xpath in <code>xsl:template</code>'s <code>@match</code> makes that I get this warning.(<code>Ambiguous rule match for /root[1]/value[1]</code>)</p>