title: XSLT: select elements that have multiple @class values based off of 1 of those values
body: <p>I have an XML document which uses multiple @class values, like below:</p>
  
  <pre><code>&lt;html&gt;
       &lt;head&gt;
          &lt;title&gt;This is the title.&lt;/title&gt;
       &lt;/head&gt;
       &lt;body&gt;
           &lt;div class="sect1 rights"&gt;
               &lt;p&gt;This is the first paragraph.&lt;/p&gt;
           &lt;/div&gt;
       &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>However, my XSLT below does not work when both @class values are present. It will only work if <code>&lt;div class="rights"&gt;</code>.</p>
  
  <pre><code>&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  exclude-result-prefixes="xs"
  version="2.0"&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="*[@class='rights']"&gt;
      &lt;p&gt;Rights have not cleared to show this material.&lt;/p&gt;
  &lt;/xsl:template&gt;
  </code></pre>
  
  <p></p>
  
  <p>I don't think this is a priority of templates problem (from the identity template) as I'm not getting a warning of that. Is there a way to select this content? I won't always know what other class values are assigned besides "rights" so I can't use <code>*[@class='sect1 rights']</code> as sect1 will change throughout the document.</p>