Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Actually <strong>in SGML</strong> (which XML is based on) the URL (=SYSTEM identifier) is in the same way optional as the PUBLIC identifier. If the keyword <code>PUBLIC</code> exists, the document should be always validated by using a built-in DTD (from a catalog) that matches the given formal public identifier (FPI), <code>"-//W3C//DTD GRAMMAR 1.0//EN"</code> in your case. In SGML the PUBLIC identifier could be followed by a system identifier which should be taken as a hint about the DTD that is used. <strong>In XML</strong> this has changed so that the PUBLIC identifier exists, it <strong>must</strong> be followed by a system identifier; but this doesn't change the logic or purpose of these identifiers.</p> <p>The public identifier indicates the specification this document follows so practically it tells the grammar that is used in the whole document, and so in a way it serves the same purpose as namespaces in XML nowadays do. The form of the public identifiers usually follows a common structure and therefore contain a language code. This code only implies in what (natural/human) language the referred specification was written and does not mean that the document itself would contain use this language. In your case, the DOCTYPE does <strong>not</strong> mean that your document should use, refer to or be about English language.</p> <p>Instead of <code>PUBLIC</code> the DOCTYPE declaration can also contain keyword <code>SYSTEM</code> which means that the DTD should be retrieved as a system specific fashion. <code>SYSTEM</code> is followed by only a URL or a file path.</p>
 

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