Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Each error is about an undeclared element. To resolve these specific errors, you would need to declare every element that is referenced in your DTD. (Add <code>&lt;!ELEMENT</code> declarations for <code>name</code>, <code>developer</code>, <code>engine</code>, etc.)</p> <p>Also, you have <code>name</code>, <code>developer</code>, <code>engine</code>, etc. declared as attributes (<code>&lt;!ATTLIST</code>).</p> <p>Instead of just resolving the errors, you should probably decide what you want to be an element and what you want to be an attribute.</p> <p>Here are some examples. (The DTDs and XML are together to make it easier to test. (The DTD is in an internal subset.) The DTDs can be separated.):</p> <p><strong>Using Elements</strong></p> <pre><code>&lt;!DOCTYPE gamelist [ &lt;!ELEMENT gamelist (game*)&gt; &lt;!ELEMENT game (data,metadata)&gt; &lt;!ELEMENT data (name,developer,engine?,releasedate?)&gt; &lt;!ELEMENT metadata (hoursplayed?,lastplayed?,lastdataupdate)&gt; &lt;!ELEMENT name (#PCDATA)&gt; &lt;!ELEMENT developer (#PCDATA)&gt; &lt;!ELEMENT engine (#PCDATA)&gt; &lt;!ELEMENT releasedate (#PCDATA)&gt; &lt;!ELEMENT hoursplayed (#PCDATA)&gt; &lt;!ELEMENT lastplayed (#PCDATA)&gt; &lt;!ELEMENT lastdataupdate (#PCDATA)&gt; ]&gt; &lt;gamelist&gt; &lt;game&gt; &lt;data&gt; &lt;name&gt;&lt;/name&gt; &lt;developer&gt;&lt;/developer&gt; &lt;engine&gt;&lt;/engine&gt; &lt;releasedate&gt;&lt;/releasedate&gt; &lt;/data&gt; &lt;metadata&gt; &lt;hoursplayed&gt;&lt;/hoursplayed&gt; &lt;lastplayed&gt;&lt;/lastplayed&gt; &lt;lastdataupdate&gt;&lt;/lastdataupdate&gt; &lt;/metadata&gt; &lt;/game&gt; &lt;/gamelist&gt; </code></pre> <p><strong>Using Attributes</strong></p> <pre><code>&lt;!DOCTYPE gamelist [ &lt;!ELEMENT gamelist (game*)&gt; &lt;!ELEMENT game (data,metadata)&gt; &lt;!ELEMENT data EMPTY&gt; &lt;!ATTLIST data name CDATA #REQUIRED developer CDATA #REQUIRED engine CDATA #IMPLIED releasedate CDATA #IMPLIED &gt; &lt;!ELEMENT metadata EMPTY&gt; &lt;!ATTLIST metadata hoursplayed CDATA #IMPLIED lastplayed CDATA #IMPLIED lastdataupdate CDATA #REQUIRED&gt; ]&gt; &lt;gamelist&gt; &lt;game&gt; &lt;data name="" developer="" engine="" releasedate=""/&gt; &lt;metadata hoursplayed="" lastplayed="" lastdataupdate=""/&gt; &lt;/game&gt; &lt;/gamelist&gt; </code></pre> <p>Here are some links that might help:</p> <p><a href="http://www.w3.org/standards/xml/core" rel="nofollow">XML Essentials</a> (Start here first.)</p> <p><a href="http://www.w3.org/TR/REC-xml/" rel="nofollow">XML 1.0</a> (Specifically "<a href="http://www.w3.org/TR/REC-xml/#sec-logical-struct" rel="nofollow">Logical Structures</a>".) (Alternatively: <a href="http://www.w3.org/TR/xml11/" rel="nofollow">XML 1.1</a> ("<a href="http://www.w3.org/TR/xml11/#sec-logical-struct" rel="nofollow">Logical Structures</a>"))</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload