title: XPath - Selecting multiple nodes on different levels depending on an attribute value
body: <p>If my XML looks like:  </p>
  
  <pre><code>&lt;root&gt;
      &lt;entry&gt;
          &lt;a&gt;
              &lt;b&gt;Some text&lt;/b&gt;
          &lt;/a&gt;
          &lt;c&gt;
              &lt;d&gt;Some other text&lt;/d&gt;
          &lt;/c&gt;
          &lt;e type="Blah"&gt;123&lt;/e&gt;
      &lt;/entry&gt;
      &lt;entry&gt; ... &lt;/entry&gt;
  &lt;/root&gt;
  </code></pre>
  
  <p>How can I select all the <code>&lt;b&gt;</code> and <code>&lt;d&gt;</code> from the entries where the type of <code>&lt;e&gt;</code> is equal to "Blah"?  </p>
  
  <p>I tried something like:  </p>
  
  <pre><code>//entry/a/b[../../e[@type="Blah"] | //entry/c/d[../../e[@type="Blah"]
  </code></pre>
  
  <p>But that only returns the <code>&lt;b&gt;</code>'s. Note: If it matters, I'm running this from Saxon HE 9.5.1</p>