## Explanation of the error messages
for the W3C Markup Validator

### Table of Contents

### List of Validator errors and their explanation

Below are all the validator's error messages for which we have an "explanation".

25: general entity X not defined and no default entity

  This is usually a cascading error caused by a an undefined entity reference or use of an unencoded ampersand (&) in an URL or body text. See the previous message for further details.

  ✉

28: unterminated comment: found end of entity inside comment

  Check that you are using a proper syntax for your comments, e.g: <!-- comment here -->. This error may appear if you forget the last "--" to close one comment, therefore including the rest of the content in your comment.

  ✉

38: literal is missing closing delimiter

  Did you forget to close a (double) quote mark?

  ✉

42: unknown declaration type X

  This error may appear if you are using a bad syntax for your comments, such as "<!invalid comment>" The proper syntax for comments is <!-- your comment here -->.

  ✉

47: end of document in prolog

  This error may appear when the validator receives an empty document. Please make sure that the document you are uploading is not empty, and report any discrepancy.

  ✉

63: character data is not allowed here

  You have used character data somewhere it is not permitted to appear. Mistakes that can cause this error include:

  - putting text directly in the body of the document without wrapping it in a container element (such as a <p>aragraph</p>), or
  - forgetting to quote an attribute value (where characters such as "%" and "/" are common, but cannot appear without surrounding quotes), or
  - using XHTML-style self-closing tags (such as <meta ... />) in HTML 4.01 or earlier. To fix, remove the extra slash ('/') character. For more information about the reasons for this, see Empty elements in SGML, HTML, XML, and XHTML.

  ✉

64: document type does not allow element X here

  The element named above was found in a context where it is not allowed. This could mean that you have incorrectly nested elements -- such as a "style" element in the "body" section instead of inside "head" -- or two elements that overlap (which is not allowed).

  One common cause for this error is the use of XHTML syntax in HTML documents. Due to HTML's rules of implicitly closed elements, this error can create cascading effects. For instance, using XHTML's "self-closing" tags for "meta" and "link" in the "head" section of a HTML document may cause the parser to infer the end of the "head" section and the beginning of the "body" section (where "link" and "meta" are not allowed; hence the reported error).

  ✉

65: document type does not allow element X here; missing one of Y start-tag

  The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element.

  One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>").

  ✉

68: end tag for X omitted, but its declaration does not permit this
  - You forgot to close a tag, or
  - you used something inside this tag that was not allowed, and the validator is complaining that the tag should be closed before such content can be allowed.

  The next message, "`start tag was here`" points to the particular instance of the tag in question); the positional indicator points to where the validator expected you to close the tag.

  ✉

69: start tag was here

  This is not an error, but rather a pointer to the start tag of the element the previous error referred to.

  ✉

70: end tag for X omitted, but OMITTAG NO was specified

  You may have neglected to close an element, or perhaps you meant to "self-close" an element, that is, ending it with "/>" instead of ">".

  ✉

71: start tag was here

  This is not an error, but rather a pointer to the start tag of the element the previous error referred to.

  ✉

73: end tag for X which is not finished

  Most likely, you nested tags and closed them in the wrong order. For example <p><em>...</p> is not acceptable, as <em> must be closed before <p>. Acceptable nesting is: <p><em>...</em></p>

  Another possibility is that you used an element which requires a child element that you did not include. Hence the parent element is "not finished", not complete. For instance, in HTML the <head> element must contain a <title> child element, lists require appropriate list items (<ul> and <ol> require <li>; <dl> requires <dt> and <dd>), and so on.

  ✉

76: element X undefined

  You have used the element named above in your document, but the document type you are using does not define an element of that name. This error is often caused by:

  - incorrect use of the "Strict" document type with a document that uses frames (e.g. you must use the "Frameset" document type to get the "<frameset>" element),
  - by using vendor proprietary extensions such as "<spacer>" or "<marquee>" (this is usually fixed by using CSS to achieve the desired effect instead).
  - by using upper-case tags in XHTML (in XHTML attributes and elements must be all lower-case).

  ✉

79: end tag for element X which is not open

  The Validator found an end tag for the above element, but that element is not currently open. This is often caused by a leftover end tag from an element that was removed during editing, or by an implicitly closed element (if you have an error related to an element being used where it is not allowed, this is almost certainly the case). In the latter case this error will disappear as soon as you fix the original problem.

  If this error occurred in a script section of your document, you should probably read this FAQ entry.

  ✉

82: an attribute value must be a literal unless it contains only name characters

  You have used a character that is not considered a "name character" in an attribute value. Which characters are considered "name characters" varies between the different document types, but a good rule of thumb is that unless the value contains only lower or upper case letters in the range a-z you must put quotation marks around the value. In fact, unless you have extreme file size requirements it is a very very good idea to always put quote marks around your attribute values. It is never wrong to do so, and very often it is absolutely necessary.

  ✉

105: an attribute specification must start with a name or name token

  An attribute name (and some attribute values) must start with one of a restricted set of characters. This error usually indicates that you have failed to add a closing quotation mark on a previous attribute value (so the attribute value looks like the start of a new attribute) or have used an attribute that is not defined (usually a typo in a common attribute name).

  ✉

107: the name and VI delimiter can be omitted from an attribute specification only if SHORTTAG YES is specified

  "VI delimiter" is a technical term for the equal sign. This error message means that the name of an attribute and the equal sign cannot be omitted when specifying an attribute. A common cause for this error message is the use of "Attribute Minimization" in document types where it is not allowed, in XHTML for instance.

  How to fix: For attributes such as compact, checked or selected, do not write e.g <option selected ... but rather <option selected="selected" ...

  ✉

108: there is no attribute X

  You have used the attribute named above in your document, but the document type you are using does not support that attribute for this element. This error is often caused by incorrect use of the "Strict" document type with a document that uses frames (e.g. you must use the "Transitional" document type to get the "target" attribute), or by using vendor proprietary extensions such as "marginheight" (this is usually fixed by using CSS to achieve the desired effect instead).

  This error may also result if the element itself is not supported in the document type you are using, as an undefined element will have no supported attributes; in this case, see the element-undefined error message for further information.

  How to fix: check the spelling and case of the element and attribute, (Remember XHTML is all lower-case) and/or check that they are both allowed in the chosen document type, and/or use CSS instead of this attribute. If you received this error when using the <embed> element to incorporate flash media in a Web page, see the FAQ item on valid flash.

  ✉

111: an attribute value literal can occur in an attribute specification list only after a VI delimiter

  Have you forgotten the "equal" sign marking the separation between the attribute and its declared value? Typical syntax is `attribute="value"`.

  ✉

112: duplicate specification of attribute X

  You have specified an attribute more than once. Example: Using the "`height`" attribute twice on the same "`img`" tag.

  ✉

120: normalized length of attribute value literal must not exceed LITLEN (X); length was Y

  This error almost always means that you've forgotten a closing quote on an attribute value. For instance, in:

  `<img src="fred.gif>
  <!-- 50 lines of stuff -->
  <img src="joe.gif">`

  The "`src`" value for the first `<img>` is the entire fifty lines of stuff up to the next double quote, which probably exceeds the SGML-defined length limit for HTML string literals. Note that the position indicator in the error message points to where the attribute value ended — in this case, the `"joe.gif"` line.

  ✉

121: syntax of attribute value does not conform to declared value

  The value of an attribute contained something that is not allowed by the specified syntax for that type of attribute. For instance, the “`selected`” attribute must be either minimized as “`selected`” or spelled out in full as “`selected="selected"`”; the variant “`selected=""`” is not allowed.

  ✉

122: character X is not allowed in the value of attribute Y

  It is possible that you violated the naming convention for this attribute. For example, `id` and `name` attributes must begin with a letter, not a digit.

  ✉

123: value of attribute X must be a single token

  This attribute can not take a space-separated list of words as a value, but only one word ("token"). This may also be caused by the use of a space for the value of an attribute which does not permit it.

  ✉

124: value of attribute Y invalid: X cannot start a number token

  The value of this attribute should be a number, and you probably used a wrong syntax.

  ✉

125: value of attribute Y invalid: X cannot start a name

  It is possible that you violated the naming convention for this attribute. For example, `id` and `name` attributes must begin with a letter, not a digit.

  ✉

127: required attribute X not specified

  The attribute given above is required for an element that you've used, but you have omitted it. For instance, in most HTML and XHTML document types the "type" attribute is required on the "script" element and the "alt" attribute is required for the "img" element.

  Typical values for `type` are `type="text/css"` for `<style>` and `type="text/javascript"` for `<script>`.

  ✉

131: value of attribute Y cannot be X; must be one of Z

  The value of the attribute is defined to be one of a list of possible values but in the document it contained something that is not allowed for that type of attribute. For instance, the “`selected`” attribute must be either minimized as “`selected`” or spelled out in full as “`selected="selected"`”; a value like “`selected="true"`” is not allowed.

  ✉

137: invalid comment declaration: found character X outside comment but inside comment declaration

  Check that you are using a proper syntax for your comments, e.g: <!-- comment here -->. This error may appear if you forget the last "--" to close one comment, and later open another.

  ✉

139: non SGML character number X

  You have used an illegal character in your text. HTML uses the standard UNICODE Consortium character repertoire, and it leaves undefined (among others) 65 character codes (0 to 31 inclusive and 127 to 159 inclusive) that are sometimes used for typographical quote marks and similar in proprietary character sets. The validator has found one of these undefined characters in your document. The character may appear on your browser as a curly quote, or a trademark symbol, or some other fancy glyph; on a different computer, however, it will likely appear as a completely different character, or nothing at all.

  Your best bet is to replace the character with the nearest equivalent ASCII character, or to use an appropriate character entity. For more information on Character Encoding on the web, see Alan Flavell's excellent HTML Character Set Issues reference.

  This error can also be triggered by formatting characters embedded in documents by some word processors. If you use a word processor to edit your HTML documents, be sure to use the "Save as ASCII" or similar command to save the document without formatting information.

  ✉

141: ID X already defined

  An "id" is a unique identifier. Each time this attribute is used in a document it must have a different value. If you are using this attribute as a hook for style sheets it may be more appropriate to use classes (which group elements) than id (which are used to identify exactly one element).

  ✉

183: reference to non-existent ID X

  This error can be triggered by:

  - A non-existent input, select or textarea element
  - A missing id attribute
  - A typographical error in the id attribute

  Try to check the spelling and case of the id you are referring to.

  ✉

187: no document type declaration; will parse without validation

  The document type could not be determined, because the document had no correct DOCTYPE declaration. The document does not look like HTML, therefore automatic fallback could not be performed, and the document was only checked against basic markup syntax.

  Learn how to add a doctype to your document from our FAQ, or use the validator's `Document Type` option to validate your document against a specific Document Type.

  ✉

246: unclosed start-tag requires SHORTTAG YES

  The construct <foo<bar> is valid in HTML (it is an example of the rather obscure “Shorttags” feature) but its use is not recommended. In most cases, this is a typo that you will want to fix. If you really want to use shorttags, be aware that they are not well implemented by browsers.

  ✉

247: NET-enabling start-tag requires SHORTTAG YES

  The sequence <FOO /> can be interpreted in at least two different ways, depending on the DOCTYPE of the document. For HTML 4.01 Strict, the '/' terminates the tag <FOO (with an implied '>'). However, since many browsers don't interpret it this way, even in the presence of an HTML 4.01 Strict DOCTYPE, it is best to avoid it completely in pure HTML documents and reserve its use solely for those written in XHTML.

  ✉

248: unclosed end-tag requires SHORTTAG YES

  The construct </foo<bar> is valid in HTML (it is an example of the rather obscure “Shorttags” feature) but its use is not recommended. In most cases, this is a typo that you will want to fix. If you really want to use shorttags, be aware that they are not well implemented by browsers.

  ✉

323: DTD did not contain element declaration for document type name

  A DOCTYPE declares the version of the language used, as well as what the root (top) element of your document will be. For example, if the top element of your document is <html>, the DOCTYPE declaration will look like: "<!DOCTYPE html".

  In most cases, it is safer not to type or edit the DOCTYPE declaration at all, and preferable to let a tool include it, or copy and paste it from a trusted list of DTDs.

  ✉

325: reference to entity X for which no system identifier could be generated

  This is usually a cascading error caused by a an undefined entity reference or use of an unencoded ampersand (&) in an URL or body text. See the previous message for further details.

  ✉

333: empty start-tag

  The construct <> is sometimes valid in HTML (it is an example of the rather obscure “Shorttags” feature) but its use is not recommended. In most cases, this is a typo that you will want to fix. If you really want to use shorttags, be aware that they are not well implemented by browsers.

  ✉

334: empty end-tag

  The construct </> is valid in HTML (it is an example of the rather obscure “Shorttags” feature) but its use is not recommended. In most cases, this is a typo that you will want to fix. If you really want to use shorttags, be aware that they are not well implemented by browsers.

  ✉

338: cannot generate system identifier for general entity X

  An entity reference was found in the document, but there is no reference by that name defined. Often this is caused by misspelling the reference name, unencoded ampersands, or by leaving off the trailing semicolon (;). The most common cause of this error is unencoded ampersands in URLs as described by the WDG in "Ampersands in URLs".

  Entity references start with an ampersand (&) and end with a semicolon (;). If you want to use a literal ampersand in your document you must encode it as "&amp;" (even inside URLs!). Be careful to end entity references with a semicolon or your entity reference may get interpreted in connection with the following text. Also keep in mind that named entity references are case-sensitive; &Aelig; and &aelig; are different characters.

  If this error appears in some markup generated by PHP's session handling code, this article has explanations and solutions to your problem.

  Note that in most documents, errors related to entity references will trigger up to 5 separate messages from the Validator. Usually these will all disappear when the original problem is fixed.

  ✉

344: no document type declaration; implying X

  The checked page did not contain a document type ("DOCTYPE") declaration. The Validator has tried to validate with a fallback DTD, but this is quite likely to be incorrect and will generate a large number of incorrect error messages. It is highly recommended that you insert the proper DOCTYPE declaration in your document -- instructions for doing this are given above -- and it is necessary to have this declaration before the page can be declared to be valid.

  ✉

378: no system id specified

  Your document includes a DOCTYPE declaration with a public identifier (e.g. "-//W3C//DTD XHTML 1.0 Strict//EN") but no system identifier (e.g. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"). This is authorized in HTML (based on SGML), but not in XML-based languages.

  If you are using a standard XHTML document type, it is recommended to use exactly one of the DOCTYPE declarations from the recommended list on the W3C QA Website.

  ✉

387: S separator in comment declaration

  This may happen if you have consecutive comments but did not close one of them properly. The proper syntax for comments is <!-- my comment -->.

  ✉

394: reference not terminated by REFC delimiter

  If you meant to include an entity that starts with "&", then you should terminate it with ";". Another reason for this error message is that you inadvertently created an entity by failing to escape an "&" character just before this text.

  ✉

403: reference to external entity in attribute value

  This is generally the sign of an ampersand that was not properly escaped for inclusion in an attribute, in a href for example. You will need to escape all instances of '&' into '&amp;'.

  ✉

404: character X is the first character of a delimiter but occurred as data

  This message may appear in several cases:

  - You tried to include the "<" character in your page: you should escape it as "&lt;"
  - You used an unescaped ampersand "&": this may be valid in some contexts, but it is recommended to use "&amp;", which is always safe.
  - Another possibility is that you forgot to close quotes in a previous tag.

  ✉

407: NET-enabling start-tag not immediately followed by null end-tag

  This error may occur when there is a mistake in how a self-closing tag is closed, e.g '.../ >'. The proper syntax is '... />' (note the position of the space).

  ✉

410: reference to non-SGML character

  You've included a character reference to a character that is not defined in the document type you've chosen. This is most commonly caused by numerical references to characters from vendor proprietary character repertoires. Often the culprit will be fancy or typographical quote marks from either the Windows or Macintosh character repertoires.

  The solution is to reference UNICODE characters instead. A list of common characters from the Windows character repertoire and their UNICODE equivalents can be found in the document "On the use of some MS Windows characters in HTML" maintained by Jukka Korpela <jkorpela@cs.tut.fi>.

  ✉

### Errors without explanation

The following validation errors do not have an explanation yet. We invite you to use the feedback channels to send your suggestions.

- 0: length of name must not exceed NAMELEN (X) ✉

- 1: length of parameter entity name must not exceed NAMELEN less the length of the PERO delimiter (X) ✉

- 2: length of number must not exceed NAMELEN (X) ✉

- 3: length of attribute value must not exceed LITLEN less NORMSEP (X) ✉

- 4: a name group is not allowed in a parameter entity reference in the prolog ✉

- 5: an entity end in a token separator must terminate an entity referenced in the same group ✉

- 6: character X invalid: only Y and token separators allowed ✉

- 7: a parameter separator is required after a number that is followed by a name start character ✉

- 8: character X invalid: only Y and parameter separators allowed ✉

- 9: an entity end in a parameter separator must terminate an entity referenced in the same declaration ✉

- 10: an entity end is not allowed in a token separator that does not follow a token ✉

- 11: X is not a valid token here ✉

- 12: a parameter entity reference can only occur in a group where a token could occur ✉

- 13: token X has already occurred in this group ✉

- 14: the number of tokens in a group must not exceed GRPCNT (X) ✉

- 15: an entity end in a literal must terminate an entity referenced in the same literal ✉

- 16: character X invalid: only minimum data characters allowed ✉

- 18: a parameter literal in a data tag pattern must not contain a numeric character reference to a non-SGML character ✉

- 19: a parameter literal in a data tag pattern must not contain a numeric character reference to a function character ✉

- 20: a name group is not allowed in a general entity reference in a start tag ✉

- 21: a name group is not allowed in a general entity reference in the prolog ✉

- 22: X is not a function name ✉

- 23: X is not a character number in the document character set ✉

- 24: parameter entity X not defined ✉

- 26: RNI delimiter must be followed by name start character ✉

- 29: comment started here ✉

- 30: only one type of connector should be used in a single group ✉

- 31: X is not a reserved name ✉

- 32: X is not allowed as a reserved name here ✉

- 33: length of interpreted minimum literal must not exceed reference LITLEN (X) ✉

- 34: length of tokenized attribute value must not exceed LITLEN less NORMSEP (X) ✉

- 35: length of system identifier must not exceed LITLEN (X) ✉

- 36: length of interpreted parameter literal must not exceed LITLEN (X) ✉

- 37: length of interpreted parameter literal in data tag pattern must not exceed DTEMPLEN (X) ✉

- 39: X invalid: only Y and parameter separators are allowed ✉

- 40: X invalid: only Y and token separators are allowed ✉

- 41: X invalid: only Y and token separators are allowed ✉

- 43: X declaration not allowed in DTD subset ✉

- 44: character X not allowed in declaration subset ✉

- 45: end of document in DTD subset ✉

- 46: character X not allowed in prolog ✉

- 48: X declaration not allowed in prolog ✉

- 49: X used both a rank stem and generic identifier ✉

- 50: omitted tag minimization parameter can be omitted only if OMITTAG NO is specified ✉

- 51: element type X already defined ✉

- 52: entity reference with no applicable DTD ✉

- 53: invalid comment declaration: found X outside comment but inside comment declaration ✉

- 54: comment declaration started here ✉

- 55: X declaration not allowed in instance ✉

- 56: non-SGML character not allowed in content ✉

- 57: no current rank for rank stem X ✉

- 58: duplicate attribute definition list for notation X ✉

- 59: duplicate attribute definition list for element X ✉

- 60: entity end not allowed in end tag ✉

- 61: character X not allowed in end tag ✉

- 62: X invalid: only S separators and TAGC allowed here ✉

- 66: document type does not allow element X here; assuming missing Y start-tag ✉

- 67: no start tag specified for implied empty element X ✉

- 72: start tag omitted for element X with declared content ✉

- 74: start tag for X omitted, but its declaration does not permit this ✉

- 75: number of open elements exceeds TAGLVL (X) ✉

- 77: empty end tag but no open elements ✉

- 78: X not finished but containing element ended ✉

- 80: internal parameter entity X cannot be CDATA or SDATA ✉

- 81: character X not allowed in attribute specification list ✉

- 83: entity end not allowed in attribute specification list except in attribute value literal ✉

- 84: external parameter entity X cannot be CDATA, SDATA, NDATA or SUBDOC ✉

- 85: duplicate declaration of entity X ✉

- 86: duplicate declaration of parameter entity X ✉

- 87: a reference to a PI entity is allowed only in a context where a processing instruction could occur ✉

- 88: a reference to a CDATA or SDATA entity is allowed only in a context where a data character could occur ✉

- 89: a reference to a subdocument entity or external data entity is allowed only in a context where a data character could occur ✉

- 90: a reference to a subdocument entity or external data entity is not allowed in replaceable character data ✉

- 91: the number of open entities cannot exceed ENTLVL (X) ✉

- 92: a reference to a PI entity is not allowed in replaceable character data ✉

- 93: entity X is already open ✉

- 94: short reference map X not defined ✉

- 95: short reference map in DTD must specify associated element type ✉

- 96: short reference map in document instance cannot specify associated element type ✉

- 97: short reference map X for element Y not defined in DTD ✉

- 98: X is not a short reference delimiter ✉

- 99: short reference delimiter X already mapped in this declaration ✉

- 100: no document element ✉

- 102: entity end not allowed in processing instruction ✉

- 103: length of processing instruction must not exceed PILEN (X) ✉

- 104: missing PIC delimiter ✉

- 106: X is not a member of a group specified for any attribute ✉

- 109: an attribute value specification must start with a literal or a name character ✉

- 110: length of name token must not exceed NAMELEN (X) ✉

- 113: duplicate definition of attribute X ✉

- 114: data attribute specification must be omitted if attribute specification list is empty ✉

- 115: marked section end not in marked section declaration ✉

- 116: number of open marked sections must not exceed TAGLVL (X) ✉

- 117: missing marked section end ✉

- 118: marked section started here ✉

- 119: entity end in character data, replaceable character data or ignored marked section ✉

- 126: non-impliable attribute X not specified but OMITTAG NO and SHORTTAG NO ✉

- 128: first occurrence of CURRENT attribute X not specified ✉

- 129: X is not a notation name ✉

- 130: X is not a general entity name ✉

- 132: X is not a data or subdocument entity ✉

- 133: content model is ambiguous: when no tokens have been matched, both the Y and Z occurrences of X are possible ✉

- 134: content model is ambiguous: when the current token is the Y occurrence of X, both the a and b occurrences of Z are possible ✉

- 135: content model is ambiguous: when the current token is the Y occurrence of X and the innermost containing AND group has been matched, both the a and b occurrences of Z are possible ✉

- 136: content model is ambiguous: when the current token is the Y occurrence of X and the innermost Z containing AND groups have been matched, both the b and c occurrences of a are possible ✉

- 138: comment declaration started here ✉

- 140: data or replaceable character data in declaration subset ✉

- 142: ID X first defined here ✉

- 143: value of fixed attribute X not equal to default ✉

- 144: character X is not significant in the reference concrete syntax and so cannot occur in a comment in the SGML declaration ✉

- 145: minimum data of first minimum literal in SGML declaration must be ""ISO 8879:1986"" or ""ISO 8879:1986 (ENR)"" or ""ISO 8879:1986 (WWW)"" not X ✉

- 146: parameter before LCNMSTRT must be NAMING not X ✉

- 147: unexpected entity end in SGML declaration: only X, S separators and comments allowed ✉

- 148: X invalid: only Y and parameter separators allowed ✉

- 149: magnitude of X too big ✉

- 150: character X is not significant in the reference concrete syntax and so cannot occur in a literal in the SGML declaration except as the replacement of a character reference ✉

- 151: X is not a valid syntax reference character number ✉

- 152: a parameter entity reference cannot occur in an SGML declaration ✉

- 153: X invalid: only Y and parameter separators are allowed ✉

- 154: cannot continue because of previous errors ✉

- 155: SGML declaration cannot be parsed because the character set does not contain characters having the following numbers in ISO 646: X ✉

- 156: the specified character set is invalid because it does not contain the minimum data characters having the following numbers in ISO 646: X ✉

- 157: character numbers declared more than once: X ✉

- 158: character numbers should have been declared UNUSED: X ✉

- 159: character numbers missing in base set: X ✉

- 160: characters in the document character set with numbers exceeding X not supported ✉

- 161: invalid formal public identifier X: missing // ✉

- 162: invalid formal public identifier X: no SPACE after public text class ✉

- 163: invalid formal public identifier X: invalid public text class ✉

- 164: invalid formal public identifier X: public text language must be a name containing only upper case letters ✉

- 165: invalid formal public identifer X: public text display version not permitted with this text class ✉

- 166: invalid formal public identifier X: extra field ✉

- 167: public text class of public identifier in notation identifier must be NOTATION ✉

- 168: base character set X is unknown ✉

- 169: delimiter set is ambiguous: X and Y can be recognized in the same mode ✉

- 170: characters with the following numbers in the syntax reference character set are significant in the concrete syntax but are not in the document character set: X ✉

- 171: there is no unique character in the document character set corresponding to character number X in the syntax reference character set ✉

- 172: there is no unique character in the internal character set corresponding to character number X in the syntax reference character set ✉

- 173: the character with number X in ISO 646 is significant but has no representation in the syntax reference character set ✉

- 174: capacity set X is unknown ✉

- 175: capacity X already specified ✉

- 176: value of capacity X exceeds value of TOTALCAP ✉

- 177: syntax X is unknown ✉

- 178: UCNMSTRT must have the same number of characters as LCNMSTRT ✉

- 179: UCNMCHAR must have the same number of characters as LCNMCHAR ✉

- 180: number of open subdocuments exceeds quantity specified for SUBDOC parameter in SGML declaration (X) ✉

- 181: entity X declared SUBDOC, but SUBDOC NO specified in SGML declaration ✉

- 182: a parameter entity referenced in a parameter separator must end in the same declaration ✉

- 184: generic identifier X used in DTD but not defined ✉

- 185: X not finished but document ended ✉

- 186: cannot continue with subdocument because of previous errors ✉

- 188: no internal or external document type declaration subset; will parse without validation ✉

- 189: this is not an SGML document ✉

- 190: length of start-tag before interpretation of literals must not exceed TAGLEN (X) ✉

- 191: a parameter entity referenced in a token separator must end in the same group ✉

- 192: the following character numbers are shunned characters that are not significant and so should have been declared UNUSED: X ✉

- 193: there is no unique character in the specified document character set corresponding to character number X in ISO 646 ✉

- 194: length of attribute value must not exceed LITLEN less NORMSEP (-X) ✉

- 195: length of tokenized attribute value must not exceed LITLEN less NORMSEP (-X) ✉

- 196: concrete syntax scope is INSTANCE but value of X quantity is less than value in reference quantity set ✉

- 197: public text class of formal public identifier of base character set must be CHARSET ✉

- 198: public text class of formal public identifier of capacity set must be CAPACITY ✉

- 199: public text class of formal public identifier of concrete syntax must be SYNTAX ✉

- 200: when there is an MSOCHAR there must also be an MSICHAR ✉

- 201: character number X in the syntax reference character set was specified as a character to be switched but is not a markup character ✉

- 202: character number X was specified as a character to be switched but is not in the syntax reference character set ✉

- 203: character numbers X in the document character set have been assigned the same meaning, but this is the meaning of a significant character ✉

- 204: character number X assigned to more than one function ✉

- 205: X is already a function name ✉

- 206: characters with the following numbers in ISO 646 are significant in the concrete syntax but are not in the document character set: X ✉

- 207: general delimiter X consists solely of function characters ✉

- 208: letters assigned to LCNMCHAR, UCNMCHAR, LCNMSTRT or UCNMSTRT: X ✉

- 209: digits assigned to LCNMCHAR, UCNMCHAR, LCNMSTRT or UCNMSTRT: X ✉

- 210: character number X cannot be assigned to LCNMCHAR, UCNMCHAR, LCNMSTRT or UCNMSTRT because it is RE ✉

- 211: character number X cannot be assigned to LCNMCHAR, UCNMCHAR, LCNMSTRT or UCNMSTRT because it is RS ✉

- 212: character number X cannot be assigned to LCNMCHAR, UCNMCHAR, LCNMSTRT or UCNMSTRT because it is SPACE ✉

- 213: separator characters assigned to LCNMCHAR, UCNMCHAR, LCNMSTRT or UCNMSTRT: X ✉

- 214: character number X cannot be switched because it is a Digit, LC Letter or UC Letter ✉

- 215: pointless for number of characters to be 0 ✉

- 216: X cannot be the replacement for a reference reserved name because it is another reference reserved name ✉

- 217: X cannot be the replacement for a reference reserved name because it is the replacement of another reference reserved name ✉

- 218: replacement for reserved name X already specified ✉

- 219: X is not a valid name in the declared concrete syntax ✉

- 220: X is not a valid short reference delimiter because it has more than one B sequence ✉

- 221: X is not a valid short reference delimiter because it is adjacent to a character that can occur in a blank sequence ✉

- 222: length of delimiter X exceeds NAMELEN (Y) ✉

- 223: length of reserved name X exceeds NAMELEN (Y) ✉

- 224: character numbers assigned to both LCNMCHAR or UCNMCHAR and LCNMSTRT or UCNMSTRT: X ✉

- 225: when the concrete syntax scope is INSTANCE the syntax reference character set of the declared syntax must be the same as that of the reference concrete syntax ✉

- 226: end-tag minimization should be O for element with declared content of EMPTY ✉

- 227: end-tag minimization should be O for element X because it has CONREF attribute ✉

- 228: element X has a declared content of EMPTY and a CONREF attribute ✉

- 229: element X has a declared content of EMPTY and a NOTATION attribute ✉

- 230: declared value of data attribute cannot be ENTITY, ENTITIES, ID, IDREF, IDREFS or NOTATION ✉

- 231: default value of data attribute cannot be CONREF or CURRENT ✉

- 232: number of attribute names and name tokens (X) exceeds ATTCNT (Y) ✉

- 233: if the declared value is ID the default value must be IMPLIED or REQUIRED ✉

- 234: the attribute definition list already declared attribute X as the ID attribute ✉

- 235: the attribute definition list already declared attribute X as the NOTATION attribute ✉

- 236: token X occurs more than once in attribute definition list ✉

- 237: no attributes defined for notation X ✉

- 238: notation X for entity Y undefined ✉

- 239: entity X undefined in short reference map Y ✉

- 240: notation X is undefined but had attribute definition ✉

- 241: length of interpreted parameter literal in bracketed text plus the length of the bracketing delimiters must not exceed LITLEN (X) ✉

- 242: length of rank stem plus length of rank suffix must not exceed NAMELEN (X) ✉

- 243: document instance must start with document element ✉

- 244: content model nesting level exceeds GRPLVL (X) ✉

- 245: grand total of content tokens exceeds GRPGTCNT (X) ✉

- 249: DTDs other than base allowed only if CONCUR YES or EXPLICIT YES ✉

- 250: end of entity other than document entity after document element ✉

- 251: X declaration illegal after document element ✉

- 252: character reference illegal after document element ✉

- 253: entity reference illegal after document element ✉

- 254: marked section illegal after document element ✉

- 255: the X occurrence of Y in the content model for Z cannot be excluded at this point because it is contextually required ✉

- 256: the X occurrence of Y in the content model for Z cannot be excluded because it is neither inherently optional nor a member of an OR group ✉

- 257: an attribute value specification must be an attribute value literal unless SHORTTAG YES is specified ✉

- 258: value cannot be specified both for notation attribute and content reference attribute ✉

- 259: notation X already defined ✉

- 260: short reference map X already defined ✉

- 261: first defined here ✉

- 262: general delimiter role X already defined ✉

- 263: number of ID references in start-tag must not exceed GRPCNT (X) ✉

- 264: number of entity names in attribute specification list must not exceed GRPCNT (X) ✉

- 265: normalized length of attribute specification list must not exceed ATTSPLEN (X); length was Y ✉

- 266: short reference delimiter X already specified ✉

- 267: single character short references were already specified for character numbers: X ✉

- 268: default entity used in entity attribute X ✉

- 269: reference to entity X uses default entity ✉

- 270: entity X in short reference map Y uses default entity ✉

- 271: no DTD X declared ✉

- 272: LPD X has neither internal nor external subset ✉

- 273: element types have different link attribute definitions ✉

- 274: link set X already defined ✉

- 275: empty result attribute specification ✉

- 276: no source element type X ✉

- 277: no result element type X ✉

- 278: end of document in LPD subset ✉

- 279: X declaration not allowed in LPD subset ✉

- 280: ID link set declaration not allowed in simple link declaration subset ✉

- 281: link set declaration not allowed in simple link declaration subset ✉

- 282: attributes can only be defined for base document element (not X) in simple link declaration subset ✉

- 283: a short reference mapping declaration is allowed only in the base DTD ✉

- 284: a short reference use declaration is allowed only in the base DTD ✉

- 285: default value of link attribute cannot be CURRENT or CONREF ✉

- 286: declared value of link attribute cannot be ID, IDREF, IDREFS or NOTATION ✉

- 287: only fixed attributes can be defined in simple LPD ✉

- 288: only one ID link set declaration allowed in an LPD subset ✉

- 289: no initial link set defined for LPD X ✉

- 290: notation X not defined in source DTD ✉

- 291: result document type in simple link specification must be implied ✉

- 292: simple link requires SIMPLE YES ✉

- 293: implicit link requires IMPLICIT YES ✉

- 294: explicit link requires EXPLICIT YES ✉

- 295: LPD not allowed before first DTD ✉

- 296: DTD not allowed after an LPD ✉

- 297: definition of general entity X is unstable ✉

- 298: definition of parameter entity X is unstable ✉

- 299: multiple link rules for ID X but not all have link attribute specifications ✉

- 300: multiple link rules for element type X but not all have link attribute specifications ✉

- 301: link type X does not have a link set Y ✉

- 302: link set use declaration for simple link process ✉

- 303: no link type X ✉

- 304: both document type and link type X ✉

- 305: link type X already defined ✉

- 306: document type X already defined ✉

- 307: link set X used in LPD but not defined ✉

- 308: #IMPLIED already linked to result element type X ✉

- 309: number of active simple link processes exceeds quantity specified for SIMPLE parameter in SGML declaration (X) ✉

- 310: only one chain of explicit link processes can be active ✉

- 311: source document type name for link type X must be base document type since EXPLICIT YES 1 ✉

- 312: only one implicit link process can be active ✉

- 313: sorry, link type X not activated: only one implicit or explicit link process can be active (with base document type as source document type) ✉

- 314: name missing after name group in entity reference ✉

- 315: source document type name for link type X must be base document type since EXPLICIT NO ✉

- 316: link process must be activated before base DTD ✉

- 317: unexpected entity end while starting second pass ✉

- 318: type X of element with ID Y not associated element type for applicable link rule in ID link set ✉

- 319: DATATAG feature not implemented ✉

- 320: generic identifier specification missing after document type specification in start-tag ✉

- 321: generic identifier specification missing after document type specification in end-tag ✉

- 322: a NET-enabling start-tag cannot include a document type specification ✉

- 324: invalid default SGML declaration ✉

- 326: entity was defined here ✉

- 327: content model is mixed but does not allow #PCDATA everywhere ✉

- 328: start or end of range must specify a single character ✉

- 329: number of first character in range must not exceed number of second character in range ✉

- 330: delimiter cannot be an empty string ✉

- 331: too many characters assigned same meaning with minimum literal ✉

- 332: earlier reference to entity X used default entity ✉

- 335: unused short reference map X ✉

- 336: unused parameter entity X ✉

- 337: cannot generate system identifier for public text X ✉

- 339: cannot generate system identifier for parameter entity X ✉

- 340: cannot generate system identifier for document type X ✉

- 341: cannot generate system identifier for link type X ✉

- 342: cannot generate system identifier for notation X ✉

- 343: element type X both included and excluded ✉

- 345: minimum data of AFDR declaration must be ""ISO/IEC 10744:1997"" not X ✉

- 346: AFDR declaration required before use of AFDR extensions ✉

- 347: ENR extensions were used but minimum literal was not ""ISO 8879:1986 (ENR)"" or ""ISO 8879:1986 (WWW)"" ✉

- 348: illegal numeric character reference to non-SGML character X in literal ✉

- 349: cannot convert character reference to number X because description Y unrecognized ✉

- 350: cannot convert character reference to number X because character Y from baseset Z unknown ✉

- 351: character reference to number X cannot be converted because of problem with internal character set ✉

- 352: cannot convert character reference to number X because character not in internal character set ✉

- 353: Web SGML adaptations were used but minimum literal was not ""ISO 8879:1986 (WWW)"" ✉

- 354: token X can be value for multiple attributes so attribute name required ✉

- 355: length of hex number must not exceed NAMELEN (X) ✉

- 356: X is not a valid name in the declared concrete syntax ✉

- 357: CDATA declared content ✉

- 358: RCDATA declared content ✉

- 359: inclusion ✉

- 360: exclusion ✉

- 361: NUMBER or NUMBERS declared value ✉

- 362: NAME or NAMES declared value ✉

- 363: NUTOKEN or NUTOKENS declared value ✉

- 364: CONREF attribute ✉

- 365: CURRENT attribute ✉

- 366: TEMP marked section ✉

- 367: included marked section in the instance ✉

- 368: ignored marked section in the instance ✉

- 369: RCDATA marked section ✉

- 370: processing instruction entity ✉

- 371: bracketed text entity ✉

- 372: internal CDATA entity ✉

- 373: internal SDATA entity ✉

- 374: external CDATA entity ✉

- 375: external SDATA entity ✉

- 376: attribute definition list declaration for notation ✉

- 377: rank stem ✉

- 379: comment in parameter separator ✉

- 380: named character reference ✉

- 381: AND group ✉

- 382: attribute value not a literal ✉

- 383: attribute name missing ✉

- 384: element declaration for group of element types ✉

- 385: attribute definition list declaration for group of element types ✉

- 386: empty comment declaration ✉

- 388: multiple comments in comment declaration ✉

- 389: no status keyword ✉

- 390: multiple status keywords ✉

- 391: parameter entity reference in document instance ✉

- 392: CURRENT attribute ✉

- 393: element type minimization parameter ✉

- 395: #PCDATA not first in model group ✉

- 396: #PCDATA in SEQ group ✉

- 397: #PCDATA in nested model group ✉

- 398: #PCDATA in model group that does not have REP occurrence indicator ✉

- 399: name group or name token group used connector other than OR ✉

- 400: processing instruction does not start with name ✉

- 401: S separator in status keyword specification in document instance ✉

- 402: reference to external data entity ✉

- 405: SGML declaration was not implied ✉

- 406: marked section in internal DTD subset ✉

- 408: entity end in different element from entity reference ✉

- 409: NETENABL IMMEDNET requires EMPTYNRM YES ✉

- 411: declaration of default entity ✉

- 412: reference to parameter entity in parameter separator in internal subset ✉

- 413: reference to parameter entity in token separator in internal subset ✉

- 414: reference to parameter entity in parameter literal in internal subset ✉

- 415: cannot generate system identifier for SGML declaration reference ✉

- 416: public text class of formal public identifier of SGML declaration must be SD ✉

- 417: SGML declaration reference was used but minimum literal was not ""ISO 8879:1986 (WWW)"" ✉

- 418: member of model group containing #PCDATA has occurrence indicator ✉

- 419: member of model group containing #PCDATA is a model group ✉

- 420: reference to non-predefined entity ✉

- 421: reference to external entity ✉

- 422: declaration of default entity conflicts with IMPLYDEF ENTITY YES ✉

- 423: parsing with respect to more than one active doctype not supported ✉

- 424: cannot have active doctypes and link types at the same time ✉

- 425: number of concurrent document instances exceeds quantity specified for CONCUR parameter in SGML declaration (X) ✉

- 426: datatag group can only be specified in base document type ✉

- 427: element not in the base document type can't have an empty start-tag ✉

- 428: element not in base document type can't have an empty end-tag ✉

- 429: immediately recursive element ✉

- 430: invalid URN X: missing "":"" ✉

- 431: invalid URN X: missing ""urn:"" prefix ✉

- 432: invalid URN X: invalid namespace identifier ✉

- 433: invalid URN X: invalid namespace specific string ✉

- 434: invalid URN X: extra field ✉

- 435: prolog can't be omitted unless CONCUR NO and LINK EXPLICIT NO and either IMPLYDEF ELEMENT YES or IMPLYDEF DOCTYPE YES ✉

- 436: can't determine name of #IMPLIED document element ✉

- 437: can't use #IMPLICIT doctype unless CONCUR NO and LINK EXPLICIT NO ✉

- 438: Sorry, #IMPLIED doctypes not implemented ✉

- 439: reference to DTD data entity ignored ✉

- 440: notation X for parameter entity Y undefined ✉

- 441: notation X for external subset undefined ✉

- 442: attribute X can't be redeclared ✉

- 443: #IMPLICIT attributes have already been specified for notation X ✉

- 444: a name group is not allowed in a parameter entity reference in a start tag ✉

- 445: name group in a parameter entity reference in an end tag (SGML forbids them in start tags) ✉

- 446: if the declared value is NOTATION a default value of CONREF is useless ✉

- 447: Sorry, #ALL and #IMPLICIT content tokens not implemented ✉