プロローグ/エピローグ
| ●ドキュメント開始前のテキスト | ||
| 先行する空白文字シーケンスを除き暗黙的にhtml要素内に移動 | ||
![]() あいうえお かきくけこ![]() <html>さしすせそ</html> ![]() |
→ | <html>あいうえお かきくけこ![]() さしすせそ</html> ![]() |
| ●ドキュメント終了後のテキスト | ||
| 最後尾の空白文字シーケンスを除きhtml要素内に包含 | ||
<html>あいうえお</html> かきくけこ![]() さしすせそ ![]() ![]() ![]() ![]() |
→ | <html>あいうえお かきくけこ![]() さしすせそ</html> ![]() |
| ●XML宣言 | ||
| XMLReaderプロパティとLocator2へ設定 | ||
<?xml?>![]() <html>あいうえお</html> ![]() |
→ | <html>あいうえお</html>![]() |
| ●XML宣言 | ||
| XMLReaderプロパティとLocator2へ設定 | ||
<?xml ?>![]() <html>あいうえお</html> ![]() |
→ | <html>あいうえお</html>![]() |
| ●バージョン指定のXML宣言 | ||
| XMLReaderプロパティとLocator2へ設定 | ||
<?xml version="1.0"?>![]() <html>あいうえお</html> ![]() |
→ | <html>あいうえお</html>![]() |
| ●XML宣言 | ||
| XMLReaderプロパティとLocator2へ設定 | ||
<?xml version="1.0" encoding="UTF-8"?>![]() <html>あいうえお</html> ![]() |
→ | <html>あいうえお</html>![]() |
| ●エンコーディング指定のXML宣言 | ||
| XMLReaderプロパティとLocator2へ設定 | ||
<?xml encoding="UTF-8"?>![]() <html>あいうえお</html> ![]() |
→ | <html>あいうえお</html>![]() |
| ○未定義の属性の付属するXML宣言 | ||
| 警告して無視 | ||
<?xml foo="bar"?>![]() <html>あいうえお</html> ![]() |
→ | <html>あいうえお</html>![]() |
| 1, 1: X0001:未定義の XML 宣言属性です: foo="bar" | ||
要素
| ●子要素を内包しない要素 | ||
| 空の要素として認識 | ||
<html><div></div></html>![]() |
→ | <html><div/></html>![]() |
| ●子要素を内包しない要素(簡略表記) | ||
| 空の要素として認識 | ||
<html><div/></html>![]() |
→ | <html><div/></html>![]() |
| ●要素内の意味を持たない空白文字 | ||
| 無視 | ||
<html![]() ![]() ![]() ![]() ![]() ![]() /> ![]() |
→ | <html/>![]() |
| ○使用していない要素終了 | ||
| 警告して無視 | ||
<html>あいう</b>えお</html>![]() |
→ | <html>あいうえお</html>![]() |
| 1,10: E0002:使用されていない要素の終了: </b> | ||
| ○要素の終了に属性を記述 | ||
| 警告して無視 | ||
<html>あいうえお</html class="foo">![]() |
→ | <html>あいうえお</html>![]() |
| 1,12: E0001:要素の終了で属性は指定できません: </html ...> | ||
テキストの解釈
| ●通常のテキスト | ||
| テキストとして解釈 | ||
<html>あいうえお</html>![]() |
→ | <html>あいうえお</html>![]() |
| ●XML定義の空白文字 | ||
| 単体のCRは改行としてLFに変換 | ||
<html>[ ][ ][ ][![]() ]</html> ![]() |
→ | <html>[ ][ ][![]() ][ ![]() ]</html> ![]() |
| ●改行文字の扱い | ||
| CRLF及び単体のCRはLFに変換 | ||
<html>[![]() ][ ![]() ![]() ][ ]</html>![]() |
→ | <html>[![]() ][ ![]() ][ ![]() ]</html> ![]() |
| ●要素に囲まれていないテキスト | ||
| 暗黙的にHTML要素を開始 | ||
あいうえお![]() |
→ | <html>あいうえお</html>![]() |
| ●単体の'<' | ||
| テキストとして解釈 | ||
<![]() |
→ | <html><</html>![]() |
| ○単体の'&' | ||
| テキストとして解釈 | ||
<html>&</html>![]() |
→ | <html>&</html>![]() |
| 1, 7: T0001:'&' に続く実体参照名が指定されていません | ||
実体参照の解釈
| ●HTML/XML共用の文字実体参照 | ||
| 対応するUnicode文字として解釈 | ||
<html><>&"</html>![]() |
→ | <html><>&"</html>![]() |
| ●HTML固有の文字実体参照 | ||
| 対応するUnicode文字として解釈 | ||
<html>© ®</html>![]() |
→ | <html>© ®</html>![]() |
| ●数値文字参照 | ||
| 対応するUnicode文字として解釈 | ||
<html>[α][α][α]</html>![]() |
→ | <html>[α][α][α]</html>![]() |
| ○XML固有の文字実体参照 | ||
| テキストとして解釈 | ||
<html>'</html>![]() |
→ | <html>&apos;</html>![]() |
| 1, 7: T0100:実体参照 "'" は未定義です | ||
| ○認識できない文字実体参照 | ||
| テキストとして解釈 | ||
<html>![]() [&foo;]![]() [&;]![]() &0123456789;![]() </html> ![]() |
→ | <html>![]() [&foo;]![]() [&;]![]() &0123456789;![]() </html> ![]() |
| 2, 3: T0100:実体参照 "&foo;" は未定義です 3, 3: T0100:実体参照 "&;" は未定義です 4, 2: T0001:'&' に続く実体参照名が指定されていません | ||
| ○認識できない数値文字参照 | ||
| テキストとして解釈 | ||
<html>[&#;][&#xyz;][𐀀][&#x;][&#xxyz;][𐀀]</html>![]() |
→ | <html>[&#;][&#xyz;][&#65536;][&#x;][&#xxyz;][&#x10000;]</html>![]() |
| 1, 8: T0100:実体参照 "&#;" は未定義です 1,13: T0100:実体参照 "&#xyz;" は未定義です 1,21: T0100:実体参照 "𐀀" は未定義です 1,31: T0100:実体参照 "&#x;" は未定義です 1,37: T0100:実体参照 "&#xxyz;" は未定義です 1,46: T0100:実体参照 "𐀀" は未定義です | ||
CDATAセクションの解釈
| ●通常のCDATAセクション | ||
| エスケープされていないテキストとして解釈(改行のみ変換) | ||
<html><![CDATA[![]() < > & "![]() ![]() ![]() ![]() ![]() ]]></html> ![]() |
→ | <html><![CDATA[![]() < > & "![]() ![]() ![]() ![]() ]]></html> ![]() |
| ●単体のCDATAセクション | ||
| 暗黙的にhtml要素を開始 | ||
<![CDATA[ ABC ]]>![]() |
→ | <html><![CDATA[ ABC ]]></html>![]() |
| ●ドキュメント要素より前のCDATAセクション | ||
| html要素内に内包 | ||
<![CDATA[ あいうえお ]]> <html>かきくけこ</html>![]() |
→ | <html><![CDATA[ あいうえお ]]> かきくけこ</html>![]() |
| ●ドキュメント要素より後のCDATAセクション | ||
| html要素内に内包 | ||
<html>あいうえお</html> <![CDATA[ かきくけこ ]]>![]() ![]() |
→ | <html>あいうえお <![CDATA[ かきくけこ ]]></html>![]() |
コメントの解釈
| ●通常のコメント | ||
| XMLのコメントとして解釈 | ||
<html><!-- コメント --></html>![]() |
→ | <html><!-- コメント --></html>![]() |
| ●空のコメント | ||
| XMLのコメントとして解釈 | ||
<html><!----></html>![]() |
→ | <html><!----></html>![]() |
| ●ドキュメント要素より前のコメント | ||
| XMLのコメントとして解釈 | ||
<!--コメント--><html/>![]() |
→ | <!--コメント--><html/>![]() |
| ●ドキュメント要素より後のコメント | ||
| XMLのコメントとして解釈 | ||
<html/><!--コメント-->![]() |
→ | <html/><!--コメント-->![]() |
| ○連続したハイフンを内包するコメント | ||
| そのままハンドラへ通知 (DOM実装で空白を挿入) | ||
<html><!-- i-- --></html>![]() |
→ | <html><!-- i- - --></html>![]() |
| 1, 7: C0001:コメント内での文字列 "--" は許可されていません | ||
| ○ハイフンで終了するコメント | ||
| そのままハンドラへ通知 (DOM実装で空白を挿入) | ||
<html><!-----></html>![]() |
→ | <html><!--- --></html>![]() |
| 1, 7: C0001:コメント内での文字列 "--" は許可されていません | ||
処理命令の解釈
| ●ドキュメント要素より前に記述された処理命令 | ||
| XMLの処理命令として解釈 | ||
<?xml-stylesheet type="text/xsl"?>![]() <html/> ![]() |
→ | <?xml-stylesheet type="text/xsl"?>![]() <html/> ![]() |
| ●ドキュメント内に記述された処理命令 | ||
| XMLの処理命令として解釈 | ||
<html><?xml-stylesheet type="text/xsl"?></html>![]() |
→ | <html><?xml-stylesheet type="text/xsl"?></html>![]() |
| ●ドキュメント終了より後に記述された処理命令 | ||
| XMLの処理命令として解釈 | ||
<html/><?xml-stylesheet type="text/xsl"?>![]() |
→ | <html/><?xml-stylesheet type="text/xsl"?>![]() ![]() |
| ●処理命令内の記述 | ||
| CR及びCRLFのみをLFに変換 | ||
<html><?foo![]() [![]() A![]() B![]() ![]() ![]() C ![]() ![]() D & ] ?></html>![]() |
→ | <html><?foo [![]() A![]() ![]() B ![]() ![]() C ![]() ![]() D & ] ?></html>![]() |
| ○無効な処理命令のターゲット名 | ||
| 警告して無視 | ||
<html><??></html>![]() |
→ | <html/>![]() |
| 1, 7: P0001:ターゲット名が不正です: | ||
| ○無効な処理命令のターゲット名 | ||
| 警告して無視 | ||
<html><? ?></html>![]() |
→ | <html/>![]() |
| 1, 7: P0001:ターゲット名が不正です: | ||
| ○無効な処理命令のターゲット名 | ||
| 警告して無視 | ||
<html><? foo="bar"?></html>![]() |
→ | <html/>![]() |
| 1, 7: P0001:ターゲット名が不正です: | ||
| ○無効な処理命令のターゲット名 | ||
| 警告して無視 | ||
<html><?--?></html>![]() |
→ | <html/>![]() |
| 1, 7: P0001:ターゲット名が不正です: -- | ||
ドキュメント宣言の解釈
| ●PUBLIC IDの記述(SYSTEM ID付属) | ||
| DTDHandlerへ通知のみ | ||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">![]() <html/> ![]() |
→ | <html/>![]() |
| ●PUBLIC IDの記述(SYSTEM ID省略) | ||
| DTDHandlerへ通知のみ | ||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">![]() <html/> ![]() |
→ | <html/>![]() |
| ●SYSTEM IDの記述 | ||
| DTDHandlerへ通知のみ | ||
<!DOCTYPE html SYSTEM "http://www.w3.org/TR/html4/strict.dtd">![]() <html/> ![]() |
→ | <html/>![]() |
| ●PUBLID ID/SYSTEM ID共に記述 | ||
| DTDHandlerへ通知のみ | ||
<!DOCTYPE html>![]() <html/> ![]() |
→ | <html/>![]() |
| ●html以外のDTD | ||
| DTDHandlerへ通知のみ | ||
<!DOCTYPE xhtml PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">![]() <html/> ![]() |
→ | <html/>![]() |
| ○認識できないDTD | ||
| 無視 | ||
<!DOCTYPE html PRIVATE "http://www.w3.org/TR/html4/strict.dtd">![]() <html/> ![]() |
→ | <html/>![]() |
| 1, 1: D0001:ドキュメント型を認識できません: <!DOCTYPE html PRIVATE "http://www.w3.org/TR/html4/strict.dtd"> | ||
ドキュメント構造
| ●階層構造のドキュメント | ||
| XMLの階層構造として解釈 | ||
<html>![]() <head> ![]() <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">![]() <title>タイトル</title>![]() </head> ![]() <body> ![]() <h1>タイトル</h1> ![]() <p> ![]() <b style="font-family:sans-serif;">HTMLDocumentBuilderFactory</b> は XML に<i>厳格でない</i> HTML を解析して DOM を生成するための JAXP ドキュメントビルダーです。![]() </p> ![]() </body> ![]() </html> ![]() |
→ | <html>![]() <head> ![]() <meta content="text/html;charset=UTF-8" http-equiv="Content-Type"/>![]() <title>タイトル</title>![]() </head> ![]() <body> ![]() <h1>タイトル</h1> ![]() <p> ![]() <b style="font-family:sans-serif;">HTMLDocumentBuilderFactory</b> は XML に<i>厳格でない</i> HTML を解析して DOM を生成するための JAXP ドキュメントビルダーです。![]() </p> ![]() </body> ![]() </html> ![]() |
| ○HTML定義の空要素 | ||
| XMLの空要素と同等に解釈(ノードを内包する場合は不用な要素終了として警告) | ||
<html>![]() <img src="foo.png">![]() <img src="foo.png" />![]() <img src="foo.png"></img>![]() <img src="foo.png">あいうえお</img>![]() </html> ![]() |
→ | <html>![]() <img src="foo.png"/>![]() <img src="foo.png"/>![]() <img src="foo.png"/>![]() <img src="foo.png"/>あいうえお![]() </html> ![]() |
| 5,26: E0002:使用されていない要素の終了: </img> | ||
| ○li:閉じられていないリスティング要素 | ||
| 強制的にolまたはul要素の直下へ移動(オプション動作) | ||
<html>![]() <body> ![]() <ol> ![]() <li>リスト1 ![]() <li>リスト<b>2 ![]() <li>リスト3</li>あ ![]() </ol> ![]() <b><li>何もしない</b> ![]() </body> ![]() </html> ![]() |
→ | <html>![]() <body> ![]() <ol> ![]() <li>リスト1 ![]() </li><li>リスト<b>2 ![]() </b></li><li>リスト3</li>あ ![]() </ol> ![]() <b><li>何もしない</li></b> ![]() </body> ![]() </html> ![]() |
| 5, 1: E0008:要素を適切と思われる位置に移動しました: <li> 4, 1: E0004:閉じられていない要素: <li> 6, 1: E0008:要素を適切と思われる位置に移動しました: <b> 5, 8: E0004:閉じられていない要素: <b> 5, 1: E0004:閉じられていない要素: <li> 8, 4: E0004:閉じられていない要素: <li> | ||
| ○p:閉じられていないパラグラフ要素 | ||
| 適切な位置へ移動(オプション動作) | ||
<html>![]() <body> ![]() <p> ![]() あいうえお ![]() <p> ![]() かきくけこ ![]() <p> ![]() さしすせそ ![]() </body> ![]() </html> ![]() |
→ | <html>![]() <body> ![]() <p> ![]() あいうえお ![]() </p><p> ![]() かきくけこ ![]() </p><p> ![]() さしすせそ ![]() </p></body> ![]() </html> ![]() |
| 5, 1: E0008:要素を適切と思われる位置に移動しました: <p> 3, 1: E0004:閉じられていない要素: <p> 7, 1: E0008:要素を適切と思われる位置に移動しました: <p> 5, 1: E0004:閉じられていない要素: <p> 7, 1: E0004:閉じられていない要素: <p> | ||


あいうえお


