title: How to define same-named elements in DTD having different parent elements?
body: <p>Let's say I have the following XML:</p>
  
  <pre><code>&lt;data&gt;
    &lt;authors&gt;
      &lt;author&gt;
        &lt;name&gt;
          &lt;first_name&gt;Stephen&lt;/first_name&gt;
          &lt;last_name&gt;Baxter&lt;/last_name&gt;
        &lt;/name&gt;
      &lt;/author&gt;
      &lt;author&gt;
        &lt;name&gt;
          &lt;first_name&gt;Joe&lt;/first_name&gt;
          &lt;last_name&gt;Haldeman&lt;/last_name&gt;
        &lt;/name&gt;
      &lt;author&gt;
    &lt;/authors&gt;
    &lt;books&gt;
      &lt;book&gt;
        &lt;name&gt;The Time Ships&lt;/name&gt;
      &lt;/book&gt;
      &lt;book&gt;
        &lt;name&gt;The Forever War&lt;/name&gt;
      &lt;book&gt;
    &lt;/books&gt;
  &lt;/data&gt;
  </code></pre>
  
  <p>In my DTD, how would I account for the fact that the "name" element is used for both authors and books and can have different child elements--like this?</p>
  
  <pre><code>&lt;!ELEMENT name (#PCDATA|first_name,last_name)&gt;
  </code></pre>