<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:d="http://suika.fam.cx/~wakaba/archive/2007/wdcc-desc/"
    id="error-description">
<head>
<base href="cc/"/>
<title xml:lang="en">Description of Errors &#x2014; WebHACC (β)</title>
<title xml:lang="ja">誤りの説明 &#x2014; WebHACC (β)</title>
<link rel="stylesheet" href="../cc-style"/>
<link rel="license" href="#license"/>
</head>
<body>
<header>
<h1><a href="../cc-about"><abbr title="Web Hypertext Application Conformance Checker (β)"><img src="../icons/title" alt="WebHACC"/></abbr></a></h1>
<h2>Description of Errors</h2>
</header>

<d:cat name="WebHACC:Title">
  <d:text xml:lang="en">WebHACC (β)</d:text>
</d:cat>

<d:cat name="WebHACC:Heading">
  <d:text xml:lang="en">
    <a href="../error-description#WebHACC:Heading" rel="help"><abbr title="Web Hypertext Application Conformance Checker (β)"><img src="../icons/title" alt="WebHACC"/></abbr></a>
  </d:text>
  <d:text xml:lang="ja">
    <a href="../error-description#WebHACC:Heading" rel="help"><abbr title="Web ハイパーテキスト応用適合性検査器 (β)"><img src="../icons/title" alt="WebHACC"/></abbr></a>
  </d:text>
  <d:desc xml:lang="en">
    <p><a href="./#input"><abbr title="Web Hypertext Application Conformance Checker">WebHACC</abbr></a>
    is a <em>conformance checker</em> (or validator) for Web documents,
    supporting <a href="../standards">latest Web standards</a> including
    <a href="http://whatwg.org/html5"><abbr title="Hypertext Markup Language">HTML</abbr>5</a>,
    <a href="urn:ietf:rfc:4287">Atom 1.0</a>,
    <a href="http://www.w3.org/Style/CSS/current-work"><abbr title="Cascading Style Sheets">CSS</abbr>3</a>.</p>

    <p><strong><a href="./#input">Check your document</a></strong>, or
    <a href="../cc-about">learn more about
    <abbr title="Web Hypertext Application Conformance Checker">WebHACC</abbr></a>.</p>
  </d:desc>
  <d:desc xml:lang="ja">
    <p><a href="./#input"><abbr title="Web ハイパーテキスト応用適合性検査器">WebHACC</abbr></a>
    は、 Web 文書のための<em>適合性検査器</em> (妥当性検証器) です。
    <a href="http://whatwg.org/html5"><abbr title="Hypertext Markup Language">HTML</abbr>5</a>、
    <a href="urn:ietf:rfc:4287">Atom 1.0</a>、
    <a href="http://www.w3.org/Style/CSS/current-work"><abbr title="Cascading Style Sheets">CSS</abbr>3</a>
    などの<a href="../standards">最新の Web 標準</a>に対応しています。</p>

    <p><strong><a href="./#input">文書を検査する</a></strong></p>

    <p><a href="../cc-about"><abbr title="Web ハイパーテキスト応用適合性検査器">WebHACC</abbr>
    の詳細</a></p>
  </d:desc>
</d:cat>

<section id="character-encoding-layer">
<h2>Character Encoding Layer Errors</h2>

<d:item name="fallback-char-error"
    modules="Charset::DecodeHandle">
  <d:message xml:lang="en">Octet sequence <code><var>{octets}</var></code>
  is not an allowed representation of the character
  <code><var>{char}</var></code> &#x2014; character reference
  <code><var>{char:hexref}</var></code> should be used instead.</d:message>
  <!-- HTML5 parse error -->
</d:item>

<d:item name="fallback-unassigned-error"
    modules="Charset::DecodeHandle">
  <d:message xml:lang="en">No character is assigned to octet sequence
  <code><var>{octets}</var></code>.</d:message>
  <!-- HTML5 parse error -->
</d:item>

<d:item name="illegal-octets-error"
    modules="Charset::DecodeHandle">
  <d:message xml:lang="en">Octet sequence <code><var>{octets}</var></code>
  is illegal.</d:message>
</d:item>

<d:item name="invalid-state-error"
    modules="Charset::DecodeHandle::ISO2022JP">
  <!-- TODO: more user-friendly error message is desired... -->
  <d:message xml:lang="en">The input stream is broken.</d:message>
  <d:desc xml:lang="en">
    <p>The input stream is encoded in <code>ISO-2022-JP</code>
    or its variant but is partially broken.</p>

    <p>Note that an <code>ISO-2022-JP</code> stream must end in the ASCII
    state.</p>
  </d:desc>
</d:item>

<d:item name="unassigned-code-point-error"
    modules="Charset::DecodeHandle">
  <d:message xml:lang="en">No character is assigned to octet sequence
  <code><var>{octets}</var></code>.</d:message>
</d:item>
</section>

<section id="html5-character-encoding">
<h2>HTML5 Character Encoding Errors</h2>

<d:item name="charset:not supported"
    modules="HTML::Parser::Sniffer">
  <d:message xml:lang="en">Character encoding <code><var>{value}</var></code>
  is not supported and the explicit character encoding specification is
  ignored.  The result of the conformance checking might be
  <em>wrong</em>.</d:message>
</d:item>

<d:item name="disallowed character encoding"
    modules="ContentChecker">
  <d:message xml:lang="en">Character encoding <code><var>{text}</var></code>
  is not allowed for <abbr>HTML</abbr> document.</d:message>
  <d:desc xml:lang="en">
    <p>The character encoding used for the document is not allowed
    for <abbr>HTML</abbr> document.  The document is non‐conforming.</p>
  </d:desc>
</d:item>

<d:item name="bad character encoding"
    modules="ContentChecker">
  <d:message xml:lang="en">Character encoding <code><var>{text}</var></code>
  should not be used for <abbr>HTML</abbr> document.</d:message>
  <d:desc xml:lang="en">
    <p>The character encoding used for the document is not recommended
    for <abbr>HTML</abbr> document.  The document is non‐conforming
    unless there is any good reason to use that encoding.</p>
  </d:desc>
</d:item>

<d:item name="non-utf-8 character encoding"
    modules="ContentChecker">
  <d:message xml:lang="en">Use of UTF-8 is encouraged (this document
  is encoded in <code><var>{text}</var></code>).</d:message>
  <d:desc xml:lang="en">
    <p>Use of UTF-8 as the character encoding of the document is encouraged,
    though the use of another character encoding is still conforming.</p>
  </d:desc>
</d:item>

<d:item name="character encoding unchecked"
    modules="ContentChecker">
  <d:message xml:lang="en">Conformance for character encoding requirements
  cannot be checked, since the input is not a byte stream.</d:message>
  <d:desc xml:lang="en">
    <p>The conformance checker cannot detect whether the input document
    met the requirements on character encoding, since the document
    is not inputed as a serialized byte sequence.  The document is
    not conforming if it is not encoded in an appropriate character
    encoding with appropriate labeling.</p>
  </d:desc>
</d:item>

<d:item name="no character encoding declaration"
    modules="ContentChecker">
  <d:message xml:lang="en">There is no character encoding
  declaration.</d:message>
  <d:desc xml:lang="en">
    <p>The document does not contain a character encoding 
    declaration.  Unless the character encoding is explicitly 
    specified in lower‐level protocol, e.g. in <abbr>HTTP</abbr>,
    or is implied by <abbr>BOM</abbr>, there must be a character
    encoding declaration.  The document is non‐conforming.</p>

    <p>The long character encoding declaration syntax
    <code class="html bad example">&lt;meta http-equiv="Content-Type" content="text/html; charset=<var>charset-name</var>"></code>
    is obsolete.  The new syntax is:</p>
    <pre class="html example"><code>&lt;meta charset="<var>charset-name</var>"></code></pre>

    <p>Note that the <code>encoding</code> declaration in <abbr>XML</abbr> 
    declaration has no effect for <abbr>HTML</abbr> document.</p>
  </d:desc>
</d:item>

<d:item name="non ascii superset"
    modules="ContentChecker">
  <d:message xml:lang="en">No character encoding metadata is found
  in lower‐level protocol nor is there <abbr>BOM</abbr>, while
  character encoding <code><var>{text}</var></code>
  is not a superset of <abbr>ASCII</abbr>.</d:message>
  <d:desc xml:lang="en">
    <p>The document is not labeled with character encoding name
    in lower‐level protocol, e.g. in <abbr>HTTP</abbr>, and
    the document is not begin with <abbr>BOM</abbr>.  In addition,
    the character encoding of the document is not a superset of
    <abbr>ASCII</abbr>.  The document is non‐conforming.</p>

    <p>Unless there is a <abbr>BOM</abbr>, the character encoding
    for the document must be specified in e.g. <abbr>HTTP</abbr>‐level,
    as:</p>
    <pre class="http example"><code>Content-Type: text/html; charset=<var>charset-name</var></code></pre>

    <p>Existence of <abbr>HTML</abbr> character encoding declaration, i.e.
    <code class="html example">&lt;meta charset="<var>charset-name</var>"></code>,
    does not allow to omit <code>charset</code> parameter
    for <abbr>HTML</abbr> document encoded in non‐<abbr>ASCII</abbr>
    compatible encoding.</p>

    <p>Character encodings <code>Shift_JIS</code>, <code>Windows-31J</code>,
    and <code>ISO-2022-JP</code> are <em>not</em> a superset of
    <abbr>ASCII</abbr> for the purpose of <abbr>HTML</abbr> conformance.</p>
  </d:desc>
</d:item>

<d:item name="sniffing:chardet"
    modules="HTML::Parser">
  <d:message xml:lang="en">Character encoding of this document is sniffed
  as <code><var>{text}</var></code> (Sniffed because no explicit specification
  for the character encoding of this document is found in the transfer
  procotol headers).</d:message>
</d:item>

<d:item name="sniffing:default"
    modules="HTML::Parser">
  <d:message xml:lang="en">Character encoding of this document is defaulted
  to <code><var>{text}</var></code> because no explicit specification
  for the character encoding of this document is found in the transfer
  procotol headers.</d:message>
</d:item>

<d:item name="chardecode:fallback"
    modules="HTML::Parser">
  <d:message xml:lang="en">Results might be <em>wrong</em>, since the
  conformance checker cannot find an appropriate decoder for the character
  encoding used for the document.</d:message>
  <d:desc xml:lang="en">
    <p>The conformance checker cannot find an appropriate decoder for
    the character encoding used to encode characters in the document.</p>

    <p>This error is raised if:</p>
    <ul>
    <li>the conformance checker cannot find any decoder for the character
    encoding in use, but it knows that the encoding is similar to another
    character encoding, such that it uses the decoder for that character
    encoding, and therefore some octets might be interpreted incorrectly,
    or,</li>
    <li>the conformance checker find a decoder for the character encoding
    in use, but it does not know whether the decoder is conforming to the
    relevant specification or not, and therefore some octets might be
    interpreted incorrectly.</li>
    </ul>

    <p>In either case, the result shown by the conformance checker might
    contain wrong errors caused by errorneous decoder or might not contain 
    errors that should be raised if an appropriate decoder is used.</p>

    <!-- TODO: add advise that either install relevant modules or 
         join the developmenet of the modules... -->
  </d:desc>
</d:item>

<d:item name="chardecode:no error"
    modules="HTML::Parser">
  <d:message xml:lang="en">Conformance error checking for the character
  encoding <code><var>{text}</var></code> is not supported.</d:message>
</d:item>

<d:item name="charset label:matching"
    modules="HTML::Parser">
  <d:message xml:lang="en">Sniffed character encoding 
  <code><var>{text}</var></code> is same as the character encoding specified
  in the character encoding declaration.  This is <em>not</em> an
  error.</d:message>
</d:item>

<d:item name="charset label detected"
    modules="HTML::Parser">
  <d:message xml:lang="en">While parsing the document as
  <code><var>{text}</var></code>, a character encoding declaration specifying
  a different character encoding is found.  The document
  is reparsed.</d:message>
  <d:desc xml:lang="en">
    <p>While parsing a document in a character encoding,
    a character encoding declaration which declares the character
    encoding of the document as another character encoding is found.
    The occurence of this warning itself does not make the document
    non‐conforming.  However, the failure of the first attempt to
    to detect the character encoding might be a result of non‐conformance 
    of the document.</p>

    <p>The document will be reparsed from the beginning.  Some error
    or warning might be reported again.</p>

    <p>These are suggestions to avoid this warning:</p>
    <ul>
    <li>Specify <code>charset</code> parameter in the <code>Content-Type</code>
    field in the <abbr>HTTP</abbr> header, as:
    <pre class="HTTP example"><code>Content-Type: text/html; charset="<var>charset-name</var>"</code></pre></li>
    <li>Put the character encoding declaration
    (<code class="html example">&lt;meta charset="<var>charset-name</var>"></code>)
    just after <code class="html example">&lt;head></code> start tag.</li>
    <li>Use <code>UTF-8</code>.</li>
    </ul>
  </d:desc>
</d:item>
</section>

<section id="character-set-layer">
<h2>Coded Character Set Layer Errors</h2>

<d:item name="NULL"
    modules="HTML::Parser">
  <!-- HTML5 Parse Error -->
  <d:message xml:lang="en">The <code class="charname">NULL</code> character
  is not allowed.</d:message>
</d:item>

<d:item name="control char"
    modules="Charset::UnicodeChecker">
  <!-- HTML5 Parse Error -->
  <d:message xml:lang="en">Code point <code><var>{text}</var></code> is
  not allowed.</d:message>
</d:item>

<d:item name="nonchar"
    modules="Charset::UnicodeChecker">
  <d:message xml:lang="en">Noncharacter <code><var>{text}</var></code>
  is found in the input stream.</d:message>
  <d:desc xml:lang="en">
    <p>Noncharacter code points are used in the input stream.</p>

    <p>Noncharacter code points are reserved for internal processings.
    Their use for information interchanges are forbidden.</p>

    <p>In addition, they are not allowed in HTML document.</p>
    <!-- "permanently undefined Unicode characters" in HTML5. -->
  </d:desc>
</d:item>

<d:item name="non unicode"
    modules="Charset::UnicodeChecker">
  <d:message xml:lang="en">Character <code><var>{text}</var></code> is not
  a Unicode character.</d:message>
</d:item>

<d:item name="unicode deprecated"
    modules="Charset::UnicodeChecker">
  <d:message xml:lang="en">Use of character <code><var>{text}</var></code>
  is deprecated.</d:message>
</d:item>

<d:item name="unicode discouraged"
    modules="Charset::UnicodeChecker">
  <d:message xml:lang="en">Use of character <code><var>{text}</var></code>
  is discouraged.</d:message>
</d:item>

<d:item name="unicode not preferred"
    modules="Charset::UnicodeChecker">
  <d:message xml:lang="en">Code point <code><var>{text}</var></code>
  is not the preferred representation of that character.</d:message>
</d:item>

<d:item name="unicode should"
    modules="Charset::UnicodeChecker">
  <d:message xml:lang="en">Character <code><var>{text}</var></code>
  should not be used in many cases.</d:message>
</d:item>

</section>

<section id="html5-tokenize-error">
<h2>HTML5 Parse Errors in Tokenization Stage</h2>

<d:item name="bad attribute name"
    modules="HTML::Parser">
  <d:message xml:lang="en">Attribute name cannot contain characters
  <code>"</code>, <code>'</code>, and <code>=</code>.</d:message>
</d:item>

<d:item name="bad attribute value"
    modules="HTML::Parser">
  <d:message xml:lang="en">Attribute value must be quoted by <code>"</code>
  or <code>'</code> if it contains a <code>"</code>, <code>'</code>, or
  <code>=</code> character.</d:message>
  <d:desc xml:lang="en">
    <p>In an unquoted attribute value, a character <code>"</code>
    (<code>U+0022</code> <code class="charname">QUOTATION MARK</code>),
    <code>'</code> (<code>U+0026</code> 
    <code class="charname">APOSTROPHE</code>), or <code>=</code>
    (<code>U+003D</code> <code class="charname">EQUAL SIGN</code>)
    is contained.  These characters are not allowed in unquoted attribute
    values, since they are used to quote attribute values or to separate
    attribute name and value.</p>

    <p>This error is also raised if one try to use empty attribute
    value like <code class="html bad example">&lt;foo bar= baz=></code>;
    in this example, <code class="html bad example">baz=</code> is
    treated as an invalid attribute value for the attribute
    <code class="html bad example">bar</code>, not as another attribute.</p>
  </d:desc>
</d:item>

<d:item name="bare ero"
    modules="HTML::Parser">
  <d:message xml:lang="en">The <code>&amp;</code> character must
  be escaped as <code class="html example">&amp;amp;</code>.</d:message>
  <d:desc xml:lang="en">
    <p>An <code>&amp;</code> character which
    is not part of any reference appears in the input stream.
    The document is non‐conforming.</p>

    <p><em>Any <code>&amp;</code> character in URI (or IRI)
    must be escaped as <code class="example">&amp;amp;</code>.</em></p>

    <p>The <code>&amp;</code> character must
    be the first character of a reference:
      <dl class="switch">
      <dt>Named entity reference</dt>
          <dd><pre class="html example"><code>&amp;<var>entity-name</var>;</code></pre>
          where <var>entity-name</var> is the name of the
          character entity to be referenced.</dd>
      <dt>Numeric character reference</dt>
          <dd><pre class="html example"><code>&amp;#<var>d</var>;</code></pre>
          where <var>d</var> is the decimal representation of
          the code position of the character to be referenced.</dd>
      <dt>Hexadecimal character reference</dt>
          <dd><pre class="html example"><code>&amp;#x<var>h</var>;</code></pre>
          where <var>h</var> is the hexadecimal representation
          of the code position of the character to be referenced.</dd>
      </dl>
    </p>

    <p>To represent <code>&amp;</code> as a data character, use
    named entity reference:
      <pre class="html example"><code>&amp;amp;</code></pre>
    </p>
  </d:desc>
</d:item>

<d:item name="bare etago"
    modules="HTML::Parser">
  <d:message xml:lang="en">A <code>&lt;/</code> string is not followed
  by a tag name.</d:message><!-- </ EOF -->
  <d:desc xml:lang="en">
    <p>There is a <code>&lt;</code> (<code>U+003C</code> 
    <code class="charname">LESS-THAN SIGN</code>) character
    immediately followed by a <code>/</code> (<code>U+005F</code>
    <code>SOLIDUS</code>) character, which is not part
    of any end tag, in the input stream.  The document
    is non-conforming.</p>

    <p>The <code>&lt;/</code> sequence immediately followed
    by an <abbr title="End of file pseudo-character">EOF</abbr> is
    interpreted as a string data of <code>&lt;/</code>.</p>

    <p>The <code>&lt;/</code> sequence as string data must
    be escaped as:
    <pre class="html example"><code>&amp;lt;/</code></pre>
    </p>
  </d:desc>
</d:item>

<d:item name="bare stago"
    modules="HTML::Parser">
  <d:message xml:lang="en">A <code>&lt;</code> character is not followed
  by tag name or by a <code>!</code> character.</d:message>
  <d:desc xml:lang="en">
    <p>A <code>&lt;</code> (<code>U+003C</code> 
    <code class="charname">LESS-THAN SIGN</code>) character which is not part
    of any markup appears in the input stream.</p>

    <p>The <code>&lt;</code> character as a data character must
    be escaped as:
    <pre class="html example"><code>&amp;lt;</code></pre>
    </p>
  </d:desc>
</d:item>

<d:item name="bare nero"
    modules="HTML::Parser">
  <d:message xml:lang="en">The decimal representation of the code position
  of a character must be specified after <code>&amp;#</code>.</d:message>
  <d:desc xml:lang="en">
    <p>An <code>&amp;</code> (<code>U+0026</code>
    <code class="charname">AMPERSAND</code>) character immediately
    followed by a <code>#</code> (<code>U+0023</code>
    <code>NUMBER SIGN</code>) character which
    is not part of any reference appears in the input stream.
    The document is non-conforming.</p>

    <p>The string <code>&amp;#</code> must be the first two characters
    of a reference:
      <dl class="switch">
      <dt>Numeric character reference</dt>
          <dd><pre class="html example"><code>&amp;#<var>d</var>;</code></pre>
          where <var>d</var> is the decimal representation of
          the code point of the character to be referenced.</dd>
      <dt>Hexadecimal character reference</dt>
          <dd><pre class="html example"><code>&amp;#x<var>h</var>;</code></pre>
          where <var>h</var> is the hexadecimal representation
          of the code point of the character to be referenced.</dd>
      </dl>
    </p>

    <p>To represent <code>&amp;#</code> as data characters, use
    a named entity reference for the <code>&amp;</code> character:
      <pre class="html example"><code>&amp;amp;#</code></pre>
    </p>
  </d:desc>
</d:item>

<d:item name="bare hcro"
    modules="HTML::Parser">
  <d:message xml:lang="en">The hexadecimal representation of the code position
  of a character must be specified after <code>&amp;#x</code>.</d:message>
  <d:desc xml:lang="en">
   <p>The string <code>&amp;#x</code> or <code>&amp;#X</code> which
   is not part of any reference appears in the input stream.
    The document is non-conforming.</p>

    <p>The string <code>&amp;#x</code> or <code>&amp;#X</code> must
    be the first three characters of a hexadecimal reference:
      <pre class="html example"><code>&amp;#x<var>h</var>;</code></pre>
    where <var>h</var> is the hexadecimal representation
    of the code point of the character to be referenced.</p>

    <p>To represent <code>&amp;#x</code> as data characters, use
    a named entity reference for the <code>&amp;</code> character:
      <pre class="html example"><code>&amp;amp;#x</code></pre>
    </p>
  </d:desc>
</d:item>

<d:item name="bogus comment"
    modules="HTML::Parser">
  <d:message xml:lang="en">String <code>&lt;!</code> is not followed
  by <code>--</code>.</d:message>
  <d:desc xml:lang="en">
    <p>There is a <code>&lt;</code> (<code>U+003C</code> 
    <code class="charname">LESS-THAN SIGN</code>) character
    followed by a <code>!</code> (<code>U+0021</code>
    <code class="charname">EXCLAMATION MARK</code>) character,
    which is not followed by a <code>--</code> or
    <code>!DOCTYPE</code>.  The document is non-conforming.</p>

    <dl class="switch">
    <dt>Comments</dt>
      <dd>In HTML document, comments must be introduced by
      <code class="example">&lt;!--</code> (<code>&lt;!</code>
      <em>immediately</em> followed
      by <em>two</em> <code>-</code>s) and must be terminated by
      <code class="example">--></code>.
      Strings <code>&lt;!</code> not followed
      by <code>--</code> and <code>&lt;!-</code> not followed by
      <code>-</code> are not valid open delimiters for comments.</dd>
    <dt>Marked sections, including <code>CDATA</code> sections</dt>
      <dd>Marked sections are not allowed in HTML document.</dd>
    <dt>Markup declarations</dt>
      <dd>Markup declarations, except for <code>DOCTYPE</code>
      and comment declarations, are not allowed in HTML document.</dd>
    <dt>String <code>&lt;!</code></dt>
      <dd>String <code>&lt;!</code> must be escaped as
      <code class="example">&amp;lt;!</code>.</dd>
    </dl>
  </d:desc>
</d:item>

<d:item name="bogus end tag"
    modules="HTML::Parser">
  <d:message xml:lang="en">String <code>&lt;/</code> is not followed
  by tag name.</d:message><!-- </ non-name-start-char-non-EOF -->
  <d:desc xml:lang="en">
    <p>There is a <code>&lt;</code> (<code>U+003C</code> 
    <code class="charname">LESS-THAN SIGN</code>) character
    immediately followed by a <code>/</code> (<code>U+005F</code>
    <code>SOLIDUS</code>) character, which is not part
    of any end tag, in the input stream.  The document
    is non-conforming.</p>

    <p>The <code>&lt;/</code> sequence not followed by a
    tag name is parsed as an opening of bogus comment.</p>

    <p>The <code>&lt;/</code> sequence as string data must
    be escaped as:
    <pre class="html example"><code>&amp;lt;/</code></pre>
    </p>
  </d:desc>
</d:item>

<d:item name="dash in comment"
    modules="HTML::Parser">
  <d:message xml:lang="en">There is a <code>--</code> sequence
  in a comment.</d:message>
  <d:desc xml:lang="en">
    <p>There is a <code>-</code> (<code>U+002D</code>
    <code class="charname">HYPHEN-MINUS</code>) character 
    at the end of the comment or a <code>--</code> sequence
    in the comment.  The document is non-conforming.</p>

    <p>Comments cannot contain a string <code>--</code>, as in XML.
    Unlike SGML, there cannot be more than one comments
    (where <i>comment</i> is an SGML term) in the comment
    declaration.</p>
  </d:desc>
</d:item>

<d:item name="duplicate attribute"
    modules="HTML::Parser">
  <d:message xml:lang="en">There are two attributes with name
      <code><var>{text}</var></code>.</d:message>
  <d:desc xml:lang="en">
    <p>There are more than one attributes with the same
    name in a tag.  The document is non-conforming.</p>

    <p>The <code>motion</code> attribute is not part of the HTML standard.
    Use <code>img</code> element with animation GIF instead.</p>
  </d:desc>
</d:item>

<d:item name="empty start tag"
    modules="HTML::Parser">
  <d:message xml:lang="en">Empty start tag (<code>&lt;></code>) is not
  allowed.</d:message>
</d:item>

<d:item name="empty end tag"
    modules="HTML::Parser">
  <d:message xml:lang="en">Empty end tag (<code>&lt;/></code>) is not
  allowed.</d:message>
</d:item>

<d:item name="end tag attribute"
    modules="HTML::Parser">
  <d:message xml:lang="en">End tag cannot have attributes.</d:message>
  <d:message xml:lang="ja">終了タグに属性が指定されています。</d:message>
</d:item>

<d:item name="empty unquoted attribute value"
    modules="HTML::Parser">
  <d:message xml:lang="en">Attribute value is not specified.</d:message>
  <d:message xml:lang="ja">属性値が指定されていません。</d:message>
  <d:desc xml:lang="en">
    <p>The attribute value is not specified after the <code>=</code>
    (<code>U+003C</code> <code class="charname">EQUAL SIGN</code>)
    character.</p>

    <p>When an attribute value is empty, the <code>=</code> character after
    the attribute name must be specified as:</p>

    <p><code class="html example">&lt;foo bar></code></p>

    <p>Instead, quotation marks can be used to explicitly represent that
    the attribute value is empty, as:</p>

    <p><code class="html example">&lt;foo bar=""></code></p>

    <p>... or like:</p>

    <p><code class="html example">&lt;foo bar=''></code></p>
  </d:desc>
</d:item>

<d:item name="invalid character reference"
    modules="HTML::Parser">
  <d:message xml:lang="en">Character reference to
  <code><var>{text}</var></code> is not allowed.</d:message>
  <!-- Control characters, CR character, DEL character, C1 characters,
       noncharacter code points, surrogate code points, non-Unicode
       characters -->
</d:item>

<d:item name="nestc"
    modules="HTML::Parser">
  <d:message xml:lang="en">Polytheistic slash (<code>/></code>) cannot be
  used for this element.</d:message>
  <d:desc xml:lang="en">
    <p>Polytheistic slash (<code>/></code>) must not be used
    for the element.  The document is non-conforming.</p>

    <p>The polytheistic slash can only be
    used for <code>base</code>, <code>link</code>, <code>meta</code>,
    <code>hr</code>, <code>br</code>, <code>img</code>, 
    <code>embed</code>, <code>param</code>, <code>area</code>,
    <code>col</code>, and <code>input</code> elements.</p>

    <dl class="switch">
    <dt><code>&lt;script/></code></dt>
        <dd><p>The polytheistic slash cannot be used for <code>script</code>
        element.  Even for an empty <code>script</code> element,
        there must be an explicit end tag
        <code class="html example">&lt;/script></code>.</p>

        <p><strong>NOTE</strong>: Though some user agents interpret
        polytheistic slash for <code>script</code> element as the 
        closing of the element, such usage is not allowed under
        the current standard.</p></dd>
    <dt><code>&lt;basefont/></code>, <code>&lt;bgsound/></code>,
    <code>&lt;frame/></code>, <code>&lt;keygen/></code>,
    <code>&lt;spacer/></code>, <code>&lt;wbr/></code></dt>
        <dd>These elements are themselves non-conforming.</dd>
    <!-- isindex, image -->
    <dt><code>&lt;command/></code>, <code>&lt;event-source/></code>,
    <code>&lt;nest/></code>, or <code>&lt;source/></code></dt>
        <dd>Future revision of HTML5 parsing algorithm is expected
        to allow polytheistic slash for these elements.</dd>
    <dt><code>&lt;a/></code>, <code>&lt;p/></code></dt>
        <dd>These elements are not always empty and therefore
        polytheistic slash is not allowed.  Use explicit end tag
        to represent empty element as:
          <pre class="example html"><code>&lt;p>&lt;/p></code></pre>
        </dd>
    </dl>

    <p>Note that, unlike in XML, the polytheistic slash has
    no effect in HTML.</p>
  </d:desc>
</d:item>

<d:item name="no DOCTYPE name"
    modules="HTML::Parser">
  <d:message xml:lang="en">After the string <code>&lt;!DOCTYPE </code>, the
  document type name must be specified.</d:message>
</d:item>

<d:item name="no PUBLIC literal"
    modules="HTML::Parser">
  <d:message xml:lang="en">After the keyword <code>PUBLIC</code>, no
  oublic identifier is specified.</d:message>
</d:item>

<d:item name="no refc"
    modules="HTML::Parser">
  <d:message xml:lang="en">Character reference must be closed by a
  <code>;</code> character.</d:message>
</d:item>

<d:item name="no space before DOCTYPE name"
    modules="HTML::Parser">
  <d:message xml:lang="en">After the string <code>&lt;!DOCTYPE</code>, there
  must be at least a white space character before the document type
  name.</d:message>
</d:item>

<d:item name="no space between attributes"
    modules="HTML::Parser">
  <d:message xml:lang="en">Attributes must be separeted by at least a
  white space character.</d:message>
</d:item>

<d:item name="no SYSTEM literal"
    modules="HTML::Parser">
  <d:message xml:lang="en">After the keyword <code>SYSTEM</code>, no
  system identifier is specified.</d:message>
</d:item>

<d:item name="pio"
    modules="HTML::Parser">
  <d:message xml:lang="en">Processing instruction 
  (<code>&lt;?<var>...</var>></code>) is not allowed in HTML
  document.</d:message>
  <d:desc xml:lang="en">
    <p>Processing instructions (<code>&lt;?<var>...</var>?></code>),
    including XML declaration (<code>&lt;?xml <var>...</var>?></code>)
    and XML style sheet <abbr title="processing instruction">PI</abbr>
    (<code>&lt;?xml-stylesheet <var>...</var>?></code>), are not allowed 
    in the HTML syntax.  The document is non-conforming.</p>

    <dl class="switch">
    <dt><code>&lt;?xbl?></code> (<abbr>XBL</abbr> Association)</dt>
      <dd>An <abbr>XBL</abbr> binding cannot be associated by 
      <abbr title="processing instruction">PI</abbr> in <abbr>HTML</abbr>
      document.  Use <code>binding</code> property in <abbr>CSS</abbr>
      style sheet as:
        <pre class="html example"><code>&lt;style>
p {
  binding: url(binding.xbl);
}
&lt;/style></code></pre>
      </dd>
    <dt><code>&lt;?xml?&gt;</code> (XML declaration)</dt>
        <dd>XML declaration is unnecessary for HTML documents.</dd>
    <dt><code>&lt;?xml-stylesheet?></code> (XML style sheet
    <abbr title="processing instruction">PI</abbr>)</dt>
        <dd>Use HTML <code>link</code> element with <code>rel</code>
        attribute set to <code>stylesheet</code> (or,
        <code>alternate stylesheet</code> for an alternate style 
        sheet).
          <pre class="example html"><code>&lt;link rel=stylesheet href="path/to/stylesheet.css"></code></pre>
        </dd>
    <dt><code>&lt;?php?&gt;</code> or 
    <code>&lt;? <var>... <abbr>PHP</abbr> code ...</var> ?&gt;</code> 
    (<abbr>PHP</abbr> code)</dt>
        <dd>The conformance checker does <em>not</em> support
        checking for PHP source documents.</dd>
    <dt>Other processing instructions</dt>
        <dd>Processing instructions cannot be inserted in an HTML
        document.  Use XML document or insert 
        <code>ProcessingInstruction</code> node by scripting.</dd>
    </dl>

    <p>Web browsers will parse processing instructions as bogus
    comments.  Some legacy Web browsers, such as IE:mac and
    some mobile Web browsers, will display processing instructions
    as string.</p>
  </d:desc>
</d:item>

<d:item name="string after DOCTYPE name"
    modules="HTML::Parser">
  <d:message xml:lang="en">There is a bogus string after the document type
  name.</d:message>
</d:item>

<d:item name="string after PUBLIC"
    modules="HTML::Parser">
  <d:message xml:lang="en">There is a bogus string after the keyword
  <code>PUBLIC</code>.</d:message>
</d:item>

<d:item name="string after PUBLIC literal"
    modules="HTML::Parser">
  <d:message xml:lang="en">There is a bogus string after the public
  identifier.</d:message>
</d:item>

<d:item name="string after SYSTEM"
    modules="HTML::Parser">
  <d:message xml:lang="en">There is a bogus string after the keyword
  <code>SYSTEM</code>.</d:message>
</d:item>

<d:item name="string after SYSTEM literal"
    modules="HTML::Parser">
  <d:message xml:lang="en">There is a bogus string after the system
  identifier.</d:message>
</d:item>

<d:item name="unclosed attribute value"
    modules="HTML::Parser">
  <d:message xml:lang="en">Attribute value is not closed by a quotation
  mark.</d:message>
</d:item>

<d:item name="unclosed comment"
    modules="HTML::Parser">
  <d:message xml:lang="en">Comment is not closed by a string
  <code>--></code>.</d:message>
</d:item>

<d:item name="unclosed DOCTYPE"
    modules="HTML::Parser">
  <d:message xml:lang="en">The <code>DOCTYPE</code> is not closed by a
  <code>></code> character.</d:message>
</d:item>

<d:item name="unclosed PUBLIC literal"
    modules="HTML::Parser">
  <d:message xml:lang="en">The public identifier literal is not closed by a
  quotation mark.</d:message>
</d:item>

<d:item name="unclosed SYSTEM literal"
    modules="HTML::Parser">
  <d:message xml:lang="en">The system identifier literal is not closed by a
  quotation mark.</d:message>
</d:item>

<d:item name="unclosed tag"
    modules="HTML::Parser">
  <d:message xml:lang="en">Tag is not closed by a <code>></code>
  character.</d:message>
</d:item>

</section>

<section id="html5-parse-errors">
<h2>HTML5 Parse Errors in Tree Construction Stage</h2>

<d:item name="after after frameset"
    modules="HTML::Parser">
  <d:message xml:lang="en">There is a start tag
  <code>&lt;<var>{text}</var>></code> is after the <code>html</code> element
  is closed.</d:message>
  <d:message xml:lang="ja"><code>html</code> 要素が閉じられた後に開始タグ
  <code>&lt;<var>{text}</var>></code> があります。</d:message>
</d:item>

<d:item name="after after frameset:/"
    modules="HTML::Parser">
  <d:message xml:lang="en">There is an end tag
  <code>&lt;/<var>{text}</var>></code> is after the <code>html</code> element
  is closed.</d:message>
  <d:message xml:lang="ja"><code>html</code> 要素が閉じられた後に終了タグ
  <code>&lt;/<var>{text}</var>></code> があります。</d:message>
</d:item>

<d:item name="after body"
    modules="HTML::Parser">
  <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>></code> is
  not allowed after the <code>body</code> is closed.</d:message>
</d:item>

<d:item name="after body:/"
    modules="HTML::Parser">
  <d:message xml:lang="en">End tag <code>&lt;/<var>{text}</var>></code> is
  not allowed after the <code>body</code> is closed.</d:message>
</d:item>

<d:item name="after body:#text"
    modules="HTML::Parser">
  <d:message xml:lang="en">Non‐white‐space characters are not allowed
  after the <code>body</code> is closed.</d:message>
</d:item>

<d:item name="after frameset"
    modules="HTML::Parser">
  <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>></code> is
  not allowed after the <code>frameset</code> is closed.</d:message>
</d:item>

<d:item name="after frameset:/"
    modules="HTML::Parser">
  <d:message xml:lang="en">End tag <code>&lt;/<var>{text}</var>></code> is
  not allowed after the <code>frameset</code> is closed.</d:message>
</d:item>

<d:item name="after frameset:#text"
    modules="HTML::Parser">
  <d:message xml:lang="en">Non‐white‐space characters are not allowed
  after the <code>frame</code> is closed.</d:message>
</d:item>

<d:item name="after head"
    modules="HTML::Parser">
  <d:message xml:lang="en">The <code><var>{text}</var></code> element cannot be
  inserted between <code>head</code> and <code>body</code>
  elements.</d:message>
  <d:desc xml:lang="en">
    <p>A start tag appears after the <code>head</code> element is closed
    but before the <code>body</code> element is opened.
    The document is non-conforming.</p>
  </d:desc>
</d:item>

<d:item name="after html"
    modules="HTML::Parser">
  <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>></code> is
  not allowed after the <code>html</code> is closed.</d:message>
  <d:desc xml:lang="en">
    <p>The start tag of an element appears after the
    <code>body</code> element has been closed.  The document is
    non-conforming.</p>

    <p>Any content of the document other than <code>head</code>
    contents and comments must be put into the <code>body</code>
    element.</p>
  </d:desc>
</d:item>

<d:item name="after html:/"
    modules="HTML::Parser">
  <d:message xml:lang="en">End tag <code>&lt;/<var>{text}</var>></code> is
  not allowed after the <code>html</code> is closed.</d:message>
  <d:desc xml:lang="en">
    <p>The end tag of an element appears after the
    <code>body</code> element has been closed.  The document is
    non-conforming.</p>

    <p>Any content of the document other than <code>head</code>
    contents and comments must be put into the <code>body</code>
    element.</p>
  </d:desc>
</d:item>

<d:item name="after html:#text"
    modules="HTML::Parser">
  <d:message xml:lang="en">Non‐white‐space characters are not allowed
  after the <code>html</code> is closed.</d:message>
</d:item>

<d:item name="image"
    modules="HTML::Parser">
  <d:message xml:lang="en">The <code>image</code> element is
  obsolete.</d:message>
</d:item>

<d:item name="in a:a"
    modules="HTML::Parser">
  <d:message xml:lang="en">Anchor cannot be nested.</d:message>
  <d:desc xml:lang="en">
    <p>HTML <code>a</code> elements cannot be nested.
    The document is non-conforming.</p>

    <p>In the HTML syntax, a start tag of the <code>a</code>
    implies the end tag of any opening <code>a</code> element.</p>
  </d:desc>
</d:item>

<d:item name="in body"
    modules="HTML::Parser">
  <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>&gt;</code>
  is not allowed in the <code>body</code> element.</d:message>
  <d:desc xml:lang="en">
    <p>The start or end tag of an element, which 
    cannot be a descendant of <code>body</code> element, appears
    in the input stream while the <code>body</code> element has been opened.
    The document is non-conforming.</p>
  </d:desc>
</d:item>

<d:item name="in body:#eof"
    modules="HTML::Parser">
  <d:message xml:lang="en">Some element is not closed before the end of
  file.</d:message>
</d:item>

<d:item name="in button:button"
    modules="HTML::Parser">
  <d:message xml:lang="en">The <code>button</code> element cannot be
  nested.</d:message>
</d:item>

<d:item name="in CDATA:#eof"
    modules="HTML::Parser">
  <d:message xml:lang="en">Element is not closed before the end of
  file.</d:message>
</d:item>

<d:item name="in form:form"
    modules="HTML::Parser">
  <d:message xml:lang="en">Start tag <code>&lt;form></code> is
  not allowed in a <code>form</code> element.</d:message>
</d:item>

<d:item name="in frameset"
    modules="HTML::Parser">
  <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>></code> is
  not allowed in a <code>framset</code> element.</d:message>
</d:item>

<d:item name="in frameset:/"
    modules="HTML::Parser">
  <d:message xml:lang="en">End tag <code>&lt;/<var>{text}</var>></code> is
  not allowed in a <code>frameset</code> element.</d:message>
</d:item>

<d:item name="in frameset:#text"
    modules="HTML::Parser">
  <d:message xml:lang="en">Non‐white‐space characters are not allowed
  in a <code>frameset</code> element.</d:message>
</d:item>

<d:item name="in head:head"
    modules="HTML::Parser">
  <d:message xml:lang="en">Start tag <code>&lt;head&gt;</code>
  is not allowed in the <code>head</code> element.</d:message>
  <d:desc xml:lang="en">
    <p>There is a start tag <code>&lt;head></code> in the
    <code>&lt;head></code> element.  The document is non-conforming.</p>

    <p>In an HTML document there must not be more than
    one <code>head</code> element, therefore no more than one
    start tag <code>&lt;head></code> can appear in the input stream.</p>
  </d:desc>
</d:item>

<d:item name="in html:#DOCTYPE"
    modules="HTML::Parser">
  <d:message xml:lang="en">A <code>DOCTYPE</code> appears after any
  element or data character has been seen.</d:message>
  <!-- <!DOCTYPE HTML><!DOCTYPE HTML> -->
  <!-- <html><!DOCTYPE HTML> -->
  <d:desc xml:lang="en">
    <p>A <code>DOCTYPE</code> appears after any element or data character
    has been seen.  The document is non-conforming.</p>
    
    <p>The <code>DOCTYPE</code> must be placed before any
    tag, reference, or data character.  Only white space characters
    and comments can be inserted before the <code>DOCTYPE</code>.</p>
  </d:desc>
</d:item>

<d:item name="in nobr:nobr"
    modules="HTML::Parser">
  <d:message xml:lang="en">The <code>nobr</code> element cannot be
  nested.</d:message>
</d:item>

<d:item name="in noscript"
    modules="HTML::Parser">
  <d:message xml:lang="en">The <code><var>{text}</var></code> element is not
  allowed in a <code>noscript</code> element in the
  <code>head</code> element.</d:message>
</d:item>

<d:item name="in noscript:/"
    modules="HTML::Parser">
  <d:message xml:lang="en">An end tag <code>&lt;/<var>{text}</var>></code>
  appers before the <code>noscript</code> element is closed.</d:message>
</d:item>

<d:item name="in noscript:#eof"
    modules="HTML::Parser">
  <d:message xml:lang="en">A <code>noscript</code> element is not closed
  before the end of file.</d:message>
</d:item>

<d:item name="in noscript:#text"
    modules="HTML::Parser">
  <d:message xml:lang="en">Non‐white‐space characters are not allowed
  in a <code>noscript</code> element in the <code>head</code>
  element.</d:message>
</d:item>

<d:item name="in PCDATA:#eof"
    modules="HTML::Parser">
  <d:message xml:lang="en">Element is not closed before the end of
  file.</d:message>
</d:item>

<d:item name="in select"
    modules="HTML::Parser">
  <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>&gt;</code>
  is not allowed in a <code>select</code> element.</d:message>
</d:item>

<d:item name="in select:/"
    modules="HTML::Parser">
  <d:message xml:lang="en">End tag <code>&lt;/<var>{text}</var>&gt;</code>
  is not allowed in a <code>select</code> element.</d:message>
</d:item>

<d:item name="in table"
    modules="HTML::Parser">
  <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>&gt;</code>
  is not allowed in a <code>table</code> element.</d:message>
  <d:desc xml:lang="en">
    <p>The start or end tag of an element, which
    cannot be a child of <code>table</code> element, appears
    in the input stream while the <code>table</code> element has been opened
    but no other element has been opened.  The document is non-conforming.</p>

    <p>In <code>table</code>, only table related elements
    are allowed; any other element must be contained in
    <code>td</code> or <code>th</code> element to form 
    a part of the table, or <code>caption</code> element to create
    a table caption.</p>
  </d:desc>
</d:item>

<d:item name="in table:/"
    modules="HTML::Parser">
  <d:message xml:lang="en">End tag <code>&lt;/<var>{text}</var>&gt;</code>
  is not allowed in a <code>table</code> element.</d:message>
</d:item>

<d:item name="in table:#text"
    modules="HTML::Parser">
  <d:message xml:lang="en">Non‐white‐space character is not allowed within 
  the <code>table</code> element, outside of the caption and cells.</d:message>
  <d:desc xml:lang="en">
    <p>A non‐white‐space character appears in <code>table</code>.
    The document is non-conforming.</p>

    <p>In <code>table</code>, only table related elements
    are allowed; any other element and data character must be contained in
    <code>td</code> or <code>th</code> element to form 
    a part of the table, or <code>caption</code> element to create
    a table caption.</p>
  </d:desc>
</d:item>

<d:item name="isindex"
    modules="HTML::Parser">
  <d:message xml:lang="en">The <code>isindex</code> element is
  obsolete.</d:message>
</d:item>

<d:item name="missing start tag:tr"
    modules="HTML::Parser">
  <d:message xml:lang="en">Start tag of <code>tr</code>
  element is missing.</d:message>
  <d:desc>
    <p>Start tag of a <code>tr</code> element, which is <em>not</em>
    optional, is missing.  The document is non-conforming.</p>

    <p>In a table section, a <code>&lt;tr></code> start tag
    must occur before any <code>&lt;td></code> or
    <code>&lt;th></code> start tag.  Though the HTML5 parser
    implies the <code>&lt;tr></code> start tag before
    these start tags, it must be explicitly specified.</p>
  </d:desc>
</d:item>

<d:item name="no DOCTYPE"
    class="parse-error"
    modules="HTML::Parser">
  <d:message xml:lang="en">This document does not start with a
  <code>DOCTYPE</code>.</d:message>
  <d:desc>
    <p>The document does not start with a <code>DOCTYPE</code>.
    The document is non-conforming.</p>

    <p>An HTML document must start by a <code>DOCTYPE</code>:
      <pre class="html example"><code>&lt;!DOCTYPE HTML></code></pre>
    </p>

    <p>Only white space characters and comments are allowed
    before the <code>DOCTYPE</code>.  XML declaration is <em>not</em>
    allowed in HTML document.</p>
  </d:desc>
</d:item>

<d:item name="not closed"
    class="parse-error"
    modules="HTML::Parser">
  <d:message xml:lang="en">Element <code><var>{text}</var></code> is not
  closed.</d:message>
  <d:desc>
    <p>End tag of an element is not found before, for example,
    an end tag of another element appears or
    the end of the document.  The document is non-conforming.</p>

    <p>Only <code>body</code>, <code>colgroup</code>, <code>dd</code>,
    <code>dt</code>, <code>head</code>, <code>html</code>, <code>li</code>,
    <code>ol</code>, <code>option</code>, <code>optgroup</code>, 
    <code>p</code>, <code>rb</code>, <code>rp</code>, <code>rt</code>,
    <code>tbody</code>, <code>td</code>, <code>tfoot</code>,
    <code>th</code>, <code>thead</code>, <code>tr</code>,
    <code>ul</code> end tag can be omitted in HTML documents.
    For any element except for void element, there must be an explicit
    end tag.</p>

    <dl class="switch">
    <dt>HTML <code>canvas</code> element</dt>
      <dd>Though the element is void in earlier versions of Safari,
      the <code>canvas</code> element is <em>no</em> longer
      defined as empty.  There must be an end tag
      <code class="html example">&lt;/canvas></code>.</dd>
    </dl>

    <p>Note that misnesting tags, such as 
    <code class="bad example">&lt;a>&lt;b>&lt;/a>&lt;/b></code>, are not
    allowed and they also cause this error.</p>
  </d:desc>
</d:item>

<d:item name="not first start tag"
    class="parse-error"
    modules="HTML::Parser">
  <d:message xml:lang="en">This <code>&lt;html></code> tag is not
  the first start tag.</d:message>
  <d:desc>
    <p>There is a start tag of the <code>html</code> element
    that it not the first start tag in the input stream.
    The document is non-conforming.</p>

    <p>In an HTML document, there cannot be more than one
    <code>html</code> element and therefore there cannot be
    more than one <code>&lt;html></code> tag.  In addition,
    nothing can be placed before the <code>&lt;html></code> tag
    except a <code>DOCTYPE</code>, white space characters, 
    and comments.</p>
  </d:desc>
</d:item>

<d:item name="not HTML5"
    class="parse-error"
    modules="HTML::Parser">
  <d:message xml:lang="en">This document is written in an old version of 
  HTML.</d:message>
  <d:desc xml:lang="en">
    <p>The document contains a <code>DOCTYPE</code> declaration
    that is different from HTML5 <code>DOCTYPE</code> (i.e. 
    <code class="example html">&lt;!DOCTYPE HTML&gt;</code>).
    The document is non‐conforming.</p>

    <p>The document might or might not be conformant to
    some version of HTML.  However, conformance to any HTML
    specification other than HTML5 provides for no practical
    convenience, since Web borwsers will parse any
    HTML document (roughly) as defined in HTML5.</p>
  </d:desc>
</d:item>

<d:item name="start tag not allowed"
    class="parse-error"
    modules="HTML::Parser">
  <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>></code> is
  not allowed here.</d:message>
</d:item>

<d:item name="unmatched end tag"
    class="parse-error"
    modules="HTML::Parser">
  <d:message xml:lang="en">Element <code><var>{text}</var></code> is not
  opened.</d:message>
  <d:desc>
    <p>An end tag appears though no element with the same name
    has been opened.  The document is non-conforming.</p>

    <p>For any end tag in HTML document, there must be a
    corresponding start tag.</p>

    <dl class="switch">
    <dt>HTML <code>base</code>, <code>basefont</code>,
    <code>bgsound</code>, <code>br</code>, <code>col</code>,
    <code>embed</code>, <code>frame</code>, <code>hr</code>,
    <code>image</code>, <code>img</code>, <code>input</code>,
    <code>isindex</code>, <code>link</code>, <code>meta</code>,
    <code>param</code>, <code>spacer</code>, or <code>wbr</code> element</dt>
      <dd>End tag is not allowed for these elements, since
      those content must always be empty.  Remove end tag.</dd>
    <!-- keygen -->
    <!-- command, event-source, nest, source -->
    </dl>
  </d:desc>
</d:item>

<d:item name="XSLT-compat" 
    modules="HTML::Parser">
  <d:message xml:lang="en">The <code>DOCTYPE</code> legacy string is
  used.</d:message>
  <d:message xml:lang="ja"><code>DOCTYPE</code>
  遺物文字列が使われています。</d:message>
  <d:desc xml:lang="en">
    <p>The <code>DOCTYPE</code> with the <code>DOCTYPE</code> legacy
    string, i.e.
    <code class="html bad example">&lt;!DOCTYPE HTML PUBLIC "XSLT-compat"></code>
    is used.</p>

    <p>The <code>DOCTYPE</code> legacy string should not be used for documents
    <em>not</em> generated from XSLT transformation process.  It is allowed
    only to enable to use XSLT style sheets with the HTML output mode, which
    does not support generation of the <code>DOCTYPE</code> with no
    <code>PUBLIC</code>
    identifier.  For other purposes, the <code>DOCTYPE</code> legacy
    string, i.e. <code class="html bad example">PUBLIC "XSLT-compat"</code>,
    is useless and should not be used.</p>
  </d:desc>
</d:item>

</section>

<section id="element-content-model-errors">
<h2>Element Content Model Errors</h2>

<d:item name="basehref after URL attribute"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The <code>base</code> element with the 
  <code>href</code> attribute specified cannot be placed after
  any attribute with a URL.</d:message>
</d:item>

<d:item name="basetarget after hyperlink"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The <code>base</code> element with the
  <code>target</code> attribute specified cannot be placed after
  any element that defines a hyperlink.</d:message>
</d:item>

<d:item name="character not allowed"
    modules="ContentChecker::HTML RDFXML">
  <d:message xml:lang="en">Data character is not allowed in this
  context.</d:message>
  <d:desc xml:lang="en">
    <p>A data character appears where it is not allowed in this
    context.  The document is non-conforming.</p>

    <p>Possible causes:
      <ul>
      <li><p>A data character cannot be a child
      of certain sectioning elements such as <code>body</code>,
      <code>section</code>, and <code>blockquote</code>.</p>

      <p>Any inline-level content must be put
      in e.g. paragraph element such as <code>p</code>.</p></li>
      <li><p>Though some elements such as <code>div</code>,
      <code>li</code>, and <code>td</code> allow
      <em>either one</em> of block-level or inline-level content
      is allowed.  If there is a block-level content, 
      any inline-level content must be put
      in e.g. paragraph element such as <code>p</code>.</p></li>
      </ul>
    </p>
  </d:desc>
</d:item>

<d:item name="character not allowed:empty"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Non‐white‐space characters are not allowed in
  an empty element.</d:message>
</d:item>

<d:item name="character not allowed:atom|PersonConstruct"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Non‐white‐space characters are not allowed in
  Person construct.</d:message>
</d:item>

<d:item name="character not allowed:atom|TextConstruct"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Non‐white‐space characters are not allowed in
  Text construct.</d:message>
</d:item>

<d:item name="child element missing"
    modules="ContentChecker::HTML ContentChecker::Atom">
  <d:message xml:lang="en">There must be an element
  <code><var>{text}</var></code> as a child of this element.</d:message>
  <d:desc xml:lang="en">
    <p>The content model of the element is so defined that it
    must contain a <code><var>$0</var></code> child element.
    The document is non-conforming.</p>

    <dl class="switch">
    <dt>HTML <code>head</code> element</dt>
      <dd>There must be a <code>title</code> child element.</dd>
    <dt>HTML <code>html</code> element</dt>
      <dd>There must be a <code>head</code> child element followed
      by a <code>body</code> element.</dd>
    <dt>HTML <code>tr</code> element</dt>
      <dd><a href="#child-element-missing:td%7Cth">There must be
      one or more <code>td</code> or <code>th</code> child element.</a></dd>
    </dl>
  </d:desc>
</d:item>

<d:item name="child element missing:td|th"
    class="content-model-error">
  <d:message xml:lang="en">There must be a <code>td</code>
  or <code>th</code> element as a child of this element.</d:message>
  <d:desc xml:lang="en">
    <p>The <code>tr</code> element must contain at least one
    <code>td</code> or <code>th</code> child element.  The document
    is non-conforming.</p>
  </d:desc>
</d:item>

<d:item name="child element missing:atom"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">There must be an element
  <code><var>{text}</var></code> in the Atom namespace as a child of this
  element.</d:message>
</d:item>

<d:item name="child element missing:atom:link:alternate"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">There must be an Atom <code>link</code> element
  whose <code>rel</code> attribute is set to <code>alternate</code> as a
  child of this element.</d:message>
</d:item>

<d:item name="child element missing:atom:link:self"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">There should be an Atom <code>link</code> element
  whose <code>rel</code> attribute is set to <code>self</code> as a
  child of this element.</d:message>
</d:item>

<d:item name="element missing:hn"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">There must be at least one 
  <code>h<var>n</var></code> element descendant.</d:message>
</d:item>

<d:item name="element not allowed"
    modules="ContentChecker::HTML ContentChecker::Atom RDFXML">
  <d:message xml:lang="en">This element is not allowed in this 
  context.</d:message>
  <d:desc xml:lang="en">
    <p>An element appears where it is not allowed.  The document
    is non-conforming.</p>

    <p>Possible causes:
      <dl class="switch">
      <dt>If the element with the error is an inline-level element,
      such as <code>a</code>, <code>progress</code>, or <code>img</code></dt>
          <dd><p>An inline-level element cannot be a child
          of certain sectioning elements such as <code>body</code>,
          <code>section</code>, and <code>blockquote</code>.</p>

          <p>Any inline-level content must be put
          in e.g. paragraph element such as <code>p</code>.</p></dd>
      <dt>If it is a block-level elements, such as <code>aside</code>,
      <code>div</code>, <code>h<var>n</var></code>,
      <code>p</code>, or <code>section</code></dt>
          <dd><dl class="switch">
              <dt>If the parent element is <code>div</code>,
              <code>li</code>, <code>td</code>, or <code>th</code></dt>
              <!-- @@ TODO: more... -->
                  <!-- @@ TODO: <p><ul><li><p> -->
                  <dd><p>The parent element allows <em>either</em>
                  block-level or inline-level content.  If there is a
                  block-level content, any inline-level content must be
                  put in e.g. paragraph element such as <code>p</code>.</p>
                  <p>For example, an HTML document fragment
                  <code class="html bad example">&lt;div>&lt;p>Hello!&lt;/p> World!&lt;/div></code>
                  is non-conforming, since a word <q>World!</q> does not belong
                  to any paragraph.  (If not part of any paragraph, what is
                  it!?)  A conforming example would be:
                    <pre class="html example"><code>&lt;div>&lt;p>Hello!&lt;/p> &lt;p>World!&lt;/p>&lt;/div></code></pre>
                  </p></dd>
              <dt>If the parent element does <em>not</em> allow 
              block-level elements as content</dt>
                  <dd>The element is not allowed to be inserted here.
                  For example, a <code>div</code> element cannot be 
                  a child of an <code>h1</code> element.</dd>
          </dl></dd>
      <dt>If the element with the error is a <code>noscript</code> element</dt>
          <dd>The <code>noscript</code> element is allowed only in the context
          where a block-level or inline-level content is expected
          and in the <code>head</code> element.
          It cannot be used in e.g. <code>ul</code>, <code>table</code>,
          or <code>select</code>.</dd>
      <dt>If the element with the error is <code>blink</code>,
      <code>center</code>, or <code>marquee</code> element</dt>
          <dd>These elements are not part of the HTML standard.
          Use CSS for styling control.</dd>

      <dt><code>button</code>, <code>datalist</code>,
      <code>fieldset</code>, <code>form</code>,
      <code>input</code>, <code>label</code>,
      <code>optgroup</code>, <code>option</code>, <code>output</code>,
      <code>rb</code>, <code>rp</code>, <code>rt</code>, <code>ruby</code>,
      <code>textarea</code>, or <code>textarea</code> element</dt>
      <!-- rbc, rtc ? -->
          <dd>These elements are intentionally not supported by the conformance
          checker <em>yet</em>.</dd>
      </dl>
    </p>
  </d:desc>
</d:item>

<d:item name="element not allowed:area"
    modules="ContentChecker ContentChecker::HTML">
  <d:message xml:lang="en">An <code>area</code> element cannot be used
  outside of a <code>map</code> element.</d:message>
</d:item>

<d:item name="element not allowed:base"
    modules="ContentChecker ContentChecker::HTML">
  <d:message xml:lang="en">There is another <code>base</code>
  element.</d:message>
</d:item>

<d:item name="element not allowed:datatemplate"
    modules="ContentChecker ContentChecker::HTML">
  <d:message xml:lang="en">In a <code>datatemplate</code> element, only
  <code>rule</code> elements are allowed.</d:message>
</d:item>

<d:item name="element not allowed:details legend"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">In a <code>details</code> or <code>fieldset</code>
  element, only at the beginning of the element a <code>legend</code> element
  may be used.</d:message>
</d:item>

<d:item name="element not allowed:empty"
    modules="ContentChecker::HTML ContentChecker::Atom">
  <d:message xml:lang="en">Elements are not allowed in an empty
  element.</d:message>
</d:item>

<d:item name="element not allowed:figure legend"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">In a <code>figure</code> element, only at the
  beginning or only at the end of the element a <code>lengend</code> element
  may be used.</d:message>
</d:item>

<d:item name="element not allowed:flow"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">This element is not allowed where flow
  content is expected.</d:message>
</d:item>

<d:item name="element not allowed:flow style"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">A <code>style</code> element without
  <code>scoped</code> attribute is not allowed in this context.</d:message>
</d:item>

<d:item name="element not allowed:head noscript"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">This element is not allowed in a
  <code>noscript</code> element in the <code>head</code> element.</d:message>
</d:item>

<d:item name="element not allowed:head style"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">A <code>style</code> element with
  <code>scoped</code> attribute is not allowed in the <code>head</code>
  element.</d:message>
</d:item>

<d:item name="element not allowed:head title"
    modules="ContentChecker ContentChecker::HTML">
  <d:message xml:lang="en">There is another <code>title</code>
  element.</d:message>
</d:item>

<d:item name="element not allowed:minus"
    modules="ContentChecker ContentChecker::HTML">
  <d:message xml:lang="en">This element is not allowed in this
  context.</d:message>
</d:item>

<d:item name="element not allowed:meta charset"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The character encoding declaration is not the
  first child element in the <code>head</code> element.</d:message>
  <d:message xml:lang="ja">文字符号化宣言が <code>head</code> 
  要素の最初の子要素ではありません。</d:message>
  <d:desc xml:lang="en">
    <p>The character encoding declaration
    (<code class="html example">&lt;meta charset="<var>...</var>"></code> or
    <code class="html example">&lt;meta http-equiv=Content-Type content="text/html; charset=<var>...</var>"></code>
    must be the first child element in the <code>head</code> element.</p>

    <p>The character encoding declaration have to occur near the beginning
    of the document to ensure that Web browsers can be determine the
    character encoding of the document.</p>

    <p>The <code>title</code> element and other metadata elements must
    appear after any character encoding declaration is processed.</p>
  </d:desc>
</d:item>

<d:item name="element not allowed:metadata"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">This element is not allowed where metadata
  content is expected.</d:message>
</d:item>

<d:item name="element not allowed:phrasing"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">This element is not allowed where phrasing
  content is expected.</d:message>
</d:item>

<d:item name="element not allowed:root"
    modules="ContentChecker">
  <d:message xml:lang="en">This element is not allowed as the root
  element of a document.</d:message>
  <d:desc xml:lang="en">
    <p>An element that is not allowed as the root element
    is used as the root element of the document.  The document is
    non-conforming, as far as the conformance checker can tell.</p>

    <dl class="switch">
    <dt><code>html</code> element in an XHTML document</dt>
        <dd><p>In <abbr>XHTML</abbr> document, the root <code>html</code>
        element must have an <code>xmlns</code> attribute as:
          <pre class="xml example"><code>&lt;html xmlns="http://www.w3.org/1999/xhtml"></code></pre></p></dd>
    <dt><code>rss</code> element</dt>
        <dd><p>The document is written in some version of RSS.</p>
        <p>The conformance checker does not support any version
        of RSS.  Use Atom 1.0 for feed documents.</p></dd>
    <dt><code>feed</code> element</dt>
        <dd><p>The Atom <code>feed</code> element must be
        in the <code>http://www.w3.org/2005/Atom</code>
        namespace as:
          <pre class="xml example"><code>&lt;feed xmlns="http://www.w3.org/2005/Atom"></code></pre>
        </p>
        <p>The conformance checker does not support Atom 0.3.
        Use Atom 1.0 for feed documents.</p></dd>
    </dl>
  </d:desc>
</d:item>

<d:item name="element not allowed:root:xml"
    modules="ContentChecker">
  <d:message xml:lang="en">This element is not allowed as the root element
  of an XML document.</d:message>
</d:item>

<d:item name="element not allowed:ruby base"
    modules="ContentChecker">
  <d:message xml:lang="en">This element is not allowed in the <code>ruby</code>
  element.</d:message>
</d:item>

<d:item name="element not allowed:text"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">This element is not allowed in this
  context.</d:message>
</d:item>

<d:item name="element not allowed:atom|content"
    modules="ContentChecker::Atom">
  <d:message xml:lang="en">This element is not allowed in an Atom
  <code>content</code> element.</d:message>
</d:item>

<d:item name="element not allowed:atom|PersonConstruct"
    modules="ContentChecker::Atom">
  <d:message xml:lang="en">This element is not allowed in Person
  construct.</d:message>
</d:item>

<d:item name="element not allowed:atom|TextConstruct"
    modules="ContentChecker::Atom">
  <d:message xml:lang="en">This element is not allowed in Text
  construct.</d:message>
</d:item>

<d:item name="element not defined"
    modules="ContentChecker">
  <d:message xml:lang="en">This element is not defined.</d:message>
  <d:message xml:lang="ja">この要素は定義されていません。</d:message>
  <d:desc xml:lang="en">
    <p>The element is not one of elements allowed
    in the latest version of relevant specifications.</p>

    <p>The element cannot be used.</p>

    <dl class="switch">
    <dt><code>event-source</code> element</dt>
        <dd>The element was renamed as <em><code>eventsource</code>
        element</em> (no hyphen).</dd>
    <dt><code>m</code> element</dt>
        <dd>The element was renamed as <em><code>mark</code>
        element</em>.</dd>
    </dl>
  </d:desc>
</d:item>

<d:item name="multiple labelable fae"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">More than one labelable form-associated element
  is associated to a <code>label</code> element.</d:message>
  <!-- for="" with descendant form control, or more than one descendant
  form controls -->
</d:item>

<d:item name="no significant content"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">No significant content is contained
  in this element.</d:message>
</d:item>

<d:item name="no significant content before"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">There is no significant content
  before this element.</d:message>
</d:item>

<d:item name="no significant content at the end"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">No significant content is contained
  at the end of this element.</d:message>
</d:item>

<d:item name="ps element missing"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">There is no <code><var>{text}</var></code>
  element before this element.</d:message>
  <d:desc xml:lang="en">
    <p>There must be an element before another element, but there
    is not.  The document is non-conforming.</p>

    <p>For example, there must be a <code>dt</code> element
    before any <code>dd</code> element.</p>
  </d:desc>
</d:item>

<d:item name="rp:syntax error"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The content of a <code>rp</code> element must
  be a parenthesis.</d:message>
</d:item>

</section>

<section id="attribute-errors">
<h2>Attribute Errors</h2>

<d:item name="attribute missing"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Required attribute <code><var>{text}</var></code>
  is not specified.</d:message>
  <d:desc>
    <p>A required attribute is not specified.  The document
    is non-conforming.</p>

    <p>Some attribute is defined as <i>required</i>.
    Without required attributes specified, user agents 
    cannot provide full functionality of the element to the user.</p>

    <dl class="switch">
    <dt>HTML <code>img</code> element</dt>
        <dd>The <code>src</code> attribute must be specified.
        Additionally, the <code>alt</code> attribute must be specified
        in many cases.</dd>
    <dt>HTML <code>link</code> element</dt>
        <dd>The <code>rel</code> attribute must be specified.
        Note that the <code>rev</code> attribute is obsolete.</dd>
    </dl>
  </d:desc>
</d:item>

<d:item name="attribute missing:data|type"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">For an <code>object</code> at least one of
  <code>data</code> and <code>type</code> attributes must be 
  specified.</d:message>
</d:item>

<d:item name="attribute missing:href|target"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">For a <code>base</code> element, at least one of
  <code>href</code> and <code>target</code> attributes must be
  specified.</d:message>
</d:item>

<d:item name="attribute missing:name|http-equiv"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">For a <code>meta</code> element with the
  <code>content</code> attribute specified, exactly one of
  <code>name</code> and <code>http-equiv</code> attributes must be
  specified.</d:message>
</d:item>

<d:item name="attribute missing:name|http-equiv|charset"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">For a <code>meta</code> element, exactly one of
  <code>name</code>, <code>http-equiv</code>, and <code>charset</code>
  attributes must be specified.</d:message>
</d:item>

<d:item name="attribute not allowed"
    modules="ContentChecker::HTML RDFXML">
  <d:message xml:lang="en">Attribute
  <code><var>{local-name}</var></code> is not allowed for
  <code><var>{element-local-name}</var></code> element.</d:message>
  <d:desc xml:lang="en">
    <p>An attribute is specified where it is not allowed.
    The document is non-conforming.</p>

    <dl>
    <dt>HTML <code>meta</code> element</dt>
        <dd>For HTML <code>meta</code> element, <em>only one</em> of
        <code>name</code>, <code>http-equiv</code>, or <code>charset</code>
        attribute is allowed.</dd>
    </dl>
  </d:desc>
</d:item>

<d:item name="attribute not allowed:ismap"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The <code>ismap</code> attribute may only be
  used for the image contained in an <code>a</code> element.</d:message>
</d:item>

<d:item name="attribute not defined"
    modules="ContentChecker">
  <d:message xml:lang="en">This attribute is not defined.</d:message>
  <d:message xml:lang="ja">この属性は定義されていません。</d:message>
  <d:desc xml:lang="en">
    <p>The attribute is not one of attributes allowed for the element
    in the latest version of relevant specifications.</p>

    <p>The attribute cannot be used.</p>

    <dl class="switch">
    <dt><code>align</code> attribute (various HTML elements)</dt>
    <dt><code>border</code> attribute (various HTML elements)</dt>
      <dd>These attributes are no longer part of HTML.  You can use CSS
      properties to control the presentation of the element.</dd>
    <dt><code>autosubmit</code> attribute (<code>menu</code> element)</dt>
      <dd>The attribute was part of HTML5 draft but then dropped.
      Similar functionality can be implemented by scripts.</dd>
    <dt><code>language</code> attribute (<code>script</code> element)</dt>
      <dd>The attribute is no longer the standard way to specify the
      scripting language.  If you are using JavaScript, then no explicit
      specification of the scripting language is necessary, so you can
      write the element like:
        <p><code class="html example code">&lt;script><br/><!--
        --> /* JavaScript code */<br/><!--
        -->&lt;/script></code></p>
      If you are using different scripting language from JavaScript, or 
      you want to declare the scripting language explicitly, you should
      use the <code>type</code> attribute, as follows:
        <dl class="switch">
        <dt>JavaScript</dt>
          <dd>Use
          <code class="html example">&lt;script type="text/javascript"></code>.</dd>
        <dt>VBScript</dt>
          <dd>Use
          <code class="html example">&lt;script type="text/vbscript"></code>.</dd>
        </dl>
      </dd>
    </dl>
  </d:desc>
</d:item>

<d:item name="_charset_ value"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The <code>value</code> attribute cannot be 
  specified to an <code>input</code> element whose <code>type</code>
  is <code>hidden</code> and <code>name</code> is
  <code>_charset_</code>.</d:message> 
</d:item>

<d:item name="in HTML:xml:lang"
    modules="ContentChecker::XML">
  <d:message xml:lang="en">The <code>xml:lang</code> attribute in HTML
  document is ignored.</d:message>
  <d:desc xml:lang="en">
    <p>The <code>xml:lang</code> attribute does not have an effect in
    HTML document.</p>

    <p>The <code>xml:lang</code> attribute is only applicable to XML
    documents.  In HTML document, it is only allowed to ease migration
    from XML.</p>

    <p>To specify natural language information in HTML document,
    use <code>lang</code> attribute instead.</p>

    <p>XHTML 1.0 Appendix C was encouraged to specify both
    <code>lang</code> and <code>xml:lang</code> attributes with
    the same value.  Such a duplication has <em>no effect</em> in practice.
    Use only one of <code>lang</code> (in HTML) or <code>xml:lang</code> (in
    XML).</p>

    <!-- @@ ISSUE: xml:lang in non-HTML element in DOM5 HTML created
         from an HTML document? -->
  </d:desc>
</d:item>

<d:item name="in XML:charset"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The <code>charset</code> attribute is not 
  allowed in XML document.</d:message>
  <d:desc>
    <p>The <code>charset</code> attribute of a
    <code>meta</code> element is not allowed in XML document.
    The document is non-conforming.</p>

    <p>To specify the character encoding used for serialization,
    if necessary, use XML declaration instead:
      <pre class="xml example"><code>&lt;?xml version="1.0" encoding="<var>encoding-name</var>"?></code></pre>
    </p>
  </d:desc>
</d:item>

<d:item name="in XML:noscript"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">A <code>noscript</code> element cannot be 
  used in XML document.</d:message>
</d:item>

<d:item name="in XML:xml:lang"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The <code>xml:lang</code> attribute in no namespace
  is only allowed in HTML document.</d:message>
  <d:message xml:lang="ja">名前空間に属さない <code>xml:lang</code> 
  属性が認められているのは HTML 文書中だけです。</d:message>
</d:item>

<d:item name="in XML:xmlns"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The <code>xmlns</code> attribute 
  in the <code>null</code> namespace is not allowed in
  XHTML document.  The document is non-conforming.</d:message>
  <d:desc>
    <p>The <code>xmlns</code> attribute in the <code>null</code>
    namespace is not allowed in XHTML document.</p>

    <p>This error should not occur in conformance-checking of
    static documents.</p>
  </d:desc>
</d:item>

<d:item name="input attr not applicable"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">This attribute is not applied to an 
  <code>input</code> element whose <code>type</code> is 
  <code><var>{text}</var></code>.</d:message>
</d:item>

<d:item name="non-ol li value"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The <code>value</code> attribute cannot be 
  specified to a <code>li</code> element whose parent element is
  not an <code>ol</code> element.</d:message>
</d:item>

<d:item name="xml:lang not allowed"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The <code>xml:lang</code> attribute is only allowed
  when the <code>lang</code> attribute is specified.</d:message>
  <d:message xml:lang="ja"><code>xml:lang</code> 属性を指定できるのは
  <code>lang</code> 属性が指定されている時だけです。</d:message>
</d:item>

</section>

<section id="attribute-value-errors">
<h2>Attribute Value Errors</h2>

<d:item name="boolean:invalid"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Attribute value <code><var>{@}</var></code>
  is not allowed.  It must be an empty string or a string
  <code><var>{local-name}</var></code>.</d:message>
</d:item>

<d:item name="char:syntax error"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The attribute value must be exactly one
  character.</d:message>
</d:item>

<d:item name="charref in charset"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">A character reference cannot be used to
  represent a character encoding name.</d:message>
</d:item>

<d:item name="charset:not ascii compat"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Characeter encoding <code><var>{value}</var></code>
  is not ASCII compatible.</d:message>
  <d:message xml:lang="ja">文字符号化 <code><var>{value}</var></code>
  は ASCII 互換ではありません。</d:message>
</d:item>

<d:item name="charset:not preferred"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Character encoding name
  <code><var>{value}</var></code> is not the preferred name of that
  character encoding.</d:message>
</d:item>

<d:item name="charset:not registered"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Character encoding name
  <code><var>{value}</var></code> is not a registered name.</d:message>
  <d:desc xml:lang="en">
    <p>The specified character encoding name is not registered to
    <abbr>IANA</abbr>.  Use of registered character encoding name
    is a good practice to facilitate interoperability.</p>

    <dl class="switch">
    <dt><code>EUC-TW</code></dt>
      <dd><code>EUC-TW</code> is not registered.  Unfortunately, there
      is no registered name for that character encoding.  Use
      Big5 encoding with character encoding name <code>Big5</code> 
      if it is enough to represent the document.</dd>
    <dt><code>ISO-2022-JP-1</code></dt>
      <dd><code>ISO-2022-JP-1</code> is not registered, nevertheless
      this character encoding name is documented in 
      <a href="urn:ietf:rfc:2237"><abbr>RFC</abbr> 2237</a>.  Use
      <code>ISO-2022-JP-2</code> instead, since that character encoding
      is a superset of ISO-2022-JP-1.</dd>
    <dt><code>ISO-2022-JP-3</code>, <code>ISO-2022-JP-3-plane1</code></dt>
      <dd>These names are not registered and obsoleted in favor of
      <code>ISO-2022-JP-2004</code> and
      <code>ISO-2022-JP-2004-plane1</code>.</dd>
    <dt><code>ISO-2022-JP-2003</code>,
    <code>ISO-2022-JP-2003-plane1</code></dt>
      <dd>These names are not registered and corrected to
      <code>ISO-2022-JP-2004</code> and
      <code>ISO-2022-JP-2004-plane1</code>.</dd>
    <dt><code>ISO-2022-JP-2004</code>,
    <code>ISO-2022-JP-2004-plane1</code></dt>
      <dd>These names are not registered.  Unfortunately, there is 
      no registered name for these character encodings.</dd>
    <dt><code>UTF-8N</code></dt>
      <dd><code>UTF-8N</code> is not registered.  Character encoding
      name <code>UTF-8</code> represents UTF-8 encoding with or
      without <abbr>BOM</abbr>.</dd>
    </dl>

    <p><strong>WARNING</strong>: This error might be raised for
    a registered character encoding name, since the character encoding
    name database of the conformance checker is not complete yet.</p>
  </d:desc>
</d:item>

<d:item name="charset:private"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Character encoding name
  <code><var>{value}</var></code> is a private name.</d:message>
  <d:desc xml:lang="en">
    <p>The specified character encoding name is a private name and
    not registered to <abbr>IANA</abbr>.  Use of registered character
    encoding name is a good practice to facilitate interoperability.</p>

    <dl class="switch">
    <dt><code>x-euc-jp</code></dt>
      <dd>Use <code>EUC-JP</code> for the Japanese <abbr>EUC</abbr>
      character encoding.</dd>
    <dt><code>x-sjis</code></dt>
      <dd>Use <code>Shift_JIS</code> for standard Shift encoding scheme of
      <abbr>JIS</abbr> coded character set, or <code>Windows-31J</code>
      for Microsoft standard character set as implemented by
      Microsoft Windows.</dd>
    </dl>
  </d:desc>
</d:item>

<d:item name="charset:syntax error"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The specified value <code><var>{value}</var></code>
  is syntactically not a character encoding name.</d:message>
  <d:desc xml:lang="en">
    <p>The attribute value must be a character encoding name.  However,
    the specified value is not a character encoding name syntactically.
    The document is non‐conforming.</p>
    <p>Character encoding name is a string of <abbr>ASCII</abbr>
    printable characters, up to 40 characters.</p>
  </d:desc>
</d:item>

<d:item name="color:syntax error"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The specified value is not a color
  name or hexadecimal color number.</d:message>
</d:item>

<d:item name="coords:number not 3"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The <code>coords</code> attribute have to
  contain three (3) numbers (specified:
  <code><var>{text}</var></code>).</d:message>
</d:item>

<d:item name="coords:number not 4"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The <code>coords</code> attribute have to
  contain four (4) numbers (specified:
  <code><var>{text}</var></code>).</d:message>
</d:item>

<d:item name="coords:number lt 6"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The <code>coords</code> attribute have to
  contain more than or equal to six (6) numbers (specified:
  <code><var>{text}</var></code>).</d:message>
</d:item>

<d:item name="coords:number not even"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The <code>coords</code> attribute have to
  contain even number of numbers (specified:
  <code><var>{text}</var></code>).</d:message>
</d:item>

<d:item name="coords:out of range"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The specified value <code><var>{value}</var></code>
  is out of range.</d:message>
</d:item>

<d:item name="coords:syntax error"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The specified value is not valid.</d:message>
</d:item>

<d:item name="datetime:bad year"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Year number is out of range.</d:message>
  <d:message xml:lang="ja">年の値が値域外です。</d:message>
</d:item>

<d:item name="datetime:bad month"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Month number is out of range.</d:message>
  <d:message xml:lang="ja">月の値が値域外です。</d:message>
</d:item>

<d:item name="datetime:bad day"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Day number is out of range.</d:message>
  <d:message xml:lang="ja">日の値が値域外です。</d:message>
</d:item>

<d:item name="datetime:bad hour"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Hour number is out of range.</d:message>
  <d:message xml:lang="ja">時の値が値域外です。</d:message>
</d:item>

<d:item name="datetime:bad minute"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Minute number is out of range.</d:message>
  <d:message xml:lang="ja">分の値が値域外です。</d:message>
</d:item>

<d:item name="datetime:bad second"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Second number is out of range.</d:message>
  <d:message xml:lang="ja">秒の値が値域外です。</d:message>
</d:item>

<d:item name="datetime:bad timezone hour"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Hour number of the timezone component is out of
  range.</d:message>
  <d:message xml:lang="ja">時間帯の部分の時の値が値域外です。</d:message>
</d:item>

<d:item name="datetime:bad timezone minute"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Minute number of the timezone component is out of
  range.</d:message>
  <d:message xml:lang="ja">時間帯の部分の分の値が値域外です。</d:message>
</d:item>

<d:item name="datetime:syntax error"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The value is not a datetime.</d:message>
  <d:message xml:lang="ja">値が日時ではありません。</d:message>
</d:item>

<d:item name="dateortime:syntax error"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The value is not a date or time.</d:message>
  <d:message xml:lang="ja">値が日付か時刻ではありません。</d:message>
</d:item>

<d:item name="empty form name"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Form name is empty.</d:message>
  <d:message xml:lang="ja">フォーム名が空です。</d:message>
</d:item>

<d:item name="enumerated:invalid"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">This attribute only allow a limited set of 
  values and the specified value <code><var>{@}</var></code> is not one 
  of them.</d:message>
  <d:desc xml:lang="en">
    <p>For this attribute only several values are allowed and the
    value of the attribute is not one of them.  The document
    is non-conforming.</p>

    <dl>
    <dt>HTML <code>meta</code> element, <code>http-equiv</code> attribute</dt>
        <dd><p>Only values <code>Default-Style</code> and <code>Refresh</code>
        are allowed.</p>
        <p>Value <code>Content-Type</code> is obsolete; for charset
        declaration, the <code>charset</code> attribute can be used as:
        <pre class="html example"><code>&lt;meta charset="<var>charset-name</var>"></code></pre>
        ... where <var>charset-name</var> is a name of the character encoding
        of the document, such as <code>utf-8</code>.</p>
        <p>Values <code>Content-Style-Type</code> and
        <code>Content-Script-Type</code> are currently not allowed.</p>
        <p>Value <code>Keywords</code> is not allowed.  Use
        <code>name</code> attribute instead of <code>http-equiv</code>
        attribute.</p>
        <p>Values <code>Expires</code>, <code>Pragma</code>,
        and <code>Cache-Control</code> are not allowed;
        use <em>real</em> HTTP header fields for cache control.</p></dd>
    </dl>
  </d:desc>
</d:item>

<d:item name="enumerated:invalid:http-equiv:content-type"
    class="attribute-value-error">
  <d:message xml:lang="en">Character encoding declaration syntax
  <code class="html bad example">&lt;meta http-equiv="Content-Type" content="text/html; charset=<var>charset-name</var>"></code>
  is obsolete.</d:message>
  <d:desc xml:lang="en">
    <p>Old long character encoding declaration syntax
    <code class="html bad example">&lt;meta http-equiv="Content-Type" content="text/html; charset=<var>charset-name</var>"></code>
    is in use.  The document is non‐conforming.</p>

    <p>The new character encoding declaration syntax is:
      <pre class="html example"><code>&lt;meta charset="<var>charset-name</var>"></code></pre>
    </p>
  </d:desc>
</d:item>

<d:item name="enumerated:non-conforming"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Attribute value <code><var>{@}</var></code>
  is not allowed.</d:message>
</d:item>

<d:item name="duplicate form name"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Form name <code><var>{value}</var></code> is already
  used for another element.</d:message>
</d:item>

<d:item name="duplicate http-equiv"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">There is another pragma
  <code><var>{value}</var></code>.</d:message>
</d:item>

<d:item name="duplicate ID"
    class="attribute-value-error"
    modules="ContentChecker::XML ContentChecker::HTML">
  <d:message xml:lang="en">This identifier has already been
  assigned to another element.</d:message>
  <!-- @@ <id=a xml:id=a>? -->
</d:item>

<d:item name="duplicate token"
    modules="ContentChecker::HTML HTML::Table">
  <d:message xml:lang="en">The token <code><var>{value}</var></code>
  appears in the attribute value twice.</d:message>
</d:item>

<d:item name="empty anchor image alt"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The <code>alt</code> attribute value is 
  empty.</d:message>
  <!-- input type=image -->
</d:item>

<d:item name="empty area alt"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The <code>alt</code> attribute value is
  empty.</d:message>
  <d:message xml:lang="ja"><code>alt</code> 属性値が空です。</d:message>
  <d:desc xml:lang="en">
    <p>The value of the <code>alt</code> attribute of an <code>area</code>
    element is an empty value.</p>

    <p>In general, the <code>alt</code> attribute value cannot be empty.
    It must provide an alternative text for the hyperlink represented by
    the <code>area</code> element.  The alternative text is to be used
    when the Web browser cannot display the image, or is configured not
    to display images.</p>

    <p>As an exception, the <code>alt</code> attribute may be left blank
    if the same image map (i.e. the ancestor <code>map</code> element)
    contains another <code>area</code> element whose <code>href</code>
    attribute references the same resource as the <code>href</code>
    attribute of the <code>area</code> element in question, and the other
    <code>area</code> element has an <code>alt</code> attribute with
    non‐empty value.</p>
  </d:desc>
</d:item>

<d:item name="empty attribute value"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The attribute value is empty.</d:message>
  <d:message xml:lang="ja">属性値が空です。</d:message>
</d:item>

<d:item name="empty style sheet title"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The value of the <code>title</code> attribute
  is empty.</d:message>
  <d:message xml:lang="ja"><code>title</code> 属性の値が空です。</d:message>
  <d:desc xml:lang="en">
    <p>The <code>title</code> attribute value of the <code>link</code>
    element that defines an alternate style sheet is an empty value.</p>

    <p>A <code>link</code> element whose <code>rel</code> attribute
    is <code>alternate stylesheet</code> defines an alternate style sheet.
    An alternate style sheet must be associated with a name using the
    <code>title</code> attribute.  The name cannot be empty.</p>
  </d:desc>
</d:item>

<d:item name="float:out of range"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The specified value is out of range.</d:message>
</d:item>

<d:item name="float:syntax error"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The attribute value is not a real
  number.</d:message>
  <!-- a valid floating point number, or a valid floating point number
  or "any" (step attribute) -->
</d:item>

<d:item name="fragment points itself"
    modules="ContentChecker">
  <d:message xml:lang="en">A fragment identifier references the element
  itself.</d:message>
</d:item>

<d:item name="fragment points nothing"
    modules="ContentChecker">
  <d:message xml:lang="en">A fragment identifier references no
  node.</d:message>
</d:item>

<d:item name="hashref:syntax error"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">A hash−name reference must start with a
  <code>#</code> character.</d:message>
</d:item>

<d:item name="id ne name"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The <code>id</code> attribute value is 
  different from the <code>name</code> attribute value.</d:message>
</d:item>

<d:item name="integer:syntax error"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The attribute value is not an integer.</d:message>
</d:item>

<d:item name="link type:bad context"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The link type <code><var>{value}</var></code>
  cannot be specified for this element.</d:message>
  <d:desc xml:lang="en">
    <p>The specified link type cannot be used for the element.
    The document is non-conforming.</p>

    <p>Link types are associated with limited set of elements.
    They cannot be used with other elements.</p>

    <p>For example, link type <code>bookmark</code>
    can be used with <code>a</code> or <code>area</code> element,
    while it cannot be used with <code>link</code> element.</p>
  </d:desc>
</d:item>

<d:item name="invalid attribute value"
    class="attribute-value-error"
    modules="ContentChecker::XML ContentChecker::HTML ContentChecker::Atom">
  <d:message xml:lang="en">Attribute value <code><var>{@}</var></code>
  is not an allowed value.</d:message>
</d:item>

<d:item name="length:syntax error"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The attribute value is not a length
  value.</d:message>
</d:item>

<d:item name="link type:non-conforming"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The link type <code><var>{value}</var></code>
  is non-conforming.</d:message>
  <d:desc xml:lang="en">
    <p>The specified link type is non-conforming, and therefore
    the document is non-conforming.</p>

    <dl class="switch">
    <dt>Link type <code>contents</code></dt>
      <dd>Use link type <code>index</code>.</dd>
    <dt>Link type <code>copyright</code></dt>
      <dd>Use link type <code>license</code>.</dd>
    <dt>Link type <code>home</code></dt>
      <dd>Use link type <code>index</code>.</dd>
    <dt>Link type <code>previous</code></dt>
      <dd>Use link type <code>prev</code>.</dd>
    <dt>Link type <code>start</code></dt>
      <dd>Use link type <code>first</code>.</dd>
    <dt>Link type <code>toc</code> or <code>top</code></dt>
      <dd>Use link type <code>index</code>.</dd>
    </dl>
  </d:desc>
</d:item>

<d:item name="meta content-type syntax error"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The specified value is not a valid as a long
  character encoding declaration.</d:message>
</d:item>

<d:item name="mismatched charset name"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The specified character encoding name
  <code><var>{value}</var></code> is different from the actual document
  character encoding <code><var>{text}</var></code>.</d:message>
  <d:desc xml:lang="en">
    <p>The specified character encoding name is different from
    the character encoding of the document.  The document
    is non‐conforming.</p>
  </d:desc>
</d:item> 

<d:item name="mismatched charset name not checked"
    mopdules="ContentChecker::HTML">
  <d:message xml:lang="en">Whether the specified character encoding name
  <code><var>{value}</var></code> matches to the actual character encoding
  name cannot be checked since the input is not a byte stream.</d:message>
</d:item>

<d:item name="mode:syntax error"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The attribute value is not a valid mode
  name.</d:message>
</d:item>

<d:item name="nninteger:out of range"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The specified value is out of range.</d:message>
</d:item>

<d:item name="nninteger:syntax error"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The attribute value is not a non‐negative
  integer.</d:message>
</d:item>

<d:item name="no referenced form"
    modules="ContentChecker">
  <d:message xml:lang="en">The element referneced by the <code>form</code>
  attribute is not a <code>form</code> element, or no element is
  found.</d:message>
</d:item>

<d:item name="no referenced map"
    modules="ContentChecker">
  <d:message xml:lang="en">The element referneced by the <code>usemap</code>
  attribute is not a <code>map</code> element, or no element is
  found.</d:message>
</d:item>

<d:item name="no referenced menu"
    modules="ContentChecker">
  <d:message xml:lang="en">The element referneced by the
  <code>contextmenu</code> attribute is not a <code>menu</code> element, or
  no element is found.</d:message>
</d:item>

<d:item name="no referenced header cell"
    modules="ContentChecker">
  <d:message xml:lang="en">There is no table header cell whose <code>id</code>
  is <code><var>{value}</var></code> in the same table.</d:message>
</d:item>

<d:item name="refresh:syntax error"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">the specified value is not a valid as part
  of a <code>Refresh</code> pragma.</d:message>
</d:item>

<d:item name="repeat:syntax error"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The attribute value is not an integer or 
  a string <code>template</code>.</d:message>
</d:item>

<d:item name="reserved browsing context name"
    class="attribute-value-error">
  <d:message xml:lang="en">Browsing context name 
  <code><var>{@}</var></code> is reserved.</d:message>
  <d:desc xml:lang="en">
    <p>The specified browsing context name is reserved.
    The document is non-conforming.</p>

    <p>Names of browsing contexts starting with <code>_</code>
    (<code>U+005F</code> <code class="charname">LOW LINE</code>)
    are reserved so that it must not be used.</p>

    <p>Old version of HTML, non-HTML markup languages, and
    Web browsers define or implements special reserved
    browsing context names <code>_blank</code>,
    <code>_main</code>, and <code>_replace</code>.
    However, they are <em>not</em> conforming attribute values.</p>
  </d:desc>
</d:item>

<d:item name="Reserved Prefixes and Namespace Names:Name"
    modules="ContentChecker::XML">
  <d:message xml:lang="en">Namespace name <code><var>{text}</var></code>
  is reserved and cannot be used for an arbitrary prefix.</d:message>
</d:item>

<d:item name="Reserved Prefixes and Namespace Names:Prefix"
    modules="ContentChecker::XML">
  <d:message xml:lang="en">Namespace prefix <code><var>{text}</var></code>
  is reserved and cannot be used for an arbitrary namespace name.</d:message>
</d:item>

<d:item name="link type:proposed"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Link type <code><var>{value}</var></code>
  is proposed but not accepted yet; it <em>should not</em> be
  used until it has been accepted.</d:message>
  <d:desc>
    <p>The link type is in the <i>proposed</i> status; it
    <em>should not</em> be used until it has been
    accepted.</p>

    <p><strong>Warning</strong>: The data served to the
    conforming checker might be out of date; it might have already
    been accepted or rejected.  The document might or might not be
    conforming depending on the status.  See WHATWG Wiki
    for the latest information.</p>
  </d:desc>
</d:item>

<d:item name="sizes:syntax error"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The specified value <code><var>{value}</var></code>
  is not a valid value.</d:message>
</d:item>

<d:item name="space in ID"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">White space characters are not allowed
  in the <code>id</code> attribute.</d:message>
</d:item>

<d:item name="template:not template"
    modules="ContentChecker ContentChecker::HTML">
  <d:message xml:lang="en">The node referenced by the <code>template</code>
  attribute is not a template.</d:message>
</d:item>

<d:item name="value too long"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The <code>value</code> attribute value is longer
  than the value of the <code>maxlength</code> attribute.</d:message>
</d:item>

<d:item name="window name:empty"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Browsing context name must not be empty.</d:message>
</d:item>

<d:item name="window name:reserved"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Browsing context name
  <code><var>{value}</var></code> is reserved.</d:message>
</d:item>

<d:item name="word not allowed"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">The word <code><var>{value}</var></code> is not
  allowed in this attribute.</d:message>
</d:item>

<d:item name="XML 1.0 NCName:syntax error"
    modules="RDFXML">
  <d:message xml:lang="en">The specified value is not a legal XML Namespaces
  1.0 <code>NCName</code>.</d:message>
</d:item>

<d:item name="xml:lang ne lang"
    modules="ContentChecker::XML ContentChecker::HTML">
  <d:message xml:lang="en">The value of the <code>xml:lang</code> attribute
  is different from the value of the <code>lang</code> attribute.</d:message>
  <d:message xml:lang="ja"><code>xml:lang</code> 属性の値が <code>lang</code>
  属性の値と異なります。</d:message>
  <d:desc xml:lang="en">
    <p>The value of the <code>xml:lang</code> attribute (either the
    <code>lang</code> attribute in the <code>xml</code> (i.e.
    <code>http://www.w3.org/XML/1998/namespace</code>) namespace, or
    the <code>xml:lang</code> attribute in no namespace) for the element has
    different value than that of the <code>lang</code> attribute in no
    namespace.</p>

    <p>For historical reason, there are two attributes applicable to HTML
    elements to specify language information of an element: <code>lang</code>
    and <code>xml:lang</code>.  In HTML documents, only <code>lang</code>
    attribute in no namespace is allowed and take effect; the
    <code>xml:lang</code> attribute in no namespace is ignored in HTML
    documents.  In XHTML documents, both <code>lang</code> and
    <code>xml:lang</code> attributes are allowed.</p>

    <p>In general, <em>only the <code>lang</code> attribute</em> need to be
    specified for an element.</p>

    <p>If both <code>lang</code> and <code>xml:lang</code> attributes are
    specified on the same element, their values must be the same value.</p>
  </d:desc>
  <d:desc xml:lang="ja">
    <p><code>xml:lang</code> 属性 (<code>xml</code> (=
    <code>http://www.w3.org/XML/1998/namespace</code>) 名前空間の
    <code>lang</code> 属性や名前空間に属さない 
    <code>xml:lang</code> 属性) の値が同じ要素の名前空間に属さない
    <code>lang</code> 属性の値と異なっています。</p>

    <p>歴史的な理由により、 HTML 要素の言語指定のための属性は 
    <code>lang</code> と <code>xml:lang</code> の2つがあります。 HTML
    文書では名前空間に属さない <code>lang</code> 属性だけが認められており、
    かつ効力があります。名前空間に属さない
    <code>xml:lang</code> 属性は HTML 文書では無視されます。 XHTML 文書では
    <code>lang</code> 属性も <code>xml:lang</code> 属性も認められています。</p>

    <p>通常、要素の言語情報は <em><code>lang</code> 
    属性だけ</em>を使って指定すれば十分です。</p>

    <p><code>lang</code> 属性と <code>xml:lang</code> 
    属性の両方を同じ要素に指定する場合、
    両者の値は同じでなければなりません。</p>
  </d:desc>
</d:item>

</section>

<section id="table-model-errors">
<h2>Table Model Errors</h2>

<d:item name="cell overlapping"
    modules="HTML::Table">
  <d:message xml:lang="en">Cell slot (<var>{text}</var>) is filled by
  multiple cells.</d:message>
</d:item>

<d:item name="colspan creates column with no anchored cell"
    modules="HTML::Table">
  <d:message xml:lang="en">This <code>colspan</code> attribute
  results in creating a table column that does not contain
  any cell anchored to it.</d:message>
</d:item>

<d:item name="column with no anchored cell"
    modules="HTML::Table">
  <d:message xml:lang="en">This column has no anchored cell.</d:message>
</d:item>

<d:item name="table:no cell in last row"
    class="table-model-error">
  <d:message xml:lang="en">The table has no cell (<code>td</code> or
  <code>th</code>) in the last row.</d:message>
</d:item>

<d:item name="table:rowspan extends table"
    class="table-model-error">
  <d:message xml:lang="en">This <code>rowspan</code> attribute
  results in creating a table row that does not contain
  any cell anchored to it.</d:message>
  <d:desc xml:lang="en">
    <p>The <code>rowspan</code> attribute value of the cell
    is so specified that it extends a table in the row axis.
    However, the extended row does not contain any cell by itself.
    The document is non-conforming.</p>

    <p>For example, the table below is non-conforming:
      <pre class="html bad example"><code>&lt;table>
&lt;tbody>
&lt;tr>&lt;td rowspan=2>&lt;/td>&lt;/tr>
&lt;/tbody>
&lt;/table></code></pre>
    ... since the second row contains only
    a cell that spans between first and second rows.</p>
  </d:desc>
</d:item>

<d:item name="row with no anchored cell"
    modules="HTML::Table">
  <d:message xml:lang="en">This row has no anchored cell.</d:message>
</d:item>

<d:item name="rowspan creates row with no anchored cell"
    modules="HTML::Table">
  <d:message xml:lang="en">This <code>rowspan</code> attribute
  results in creating a table row that does not contain
  any cell anchored to it.</d:message>
</d:item>


</section>

<section id="imt-warnings">
<h2>Internet Media Type Errors</h2>

<d:item name="boundary:syntax error"
    modules="IMTChecker">
  <d:message xml:lang="en">The specified value is not a valid value
  as a multipart boundary.</d:message>
</d:item>

<d:item name="e4x:syntax error"
    modules="IMTChecker">
  <d:message xml:lang="en">The specified value is not a valid value
  for the attribute <code>e4x</code>.</d:message>
</d:item>

<d:item name="IMT:attribute syntax error"
    modules="IMTChecker">
  <d:message xml:lang="en">The specified value,
  <code><var>{value}</var></code>, is syntactically not a valid
  attribute name.</d:message>
</d:item>

<d:item name="IMT:composite"
    modules="ContentChecker::Atom">
  <d:message xml:lang="en">The specified media type is a composite
  type, which is not allowed in this context.</d:message>
</d:item>

<d:item name="IMT:limited use subtype"
    modules="IMTChecker">
  <d:message xml:lang="en">An Internet Media Type whose intended usage
  is limited use, <code><var>{value}</var></code> is used.</d:message>
</d:item>

<d:item name="IMT:syntax error"
    modules="ContentChecker::HTML ContentChecker::Atom">
  <d:message xml:lang="en">The specified value is not an Internet Media
  Type.</d:message>
</d:item>

<d:item name="IMT:obsolete parameter"
    modules="IMTChecker">
  <d:message xml:lang="en">An obsolete parameter
  <code><var>{value}</var></code> is used.</d:message>
</d:item>

<d:item name="IMT:obsolete subtype"
    modules="IMTChecker">
  <d:message xml:lang="en">An obsolete Internet Media Type
  <code><var>{value}</var></code> is used.</d:message>
  <d:message xml:lang="ja">廃止されたインターネット媒体型
  <code><var>{value}</var></code> が使われています。</d:message>
  <d:desc xml:lang="en">
    <p>The specified Internet Media Type is registered with its intended
    usage as <i>OBSOLETE</i>.</p>
    
    <dl class="swtich">
    <dt>Media type <code>text/ecmascript</code></dt>
      <dd>Media type <code>text/ecmascript</code> is obsoleted in
      favor of <code>application/ecmascript</code>.  Note that
      <em><code>text/javascript</code></em> would be the better alternative
      in many cases.</dd>
    <dt>Media type <code>text/javascript</code></dt>
      <dd>Media type <code>text/javascript</code> is obsoleted by 
      <abbr>IETF</abbr> with backward incompatible alternate
      <code>application/javascript</code> for architectural 
      purity.<!-- @@ ref? -->  Those who prefer reality to academic
      purity <em>may ignore</em> this warning.</dd>
    </dl>
  </d:desc>
</d:item>

<d:item name="IMT:parameter missing"
    modules="IMTChecker">
  <d:message xml:lang="en">Parameter <code><var>{text}</var></code> have to
  be specified for the Internet Media Type
  <code><var>{value}</var></code>.</d:message>
</d:item>

<d:item name="IMT:parameter not allowed"
    modules="IMTChecker">
  <d:message xml:lang="en">Parameter <code><var>{value}</var></code> is not
  allowed for this Internet Media Type.</d:message>
</d:item>

<d:item name="IMT:private subtype"
    modules="IMTChecker">
  <d:message xml:lang="en">Use of a private Internet Media Type
  <code><var>{value}</var></code> is not encouraged.</d:message>
</d:item>

<d:item name="IMT:private type"
    modules="IMTChecker">
  <d:message xml:lang="en">Use of a private type
  <code><var>{value}</var></code> is not encouraged.</d:message>
</d:item>

<d:item name="IMT:subtype syntax error"
    modules="IMTChecker">
  <d:message xml:lang="en">Value <code><var>{value}</var></code> is
  syntactically not a valid subtype value of an Internet Media Type.</d:message>
</d:item>

<d:item name="IMT:type syntax error"
    modules="IMTChecker">
  <d:message xml:lang="en">Value <code><var>{value}</var></code> is
  syntactically not a valid type.</d:message>
</d:item>

<d:item name="IMT:unknown parameter"
    modules="IMTChecker">
  <d:message xml:lang="en">An unknown parameter <code><var>{value}</var></code>
  is used.  The conformance checker cannot determine whether use of this
  parameter is valid or not.</d:message>
</d:item>

<d:item name="IMT:unknown subtype"
    modules="IMTChecker">
  <d:message xml:lang="en">An unknown Internet Media Type
  <code><var>{value}</var></code> is used.  At the time of the update of 
  the conformance checker's Internet Media Type database, the subtype is
  not reigstered to the IANA registry.  The subtype, however, might be
  registerd to the IANA registry thereafter.  Please consult the IANA
  registry.</d:message>
</d:item>

<d:item name="IMT:unregistered subtype"
    modules="IMTChecker">
  <d:message xml:lang="en">Use of an Internet Media Type
  <code><var>{value}</var></code> is not encouraged since it is not
  part of the IANA registry.</d:message>
</d:item>

<d:item name="IMT:unregistered type"
    modules="IMTChecker">
  <d:message xml:lang="en">Use of a type
  <code><var>{value}</var></code> is not encouraged since it is not
  a standardized type.</d:message>
</d:item>

<d:item name="not IMT"
    modules="ContentChecker::Atom">
  <d:message xml:lang="en">A value that is not an Internet Media Type
  is not allowed here.</d:message>
</d:item>

</section>

<section id="uri-errors">
<h2>URL Errors</h2>

<d:item name="syntax error:iri3987"
    modules="URIChecker CacheManifest">
  <d:message xml:lang="en">The specified value is syntactically not an
  IRI.</d:message>
</d:item>

<d:item name="syntax error:iriref3987"
    modules="URIChecker">
  <d:message xml:lang="en">The specified value is syntactically not an IRI
  reference.</d:message>
  <d:desc xml:lang="en">
    <p>The specified value does not satisfy the syntactical requirements
    for IRI references.  The document is non-conforming.</p>

    <p>Possible causes:
      <ul>
      <li>The string might contain one or more white space characters.
      Especially, the <code> </code> (<code>U+0020</code>
      <code class="charname">SPACE</code>) character cannot be
      used in IRI references.</li>
      </ul>
    </p>
  </d:desc>
</d:item>

<d:item name="syntax error:rdfuriref"
    modules="URIChecker">
  <d:message xml:lang="en">The specified value is syntactically not an RDF
  URI reference.</d:message>
</d:item>

<d:item name="syntax error:uri2396"
    modules="URIChecker">
  <d:message xml:lang="en">The specified value is syntactically not a
  URI according to RFC 2396.</d:message>
</d:item>

<d:item name="syntax error:uri3986"
    modules="URIChecker">
  <d:message xml:lang="en">The specified value is syntactically not a
  URI.</d:message>
</d:item>

<d:item name="URL:address format"
    modules="URIChecker">
  <d:message xml:lang="en">URL host address format
  <code><var>{text}</var></code> is not defined.</d:message>
</d:item>

<d:item name="URL:default port"
    modules="URIChecker">
  <d:message xml:lang="en">Default port number should be omitted.</d:message>
</d:item>

<d:item name="URL:dot-segment"
    modules="URIChecker">
  <d:message xml:lang="en">A dot-segment (<code>.</code> or
  <code>..</code>) occurs in an absolute reference.</d:message>
  <d:desc>
    <p>Dot-segment (<code>.</code> or <code>..</code>) should
    not occur in an absolute reference.</p>

    <p>In relative references, dot-segments are used to represent
    the current (<code>.</code>) or the parent (<code>..</code>) 
    hierarchy of the path.  Though they are also allowed
    in absolute references, it should be resolved to the
    canonical form before it has been published.</p>
  </d:desc>
</d:item>

<d:item name="URL:empty host"
    modules="URIChecker">
  <d:message xml:lang="en">The host component of the URL is empty.</d:message>
</d:item>

<d:item name="URL:empty path"
    modules="URIChecker">
  <d:message xml:lang="en">The URL does not end with
  a <code>/</code> character.</d:message>
  <d:item xml:lang="en">
    <p>The IRI does not end with a <code>/</code>.  If there is an
    authority component in an IRI, a <code>/</code> should be present
    instead of empty path component.</p>

    <p>For example, <code>http://www.example.com<strong>/</strong></code>
    is preferred to <code>http://www.example.com</code>.</p>
  </d:item>
</d:item>

<d:item name="URL:empty port"
    modules="URIChecker">
  <d:message xml:lang="en">The port component of the URL is empty.</d:message>
</d:item>

<d:item name="URL fragment not allowed"
    modules="CacheManifest">
  <d:message xml:lang="en">The fragment component of the URL is not 
  allowed.</d:message>
</d:item>

<d:item name="URL:long host"
    modules="URIChecker">
  <d:message xml:lang="en">The host component of the URL
  is too long.</d:message>
</d:item>

<d:item name="URL:lowercase hexadecimal digit"
    modules="URIChecker">
  <d:message xml:lang="en">A lowercase hexadecimal digit is used
  in percent-encoding.</d:message>
  <d:desc xml:lang="en">
    <p>The hexadecimal digit in percent-encoding string in the IRI
    is in lowercase.  Though the IRI <em>is</em> conforming,
    it should be in uppercase.</p>
  </d:desc>
</d:item>

<d:item name="URL:non-DNS host"
    modules="URIChecker">
  <d:message xml:lang="en">The host component of the URL
  is not a DNS host name.</d:message>
</d:item>

<d:item name="URL:non UTF-8 host"
    modules="URIChecker">
  <d:message xml:lang="en">The host component of the URL
  is not encoded in UTF-8.</d:message>
</d:item>

<d:item name="URL:password"
    modules="URIChecker">
  <d:message xml:lang="en">Password should not be included in a URL
  for the security.</d:message>
</d:item>

<d:item name="URL:percent-encoded unreserved"
    modules="URIChecker">
  <d:message xml:lang="en">An unreserved character is 
  percent-encoded.</d:message>
  <d:desc xml:lang="en">
    <p>An unreserved character is percent-encoded in the IRI.
    Though it <em>is</em> conforming, it should be in the 
    decoded (or bare) form.</p>
  </d:desc>
</d:item>

<d:item name="URL:uppercase host"
    modules="URIChecker">
  <d:message xml:lang="en">The host <code><var>{value}</var></code>
  should be spelt in lowercase.</d:message>
</d:item>

<d:item name="URL:uppercase scheme name"
    modules="URIChecker">
  <d:message xml:lang="en">URL scheme name is in uppercase.</d:message>
  <d:desc xml:lang="en">
    <p>The scheme part of the IRI is written in uppercase letter.</p>

    <p>Uppercase scheme names are not required to be processed
    correctly.</p>
<!-- @@
 RFC 3986 3.1.
 > Although schemes are case-
   insensitive, the canonical form is lowercase and documents that
   specify schemes must do so with lowercase letters.
 
 > An implementation ... should only produce lowercase scheme names for
   consistency.
-->
  </d:desc>
</d:item>

</section>

<section id="mq-errors">
<h2>Media Query Errors</h2>

<d:item name="mq syntax error"
    modules="CSS::MediaQueryParser">
  <d:message xml:lang="en">The specified value has a syntax error as a
  media query.</d:message>
</d:item>

<d:item name="unknown media type"
    modules="CSS::MediaQueryParser">
  <d:message xml:lang="en">Media type <code><var>{value}</var></code> is
  not supported by the conformance checker.</d:message>
</d:item>

</section>

<section id="selectors-errors">
<h2>Selectors Errors</h2>

<d:item name="an+b not closed"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Argument list of the pseudo-class is
  not closed by a <code>)</code> character.</d:message>
</d:item>

<d:item name="ab+b not integer"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Numbers in the argument
  <code><var>a</var>n+<var>b</var></code> have to be integers.</d:message>
</d:item>

<d:item name="an+b syntax error"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Argument <code><var>a</var>n+<var>b</var></code> is 
  syntactically incorrect.</d:message>
</d:item>

<d:item name="attr selector not closed"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Attribute selector is not closed by
  a <code>]</code> character.</d:message>
</d:item>

<d:item name="lang selector not closed"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Argument list of the <code>:lang</code>
  selector is not closed by a <code>)</code> character.</d:message>
</d:item>

<d:item name="namespace prefix:not declared"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Namespace prefix <code><var>{value}</var></code>
  is not declared.</d:message>
</d:item>

<d:item name="no attr local name"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Attribute local name is missing.</d:message>
</d:item>

<d:item name="no attr match"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Attribute matching operator (e.g.
  <code>=</code>) is missing.</d:message>
</d:item>

<d:item name="no attr name"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Attribute name is missing.</d:message>
</d:item>

<d:item name="no attr namespace separator"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Attribute namespace wildcard <code>*</code>
  is not followed by a <code>|</code> character.</d:message>
</d:item>

<d:item name="no attr value"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Attribute value is missing.</d:message>
</d:item>

<d:item name="no class name selector"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Class name is missing.</d:message>
  <!-- "." not followed by a class name -->
</d:item>

<d:item name="no combinator"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Combinator is missing.</d:message>
</d:item>

<d:item name="no contains string"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">No string is specified in the argument
  list of the <code>:-manakai-contains</code> pseudo-class
  selector.</d:message>
</d:item>

<d:item name="no lang tag"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Language tag argument is missing.</d:message>
</d:item>

<d:item name="no local name selector"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Local name part of the type selector (or 
  <code>*</code> for the universal selector) is missing.</d:message>
  <!-- "|" not followed by a name or "*" -->
</d:item>

<d:item name="no pseudo-class name"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Pseudo-class name is missing.</d:message>
</d:item>

<d:item name="no pseudo-element name"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Pseudo-element name is missing.</d:message>
</d:item>

<d:item name="no sss"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Sequence of simple selectors is
  expected.</d:message>
</d:item>

<d:item name="not not closed"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Argument list of the <code>:not</code> selector
  is not closed by a <code>)</code> character.</d:message>
</d:item>

<d:item name="ss after pseudo-element"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Simple selector is not allowed after a
  pseudo element.</d:message>
</d:item>

<d:item name="unknown pseudo-class"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Pseudo-class <code>:<var>{value}</var></code>
  is not supported by the conformance checker.</d:message>
</d:item>

<d:item name="unknown pseudo-element"
    modules="CSS::SelectorsParser">
  <d:message xml:lang="en">Pseudo-element <code>::<var>{value}</var></code>
  is not supported by the conformance checker.</d:message>
</d:item>

</section>

<section id="css-errors">
<h2>CSS Errors</h2>

<d:item name="at-rule not allowed"
    modules="CSS::Parser">
  <d:message xml:lang="en">An <code>@<var>{text}</var></code> rule is not
  allowed here.</d:message>
</d:item>

<d:item name="at-rule syntax error"
    modules="CSS::Parser">
  <d:message xml:lang="en">The <code>@<var>{text}</var></code> rule is
  syntactically incorrect.</d:message>
</d:item>

<d:item name="block not closed"
    modules="CSS::Parser">
  <d:message xml:lang="en">Block is not closed before the end of
  file.</d:message>
</d:item>

<d:item name="CSS duplication"
    modules="CSS::Parser">
  <d:message xml:lang="en">Component <code>&lt;<var>{text}</var>></code> is
  already specified.</d:message>
</d:item>

<d:item name="CSS cursor hand"
    modules="CSS::Parser">
  <d:message xml:lang="en">Value <code>hand</code> is not valid as
  <code>&lt;'cursor'></code>.</d:message>
</d:item>

<d:item name="CSS syntax error"
    modules="CSS::Parser">
  <d:message xml:lang="en">Specified value is syntactically not a correct
  <code>&lt;<var>{text}</var>></code>.</d:message>
</d:item>

<d:item name="no declaration block"
    modules="CSS::Parser">
  <d:message xml:lang="en">No declaration block is found after a group of
  selectors.</d:message>
</d:item>

<d:item name="no property colon"
    modules="CSS::Parser">
  <d:message xml:lang="en">A <code>:</code> character is missing after
  a property name.</d:message>
</d:item>

<d:item name="no property name"
   modules="CSS::Parser">
  <d:message xml:lang="en">Property name is expected.</d:message>
</d:item>

<d:item name="no property semicolon"
   modules="CSS::Parser">
  <d:message xml:lang="en">A <code>;</code> character is missing at the
  end of the property.</d:message>
</d:item>

<d:item name="priority syntax error"
    modules="CSS::Parser">
  <d:message xml:lang="en">Priority part of the declaration is syntactically
  incorrect.</d:message>
</d:item>

<d:item name="unknown at-rule"
    modules="CSS::Parser">
  <d:message xml:lang="en">The <code>@<var>{value}</var></code> rule is
  not supported by the conformance checker.</d:message>
</d:item>

<d:item name="unknown property"
    modules="CSS::Parser">
  <d:message xml:lang="en">Property <code><var>{value}</var></code> is
  not supported by the conformance checker.</d:message>
</d:item>

</section>

<section id="cache-manifest-errors">
<h2>Cache Manifest Errors</h2>

<d:item name="both in entries and whitelist"
    modules="CacheManifest">
  <d:message xml:lang="en">This URL is found both in the explicit or
  fallback entries and in the online whitelist.</d:message>
</d:item>

<d:item name="different origin from manifest"
    modules="CacheManifest">
  <d:message xml:lang="en">The specified URL has different origin from
  the manifest.</d:message>
</d:item>

<d:item name="different scheme from manifest"
    modules="CacheManifest">
  <d:message xml:lang="en">The scheme component of the URL is
  different from that of the manifest URL.  The URL is ignored.</d:message>
</d:item>

<d:item name="duplicate oc namespace"
    modules="CacheManifest">
  <d:message xml:lang="en">This oppotunistic caching namespace is already
  specified.</d:message>
</d:item>

<d:item name="no fallback entry URL"
    modules="CacheManifest">
  <d:message xml:lang="en">Fallback entry URL is missing.</d:message>
</d:item>

<d:item name="not manifest"
    modules="CacheManifest">
  <d:message xml:lang="en">This document is not a cache manifest.</d:message>
  <d:desc xml:lang="en">
    <p>The specified document is <em>not</em> a cache manifest.
    The document is non-conforming.</p>

    <p>An entity labeled as Internet media type 
    <code>text/cache-manifest</code> must contain a cache manifest.</p>

    <p>A cache manifest must start with a line whose content is 
    <code class="manifest example">CACHE MANIFEST</code>
    (exactly one space character between
    <code>CACHE</code> and <code>MANIFEST</code>).</p>
  </d:desc>
</d:item>

<d:item name="same as manifest URL"
    modules="CacheManifest">
  <d:message xml:lang="en">This URL is same as the manifest URL.</d:message>
</d:item>

</section>

<section id="regexp-errors">
<h2>Regular Expression Errors</h2>

<!-- Errors in this section are sorted by
Regexp::Parser::Diagnostics's order, then followed by the
Regexp::Parser::JavaScript's extension. -->

<!-- TODO: mark fatal errors as such -->

<d:item name="Quantifier unexpected on zero-length expression"
    modules="Regexp::Parser::Perl58 Regexp::Parser::JavaScript">
  <d:message xml:lang="en">Quantifier unexpected on zero-length
  expression.</d:message>
  <!-- e.g. (?{})* -->
</d:item>

<d:item name="Sequence (?%.*s...) not implemented"
    modules="Regexp::Parser::Perl58">
  <d:message xml:lang="en">Sequence
  <code>(?<var>{text}</var><var>...</var>)</code> is not implemented
  by Perl.</d:message>
</d:item>

<d:item name="Sequence (?#... not terminated"
    modules="Regexp::Parser::Perl58">
  <d:message xml:lang="en">Sequence <code>(?#<var>...</var></code> is
  not terminated by <code>)</code>.</d:message>
</d:item>

<d:item name="(?p{}) is deprecated -- use (??{})"
    modules="Regexp::Parser::Perl58">
  <d:message xml:lang="en"><code>(?p{<var>...</var>})</code> is
  obsolete.</d:message>
  <d:desc xml:lang="en">
    <p><code>(?p{})</code> is obsolete.  It was deprecated in
    Perl 5.8 and is <em>no longer supported</em> in Perl 5.10.</p>

    <p>You can use <code>(??{<var>...</var>})</code> instead.</p>
  </d:desc>
</d:item>

<d:item name="Sequence (?{...}) not terminated or not {}-balanced"
    modules="Regexp::Parser::Perl58">
  <d:message xml:lang="en">Sequence <code>(?{<var>...</var>})</code>
  is not terminated or <code>{<var>...</var>}</code> is not
  balanced.</d:message>
</d:item>

<d:item name="Switch condition not recognized"
    modules="Regexp::Parser::Perl58">
  <d:message xml:lang="en">Switch condition is not recognized.</d:message>
</d:item>

<d:item name="Switch (?(condition)... contains too many branches"
    modules="Regexp::Parser::Perl58">
  <d:message xml:lang="en">Switch
  <code>(?(<var>condition</var>)<var>...</var>|<var>...</var><mark>|...</mark>)</code>
  contains too many branches.</d:message>
</d:item>

<d:item name="Unknown switch condition (?(%.2s"
    modules="Regexp::Parser::Perl58">
  <d:message xml:lang="en">An unknown switch condition
  <code>(?(<var>{text}</var></code> is used.</d:message>
</d:item>

<d:item name="Sequence (? incomplete"
    modules="Regexp::Parser::Perl58 Regexp::Parser::JavaScript">
  <d:message xml:lang="en">Sequence <code>(?<var>...</var></code> is
  incomplete.</d:message>
</d:item>

<d:item name="Useless (?%s%s) -- %suse /%s modifier"
    modules="Regexp::Parser::Perl58">
  <d:message xml:lang="en">Modifier <code>(?<var>{text}</var>)</code>
  <em>in</em> a regular expression has no effect.</d:message>
</d:item>

<d:item name="Sequence (?%.*s...) not recognized"
    modules="Regexp::Parser::Perl58 Regexp::Parser::JavaScript">
  <d:message xml:lang="en">An unknown sequence
  <code>(?<var>{text}</var><var>...</var>)</code> is used.</d:message>
</d:item>

<d:item name="Unmatched ("
    modules="Regexp::Parser::Perl58 Regexp::Parser::JavaScript">
  <d:message xml:lang="en">A <code>(<var>...</var></code> sequence
  is not terminated by <code>)</code>.</d:message>
</d:item>

<d:item name="Unmatched )"
    modules="Regexp::Parser::Perl58 Regexp::Parser::JavaScript">
  <d:message xml:lang="en">An unmatched <code>)</code> is found.</d:message>
</d:item>

<d:item name="Can't do {n,m} with n > m"
    modules="Regexp::Parser::Perl58 Regexp::Parser::JavaScript">
  <d:message xml:lang="en">Quantifier <code>{<var>n</var>,<var>m</var>}</code>
  cannot be <span class="math"><var>n</var> > <var>m</var></span>.</d:message>
</d:item>

<d:item name="%s matches null string many times"
    modules="Regexp::Parser::Perl58 Regexp::Parser::JavaScript">
  <d:message xml:lang="en"><code><var>{text}</var></code> matches
  the empty string too many times.</d:message>
  <!-- e.g. ()+ -->
</d:item>

<d:item name="Nested quantifiers"
    modules="Regexp::Parser::Perl58 Regexp::Parser::JavaScript">
  <d:message xml:lang="en">Quantifiers cannot be nested.</d:message>
  <!-- e.g. a++ -->
</d:item>

<d:item name="Unmatched ["
    modules="Regexp::Parser::Perl58 Regexp::Parser::JavaScript">
  <d:message xml:lang="en">A character class <code>[<var>...</var></code>
  is not terminated by <code>]</code>.</d:message>
</d:item>

<d:item name="Quantifier follows nothing"
    modules="Regexp::Parser::Perl58 Regexp::Parser::JavaScript">
  <d:message xml:lang="en">Quantifier follows nothing.</d:message>
</d:item>

<d:item name="Missing braces on \%s{}"
    modules="Regexp::Parser::Perl58">
  <d:message xml:lang="en">A <code>\<var>{text}</var></code> sequence
  is not followed by <code>{<var>...</var>}</code>.</d:message>
</d:item>

<d:item name="Missing right brace on \%s{}"
    modules="Regexp::Parser::Perl58">
  <d:message xml:lang="en">A <code>\<var>{text}</var>{<var>...</var></code>
  is not terminated by <code>}</code>.</d:message>
</d:item>

<d:item name="Reference to nonexistent group"
    modules="Regexp::Parser::Perl58 Regexp::Parser::JavaScript">
  <d:message xml:lang="en">A nonexistent group is referenced.</d:message>
</d:item>

<d:item name="Trailing \"
    modules="Regexp::Parser::Perl58 Regexp::Parser::JavaScript">
  <d:message xml:lang="en">A <code>\</code> character is not followed by
  another character,</d:message>
</d:item>

<d:item name="Unrecognized escape \%s passed through"
    modules="Regexp::Parser::Perl58 Regexp::Parser::JavaScript">
  <d:message xml:lang="en">An unknown escape <code>\<var>{text}</var></code>
  is used.</d:message>
</d:item>

<d:item name="Unrecognized escape \%s in character class passed through"
    modules="Regexp::Parser::Perl58 Regexp::Parser::JavaScript">
  <d:message xml:lang="en">An unknown escape <code>\<var>{text}</var></code>
  is used in a character class.</d:message>
</d:item>

<d:item name="POSIX class [:%s:] unknown"
    modules="Regexp::Parser::Perl58">
  <d:message xml:lang="en">An unknown POSIX character class
  <code>[:<var>{text}</var>:]</code> is used.</d:message>
</d:item>

<d:item name="POSIX syntax [%s %s] belongs inside character classes"
    modules="Regexp::Parser::Perl58">
  <d:message xml:lang="en">A POSIX syntax
  <code>[<var>{text}</var><var>...</var><var>{text}</var>]</code> is used
  outside of character classes.</d:message>
  <!-- [= =] and [. .] should raise different error in fact -->
</d:item>

<d:item name="Empty \%s{}"
    modules="Regexp::Parser::Perl58">
  <d:message xml:lang="en">An escape <code>\<var>{text}</var>{}</code>
  is empty.</d:message>
</d:item>

<d:item name='False [] range "%s-%s"'
    modules="Regexp::Parser::Perl58 Regexp::Parser::JavaScript">
  <d:message xml:lang="en">An escape that represents a character
  class cannot be used in range <code><var>{text}</var></code>.</d:message>
</d:item>

<d:item name='Invalid [] range "%s-%s"'
    modules="Regexp::Parser::Perl58 Regexp::Parser::JavaScript">
  <d:message xml:lang="en">Character range <code><var>{text}</var></code>
  is invalid.</d:message>
  <!-- n-m where n > m -->
</d:item>

<d:item name="Octal escape is obsolete"
    modules="Regexp::Parser::JavaScript">
  <d:message xml:lang="en">Octal escape is used.</d:message>
</d:item>

</section>

<section id="webidl-errors">
<h2>WebIDL Errors</h2>

<d:item name="after argument"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">An argument name is not followed by a
  <code>,</code> character or a <code>)</code> character.</d:message>
</d:item>

<d:item name="after exception name"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">An exception name is not followed by a
  <code>,</code> character or a <code>)</code> character.</d:message>
</d:item>

<d:item name="after unsigned"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">The token after the <code>unsigned</code>
  keyword is not <code>short</code> or <code>long</code>.</d:message>
  <d:message xml:lang="en">キーワード <code>unsigned</code> の後の字句が
  <code>short</code> か <code>long</code> ではありません。</d:message>
</d:item>

<d:item name="after xattr"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">An extended attribute is not followed by 
  a <code>,</code> character or a <code>]</code> character.</d:message>
</d:item>

<d:item name="argument after variadic"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">An argument is specified after an argument
  with <code>Variadic</code> extended attribute is seen.</d:message>
</d:item>

<d:item name="attr not readonly"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">Extended attribute <code><var>{text}</var></code> is
  specified for an attribute that is not read-only.</d:message>
</d:item>

<d:item name="attr type not interface"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">Extended attribute <code><var>{text}</var></code>
  is specified for an attribute whose type is not an interface.</d:message>
</d:item>

<d:item name="before exception member"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">An unknown construct is found where an exception
  member or a <code>}</code> character is expected.</d:message>
</d:item>

<d:item name="before interface member"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">An unknown construct is found where an interface
  member or a <code>}</code> character is expected.</d:message>
</d:item>

<d:item name="before webidl block"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">An identifier for the <code><var>{text}</var></code>
  is not followed by a <code>{</code> character.</d:message>
</d:item>

<d:item name="before webidl def"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">An unknown construct is found after an
  extended attribute list (where a <code>Definition</code> is
  expected).</d:message>
</d:item>

<d:item name="before webidl defs"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">An unknown construct is found where a
  <code>Definition</code> (optionally preceded by an extended attribute list)
  is expected.</d:message>
</d:item>

<d:item name="before webidl type"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">The type for <code><var>{text}</var></code> is
  not specified.</d:message>
</d:item>

<d:item name="before webidl type:argument"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">The type for an argument is not
  specified.</d:message>
</d:item>

<d:item name="before webidl type:exception member"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">The type for an exception member is not
  specified.</d:message>
</d:item>

<d:item name="before xattr"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">No extended attribute is specified after
  a <code>[</code> character.</d:message>
</d:item>

<d:item name="before xattrarg"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">No identifier is specified in an extended 
  attribute assignment.</d:message>
</d:item>

<d:item name="const value out of range"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">The specified value <code><var>{value}</var></code>
  is outside of the range of the type for the constant,
  <code><var>{text}</var></code>.</d:message>
</d:item>

<d:item name="const type mismatch"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">The type of the value,
  <code><var>{value}</var></code>, is different from the type of the constant,
  <code><var>{text}</var></code>.</d:message>
</d:item>

<d:item name="duplicate accessor"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">Extended attribute <code><var>{text}</var></code>
  is already specified for another operation in the same interface.</d:message>
</d:item>

<d:item name="duplicate constructor name"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">Constructor name <code><var>{value}</var></code>
  specified by extended attribute <code><var>{text}</var></code> is already
  used for an interface.</d:message>
</d:item>

<d:item name="duplicate member"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">Name <code><var>{text}</var></code> is
  already used.</d:message>
</d:item>

<d:item name="duplicate qname"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">Qualified name <code><var>{text}</var></code> is
  already used.</d:message>
</d:item>

<d:item name="duplicate xattr"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">Extended attribute <code><var>{text}</var></code>
  is already specified.</d:message>
</d:item>

<d:item name="exception not defined"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">Exception <code><var>{text}</var></code> is
  not defined in the fragment.</d:message>
  <!-- {text} is unqualified name when it appears in an extended attribute,
       or absolute scoped name otherwise. -->
</d:item>

<d:item name="interface not defined"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">Interface <code><var>{text}</var></code> is
  not defined in the fragment.</d:message>
  <!-- {text} is absolute scoped name. -->
</d:item>

<d:item name="no arguments in"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">No <code>in</code> keyword for an argument is
  found.</d:message>
</d:item>

<d:item name="no arguments lparen"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">No <code>(</code> character for an argument
  list is found.</d:message>
</d:item>

<d:item name="no raises lparen"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">A <code>raises</code> (or <code>getraises</code>
  or <code>setraises</code>) keyword is not followed by a <code>(</code>
  character.</d:message>
</d:item>

<d:item name="no sequence gt"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">A <code>sequence&lt;></code> type is not
  terminated by a <code>&gt;</code> character.</d:message>
</d:item>

<d:item name="no sequence lt"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">Keyword <code>sequence</code> is not followed
  by a <code>&lt;</code> character.</d:message>
</d:item>

<d:item name="no sequence type"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">No type is specified in
  <code>sequence&lt;></code>.</d:message>
</d:item>

<d:item name="no webidl identifier"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">No identifier is specified for the
  <code><var>{text}</var></code>.</d:message>
</d:item>

<d:item name="no webidl identifier:argument"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">No identifier is specified for the
  argument.</d:message>
</d:item>

<d:item name="no webidl identifier:exception member"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">No identifier is specified for the
  exception member.</d:message>
</d:item>

<d:item name="no webidl identifier:operation"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">No identifier is specified for the
  operation.</d:message>
</d:item>

<d:item name="no webidl semicolon"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">No semicolon is found at the end of the
  definition or member.</d:message>
</d:item>

<d:item name="non-module definition"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">This definition is not part of any
  module.</d:message>
</d:item>

<d:item name="not boxable type"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">Type <code><var>{text}</var></code> cannot be
  used in <code>valuetype</code>.</d:message>
</d:item>

<d:item name="premature end of webidl"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">The WebIDL fragment ends before all the blocks
  are closed by <code>};</code> sequences.</d:message>
</d:item>

<d:item name="referenced attr not defined"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">Attribute <code><var>{value}</var></code> is
  not defined in the interface specified for the attribute to which
  extended attribute <code><var>{text}</var></code> is set.</d:message>
</d:item>

<d:item name="scoped name"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">A scoped name is expected here.</d:message>
</d:item>

<d:item name="scoped name:dcolon"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">A <code>::</code> token is not followed by
  an identifier or a <code>DOMString</code> keyword.</d:message>
</d:item>

<d:item name="type not defined"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">Type <code><var>{text}</var></code> is not 
  defined.</d:message>
</d:item>

<d:item name="typedef ignored"
    modules="WebIDL::Checker">
  <d:message xml:lang="en"><code>typedef</code> of name <code>DOMString</code>
  is ignored.</d:message>
</d:item>

<d:item name="unknown xattr"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">An unknown extended attribute 
  <code><var>{text}</var></code> is used.</d:message>
</d:item>

<d:item name="valuetype DOMString"
    modules="WebIDL::Parser">
  <d:message xml:lang="en">The <code>valuetype</code> definition does
  not define <code>DOMString</code> as
  <code>sequence&lt;unsigned short></code>.</d:message>
</d:item>

<d:item name="valuetype ignored"
    modules="WebIDL::Checker">
  <d:message xml:lang="en"><code>valuetype</code> of name
  <code>DOMString</code> is ignored.</d:message>
</d:item>

<d:item name="wrong signature accessor"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">The operation cannot be used as accessor operation
  of <code><var>{text}</var></code>, since its signature different from
  the expected one.</d:message>
</d:item>

<d:item name="xattr arglist not allowed"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">Use of an argument list for extended attribute
  <code><var>{text}</var></code> is not allowed.</d:message>
</d:item>

<d:item name="xattr for wrong type"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">Extended attribute <code><var>{text}</var></code>
  is not applicable for an attribute whose type is not
  <code>DOMString</code>.</d:message>
  <!-- Null or Undefined -->
</d:item>

<d:item name="xattr id missing"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">The identifier for extended attribute
  <code><var>{text}</var></code> is not specified.</d:message>
</d:item>

<d:item name="xattr id not allowed"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">Use of an identifier for extended attribute
  <code><var>{text}</var></code> is not allowed.</d:message>
</d:item>

<d:item name="xattr id value not allowed"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">The identifier <code><var>{value}</var></code> is
  not an allowed value for extended attribute
  <code><var>{text}</var></code>.</d:message>
</d:item>

<d:item name="xattr not applicable"
    modules="WebIDL::Checker">
  <d:message xml:lang="en">Extended attribute <code><var>{text}</var></code>
  is not applicable to this kind of object.</d:message>
</d:item>

</section>

<section id="information">
<h2>Stability Information</h2>

<d:item name="deprecated:attr"
    modules="ContentChecker">
  <d:message xml:lang="en">This attribute is deprecated.</d:message>
</d:item>

<d:item name="deprecated:element"
    modules="ContentChecker">
  <d:message xml:lang="en">This element is deprecated.</d:message>
</d:item>

<d:item name="status:cr:element"
    modules="ContentChecker">
  <d:message xml:lang="en">This element is in the
  <strong>call for implementation</strong> stage.</d:message>
  <d:desc xml:lang="en">
    <p>The element is in the call for implementation stage.</p>
    
    <p>Usually, using the element is safe.  However, it is a new feature
    so that it might not be implemented correctly.  If it is found that
    the feature is hard or impossible to implement, the feature
    might be revised, or in some case it might be dropped.</p>

    <p>Elements defined by Atom 1.0 (IETF Proposed Standard), and XBL 2.0
    (W3C Candidate Recommendation) belong to this class.</p>
  </d:desc>
</d:item>

<d:item name="status:lc:element"
    modules="ContentChecker">
  <d:message xml:lang="en">This element is in the <strong>last
  call for comments</strong> stage.</d:message>
  <d:desc xml:lang="en">
    <p>The element is in the last call for comments stage.</p>
    
    <p>The element is relatively mature, though the standardization
    is not done yet.  It may be used for experiments.  Since it is a new
    feature, it might not be implemented correctly or at all.  If it is
    found that the feature is hard or impossible to implement, the feature
    might be revised or might be dropped.</p>

    <p>Elements defined by Web Forms 2.0 as well as some elements
    defined by HTML5 belong to this class.</p>
  </d:desc>
</d:item>

<d:item name="status:wd:element"
    modules="ContentChecker">
  <d:message xml:lang="en">This element is documented in a <strong>working
  draft</strong>.</d:message>
  <d:desc xml:lang="en">
    <p>The element is documented in a working or editor's draft
    and not yet completed.</p>
    
    <p>The element should not be used for any practical purpose.
    The feature might be drastically changed later or might be
    entirely removed.</p>

    <p>Most of new elements defined by HTML5 belong to this class.</p>
  </d:desc>
</d:item>

<d:item name="status:non-standard:element"
    modules="ContentChecker">
  <d:message xml:lang="en">This element is <strong>not part of any
  standard</strong> the conformance checker knows.</d:message>
  <d:desc xml:lang="en">
    <p>The element is not part of any standard or draft the conformance
    checker is aware of.</p>
    
    <p>The element should not be used for any practical purpose unless
    there is really a standard that defines the element.</p>
  </d:desc>
</d:item>

<d:item name="status:cr:attr"
    modules="ContentChecker">
  <d:message xml:lang="en">This attribute is in the
  <strong>call for implementation</strong> stage.</d:message>
  <d:desc xml:lang="en">
    <p>The attribute is in the call for implementation stage.</p>
    
    <p>Usually, using the attribute is safe.  However, it is a new feature
    so that it might not be implemented correctly.  If it is found that
    the feature is hard or impossible to implement, the feature
    might be revised, or in some case it might be dropped.</p>
  </d:desc>
</d:item>

<d:item name="status:lc:attr"
    modules="ContentChecker">
  <d:message xml:lang="en">This attribute is in the <strong>last
  call for comments</strong> stage.</d:message>
  <d:desc xml:lang="en">
    <p>The attribute is in the last call for comments stage.</p>
    
    <p>The attribute is relatively mature, though the standardization
    is not done yet.  It may be used for experiments.  Since it is a new
    feature, it might not be implemented correctly or at all.  If it is
    found that the feature is hard or impossible to implement, the feature
    might be revised or might be dropped.</p>
  </d:desc>
</d:item>

<d:item name="status:wd:attr"
    modules="ContentChecker">
  <d:message xml:lang="en">This attribute is documented in a <strong>working
  draft</strong>.</d:message>
  <d:desc xml:lang="en">
    <p>The attribute is documented in a working or editor's draft
    and not yet completed.</p>
    
    <p>The attribute should not be used for any practical purpose.
    The feature might be drastically changed later or might be
    entirely removed.</p>
  </d:desc>
</d:item>

<d:item name="status:non-standard:attr"
    modules="ContentChecker">
  <d:message xml:lang="en">This attribute is <strong>not part of any
  standard</strong> the conformance checker knows.</d:message>
  <d:desc xml:lang="en">
    <p>The attribute is not part of any standard or draft the conformance
    checker is aware of.</p>
    
    <p>The attribute should not be used for any practical purpose unless
    there is really a standard that defines the attribute.</p>
  </d:desc>
</d:item>
</section>

<section id="langtag-errors">
<h2>Language Tag Errors</h2>

<d:item name="langtag:extension:duplication"
    modules="LangTag::RFC4646::Parser">
  <d:message xml:lang="en">There is another extension subtag
  <code><var>{value}</var></code>.</d:message>
</d:item>

<d:item name="langtag:extension:order"
    modules="LangTag::RFC4646::Order">
  <d:message xml:lang="en">Extension subtag <code><var>{value}</var></code>
  is placed after subtag <code><var>{text}</var></code>.</d:message>
</d:item>

<d:item name="langtag:extension:unknown"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Extension <code><var>{value}</var></code> is not
  defined when the conformance checker is written.</d:message>
</d:item>

<d:item name="langtag:extlang:case"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Extended language subtag
  <code><var>{value}</var></code> is not in the preferred form, i.e. in 
  lowercase.</d:message>
</d:item>

<d:item name="langtag:extlang:deprecated"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Use of extended language subtag
  <code><var>{value}</var></code> is deprecated<!-- in favor of {text} (might
  be undef) -->.</d:message>
</d:item>

<d:item name="langtag:extlang:prefix"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Extended language subtag
  <code><var>{text}</var></code> is not allowed in the combination with this
  language (and extended language) subtag(s).</d:message>
</d:item>

<d:item name="langtag:extlang:invalid"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Extended language subtag 
  <code><var>{text}</var></code> is not registered.</d:message>
</d:item>

<d:item name="langtag:grandfathered:case"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Language tag <code><var>{value}</var></code> is
  not in the preferred case combination.</d:message>
</d:item>

<d:item name="langtag:grandfathered:deprecated"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Use of language tag
  <code><var>{value}</var></code> is deprecated<!-- in favor of {text} (might
  be undef) -->.</d:message>
</d:item>

<d:item name="langtag:grandfathered:invalid"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Language tag <code><var>{value}</var></code> is
  not a combination of RFC 4646 subtags and is not a registered grandfathered
  tag.</d:message>
</d:item>

<d:item name="langtag:illegal"
    modules="LangTag::RFC4646::Parser LangTag::RFC3066::Checker">
  <d:message xml:lang="en">Subtag <code><var>{value}</var></code> is 
  syntactically invalid.</d:message>
</d:item>

<d:item name="langtag:language:case"
    modules="LangTag::RFC4646::Checker LangTag::RFC3066::Checker">
  <d:message xml:lang="en">It is a good practice to represent ISO 639-1
  language code <code><var>{value}</var></code> in lowercase.</d:message>
</d:item>

<d:item name="langtag:language:deprecated"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Use of language subtag
  <code><var>{value}</var></code> is deprecated<!-- in favor of {text} (might
  be undef) -->.</d:message>
</d:item>

<d:item name="langtag:language:invalid"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Language subtag <code><var>{value}</var></code>
  is not registered.</d:message>
</d:item>

<d:item name="langtag:language:mul"
    modules="LangTag::RFC4646::Checker LangTag::RFC3066::Checker">
  <d:message xml:lang="en">Langauge tag <code>mul</code> should not be
  used.</d:message>
</d:item>

<d:item name="langtag:language:nosemantics"
    modules="LangTag::RFC3066::Checker">
  <d:message xml:lang="en">No semantics is defined for language subtag
  <code><var>{value}</var></code>.</d:message>
</d:item>

<d:item name="langtag:language:private"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Language subtag <code><var>{value}</var></code>
  is a private use code.</d:message>
</d:item>

<d:item name="langtag:language:syntax"
    modules="LangTag::RFC4646::Parser">
  <d:message xml:lang="en">The language subtag <code><var>{value}</var></code>
  is syntactically invalid.</d:message>
</d:item>

<d:item name="langtag:language:und"
    modules="LangTag::RFC4646::Checker LangTag::RFC3066::Checker">
  <d:message xml:lang="en">Langauge tag <code>und</code> should not be
  used.</d:message>
</d:item>

<d:item name="langtag:private"
    modules="LangTag::RFC3066::Checker">
  <d:message xml:lang="en">It would be better if a private use language
  tag (<code><var>{value}</var></code>) is not used.</d:message>
</d:item>

<d:item name="langtag:privateuse"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Private use subtag <code><var>{value}</var></code>
  is used.</d:message>
</d:item>

<d:item name="langtag:privateuse:case"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Subtag <code><var>{value}</var></code> is not 
  represented in the preferred case format.</d:message>
</d:item>

<d:item name="langtag:privateuse:syntax"
    modules="LangTag::RFC4646::Parser">
  <d:message xml:lang="en">Private use subtag <code><var>{value}</var></code>
  is syntactically invalid.</d:message>
</d:item>

<d:item name="langtag:redundant:case"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Language tag <code><var>{value}</var></code> is
  not in the preferred case combination.</d:message>
</d:item>

<d:item name="langtag:redundant:deprecated"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Use of language tag
  <code><var>{value}</var></code> is deprecated<!-- in favor of {text} (might
  be undef) -->.</d:message>
</d:item>

<d:item name="langtag:region:case"
    modules="LangTag::RFC4646::Checker LangTag::RFC3066::Checker">
  <d:message xml:lang="en">It is a good practice to represent ISO 3166
  country code <code><var>{value}</var></code> in uppercase.</d:message>
</d:item>

<d:item name="langtag:region:deprecated"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Use of region subtag
  <code><var>{value}</var></code> is deprecated<!-- in favor of {text} (might
  be undef) -->.</d:message>
</d:item>

<d:item name="langtag:region:nosemantics"
    modules="LangTag::RFC3066::Checker">
  <d:message xml:lang="en">No semantics is defined for region subtag
  <code><var>{value}</var></code>.</d:message>
</d:item>

<d:item name="langtag:region:invalid"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Region subtag <code><var>{value}</var></code>
  is not registered.</d:message>
</d:item>

<d:item name="langtag:region:private"
    modules="LangTag::RFC4646::Checker LangTag::RFC3066::Checker">
  <d:message xml:lang="en">Use of private use country code
  <code><var>{value}</var></code> is not allowed.</d:message>
</d:item>

<d:item name="langtag:script:case"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Script subtag <code><var>{value}</var></code> is 
  not in the preferred form, i.e. titlecase.</d:message>
</d:item>

<d:item name="langtag:script:deprecated"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Use of script subtag
  <code><var>{value}</var></code> is deprecated<!-- in favor of {text} (might
  be undef) -->.</d:message>
</d:item>

<d:item name="langtag:script:invalid"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Script subtag <code><var>{value}</var></code>
  is not registered.</d:message>
</d:item>

<d:item name="langtag:script:private"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Script subtag <code><var>{value}</var></code>
  is a private use code.</d:message>
</d:item>

<d:item name="langtag:script:suppress"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Script subtag <code><var>{value}</var></code>
  should be suppressed when the language subtag is
  <code><var>{text}</var></code>.</d:message>
</d:item>

<d:item name="langtag:variant:case"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Variant subtag <code><var>{value}</var></code> is
  not in the preferred form, i.e. lowercase.</d:message>
</d:item>

<d:item name="langtag:variant:combination"
    modules="LangTag::RFC4646::Combination">
  <d:message xml:lang="en">Variant subtag <code><var>{text}</var></code> might
  not be meaningful when it is used in combination with
  <code><var>{value}</var></code>.</d:message>
</d:item>

<d:item name="langtag:variant:deprecated"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Use of variant subtag
  <code><var>{value}</var></code> is deprecated<!-- in favor of {text} (might
  be undef) -->.</d:message>
</d:item>

<d:item name="langtag:variant:duplication"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Variant subtag <code><var>{value}</var></code>
  is specified twice.</d:message>
</d:item>

<d:item name="langtag:variant:invalid"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Variant subtag <code><var>{value}</var></code>
  is not registered.</d:message>
</d:item>

<d:item name="langtag:variant:prefix"
    modules="LangTag::RFC4646::Checker">
  <d:message xml:lang="en">Variant subtag <code><var>{value}</var></code>
  cannot be used in this context.</d:message>
</d:item>

</section>

<section id="rdfxml-errors">
<h2>RDF/XML Errors</h2>

<d:item name="bad rdf namespace"
    modules="RDFXML">
  <d:message xml:lang="en">The namespace URI of an element that
  represents an RDF concept must be 
  <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#</code>.</d:message>
</d:item>

<d:item name="duplicate rdf id"
    modules="RDFXML">
  <d:message xml:lang="en">The specified value is already used as an
  ID.</d:message>
</d:item>

<d:item name="duplicate unqualified attr"
    modules="RDFXML">
  <d:message xml:lang="en">Both unqualified attribute and namespace‐qualified
  RDF attribute are specified, which is not allowed.</d:message>
</d:item>

<d:item name="parse type other"
    modules="RDFXML">
  <d:message xml:lang="en">An invalid value is specified to 
  the <code>parseType</code> attribute.</d:message>
</d:item>

<d:item name="second node element" 
    modules="RDFXML">
  <d:message xml:lang="en">There is another element, such that
  this element is not allowed.</d:message>
</d:item>

<d:item name="unqualified attr"
    modules="RDFXML">
  <d:message xml:lang="en">Unqualified attribute is not allowed.</d:message>
</d:item>

<d:item name="unqualified rdf attr"
    modules="RDFXML">
  <d:message xml:lang="en">RDF attribute should be
  namespace‐qualified.</d:message>
</d:item>

</section>

<section id="unsupported-messages">
<h2><i>Unsupported</i> Messages</h2>

<d:item name="unknown element"
    modules="ContentChecker">
  <d:message xml:lang="en">Conformance checking for element
  <code><var>{local-name}</var></code> is not supported; <em>it might or
  might not be conforming</em>.</d:message>
  <d:desc xml:lang="en">
    <p>The conformant checker does not support the element.
    It cannot determine whether the document is conforming or not.</p>
  </d:desc>
</d:item>

<d:item name="unknown attribute"
    modules="ContentChecker ContentChecker::HTML ContentChecker::Atom">
  <d:message xml:lang="en">Conformance checking for attribute
  <code><var>{local-name}</var></code> of element 
  <code><var>{element-local-name}</var></code> is not supported;
  <em>it might or might not be conforming</em>.</d:message>
  <d:desc xml:lang="en">
    <p>The conformant checker does not support the attribute.
    It cannot determine whether the document is conforming or not.</p>
  </d:desc>
</d:item>

<d:item name="unknown link type"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Link type <code><var>{value}</var></code> is not
  standardized or registered at the time of the release of the conformance
  checker; <em>it is non-conforming unless it now has been
  registered</em>.</d:message>
  <d:desc xml:lang="en">
    <p>The <code>rel</code> attribute is defined as a list of link types.
    Some common link types are defined in the HTML5 specification.
    Additional link types can be registered to the WHATWG Wiki.
    use of any other link type is non-conforming.</p>

    <p>The specified link type is not part of the standard or registry
    when the database used by the conformance cheker is created.
    The link type might have been added to the registry since then.
    In such case it might be conforming.  Otherwise, the
    document is non-conforming.</p>

    <dl>
    <dt>Link types <code>shortcut icon</code></dt>
        <dd>Link type <code>shortcut</code> is not registered.
        Use only <code>icon</code> for linking to so-called favicon.</dd>
    </dl>
  </d:desc>
</d:item>

<d:item name="event handler"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Conformance checking for event handler attribute
  is not supported; <em>it might or might not be conforming.</em></d:message>
</d:item>

<d:item name="media query"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Conformance checking for media query
  is not supported; <em>it might or might not be conforming.</em></d:message>
</d:item>

<d:item name="addr-spec not supported"
    modules="ContentChecker::Atom">
  <d:message xml:lang="en">Conformance checking for an <code>addr-spec</code>
  is not supported; <em>it might or might not be conforming.</em></d:message>
</d:item>

<d:item name="XML script lang"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Conformance checking for script
  language <code><var>{text}</var></code> is not supported;
  <em>it might or might not be conforming.</em></d:message>
</d:item>

<d:item name="XML style lang"
    modules="ContentChecker::HTML">
  <d:message xml:lang="en">Conformance checking for style
  language <code><var>{text}</var></code> is not supported;
  <em>it might or might not be conforming.</em></d:message>
</d:item>

<d:item name="atom|content not supported"
    modules="ContentChecker::Atom">
  <d:message xml:lang="en">Conformance checking for an Atom
  <code>content</code> element with <code>type</code>
  <code><var>{text}</var></code> is not supported.</d:message>
</d:item>

<d:item name="help not available"
    modules="cc-script">
  <d:message xml:lang="en">No more information is available.</d:message>
  <d:message xml:lang="ja">これ以上の詳しい情報はありません。</d:message>
  <d:desc xml:lang="en">
    <p>No more information is available for this topic.</p>
  </d:desc>
  <d:desc xml:lang="ja">
    <p>これについての詳しい情報はありません。</p>
  </d:desc>
</d:item>

</section>

<d:cat name="Input">
  <d:text xml:lang="en">Input</d:text>
  <d:text xml:lang="ja">入力</d:text>
</d:cat>

<d:cat name="By URL">
  <d:text xml:lang="en">By URL</d:text>
  <d:text xml:lang="ja">URL で指定</d:text>
</d:cat>

<d:cat name="By direct input">
  <d:text xml:lang="en">By direct input</d:text>
  <d:text xml:lang="ja">直接入力</d:text>
</d:cat>

<d:cat name="Options">
  <d:text xml:lang="en">More options</d:text>
  <d:text xml:lang="ja">検査オプション</d:text>
</d:cat>

<d:cat name="Check error page">
  <d:text xml:lang="en">Check an error page</d:text>
  <d:text xml:lang="ja">誤り頁を検査する</d:text>
</d:cat>

<d:cat name="Content type">
  <d:text xml:lang="en">Content type</d:text>
  <d:text xml:lang="ja">内容型</d:text>
</d:cat>

<d:cat name="Charset">
  <d:text xml:lang="en">Character encoding</d:text>
  <d:text xml:lang="ja">文字符号化</d:text>
</d:cat>

<d:cat name="As specified">
  <d:text xml:lang="en">As specified</d:text>
  <d:text xml:lang="ja">指定通り</d:text>
</d:cat>

<d:cat name="Japanese charsets">
  <d:text xml:lang="en">Japanese character encodings</d:text>
  <d:text xml:lang="ja">日本語用文字符号化</d:text>
</d:cat>

<d:cat name="European charsets">
  <d:text xml:lang="en">European character encodings</d:text>
  <d:text xml:lang="ja">欧米言語用文字符号化</d:text>
</d:cat>

<d:cat name="Asian charsets">
  <d:text xml:lang="en">Asian character encodings</d:text>
  <d:text xml:lang="ja">アジア諸語用文字符号化</d:text>
</d:cat>

<d:cat name="Unicode charsets">
  <d:text xml:lang="en">Unicode character encodings</d:text>
  <d:text xml:lang="ja">Unicode 系文字符号化</d:text>
</d:cat>

<d:cat name="Document source to check">
  <d:text xml:lang="en">Document source to check</d:text>
  <d:text xml:lang="ja">検査する文書のソース</d:text>
</d:cat>

<d:cat name="Check">
  <d:text xml:lang="en">Check</d:text>
  <d:text xml:lang="ja">検査</d:text>
</d:cat>

<d:cat name="Setting innerHTML">
  <d:text xml:lang="en">Setting <code>innerHTML</code> of HTML element</d:text>
  <d:text xml:lang="ja"><code>innerHTML</code> に値を設定する HTML 要素</d:text>
</d:cat>

<d:cat name="Information">
  <d:text xml:lang="en">Information</d:text>
  <d:text xml:lang="ja">情報</d:text>
</d:cat>

<d:cat name="HTTP Header">
  <d:text xml:lang="en"><abbr title="Hypertext Transfer Protocol">HTTP</abbr>
      Header</d:text>
  <d:text xml:lang="ja"><abbr lang="en" title="Hypertext Transfer Protocol">HTTP</abbr>
      頭部</d:text>
</d:cat>

<d:cat name="Parse Errors Section">
  <d:text xml:lang="en">Parse Errors</d:text>
  <d:text xml:lang="ja">構文誤り</d:text>
</d:cat>

<d:cat name="Parse Errors">
  <d:text xml:lang="en">Parse Errors</d:text>
  <d:text xml:lang="ja">構文誤り</d:text>
</d:cat>

<d:cat name="Document Source">
  <d:text xml:lang="en">Document Source</d:text>
  <d:text xml:lang="ja">文書のソース</d:text>
</d:cat>

<d:cat name="Source">
  <d:text xml:lang="en">Source</d:text>
  <d:text xml:lang="ja">ソース</d:text>
</d:cat>

<d:cat name="Tables Section">
  <d:text xml:lang="en">Structure of Tables</d:text>
  <d:text xml:lang="ja">表の構造</d:text>
</d:cat>

<d:cat name="Tables">
  <d:text xml:lang="en">Tables</d:text>
  <d:text xml:lang="ja">表</d:text>
</d:cat>

<d:cat name="Document Tree">
  <d:text xml:lang="en">Document Tree</d:text>
  <d:text xml:lang="ja">文書木</d:text>
</d:cat>

<d:cat name="Tree">
  <d:text xml:lang="en">Tree</d:text>
  <d:text xml:lang="ja">木</d:text>
</d:cat>

<d:cat name="Document">
  <d:text xml:lang="en">Document</d:text>
  <d:text xml:lang="ja">文書</d:text>
</d:cat>

<d:cat name="Document Structure">
  <d:text xml:lang="en">Document Structure</d:text>
  <d:text xml:lang="ja">文書構造</d:text>
</d:cat>

<d:cat name="Structure">
  <d:text xml:lang="en">Structure</d:text>
  <d:text xml:lang="ja">構造</d:text>
</d:cat>

<d:cat name="Reformatted Document Source">
  <d:text xml:lang="en">Reformatted Document Source</d:text>
  <d:text xml:lang="ja">再整形した文書のソース</d:text>
</d:cat>

<d:cat name="Reformatted">
  <d:text xml:lang="en">Reformatted</d:text>
  <d:text xml:lang="ja">再整形</d:text>
</d:cat>

<d:cat name="RDF Triples">
  <d:text xml:lang="en"><abbr>RDF</abbr> Triples</d:text>
  <d:text xml:lang="ja"><abbr lang="en">RDF</abbr> 三項組</d:text>
</d:cat>

<d:cat name="RDF">
  <d:text xml:lang="en"><abbr>RDF</abbr></d:text>
  <d:text xml:lang="ja"><abbr lang="en">RDF</abbr></d:text>
</d:cat>

<d:cat name="Structural Errors">
  <d:text xml:lang="en">Structural Errors</d:text>
  <d:text xml:lang="ja">構造的誤り</d:text>
</d:cat>

<d:cat name="Struct. Errors">
  <d:text xml:lang="en">Struct. Errors</d:text>
  <d:text xml:lang="ja">構造誤り</d:text>
</d:cat>

<d:cat name="Transfer Errors">
  <d:text xml:lang="en">Transfer Errors</d:text>
  <d:text xml:lang="ja">転送誤り</d:text>
</d:cat>

<d:cat name="Trans. Errors">
  <d:text xml:lang="en">Trans. Errors</d:text>
  <d:text xml:lang="ja">転送誤り</d:text>
</d:cat>

<d:cat name="Result">
  <d:text xml:lang="en">Result</d:text>
  <d:text xml:lang="ja">結果</d:text>
</d:cat>

<d:cat name="manakaiCompatMode:quirks">
  <d:text xml:lang="en">Quirks Mode</d:text>
  <d:text xml:lang="ja">奇癖モード</d:text>
</d:cat>

<d:cat name="manakaiCompatMode:limited quirks">
  <d:text xml:lang="en">Limited Quirks Mode</d:text>
  <d:text xml:lang="ja">限定奇癖モード</d:text>
</d:cat>

<d:cat name="manakaiCompatMode:no quirks">
  <d:text xml:lang="en">No Quirks Mode</d:text>
  <d:text xml:lang="ja">無奇癖モード</d:text>
</d:cat>

<d:cat name="manakaiIsHTML:1">
  <d:text xml:lang="en">HTML Document</d:text>
  <d:text xml:lang="ja">HTML 文書</d:text>
</d:cat>

<d:cat name="manakaiIsHTML:0">
  <d:text xml:lang="en">XML Document</d:text>
  <d:text xml:lang="ja">XML 文書</d:text>
</d:cat>

<d:cat name="manakaiCharset">
  <d:text xml:lang="en"><code>charset</code> parameter</d:text>
  <d:text xml:lang="ja"><code lang="en">charset</code> 引数</d:text>
</d:cat>

<d:cat name="inputEncoding">
  <d:text xml:lang="en">Input character encoding</d:text>
  <d:text xml:lang="ja">入力に用いた文字符号化</d:text>
</d:cat>

<d:cat name="xmlVersion">
  <d:text xml:lang="en">XML <code>version</code></d:text>
  <d:text xml:lang="ja">XML <code lang="en">version</code></d:text>
</d:cat>

<d:cat name="xmlEncoding">
  <d:text xml:lang="en">XML <code>encoding</code></d:text>
  <d:text xml:lang="ja">XML <code lang="en">encoding</code></d:text>
</d:cat>

<d:cat name="xmlStandalone">
  <d:text xml:lang="en">XML <code>standalone</code></d:text>
  <d:text xml:lang="ja">XML <code lang="en">standalone</code></d:text>
</d:cat>

<d:cat name="... with BOM">
  <d:text xml:lang="en"> (with <code class="charname"><abbr title="BYTE ORDER MARK">BOM</abbr></code>)</d:text>
  <d:text xml:lang="ja"> (<code class="charname" lang="en"><abbr title="BYTE ORDER MARK">BOM</abbr></code> つき)</d:text>
</d:cat>

<d:cat name="URL">
  <d:text xml:lang="en"><abbr title="Uniform Resource Locator">URL</abbr></d:text>
  <d:text xml:lang="ja"><abbr title="統一資源所在子">URL</abbr></d:text>
</d:cat>

<d:cat name="URLs">
  <d:text xml:lang="en"><abbr title="Uniform Resource Locators">URLs</abbr></d:text>
  <d:text xml:lang="ja"><abbr title="統一資源所在子">URL</abbr></d:text>
</d:cat>

<d:cat name="Container Node">
  <d:text xml:lang="en">Container Node</d:text>
  <d:text xml:lang="ja">この文書を含む節点</d:text>
</d:cat>

<d:cat name="Table Element">
  <d:text xml:lang="en">Table Element</d:text>
  <d:text xml:lang="ja">表要素</d:text>
</d:cat>

<d:cat name="Base URL">
  <d:text xml:lang="en">Base URL</d:text>
  <d:text xml:lang="ja">基底 URL</d:text>
</d:cat>

<d:cat name="Internet Media Type">
  <d:text xml:lang="en">Internet Media Type</d:text>
  <d:text xml:lang="ja">インターネット媒体型</d:text>
</d:cat>

<d:cat name="Character Encoding">
  <d:text xml:lang="en">Character Encoding</d:text>
  <d:text xml:lang="ja">文字符号化</d:text>
</d:cat>

<d:cat name="Byte Length">
  <d:text xml:lang="en">Byte Length</d:text>
  <d:text xml:lang="ja">バイト長</d:text>
</d:cat>

<d:cat name="Character Length">
  <d:text xml:lang="en">Character Length</d:text>
  <d:text xml:lang="ja">文字長</d:text>
</d:cat>

<d:cat name="... overridden">
  <d:text xml:lang="en"> (<i>overridden</i>)</d:text>
  <d:text xml:lang="ja"> (<i>上書き</i>)</d:text>
</d:cat>

<d:cat name="... overridden, official type is #">
  <d:text xml:lang="en"> (<i>overridden</i>; official type is
      <code lang="en" class="MIME"><var>{text}</var></code>)</d:text>
  <d:text xml:lang="ja"> (<i>上書き</i>, 公式型は
      <code lang="en" class="MIME"><var>{text}</var></code>)</d:text>
</d:cat>

<d:cat name="... sniffed">
  <d:text xml:lang="en"> (<i>sniffed</i>)</d:text>
  <d:text xml:lang="ja"> (<i>探知結果</i>)</d:text>
</d:cat>

<d:cat name="byte">
  <d:text xml:lang="en">byte</d:text>
  <d:text xml:lang="ja">バイト</d:text>
</d:cat>

<d:cat name="bytes">
  <d:text xml:lang="en">bytes</d:text>
  <d:text xml:lang="ja">バイト</d:text>
</d:cat>

<d:cat name="Explicit entries">
  <d:text xml:lang="en">Explicit entries</d:text>
  <d:text xml:lang="ja">明示的項目</d:text>
</d:cat>

<d:cat name="Fallback entries">
  <d:text xml:lang="en">Fallback entries</d:text>
  <d:text xml:lang="ja">滑り止め項目</d:text>
</d:cat>

<d:cat name="Opportunistic caching namespace">
  <d:text xml:lang="en">Opportunistic caching namespace</d:text>
  <d:text xml:lang="ja">日和見的キャッシュ化名前空間</d:text>
</d:cat>

<d:cat name="Fallback entry">
  <d:text xml:lang="en">Fallback entry</d:text>
  <d:text xml:lang="ja">滑り止め項目</d:text>
</d:cat>

<d:cat name="Online whitelist">
  <d:text xml:lang="en">Online whitelist</d:text>
  <d:text xml:lang="ja">オンライン・ホワイトリスト</d:text>
</d:cat>

<d:cat name="No entry">
  <d:text xml:lang="en">No entry</d:text>
  <d:text xml:lang="ja">項目なし</d:text>
</d:cat>

<d:cat name="Subject">
  <d:text xml:lang="en">Subject</d:text>
  <d:text xml:lang="ja">主語</d:text>
</d:cat>

<d:cat name="Predicate">
  <d:text xml:lang="en">Predicate</d:text>
  <d:text xml:lang="ja">述語</d:text>
</d:cat>

<d:cat name="Object">
  <d:text xml:lang="en">Object</d:text>
  <d:text xml:lang="ja">目的語</d:text>
</d:cat>

<d:cat name="character">
  <d:text xml:lang="en">character</d:text>
  <d:text xml:lang="ja">文字</d:text>
</d:cat>

<d:cat name="characters">
  <d:text xml:lang="en">characters</d:text>
  <d:text xml:lang="ja">文字</d:text>
</d:cat>

<d:cat name="Line #">
  <d:text xml:lang="en">Line <var>{text}</var></d:text>
  <d:text xml:lang="ja"><var>{text}</var> 行</d:text>
</d:cat>

<d:cat name="column #">
  <d:text xml:lang="en">column <var>{text}</var></d:text>
  <d:text xml:lang="ja"><var>{text}</var> 列</d:text>
</d:cat>

<d:cat name="Index #">
  <d:text xml:lang="en">Index <var>{text}</var></d:text>
  <d:text xml:lang="ja">索引 #<var>{text}</var></d:text>
</d:cat>

<d:cat name="Unknown location">
  <d:text xml:lang="en">Unknown location</d:text>
  <d:text xml:lang="ja">位置不明</d:text>
</d:cat>

<d:cat name="(unknown)">
  <d:text xml:lang="en">(Unknown)</d:text>
  <d:text xml:lang="ja">(不明)</d:text>
</d:cat>

<d:cat name="Description">
  <d:text xml:lang="en">Description</d:text>
  <d:text xml:lang="ja">説明</d:text>
</d:cat>

<d:cat name="Table #">
  <d:text xml:lang="en">Structure of Table #<var>{text}</var></d:text>
  <d:text xml:lang="ja">表 #<var>{text}</var> の構造</d:text>
</d:cat>

<d:cat name="Subdocument #">
  <d:text xml:lang="en">Subdocument #<var>{text}</var></d:text>
  <d:text xml:lang="ja">部分文書 #<var>{text}</var></d:text>
</d:cat>

<d:cat name="Sub #">
  <d:text xml:lang="en">Sub #<var>{text}</var></d:text>
  <d:text xml:lang="ja">部分 #<var>{text}</var></d:text>
</d:cat>

<d:cat name="...">
  <d:text xml:lang="en">..</d:text><!-- TODO: figure hyphen? -->
  <d:text xml:lang="ja">〜</d:text>
</d:cat>

<d:cat name="Score">
  <d:text xml:lang="en">Score</d:text>
  <d:text xml:lang="ja">得点</d:text>
</d:cat>

<d:cat name="Subtotal">
  <d:text xml:lang="en">Subtotal</d:text>
  <d:text xml:lang="ja">小計</d:text>
</d:cat>

<d:cat name="Total">
  <d:text xml:lang="en">Total</d:text>
  <d:text xml:lang="ja">合計</d:text>
</d:cat>

<d:cat name="Main document">
  <d:text xml:lang="en">Main document</d:text>
  <d:text xml:lang="ja">主文書</d:text>
</d:cat>

<d:cat name="Subdocuments">
  <d:text xml:lang="en">Subdocuments</d:text>
  <d:text xml:lang="ja">部分文書</d:text>
</d:cat>

<d:cat name="Transfer L.">
  <d:text xml:lang="en"><abbr title="Transfer protocol">Transfer</abbr></d:text>
  <d:text xml:lang="ja"><abbr title="転送プロトコル">転送</abbr></d:text>
</d:cat>

<d:cat name="Encode L.">
  <d:text xml:lang="en"><abbr title="Character encoding">Encoding</abbr></d:text>
  <d:text xml:lang="ja"><abbr title="文字符号化">符号</abbr></d:text>
</d:cat>

<d:cat name="Char L.">
  <d:text xml:lang="en"><abbr title="Coded characters">Character</abbr></d:text>
  <d:text xml:lang="ja"><abbr title="符号化文字">文字</abbr></d:text>
</d:cat>

<d:cat name="Syntax L.">
  <d:text xml:lang="en">Syntax</d:text>
  <d:text xml:lang="ja">構文</d:text>
</d:cat>

<d:cat name="Structure L.">
  <d:text xml:lang="en">Structure</d:text>
  <d:text xml:lang="ja">構造</d:text>
</d:cat>

<d:cat name="Semantics L.">
  <d:text xml:lang="en">Semantics</d:text>
  <d:text xml:lang="ja">意味</d:text>
</d:cat>

<d:cat name="N/A">
  <d:text xml:lang="en">N/A</d:text>
  <d:text xml:lang="ja">−</d:text>
</d:cat>

<d:cat name="No error found.">
  <d:text xml:lang="en">No error found.</d:text>
  <d:text xml:lang="ja">誤りは見つかりませんでした。</d:text>
</d:cat>

<d:cat name="No transfer error found.">
  <d:text xml:lang="en">This document has no transfer protocol header error.</d:text>
  <d:text xml:lang="ja">転送プロトコルの頭部に誤りは見つかりませんでした。</d:text>
</d:cat>

<d:cat name="No parse error found.">
  <d:text xml:lang="en">This document has no parse error.</d:text>
  <d:text xml:lang="ja">構文解析中に誤りは見つかりませんでした。</d:text>
</d:cat>

<d:cat name="No structural error found.">
  <d:text xml:lang="en">This document has no structral error.</d:text>
  <d:text xml:lang="ja">構造上の誤りは見つかりませんでした。</d:text>
</d:cat>

<d:cat name="This checker is work in progress.">
  <d:text xml:lang="en">
    <p><strong>Important</strong>: This conformance checking service
    is <em>under development</em>.  The result above might be <em>wrong</em>.</p>
  </d:text>
  <d:text xml:lang="ja">
    <p><strong>重要</strong>: この適合性検査サービスは<em>開発中</em>です。
    この結果は<em>間違い</em>かもしれません。</p>
  </d:text>
</d:cat>

<d:cat name="Conformance is conforming">
  <d:text xml:lang="en">No conformance‐error is
      found in this document.</d:text>
  <d:text xml:lang="ja">この文書に適合性に関わる誤りは見つかりませんでした。</d:text>
</d:cat>

<d:cat name="Conformance is should-error">
  <d:text xml:lang="en">This document
        is <strong>likely <em>non</em>-conforming</strong>, but in rare case
        it might be conforming.  The checker cannot determine whether
        this document is in the rare case or not.</d:text>
  <d:text xml:lang="ja">この文書は<strong>おそらく<em>不</em>適合</strong>ですが、
      稀に適合している場合もあります。適合性検査器はこの文書が稀な場合に該当するかどうか判定できません。</d:text>
</d:cat>

<d:cat name="Conformance is non-conforming">
  <d:text xml:lang="en">This document is
        <strong><em>non</em>-conforming</strong>.</d:text>
  <d:text xml:lang="ja">この文書は<strong><em>不</em>適合</strong>です。</d:text>
</d:cat>

<d:cat name="Conformance is uncertain">
  <d:text xml:lang="en">The conformance
        checker cannot decide whether the document is conforming or
        not, since the document contains one or more unsupported
        features.  The document might or might not be conforming.</d:text>
  <d:text xml:lang="ja">適合性検査器はこの文書が適合するかどうか判定できませんでした。
      この文書は適合性検査器が対応していない機能を使っています。
      この文書は適合しているかもしれませんし、していないかもしれません。</d:text>
</d:cat>

<d:cat name="Error level m">
  <d:text xml:lang="en"><a href="../error-description#Error-level-m" rel="help"><em class="rfc2119">MUST</em>‐level
        error</a></d:text>
  <d:text xml:lang="ja"><a href="../error-description#Error-level-m" rel="help"><em class="rfc2119" title="REQUIRED">必須</em>級の誤り</a></d:text>
  <d:desc xml:lang="en">
    <p>A violation to a hard requirement of the specification.
    The document is non‐conforming.</p>
  </d:desc>
</d:cat>

<d:cat name="Error level s">
  <d:text xml:lang="en"><a href="../error-description#Error-level-s" rel="help"><em class="rfc2119">SHOULD</em>‐level
        error</a></d:text>
  <d:text xml:lang="ja"><a href="../error-description#Error-level-s" rel="help"><em class="rfc2119" title="RECOMMENDED">推奨</em>級の誤り</a></d:text>
  <d:desc xml:lang="en">
    <p>A violation to a requirement of the specification.
    The violation might be legitimize in some case.  Otherwise,
    the document is non‐conforming.</p>
  </d:desc>
</d:cat>

<d:cat name="Error level w">
  <d:text xml:lang="en"><a href="../error-description#Error-level-w" rel="help">Warning</a></d:text>
  <d:text xml:lang="ja"><a href="../error-description#Error-level-w" rel="help">警告</a></d:text>
  <d:desc xml:lang="en">
    <p>A warning is an advice from the conformance checker
    to avoid solving a problem in a confusing or possibly wrong way.
    It does not affect to the conformance of the document, and
    may sometimes be inappropriate.</p>
  </d:desc>
</d:cat>

<d:cat name="Error level i">
  <d:text xml:lang="en"><a href="../error-description#Error-level-i" rel="help">Information</a></d:text>
  <d:text xml:lang="ja"><a href="../error-description#Error-level-i" rel="help">情報</a></d:text>
  <d:desc xml:lang="en">
    <p>An informational message just provides an additional information
    on the feature used in the document or the status of the retrieval
    or so on.
    It does not affect to the conformance of the document.</p>
  </d:desc>
</d:cat>

<d:cat name="Error level u">
  <d:text xml:lang="en"><a href="../error-description#Error-level-u" rel="help">Not
      supported</a></d:text>
  <d:text xml:lang="ja"><a href="../error-description#Error-level-u" rel="help">未対応</a></d:text>
  <d:desc xml:lang="en">
    <p>Some feature that is not supported by the conformance checker
    is used in the document.</p>
  </d:desc>
</d:cat>

<section id="license">
<h2>License of This Document</h2>

<p>Copyright <time>2007</time>‐<time>2008</time>
<a href="http://suika.fam.cx/~wakaba/who?" rel="author" xml:lang="ja">Wakaba</a>
<code class="mail">&lt;<a href="mailto:w@suika.fam.cx">w@suika.fam.cx</a>></code>.</p>

<p>This document is free software; you can redistribute it
and/or modify it under the same terms as Perl itself.</p>
</section>

<!-- $Date: 2008/12/11 03:22:56 $ -->
</body>
</html>