summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese')
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/CVS/Entries20
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/CVS/Repository1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/CVS/Root1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/japanese.xml88
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-euc-jp.xml3549
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-iso-2022-jp.xml3549
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-little-endian.xmlbin0 -> 313076 bytes
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-shift_jis.xml3549
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-utf-16.xmlbin0 -> 313074 bytes
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-utf-8.xml3548
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/spec.dtd975
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-euc-jp.dtd72
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-euc-jp.xml78
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-iso-2022-jp.dtd72
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-iso-2022-jp.xml78
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-little-endian.xmlbin0 -> 3186 bytes
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-shift_jis.dtd72
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-shift_jis.xml78
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-utf-16.dtdbin0 -> 5222 bytes
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-utf-16.xmlbin0 -> 3186 bytes
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-utf-8.dtd71
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-utf-8.xml78
22 files changed, 15879 insertions, 0 deletions
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/CVS/Entries b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/CVS/Entries
new file mode 100644
index 0000000000..ba86ca54fd
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/CVS/Entries
@@ -0,0 +1,20 @@
+/japanese.xml/1.5/Thu Mar 4 18:18:39 2004//
+/pr-xml-euc-jp.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
+/pr-xml-iso-2022-jp.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
+/pr-xml-little-endian.xml/1.3/Thu Jun 6 14:31:46 2002//
+/pr-xml-shift_jis.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
+/pr-xml-utf-16.xml/1.2/Tue Mar 19 14:10:29 2002//
+/pr-xml-utf-8.xml/1.2/Tue Mar 19 14:09:57 2002//
+/spec.dtd/1.1.1.1/Wed Oct 17 09:52:58 2001//
+/weekly-euc-jp.dtd/1.1.1.1/Wed Oct 17 09:52:58 2001//
+/weekly-euc-jp.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
+/weekly-iso-2022-jp.dtd/1.1.1.1/Wed Oct 17 09:52:58 2001//
+/weekly-iso-2022-jp.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
+/weekly-little-endian.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
+/weekly-shift_jis.dtd/1.1.1.1/Wed Oct 17 09:52:58 2001//
+/weekly-shift_jis.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
+/weekly-utf-16.dtd/1.1.1.1/Wed Oct 17 09:52:58 2001//
+/weekly-utf-16.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
+/weekly-utf-8.dtd/1.1.1.1/Wed Oct 17 09:52:58 2001//
+/weekly-utf-8.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
+D
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/CVS/Repository b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/CVS/Repository
new file mode 100644
index 0000000000..86eb60e7df
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/CVS/Repository
@@ -0,0 +1 @@
+2001/XML-Test-Suite/xmlconf/japanese
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/CVS/Root b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/CVS/Root
new file mode 100644
index 0000000000..3c7177e4bb
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/japanese.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/japanese.xml
new file mode 100644
index 0000000000..0fe6e589dc
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/japanese.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ @(#)japanese.xml 1.4 99/02/03
+ Copyright 1998 by Sun Microsystems, Inc.
+ All Rights Reserved.
+-->
+
+<TESTCASES PROFILE="Fuji Xerox Japanese Text Tests">
+
+ <TEST TYPE="error" SECTIONS="4.3.3 [4,84]"
+ ID="pr-xml-euc-jp" ENTITIES="parameter" URI="pr-xml-euc-jp.xml">
+ Test support for the EUC-JP encoding, and for text
+ which relies on Japanese characters.
+ <EM>If a processor does not support this encoding, it must
+ report a fatal error.</EM>
+ (Also requires ability to process a moderately complex DTD.)
+ </TEST>
+ <TEST TYPE="error" SECTIONS="4.3.3 [4,84]"
+ ID="pr-xml-iso-2022-jp" ENTITIES="parameter" URI="pr-xml-iso-2022-jp.xml">
+ Test support for the ISO-2022-JP encoding, and for text
+ which relies on Japanese characters.
+ <EM>If a processor does not support this encoding, it must
+ report a fatal error.</EM>
+ (Also requires ability to process a moderately complex DTD.)
+ </TEST>
+ <TEST TYPE="valid" SECTIONS="4.3.3 [4,84]"
+ ID="pr-xml-little" ENTITIES="parameter" URI="pr-xml-little-endian.xml">
+ Test support for little-endian UTF-16 text
+ which relies on Japanese characters.
+ (Also requires ability to process a moderately complex DTD.)
+ </TEST>
+ <TEST TYPE="error" SECTIONS="4.3.3 [4,84]"
+ ID="pr-xml-shift_jis" ENTITIES="parameter" URI="pr-xml-shift_jis.xml">
+ Test support for the Shift_JIS encoding, and for text
+ which relies on Japanese characters.
+ <EM>If a processor does not support this encoding, it must
+ report a fatal error.</EM>
+ (Also requires ability to process a moderately complex DTD.)
+ </TEST>
+ <TEST TYPE="valid" SECTIONS="4.3.3 [4,84]"
+ ID="pr-xml-utf-16" ENTITIES="parameter" URI="pr-xml-utf-16.xml">
+ Test support UTF-16 text which relies on Japanese characters.
+ (Also requires ability to process a moderately complex DTD.)
+ </TEST>
+ <TEST TYPE="valid" SECTIONS="4.3.3 [4,84]"
+ ID="pr-xml-utf-8" ENTITIES="parameter" URI="pr-xml-utf-8.xml">
+ Test support for UTF-8 text which relies on Japanese characters.
+ (Also requires ability to process a moderately complex DTD.)
+ </TEST>
+
+ <TEST TYPE="error" SECTIONS="4.3.3 [4,84]"
+ ID="weekly-euc-jp" ENTITIES="parameter" URI="weekly-euc-jp.xml">
+ Test support for EUC-JP encoding, and
+ XML names which contain Japanese characters.
+ <EM>If a processor does not support this encoding, it must
+ report a fatal error.</EM>
+ </TEST>
+ <TEST TYPE="error" SECTIONS="4.3.3 [4,84]"
+ ID="weekly-iso-2022-jp" ENTITIES="parameter" URI="weekly-iso-2022-jp.xml">
+ Test support for ISO-2022-JP encoding, and
+ XML names which contain Japanese characters.
+ <EM>If a processor does not support this encoding, it must
+ report a fatal error.</EM>
+ </TEST>
+ <TEST TYPE="valid" SECTIONS="4.3.3 [4,84]"
+ ID="weekly-little" ENTITIES="parameter" URI="weekly-little-endian.xml">
+ Test support for little-endian UTF-16 encoding, and
+ XML names which contain Japanese characters.
+ </TEST>
+ <TEST TYPE="error" SECTIONS="4.3.3 [4,84]"
+ ID="weekly-shift_jis" ENTITIES="parameter" URI="weekly-shift_jis.xml">
+ Test support for Shift_JIS encoding, and
+ XML names which contain Japanese characters.
+ <EM>If a processor does not support this encoding, it must
+ report a fatal error.</EM>
+ </TEST>
+ <TEST TYPE="valid" SECTIONS="4.3.3 [4,84]"
+ ID="weekly-utf-16" ENTITIES="parameter" URI="weekly-utf-16.xml">
+ Test support for UTF-16 encoding, and
+ XML names which contain Japanese characters.
+ </TEST>
+ <TEST TYPE="valid" SECTIONS="4.3.3 [4,84]"
+ ID="weekly-utf-8" ENTITIES="parameter" URI="weekly-utf-8.xml">
+ Test support for UTF-8 encoding and
+ XML names which contain Japanese characters.
+ </TEST>
+
+</TESTCASES>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-euc-jp.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-euc-jp.xml
new file mode 100644
index 0000000000..d7ee020a9f
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-euc-jp.xml
@@ -0,0 +1,3549 @@
+<?xml version="1.0" encoding="euc-jp"?>
+<!DOCTYPE spec SYSTEM "spec.dtd" [
+
+<!-- 日本語訳のための解析対象実体(ここから) -->
+
+<!ENTITY TR-or-Rec "仕様書">
+<!-- <!ENTITY TR-or-Rec "標準情報(TR)"> -->
+<!ENTITY eTR-or-Rec "specification">
+<!-- <!ENTITY eTR-or-Rec "technical report(TR)"> -->
+<!ENTITY application "アプリケーション">
+<!ENTITY error "エラー">
+<!ENTITY fatal-error "致命的エラー">
+<!ENTITY parsed-data "解析されるデータ">
+<!ENTITY unparsed-data "解析されないデータ">
+<!ENTITY parsed-entity "解析対象実体">
+<!ENTITY parser "パーサ">
+<!ENTITY unparsed-entity "解析対象外実体">
+<!ENTITY well-formed "整形式">
+<!ENTITY valid "妥当">
+<!ENTITY validity "妥当性">
+<!ENTITY escape "別扱い">
+<!ENTITY prolog "書き">
+<!ENTITY surrogate-blocks "サロゲートブロック">
+<!ENTITY letter "字">
+<!ENTITY ideographic "統合漢字">
+<!ENTITY markup "マーク付け">
+<!ENTITY left-angle-bracket "不等号(小なり)">
+<!ENTITY right-angle-bracket "不等号(大なり)">
+<!ENTITY string "文字列">
+<!ENTITY char-string "文字列"><!-- string of chararacters,
+ character strings, strings,
+ characters はすべて文字列とする -->
+<!ENTITY replacement-text "置換テキスト">
+<!ENTITY single-quote "一重引用符">
+<!ENTITY double-quote "二重引用符">
+<!ENTITY adaptations-annex "適用附属書">
+<!ENTITY root "ルート">
+<!ENTITY base-character "基底文字">
+<!ENTITY diacritical-mark "発音符"><!--(ダイアクリティカルマーク)を初出のとき補う-->
+<!ENTITY composed-form "合成形式">
+<!ENTITY standalone "スタンドアロン">
+<!ENTITY double-hyphen "二連ハイフン">
+<!--<!ENTITY case-fold "大文字か小文字への統一">-->
+<!-- <!ENTITY case-fold "比較のとき,大文字と小文字の同一視">-->
+<!ENTITY parameter "パラメタ">
+<!ENTITY stream "ストリーム">
+<!ENTITY validating "妥当性を検証する">
+<!ENTITY non-validating "妥当性を検証しない">
+<!ENTITY user "ユーザ">
+<!--<!ENTITY at-user-option "ユーザがオプションを指定したとき">-->
+<!ENTITY at-user-option "ユーザのオプション指定によっては">
+<!ENTITY content-particle "内容素子">
+<!ENTITY processor "プロセサ">
+<!ENTITY default "デフォルト">
+<!ENTITY default-value "デフォルト値">
+<!ENTITY header "ヘッダ">
+<!ENTITY target "ターゲット">
+<!ENTITY mixed-content "混合内容">
+<!ENTITY country-code "国コード">
+<!ENTITY language-code "言語コード">
+<!ENTITY version "版"> <!-- version 1.0は第1.0版 -->
+<!ENTITY match "マッチ">
+<!ENTITY character-value "文字番号">
+<!ENTITY byte-order-mark "バイト順マーク">
+<!ENTITY bypass "処理しない">
+<!ENTITY identifier "識別子">
+<!-- <!ENTITY identify "識別する"> -->
+<!ENTITY identify "特定する">
+<!-- <!ENTITY identified "識別される"> -->
+<!ENTITY identified "特定される">
+<!ENTITY combining-character "結合文字">
+<!ENTITY subset "サブセット">
+<!ENTITY token "トークン">
+<!ENTITY literal "リテラル">
+
+<!ENTITY parenthesis "かっこ">
+<!ENTITY left-parenthesis "開きかっこ">
+<!ENTITY right-parenthesis "閉じかっこ">
+
+<!-- あとで気がついたもの JIS X0221を見る必要あり -->
+
+<!ENTITY extender "エクステンダ">
+<!ENTITY property "プロパティ">
+<!ENTITY property-list "プロパティリスト">
+<!ENTITY property-file "プロパティファイル">
+<!ENTITY font-decomposition "フォント分解">
+<!ENTITY compatibility-decomposition "互換性分解">
+<!ENTITY compatibility-area "互換性領域">
+
+<!ENTITY language-identification "言語識別">
+
+<!ENTITY space-character "スペース文字">
+<!ENTITY space "スペース">
+<!ENTITY code-value "コード値">
+<!ENTITY normative "規定の">
+<!ENTITY hueristics "ヒューリスティック">
+<!ENTITY informative "">
+
+<!ENTITY WebSGML 'ISO 8879へのWebSGML&adaptations-annex;'>
+<!ENTITY XML.version "1.0">
+<!ENTITY doc.date "1997年12月8日">
+<!ENTITY iso6.doc.date "971208">
+<!ENTITY w3c.doc.date "97年12月3日">
+<!ENTITY draft.day '8日'>
+<!ENTITY draft.month '12月'>
+<!ENTITY draft.year '1997年'>
+
+<!-- 日本語訳のための解析対象実体(ここまで) -->
+
+<!-- LAST TOUCHED BY: Tim Bray, 3 Dec 1997 -->
+
+<!-- The words 'FINAL EDIT' in comments mark places where changes
+need to be made after approval of the document by the ERB, before
+publication. -->
+
+<!ENTITY XML.version "1.0">
+<!ENTITY doc.date "8 December 1997">
+<!ENTITY iso6.doc.date "971208">
+<!ENTITY w3c.doc.date "03-Dec-97">
+<!ENTITY draft.day '8'>
+<!ENTITY draft.month 'December'>
+<!ENTITY draft.year '1997'>
+
+<!ENTITY WebSGML
+ 'WebSGML Adaptations Annex to ISO 8879'>
+
+<!ENTITY newline " ">
+<!-- old: <!ENTITY newline "&#8232;"> -->
+<!ENTITY lt "<">
+<!ENTITY gt ">">
+<!--<!ENTITY amp "&"> -->
+<!ENTITY xmlpio "'&lt;?xml'">
+<!ENTITY pic "'?>'">
+<!ENTITY br "\n">
+<!ENTITY cellback '#c0d9c0'>
+<!ENTITY mdash "--"> <!-- was: <!ENTITY mdash "&#38;#151;"> -->
+<!ENTITY com "--">
+<!ENTITY como "--">
+<!ENTITY comc "--">
+<!ENTITY hcro "&amp;#x">
+<!-- <!ENTITY nbsp ""> -->
+<!ENTITY nbsp "&#160;">
+<!ENTITY magicents "<code>amp</code>,
+<code>lt</code>,
+<code>gt</code>,
+<code>apos</code>,
+<code>quot</code>">
+
+<!--日本語訳について: コメントは翻訳対象から外しました。鈴木和夫 -->
+<!-- audience and distribution status: for use at publication time -->
+<!-- -->
+<!ENTITY doc.audience "公開レビュー及び議論">
+<!ENTITY doc.distribution "テキスト及び法律上の注意を改変しない限り,
+自由に配布してもよい">
+
+]>
+
+<!-- for Panorama *-->
+<?VERBATIM "eg" ?>
+
+<spec>
+<header>
+<title>拡張可能な&markup;言語 (XML)</title>
+<version>第1.0&version;</version>
+<w3c-designation>PR-xml-&iso6.doc.date;</w3c-designation>
+<w3c-doctype>World Wide Web Consortium</w3c-doctype>
+<pubdate><day>&draft.day;</day><month>&draft.month;</month><year>&draft.year;</year></pubdate>
+<notice><p>この草案は,XML WG及び他の関係者によるレビューのためのものであって,公開の議論のためのものではない。
+<!-- FINAL EDIT: FIX --></p></notice>
+<publoc>
+<loc href="http://www.w3.org/TR/PR-xml-&iso6.doc.date;">
+http://www.w3.org/TR/PR-xml-&iso6.doc.date;</loc></publoc>
+<prevlocs>
+<loc href='http://www.w3.org/TR/WD-xml-961114'>
+http://www.w3.org/TR/WD-xml-961114</loc>
+<loc href='http://www.w3.org/TR/WD-xml-lang-970331'>
+http://www.w3.org/TR/WD-xml-lang-970331</loc>
+<loc href='http://www.w3.org/TR/WD-xml-lang-970630'>
+http://www.w3.org/TR/WD-xml-lang-970630</loc>
+<loc href='http://www.w3.org/TR/WD-xml-970807'>
+http://www.w3.org/TR/WD-xml-970807</loc>
+<loc href='http://www.w3.org/TR/WD-xml-971117'>
+http://www.w3.org/TR/WD-xml-971117</loc>
+</prevlocs>
+<authlist>
+<author><name>Tim Bray</name>
+<affiliation>Textuality and Netscape</affiliation>
+<email
+href="mailto:tbray@textuality.com">tbray@textuality.com</email></author>
+<author><name>Jean Paoli</name>
+<affiliation>Microsoft</affiliation>
+<email href="mailto:jeanpa@microsoft.com">jeanpa@microsoft.com</email></author>
+<author><name>C. M. Sperberg-McQueen</name>
+<affiliation>University of Illinois at Chicago</affiliation>
+<email href="mailto:cmsmcq@uic.edu">cmsmcq@uic.edu</email></author>
+</authlist>
+<status>
+ <p>この&TR-or-Rec;は, 1997年12月にWorld Wide Web Consortiumから
+公表された勧告案Extensible Markup Language version第1.0版を翻訳し, 技
+術的内容を変更することなく作成した&TR-or-Rec;である。This &eTR-or-Rec;
+is a translation of the XML proposed recommendation 1.0
+published by the World Wide Web Consortium in December 1997. It is
+intended that &eTR-or-Rec; is technically identical to the original.</p>
+
+<p>原文にある、著作権に関しての記述を次に示す。The
+original copyright notice is shown below:</p>
+
+<p>この版のXMLの規定は,公開レビュー及び議論を
+目的とする。テキスト及び法律上の注意を改変しない限り,自由に
+配布してもよい。This version of the XML specification is for
+public review and discussion. It may be distributed freely,
+as long as all text and legal notices remain intact.</p>
+
+<p>この&TR-or-Rec;の元となったXML勧告案は,1998年2月にWorld
+Wide Web Consortiumから公表されたXML勧告によってすでに置き換
+えられている。この標準情報は,XML勧告に従って訂正することを
+予定している。The XML Proposed Recommendation is superseded
+by the XML Recommendation which was published by the World
+Wide Web Consortium in February 1998. It is intended that
+this &eTR-or-Rec; be revised accordingly in the near future.</p>
+
+<p>この&TR-or-Rec;は,安定したものであって,昨年来の<loc
+href='http://www.w3.org/XML'>XML活動</loc>を通じて作成された,一連の作
+業草案を元とする。現在,広範囲に使用されている国際的なテキスト処理の標
+準(標準一般化&markup;言語,Standard Generalized Markup Language, ISO
+8879:1986に追加及び訂正を加えたもの)の,WWW上での使用のために&subset;
+化した言語を,この&TR-or-Rec;は,規定する。ISO 8879のどの機能をこの
+&subset;に残すか,という決定についての詳細は,<loc
+href='http://www.w3.org/XML/#WG-decisions'>別途用意する</loc>。XMLは,
+既にいくつかの商品でサポートされ,XMLをサポートする<loc
+href='http://www.w3.org/XML/#software'>フリーウェア</loc>の数も増えて
+いる。XMLに関する公開の論議も,オンラインで<loc
+href='http://www.w3.org/XML/#discussion'>入手できる</loc>。It is a
+stable document derived from a series of working drafts produced over
+the last year as deliverables of the <loc
+href='http://www.w3.org/XML'>XML activity</loc>. It specifies a
+language created by subsetting an existing, widely used international
+text processing standard (Standard Generalized Markup Language, ISO
+8879:1986 as amended and corrected) for use on the World Wide Web.
+Details of the decisions regarding which features of ISO 8879 to
+retain in the subset <loc
+href='http://www.w3.org/XML/#WG-decisions'>are available
+separately</loc>. XML is already supported by some commercial
+products, and there are a growing number of <loc
+href='http://www.w3.org/XML/#software'>free implementations</loc>.
+Public discussions of XML <loc
+href='http://www.w3.org/XML/#discussion'>are accessible
+online</loc>.</p>
+
+<p>この&TR-or-Rec;では,<bibref ref="Berners-Lee"/>に定義する
+URI(Uniform Resource Identifier)を使用する。URIの制定作業は進行中であっ
+て,<bibref ref="RFC1738"/>及び<bibref ref="RFC1808"/>を更新する予定と
+なっている。この作業がRFCとして受け入れられない場合は,この規程内のURI
+への参照は,URL(Uniform Resource Locator)への参照に代わる。This
+specification uses the term URI, which is defined by <bibref
+ref="Berners-Lee"/>, a work in progress expected to update <bibref
+ref="RFC1738"/> and <bibref ref="RFC1808"/>. Should the work not be
+accepted as an RFC, the references to uniform resource identifiers
+(URIs) in this specification will become references to uniform
+resource locators (URLs).</p>
+
+ <p>XMLの仕様に準拠しているかどうかの基準となるはW3Cのサイトにあ
+る原文である。The normative version of the specification is
+the English version found at the W3C site.</p>
+
+ <p>この標準情報は原仕様と技術的に同一であることを意図しているが、
+翻訳上の誤りはあり得る。Although this technical report is
+intended to be technically identical to the original, it may
+contain errors from the translation.</p>
+
+ <p>備考: 原規定との規定箇所の対応関係を明らかにするため、この
+&TR-or-Rec;の節構成及び節番号は、原規定のそれらをできるだけ保存してい
+る。この&TR-or-Rec;のWeb版は、原規定のHTMLタグをそのまま保存している。
+</p>
+</status>
+<!-- out of date
+<statusp>This is a W3C Working Draft for review by W3C members and other
+interested parties. It is a draft document and may be updated,
+replaced, or obsoleted by other documents at any time. It is
+inappropriate to use W3C Working Drafts as reference material or to
+cite them as other than "work in progress". A list of current W3C
+working drafts can be found at
+<loc href="http://www.w3.org/TR">http://www.w3.org/TR</loc>.</statusp>
+<statusp><emph>Note:</emph> Since working drafts are subject to frequent
+change, you are advised to reference the above URL, rather than the
+URLs for working drafts themselves.</statusp>
+<statusp>This work is part of the W3C SGML Activity (for current
+status, see <loc href="http://www.w3.org/MarkUp/SGML/Activity"
+>http://www.w3.org/MarkUp/SGML/Activity</loc>).</statusp>
+<p>The current
+draft of this specification
+presupposes the successful completion of the current
+work on the &WebSGML;, being prepared by ISO/IEC JTC1
+at the time this draft specification was drafted.
+If it is not
+adopted in the expected form, some clauses of this specification
+may change, and some
+recommendations now labeled "<termref def="dt-interop">for
+interoperability</termref>" will become requirements labeled
+"<termref def="dt-compat">for compatibility</termref>".
+</p>
+<p>The current draft of this specification uses the term
+URI, which is defined by
+<bibref ref="Berners-Lee"/>,
+which is work in progress expected to update
+<bibref ref="RFC1738"/> and <bibref ref="RFC1808"/>.
+Should the work in this draft not be accepted as an RFC, the
+references to uniform resource identifiers (URIs) in this
+specification will become references to uniform resource
+locators (URLs).</p>
+</status> -->
+<abstract>
+<p>拡張可能な&markup;言語(XML)はSGMLの簡単な方言であって,この&TR-or-Rec;で,そのすべてを規定する。XMLの目標は,現在のHTMLと同様に,一般性のあるSGMLをウェブ上で配布,受信及び処理できることとする。XMLは実装が容易であって,SGML及びHTMLのどちらに対しても相互運用性を保つ設計がなされている。</p>
+</abstract>
+<pubstmt>
+<p>Chicago, Vancouver, Mountain View, et al.:
+World-Wide Web Consortium, XML作業グループ, 1996, 1997.</p>
+</pubstmt>
+<sourcedesc>
+<p>Created in electronic form.</p>
+</sourcedesc>
+<langusage>
+<language id='EN'>English</language>
+<language id='ebnf'>Extended Backus-Naur Form (formal grammar)</language>
+</langusage>
+<revisiondesc>
+<slist>
+<sitem>1997-12-03 : CMSMcQ : yet further changes</sitem>
+<sitem>1997-12-02 : TB : further changes (see TB to XML WG,
+2 December 1997)</sitem>
+<sitem>1997-12-02 : CMSMcQ : deal with as many corrections and
+comments from the proofreaders as possible:
+entify hard-coded document date in pubdate element,
+change expansion of entity WebSGML,
+update status description as per Dan Connolly (am not sure
+about refernece to Berners-Lee et al.),
+add 'The' to abstract as per WG decision,
+move Relationship to Existing Standards to back matter and
+combine with References,
+re-order back matter so normative appendices come first,
+re-tag back matter so informative appendices are tagged informdiv1,
+remove XXX XXX from list of 'normative' specs in prose,
+move some references from Other References to Normative References,
+add RFC 1738, 1808, and 2141 to Other References (they are not
+normative since we do not require the processor to enforce any
+rules based on them),
+add reference to 'Fielding draft' (Berners-Lee et al.),
+move notation section to end of body,
+drop URIchar non-terminal and use SkipLit instead,
+lose stray reference to defunct nonterminal 'markupdecls',
+move reference to Aho et al. into appendix (Tim's right),
+add prose note saying that hash marks and fragment identifiers are
+NOT part of the URI formally speaking, and are NOT legal in
+system identifiers (processor 'may' signal an error).
+Work through:
+Tim Bray reacting to James Clark,
+Tim Bray on his own,
+Eve Maler,
+
+NOT DONE YET:
+change binary / text to unparsed / parsed.
+handle James's suggestion about &lt; in attriubte values
+uppercase hex characters,
+namechar list,
+</sitem>
+<sitem>1997-12-01 : JB : add some column-width parameters</sitem>
+<sitem>1997-12-01 : CMSMcQ : begin round of changes to incorporate
+recent WG decisions and other corrections:
+binding sources of character encoding info (27 Aug / 3 Sept),
+correct wording of Faust quotation (restore dropped line),
+drop SDD from EncodingDecl,
+change text at version number 1.0,
+drop misleading (wrong!) sentence about ignorables and extenders,
+modify definition of PCData to make bar on msc grammatical,
+change grammar's handling of internal subset (drop non-terminal markupdecls),
+change definition of includeSect to allow conditional sections,
+add integral-declaration constraint on internal subset,
+drop misleading / dangerous sentence about relationship of
+entities with system storage objects,
+change table body tag to htbody as per EM change to DTD,
+add rule about space normalization in public identifiers,
+add description of how to generate our name-space rules from
+Unicode character database (needs further work!).
+</sitem>
+<sitem>1997-10-08 : TB : Removed %-constructs again, new rules
+for PE appearance.</sitem>
+<sitem>1997-10-01 : TB : Case-sensitive markup; cleaned up
+element-type defs, lotsa little edits for style</sitem>
+<sitem>1997-09-25 : TB : Change to elm's new DTD, with
+substantial detail cleanup as a side-effect</sitem>
+<sitem>1997-07-24 : CMSMcQ : correct error (lost *) in definition
+of ignoreSectContents (thanks to Makoto Murata)</sitem>
+<sitem>Allow all empty elements to have end-tags, consistent with
+SGML TC (as per JJC).</sitem>
+<sitem>1997-07-23 : CMSMcQ : pre-emptive strike on pending corrections:
+introduce the term 'empty-element tag', note that all empty elements
+may use it, and elements declared EMPTY must use it.
+Add WFC requiring encoding decl to come first in an entity.
+Redefine notations to point to PIs as well as binary entities.
+Change autodetection table by removing bytes 3 and 4 from
+examples with Byte Order Mark.
+Add content model as a term and clarify that it applies to both
+mixed and element content.
+</sitem>
+<sitem>1997-06-30 : CMSMcQ : change date, some cosmetic changes,
+changes to productions for choice, seq, Mixed, NotationType,
+Enumeration. Follow James Clark's suggestion and prohibit
+conditional sections in internal subset. TO DO: simplify
+production for ignored sections as a result, since we don't
+need to worry about parsers which don't expand PErefs finding
+a conditional section.</sitem>
+<sitem>1997-06-29 : TB : various edits</sitem>
+<sitem>1997-06-29 : CMSMcQ : further changes:
+Suppress old FINAL EDIT comments and some dead material.
+Revise occurrences of % in grammar to exploit Henry Thompson's pun,
+especially markupdecl and attdef.
+Remove RMD requirement relating to element content (?).
+</sitem>
+<sitem>1997-06-28 : CMSMcQ : Various changes for 1 July draft:
+Add text for draconian error handling (introduce
+the term Fatal Error).
+RE deleta est (changing wording from
+original announcement to restrict the requirement to validating
+parsers).
+Tag definition of validating processor and link to it.
+Add colon as name character.
+Change def of %operator.
+Change standard definitions of lt, gt, amp.
+Strip leading zeros from #x00nn forms.</sitem>
+<sitem>1997-04-02 : CMSMcQ : final corrections of editorial errors
+found in last night's proofreading. Reverse course once more on
+well-formed: Webster's Second hyphenates it, and that's enough
+for me.</sitem>
+<sitem>1997-04-01 : CMSMcQ : corrections from JJC, EM, HT, and self</sitem>
+<sitem>1997-03-31 : Tim Bray : many changes</sitem>
+<sitem>1997-03-29 : CMSMcQ : some Henry Thompson (on entity handling),
+some Charles Goldfarb, some ERB decisions (PE handling in miscellaneous
+declarations. Changed Ident element to accept def attribute.
+Allow normalization of Unicode characters. move def of systemliteral
+into section on literals.</sitem>
+<sitem>1997-03-28 : CMSMcQ : make as many corrections as possible, from
+Terry Allen, Norbert Mikula, James Clark, Jon Bosak, Henry Thompson,
+Paul Grosso, and self. Among other things: give in on "well formed"
+(Terry is right), tentatively rename QuotedCData as AttValue
+and Literal as EntityValue to be more informative, since attribute
+values are the <emph>only</emph> place QuotedCData was used, and
+vice versa for entity text and Literal. (I'd call it Entity Text,
+but 8879 uses that name for both internal and external entities.)</sitem>
+<sitem>1997-03-26 : CMSMcQ : resynch the two forks of this draft, reapply
+my changes dated 03-20 and 03-21. Normalize old 'may not' to 'must not'
+except in the one case where it meant 'may or may not'.</sitem>
+<sitem>1997-03-21 : TB : massive changes on plane flight from Chicago
+to Vancouver</sitem>
+<sitem>1997-03-21 : CMSMcQ : correct as many reported errors as possible.
+</sitem>
+<sitem>1997-03-20 : CMSMcQ : correct typos listed in CMSMcQ hand copy of spec.</sitem>
+<sitem>1997-03-20 : CMSMcQ : cosmetic changes preparatory to revision for
+WWW conference April 1997: restore some of the internal entity
+references (e.g. to docdate, etc.), change character xA0 to &amp;nbsp;
+and define nbsp as &amp;#160;, and refill a lot of paragraphs for
+legibility.</sitem>
+<sitem>1996-11-12 : CMSMcQ : revise using Tim's edits:
+Add list type of NUMBERED and change most lists either to
+BULLETS or to NUMBERED.
+Suppress QuotedNames, Names (not used).
+Correct trivial-grammar doc type decl.
+Rename 'marked section' as 'CDATA section' passim.
+Also edits from James Clark:
+Define the set of characters from which [^abc] subtracts.
+Charref should use just [0-9] not Digit.
+Location info needs cleaner treatment: remove? (ERB
+question).
+One example of a PI has wrong pic.
+Clarify discussion of encoding names.
+Encoding failure should lead to unspecified results; don't
+prescribe error recovery.
+Don't require exposure of entity boundaries.
+Ignore white space in element content.
+Reserve entity names of the form u-NNNN.
+Clarify relative URLs.
+And some of my own:
+Correct productions for content model: model cannot
+consist of a name, so "elements ::= cp" is no good.
+</sitem>
+<sitem>1996-11-11 : CMSMcQ : revise for style.
+Add new rhs to entity declaration, for parameter entities.</sitem>
+<sitem>1996-11-10 : CMSMcQ : revise for style.
+Fix / complete section on names, characters.
+Add sections on parameter entities, conditional sections.
+Still to do: Add compatibility note on deterministic content models.
+Finish stylistic revision.</sitem>
+<sitem>1996-10-31 : TB : Add Entity Handling section</sitem>
+<sitem>1996-10-30 : TB : Clean up term &amp; termdef. Slip in
+ERB decision re EMPTY.</sitem>
+<sitem>1996-10-28 : TB : Change DTD. Implement some of Michael's
+suggestions. Change comments back to //. Introduce language for
+XML namespace reservation. Add section on white-space handling.
+Lots more cleanup.</sitem>
+<sitem>1996-10-24 : CMSMcQ : quick tweaks, implement some ERB
+decisions. Characters are not integers. Comments are /* */ not //.
+Add bibliographic refs to 10646, HyTime, Unicode.
+Rename old Cdata as MsData since it's <emph>only</emph> seen
+in marked sections. Call them attribute-value pairs not
+name-value pairs, except once. Internal subset is optional, needs
+'?'. Implied attributes should be signaled to the app, not
+have values supplied by processor.</sitem>
+<sitem>1996-10-16 : TB : track down &amp; excise all DSD references;
+introduce some EBNF for entity declarations.</sitem>
+<sitem>1996-10-?? : TB : consistency check, fix up scraps so
+they all parse, get formatter working, correct a few productions.</sitem>
+<sitem>1996-10-10/11 : CMSMcQ : various maintenance, stylistic, and
+organizational changes:
+Replace a few literals with xmlpio and
+pic entities, to make them consistent and ensure we can change pic
+reliably when the ERB votes.
+Drop paragraph on recognizers from notation section.
+Add match, exact match to terminology.
+Move old 2.2 XML Processors and Apps into intro.
+Mention comments, PIs, and marked sections in discussion of
+delimiter escaping.
+Streamline discussion of doctype decl syntax.
+Drop old section of 'PI syntax' for doctype decl, and add
+section on partial-DTD summary PIs to end of Logical Structures
+section.
+Revise DSD syntax section to use Tim's subset-in-a-PI
+mechanism.</sitem>
+<sitem>1996-10-10 : TB : eliminate name recognizers (and more?)</sitem>
+<sitem>1996-10-09 : CMSMcQ : revise for style, consistency through 2.3
+(Characters)</sitem>
+<sitem>1996-10-09 : CMSMcQ : re-unite everything for convenience,
+at least temporarily, and revise quickly</sitem>
+<sitem>1996-10-08 : TB : first major homogenization pass</sitem>
+<sitem>1996-10-08 : TB : turn "current" attribute on div type into
+CDATA</sitem>
+<sitem>1996-10-02 : TB : remould into skeleton + entities</sitem>
+<sitem>1996-09-30 : CMSMcQ : add a few more sections prior to exchange
+ with Tim.</sitem>
+<sitem>1996-09-20 : CMSMcQ : finish transcribing notes.</sitem>
+<sitem>1996-09-19 : CMSMcQ : begin transcribing notes for draft.</sitem>
+<sitem>1996-09-13 : CMSMcQ : made outline from notes of 09-06,
+do some housekeeping</sitem>
+</slist>
+</revisiondesc>
+</header>
+<body>
+<div1 id='sec-intro'>
+<head>一般事項</head>
+<!-- <div2 id='sec-scope'>
+ <head>適用範囲</head> -->
+<p>拡張可能な&markup;言語XML(eXtensible Markup Language)は,<termref def="dt-xml-doc">XML文書</termref>というデータオブジェクトのクラスを規定し,XML文書を処理するプログラムの動作の一部を規定する。XMLは,SGML(標準一般化&markup;言語,Standard Generalized Markup Language)<bibref ref='ISO8879'/>の制限した&subset;とする。構造上,XML文書は,かならずSGML規格に適合する。</p>
+<p>XML文書は,<termref def="dt-entity">実体</termref>という記憶単位からなり,実体は,&parsed-data;又は&unparsed-data;からなる。&parsed-data;は,<termref def="dt-character">文字</termref>からなり,その一部は,文書の<termref def="dt-chardata">文字データ</termref>を構成し,一部は,<termref def="dt-markup">&markup;</termref>を構成する。&markup;は,文書の記憶レイアウト及び論理構造についての記述を表す符号とする。XMLは,記憶レイアウト及び論理構造についての制約条件を記述する機構を提供する。</p>
+<p><termdef id="dt-xml-proc" term="XML&processor;"><term>XML&processor;</term>というソフトウェアモジュールは,XML文書を読み込み,その内容及び構造へのアクセスを提供するために用いる。 </termdef> <termdef id="dt-app" term="&application;">XML&processor;は,他のモジュールのために動作することを前提とし,そのモジュールを<term>&application;</term>という。</termdef>この&TR-or-Rec;は,XML&processor;が行わなければならない振舞いを規定する。つまり,XMLデータの読込み方法を規定し,&application;に提供する情報を規定する。</p>
+<!-- </div2> -->
+<div2 id='sec-origin-goals'>
+<head>経緯及び目標</head>
+<p>1996年にWorld Wide Web Consortium(W3C)の中に設立したXML作業グループ(以前は, SGML編集レビュー委員会と呼ばれた)が,XMLを開発した。この作業グループの議長を,Sun MicrosystemsのJon Bosakが勤める。W3Cが組織し,以前はSGML作業グループと呼ばれたXML SIG(Special Interest Group)も,XMLの制定に非常に活発に参画した。
+<!--JISでは? XML作業グループのメンバを付録に示す。-->Dan Connollyは,作業グループのW3Cにおける連絡係を務めた。</p>
+<p>XMLの設計目標を,次に示す。<ulist>
+<item><p>a) XMLは,Internet上でそのまま使用できる。</p></item>
+<item><p>b) XMLは,広範囲の&application;を支援する。</p></item>
+<item><p>c) XMLは,SGMLと互換性をもつ。</p></item>
+<item><p>d) XML文書を処理するプログラムを書くことは,容易でなければならない。</p></item>
+<item><p>e) XMLでは,オプションの機能はできるだけ少なくし,一つも存在しないことを目指す。</p></item>
+<item><p>f) XML文書は,人間にとって読みやすく,十分に理解しやすい。</p></item>
+<item><p>g) XMLの設計は,すみやかに行えなければならない。</p></item>
+<item><p>h) XMLの設計は,厳密及び簡潔でなければならない。</p></item>
+<item><p>i) XML文書は,容易に作成できる。</p></item>
+<item><p>j) XMLでは,&markup;の数を減らすことは,重要ではない。</p></item></ulist>
+</p>
+<p>XML第&XML.version;&version;を理解し,それを処理する計算機プログラムを書くために十分な情報は,この&TR-or-Rec;及び関連する規格(文字用として,Unicode及びISO/IEC 10646,<!--* XXX for Uniform Resource Identifiers, *-->&language-identification;タグ用として,インタネット RFC 1766,&language-code;用として,ISO 639,並びに&country-code;用として,ISO 3166)で,すべて示す。</p>
+<p>この&version;のXMLの規定<!-- (&doc.date;) -->は,公開レビュー及び議論を目的とする。テキスト及び法律上の注意を改変しない限り,自由に配布してもよい。</p>
+</div2>
+<div2 id='sec-terminology'>
+<head>定義</head>
+<p>XML文書の規定のために使用する用語は,この&TR-or-Rec;内で定義する。次に示す語句は,それらの用語を定義するため,及びXML&processor;の動きを規定するために使用する。
+<glist>
+<gitem>
+<label>1.2.1 してもよい(may)</label>
+<def><p><termdef id="dt-may" term="してもよい">適合する文書又はXML&processor;は,記述されたとおりに動作してもよいが,そのとおりにする必要はない。</termdef></p></def>
+</gitem>
+<gitem>
+<label>1.2.2 しなければならない(must)</label>
+<def><p>適合する文書又はXML&processor;は,記述されたとおりに動作することが要求される。そうでなければ,&error;とする。<!-- do NOT change this! this is what defines a violation ofa 'must' clause as 'an error'. -MSM -->
+</p></def>
+</gitem>
+<gitem>
+<label>1.2.3 &error;(error)</label>
+<def><p><termdef id="dt-error" term="&error;">この&TR-or-Rec;が定める規則に対する違反。結果は定義しない。適合するソフトウェアは,&error;を検出して報告してもよく,&error;から回復してもよい。</termdef></p></def>
+</gitem>
+<gitem>
+<label>1.2.4 &fatal-error;(fatal error)</label>
+<def><p><termdef id="dt-fatal" term="&fatal-error;">適合する<termref def="dt-xml-proc">XML&processor;</termref>が検出しなければならず,&application;に報告しなければならない&error;。&fatal-error;を発見したあと,&processor;は,それ以降の&error;を探すためにデータ処理を続行してもよく,&error;を発見した場合は,その&error;を&application;に報告してもよい。&error;訂正をサポートするために,&processor;は,未処理データ(文字データ及び&markup;の混在したもの)を文書から取り出し,&application;に渡してもよい。しかし,一度,&fatal-error;を検出したら,&processor;は,通常の処理を続行してはならない。つまり,&processor;は,文字データ及び文書の論理構造についての情報を,通常の方法で&application;に渡し続けてはならない。</termdef></p></def>
+</gitem>
+<gitem>
+<label>1.2.5 &at-user-option;(at user option)</label>
+<def><p>適合するソフトウエアは,記述されたとおりに振る舞ってもよい(may),又は振る舞わなくてはならない(must)(文章中の助動詞による。)。そのとおりに振る舞う場合は,記述された振舞いを選択又は拒否する手段を&user;に提供しなければならない。</p></def>
+</gitem>
+<gitem>
+<label>1.2.6 &validity;制約(validity constraint)</label>
+<def><p>すべての<termref def="dt-valid">&valid;な</termref>XML文書に適用する規則。&validity;制約の違反は,&error;とする。&at-user-option;,<termref def="dt-validating">検証を行うXML&processor;</termref>は,この&error;を報告しなければならない。</p></def>
+</gitem>
+<gitem>
+<label>1.2.7 &well-formed;制約(well-formedness constraint)</label>
+<def><p>すべての<termref def="dt-wellformed">&well-formed;</termref>のXML文書に適用する規則。&well-formed;制約の違反は,<termref def="dt-fatal">&fatal-error;</termref>とする。</p></def>
+</gitem>
+<gitem>
+<label>1.2.8 &match;(match)</label>
+<def><p>a) <termdef id="dt-match" term="&match;">&string;又は名前の&match; 比較する二つの&string;又は名前は,同一でなければならない。ISO/IEC 10646において,複数の表現が可能な文字[例えば,&composed-form;及び基底+&diacritical-mark;(ダイアクリティカルマーク)形式]は,どちらの&string;も同じ表現のときに限り,&match;する。&at-user-option;,&processor;は,その文字を標準形に正規化してもよい。比較のとき、大文字と小文字との区別をする。<!-- Note that no processing of characters with respect to case is part of the matching process. -->&lt;BR>b) &string;と文法中の規則との&match; ある生成規則から生成する言語に,ある&string;が属するとき,この&string;は,この生成規則に&match;するという。&lt;BR>c) 内容と内容モデルとの&match; ある要素が,<titleref href='elementvalid'>要素の&validity;</titleref>の制約に示す意味で適合するとき,この要素は,その宣言に&match;するという。</termdef></p></def>
+</gitem>
+<gitem>
+<label>1.2.9 互換性のため(for compatibility)</label>
+<def><p><termdef id="dt-compat" term="互換性のため">XMLの機能であって,XMLがSGMLと互換であることを保証するためだけに導入されるもの。</termdef></p></def>
+</gitem>
+<gitem>
+<label>1.2.10 相互運用性のため(for interoperability)</label>
+<def><p><termdef id="dt-interop" term="相互運用性のため">拘束力はもたない推奨事項。&WebSGML;以前から存在するSGML&processor;が,XML文書を処理できる可能性を高めるために取り入れるもの。</termdef></p></def>
+</gitem>
+</glist>
+</p>
+</div2>
+</div1>
+<!-- &Docs; -->
+<div1 id='sec-documents'>
+<head>文書</head>
+<p><termdef id="dt-xml-doc" term="XML文書">
+<!-- A textual object -->
+この&TR-or-Rec;で定義する意味で,<termref def="dt-wellformed">&well-formed;</termref>とするデータオブジェクトを,<term>XML文書</term>という。&well-formed;のXML文書が,さらに,ある制約条件を満足すれば,<termref def="dt-valid">&valid;</termref>なXML文書とする。
+</termdef></p>
+
+<!-- why this div? -TB
+<div2 id='sec-log-phys'>
+<head>Logical and Physical Structure</head> -->
+
+<p>いずれのXML文書も,論理構造及び物理構造をもつ。物理的には,文書は,<termref def="dt-entity">実体</termref>と呼ぶ単位からなる。ある実体は,文書内に他の実体を含むために,その他の実体を<termref def="dt-entref">参照</termref>してもよい。文書は,“ルート”すなわち<termref def="dt-docent">文書実体</termref>から始まる。論理的には,文書は,宣言,要素,コメント,文字参照及び処理命令を含み,これらすべては,文書内で明示的な&markup;によって示す。論理構造及び物理構造は,<titleref href="wf-entities">以降</titleref>に示すとおりに,厳密に入れ子になっていなければならない。</p>
+
+<!--
+</div2> -->
+
+<div2 id='sec-well-formed'>
+<head>&well-formed;のXML文書</head>
+<p><termdef id="dt-wellformed" term="&well-formed;">あるテキストオブジェクトが,次のいずれかのとき,そのテキストオブジェクトを&well-formed;のXML文書と呼ぶ。</termdef>
+<ulist>
+<item><p>a) 全体として,<nt def='NT-document'>document</nt>というラベルをもつ生成規則に&match;する。</p></item>
+<item><p>b) この&TR-or-Rec;で定義する,すべての&well-formed;制約に従う。</p>
+</item>
+<item><p>c) それぞれの<termref def='dt-parsedent'>&parsed-entity;</termref>が,<titleref href='wf-entities'>&well-formed;</titleref>となる。</p></item>
+</ulist></p>
+<p>
+<scrap lang='ebnf' id='document'>
+<head>文書</head>
+<prod id='NT-document'><lhs>document</lhs>
+<rhs><nt def='NT-prolog'>prolog</nt>
+<nt def='NT-element'>element</nt>
+<nt def='NT-Misc'>Misc</nt>*</rhs></prod>
+</scrap>
+</p>
+<p><nt def="NT-document">document</nt>生成規則に&match;するとは,次を意味する。
+<ulist>
+<item><p>a) 一つ以上の<termref def="dt-element">要素</termref>を含む。</p>
+</item>
+
+<!--* N.B. some readers (notably JC) find the following
+paragraph awkward and redundant. I agree it's logically redundant:
+it *says* it is summarizing the logical implications of
+matching the grammar, and that means by definition it's
+logically redundant. I don't think it's rhetorically
+redundant or unnecessary, though, so I'm keeping it. It
+could however use some recasting when the editors are feeling
+stronger. -MSM *-->
+
+<item><p>b) <termdef id="dt-root" term="ルート要素"><term>ルート</term>又は文書要素という要素が一つだけ存在し,これは,他の要素の<termref def="dt-content">内容</termref>に含まれない。</termdef>これ以外のすべての要素は,その開始タグが他の要素の内容に含まれれば,対応する終了タグも同じ要素の内容に含まれる。つまり,要素は,開始タグ及び終了タグによって区切られ,入れ子構造をなす。
+</p></item>
+</ulist>
+</p>
+<p><termdef id="dt-parentchild" term="親要素/子要素">これらの結果として,文書内のどの非ルート要素<code>C</code>に対しても,ある他の要素<code>P</code>が存在し,<code>C</code>は,<code>P</code>の内容に含まれるが,<code>P</code>の内容に含まれる他の要素に含まれることはない。このとき,<code>P</code>を<code>C</code>の<code>親</code>といい,<code>C</code>を<code>P</code>の<code>子</code>という。</termdef></p>
+</div2>
+<div2 id="charsets">
+<head>文字</head>
+<p>
+
+<!--The data stored in an XML <termref def="dt-entity">entity</termref> is
+either <termref def="dt-text">parsed</termref> or <termref
+def="dt-unparsed">unparsed</termref>. -->
+
+<termdef id="dt-text" term="テキスト">&parsed-entity;は,<term>テキスト</term>(<termref def="dt-character">文字</termref>の並びであって,&markup;又は文字データを表してもよい。)を含む。</termdef><termdef id="dt-character" term="文字"><term>文字</term>は,テキストの最小単位であって,ISO/IEC 10646<bibref ref="ISO10646"/>に規定される。<!--Users may extend the ISO/IEC 10646 character repertoire by exploiting the private use areas. -->許容する文字は,タブ,改行,復帰並びにUnicode及びISO/IEC 10646が許容する図形文字とする。</termdef>
+<scrap lang="ebnf" id="char32">
+<head>文字の範囲</head>
+<prodgroup pcw2="4" pcw4="17.5" pcw5="11">
+<prod id="NT-Char"><lhs>Char</lhs>
+<rhs>#x9 | #xA | #xD | [#x20-#D7FF] | [#xE000-#xFFFD]
+| [#x10000-#x10FFFF]</rhs>
+<com>任意のUnicode文字。ただし,&surrogate-blocks;,FFFE及びFFFFは除く。</com>
+</prod>
+</prodgroup>
+</scrap>
+</p>
+<p>&character-value;をビットパタンに符号化する機構は,実体ごとに違ってもよい。すべてのXML&processor;は,ISO/IEC 10646のUTF-8符号化及びUTF-16符号化を受け付けなければならない。二つのどちらが用いられているかを明示するための機構,及び他の符号化方法を利用するための機構は,<titleref href='charencoding'>文字の符号化</titleref>に記述する。</p>
+<p>どの符号化方法を用いるかに関係なく,ISO/IEC 10646の文字集合にあるすべての文字は,そのUCS-4&code-value;<!-- bit string. -->と等価な10進数又は16進数によって,参照できる。</p>
+</div2>
+
+<div2 id='sec-common-syn'>
+<head>共通の構文構成子</head>
+
+<p>2.3では,文法内で広く使用するいくつかの記号を定義する。</p>
+<p><nt def="NT-S">S</nt> (空白)は,一つ若しくは複数の&space-character;(#x20),復帰,改行又はタブから成る。
+
+<scrap lang="ebnf" id='white'>
+<head>空白</head>
+<prodgroup pcw2="4" pcw4="17.5" pcw5="11">
+<prod id='NT-S'><lhs>S</lhs>
+<rhs>(#x20 | #x9 | #xD | #xA)+</rhs>
+</prod>
+</prodgroup>
+</scrap></p>
+<p>便宜上,文字を,&letter;,数字又は他の文字に分類する。&letter;は,アルファベット的又は表音的である基本文字(一つ又は複数の&combining-character;が,後に続くこともある。),&ideographic;から成る。
+<!--
+Certain layout and format-control characters defined by ISO/IEC 10646
+should be ignored when recognizing identifiers; these are defined by the
+classes <nt def='NT-Ignorable'>Ignorable</nt> and <nt def='NT-
+Extender'>Extender</nt>.
+-->
+各クラスにおける実際の文字についての完全な定義は,<titleref href='CharClasses'>文字クラス</titleref>に関する付録に規定する。</p>
+<p><termdef id="dt-name" term="Name"><term>Name</term>は,&letter;又はいくつかの区切り文字の一つで始まり,その後に&letter;,数字,ハイフン,下線,コロン又はピリオドが続く(これらを名前文字という。)。</termdef>&string;"<code>xml</code>"又は<code>(('X'|'x') ('M'|'m') ('L'|'l'))</code>に&match;する任意の&string;で始まる名前は,この&TR-or-Rec;の現在の版又は将来の版での標準化のために予約する。
+</p>
+<note>
+<p>XMLの名前の中のコロンは,名前空間での実験のために予約する。コロンの意味は,将来のある時点で標準化するものとし,そのときには,実験的な目的でコロンを使用する文書を更新する必要が生じる可能性がある。XMLで採用する名前空間の機構が,区切り子として実際にコロンを使用するという保証はない。事実上,これは,名前空間の実験の一つとして以外には,XMLの名前の中でコロンを使用しないほうがよいことを意味する。しかし,XML&processor;は,名前文字としてコロンを受け付けることが望ましい。
+</p>
+</note>
+<p>
+<nt def='NT-Nmtoken'>Nmtoken</nt> (名前&token;)は,名前文字で構成する列とする。
+<scrap lang='ebnf'>
+<head>名前及び&token;</head>
+<!--
+<prod id='NT-MiscName'><lhs>MiscName</lhs>
+<rhs></rhs>
+</prod>-->
+<prod id='NT-NameChar'><lhs>NameChar</lhs>
+<rhs><nt def="NT-Letter">Letter</nt>
+| <nt def='NT-Digit'>Digit</nt>
+<!--| <nt def='NT-MiscName'>MiscName</nt>-->
+| '.' | '-' | '_' | ':'
+| <nt def='NT-CombiningChar'>CombiningChar</nt>
+<!-- | <nt def='NT-Ignorable'>Ignorable</nt> -->
+| <nt def='NT-Extender'>Extender</nt></rhs>
+</prod>
+<prod id='NT-Name'><lhs>Name</lhs>
+<rhs>(<nt def='NT-Letter'>Letter</nt> | '_' | ':')
+(<nt def='NT-NameChar'>NameChar</nt>)*</rhs></prod>
+<prod id='NT-Names'><lhs>Names</lhs>
+<rhs><nt def='NT-Name'>Name</nt>
+(<nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>)*</rhs></prod>
+<prod id='NT-Nmtoken'><lhs>Nmtoken</lhs>
+<rhs>(<nt def='NT-NameChar'>NameChar</nt>)+</rhs></prod>
+<prod id='NT-Nmtokens'><lhs>Nmtokens</lhs>
+<rhs><nt def='NT-Nmtoken'>Nmtoken</nt> (<nt def='NT-S'>S</nt> <nt
+def='NT-Nmtoken'>Nmtoken</nt>)*</rhs></prod>
+</scrap>
+</p>
+<p>&literal;データは,引用符で囲まれた&string;とし,その列の区切り子として使用する引用符は含まない。&literal;は,内部実体(<nt def='NT-EntityValue'>EntityValue</nt>),属性値(<nt def='NT-AttValue'>AttValue</nt>),外部&identifier;(<nt def="NT-SystemLiteral">SystemLiteral</nt>)の内容の指定に使用する。目的によっては,&literal;全体を,その中の&markup;の走査を行なわずに,スキップすることがある(<nt def='NT-SkipLit'>SkipLit</nt>。)。
+<scrap lang='ebnf'>
+<head>&literal;</head>
+<!-- is marked section end legal in entity values etc.?
+James says yes. Handbook page 392, sec. 10.4 seems to me to say no.
+If James is right, leave as is. Otherwise, uncomment
+the next comment and ...
+-->
+<!--
+<prod id='NT-EntityValue'><lhs>EntityValue</lhs>
+<rhs>' " '
+(([^%&amp;"]
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-Reference'>Reference</nt>)*
+- (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-char'>Char</nt>*))
+' " '
+</rhs>
+<rhs>|&nbsp;
+" ' "
+(([^%&amp;']
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-Reference'>Reference</nt>)*
+- (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-char'>Char</nt>*))
+" ' "</rhs>
+</prod>
+<prod id='NT-AttValue'><lhs>AttValue</lhs>
+<rhs>'"'
+(([^&lt;&amp;"]
+| <nt def='NT-Reference'>Reference</nt>)*
+- (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-char'>Char</nt>*))
+' " '
+</rhs>
+<rhs>|&nbsp;
+" ' "
+(([^&lt;&amp;']
+| <nt def='NT-Reference'>Reference</nt>)*
+- (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-char'>Char</nt>*))
+" ' "</rhs>
+<wfc def="CleanAttrVals"/>
+</prod>
+-->
+<!-- ... and comment out the following, down to ... -->
+<prod id='NT-EntityValue'><lhs>EntityValue</lhs>
+<rhs>' " '
+([^%&amp;"]
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-Reference'>Reference</nt>)*
+' " '
+</rhs>
+<rhs>|&nbsp;
+" ' "
+([^%&amp;']
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-Reference'>Reference</nt>)*
+" ' "</rhs>
+</prod>
+<prod id='NT-AttValue'><lhs>AttValue</lhs>
+<rhs>' " '
+([^&lt;&amp;"]
+| <nt def='NT-Reference'>Reference</nt>)*
+' " '
+</rhs>
+<rhs>|&nbsp;
+" ' "
+([^&lt;&amp;']
+| <nt def='NT-Reference'>Reference</nt>)*
+" ' "</rhs>
+<!--<wfc def="WF-Attvaldelim"/>-->
+</prod>
+<!-- ... down to here. -->
+<prod id="NT-SystemLiteral"><lhs>SystemLiteral</lhs>
+<rhs><nt def='NT-SkipLit'>SkipLit</nt></rhs>
+</prod>
+<!-- <prod id="NT-URIchar"><lhs>URIchar</lhs>
+<rhs><com>See <loc href="http://www.w3.org/XXX">XXX</loc></com>
+</rhs></prod>
+-->
+<prod id="NT-PubidLiteral"><lhs>PubidLiteral</lhs>
+<rhs>' " ' <nt def='NT-PubidChar'>PubidChar</nt>*
+' " '
+| " ' " (<nt def='NT-PubidChar'>PubidChar</nt> - " ' ")* " ' "</rhs>
+</prod>
+<prod id="NT-PubidChar"><lhs>PubidChar</lhs>
+<rhs>#x20 | #xD | #xA
+|&nbsp;[a-zA-Z0-9]
+|&nbsp;[-'()+,./:=?]</rhs>
+</prod>
+<prod id="NT-SkipLit"><lhs>SkipLit</lhs>
+<rhs>(' " ' [^"]* ' " ')
+|&nbsp;(" ' " [^']* " ' ")</rhs>
+</prod>
+<!-- alternate form, making ms end illegal: -->
+<!--
+<prod id="NT-SkipLit"><lhs>SkipLit</lhs>
+<rhs>(' " ' ([^"]* - ([^"]* ']]&gt;' [^"]*)) ' " ')
+|&nbsp;(" ' " ([^']* - ([^']* ']]&gt;' [^']*)) " ' ")</rhs>
+</prod>
+-->
+</scrap>
+</p>
+<!--
+<wfcnote id="WF-Attvaldelim">
+<head>Delimiters in Attribute Values</head>
+<p>After the expansion of character and entity references,
+an attribute value must not contain a "<code>&lt;</code>"
+or "<code>&amp;</code>" character unless that character was
+introduced by the expansion of a character reference
+or one of the entities &magicents;.</p>
+</wfcnote>-->
+<!--
+This is not quite right: &lt; should be legal, should it not?
+Suppress this WFC until we get it right.
+-->
+<!-- Henry Thompson suggests (in substance, not form: the wording needs
+to be clarified):
+"Cooked Attribute values must not contain &lt; &amp; or the
+quote which closed their uncooked literal,
+unless arising from the expansion of a character reference or
+magic reference
+directly contained in their uncooked literal."
+I'm not sure I agree with this rule, but it's at least coherent,
+which is more than I can say for my attempt.
+-->
+</div2>
+
+<div2 id='syntax'>
+<head>文字データ及び&markup;</head>
+<p><termref def='dt-text'>テキスト</termref>は,<termref def="dt-chardata">文字データ</termref>及び&markup;が混在するものとして構成する。<termdef id="dt-markup" term="Markup"><term>&markup;</term>は,<termref def="dt-stag">開始タグ</termref>,<termref def="dt-etag">終了タグ</termref>,<termref def="dt-empty">空要素</termref>,<termref def="dt-entref">実体参照</termref>,<termref def="dt-charref">文字参照</termref>,<termref def="dt-comment">コメント</termref>,<termref def="dt-cdsection">CDATAセクション</termref> の区切り子,<termref def="dt-doctype">文書型宣言</termref>及び<termref def="dt-pi">処理命令</termref>の形を取る。
+</termdef>
+</p>
+<p><termdef id="dt-chardata" term="Character Data">&markup;ではないすべてのテキストは,文書の<term>文字データ</term>を構成する。</termdef></p>
+<p>アンパサンド文字 (&amp;)及び&left-angle-bracket; (&lt;)は,&markup;の区切り子として,又は<termref def="dt-comment">コメント</termref>,<termref def="dt-pi">処理命令</termref>若しくは<termref def="dt-cdsection">CDATAセクション</termref>内で使用する場合に<emph>だけ</emph>,そのままの形で出現してよい。これらの文字は,内部実体宣言の<termref def='dt-litentval'>&literal;実体値</termref>内に記述してもよい。 詳しくは,<titleref href='wf-entities'>&well-formed;の実体</titleref>に関する規定を参照。<!-- FINAL EDIT: restore internal entity decl or leave it out. -->これらの文字が他の部分で必要な場合,数値による文字参照又は&string;"<code>&amp;amp;</code>"及び&string;"<code>&amp;lt;</code>"を使用し,<termref def="dt-escape">&escape;</termref>しなければならない。&right-angle-bracket; (>) は,&string;"<code>&amp;gt;</code>"を使用して表現してもよい。内容の中で列"<code>]]&gt;</code>"を使用するときは,それが,<termref def="dt-cdsection">CDATAセクション</termref>の終了を&markup;しない限り,<termref def='dt-compat'>互換性のため</termref>,"<code>&amp;gt;</code>"又は文字参照を使用し,&escape;しなければならない。</p>
+
+<p>要素の内容では,文字データは,いかなる&markup;の開始区切り子を含まない任意の&char-string;とする。CDATAセクションでは,文字データとは,CDATAセクションの終了区切り子"<code>]]&gt;</code>"を含まない任意の&char-string;とする。
+</p>
+<p>
+属性値に&single-quote;及び&double-quote;を含むためには,アポストロフィ又は&single-quote;(') は,"<code>&amp;apos;</code>"として表現し,&double-quote;(")は,"<code>&amp;quot;</code>"として表現する。
+<scrap lang="ebnf">
+<head>文字データ</head>
+<prod id='NT-CharData'>
+<lhs>CharData</lhs>
+<rhs>[^&lt;&amp;]* - ([^&lt;&amp;]* ']]&gt;' [^&lt;&amp;]*)</rhs>
+</prod>
+</scrap>
+</p>
+</div2>
+
+<div2 id='sec-comments'>
+<head>コメント</head>
+
+<p><termdef id="dt-comment" term="Comment"><term>コメント</term>は,他の<termref def='dt-markup'>&markup;</termref>の外ならば,文書のどこに現れてもよい。さらに,文書型宣言内で,文法が許す場所に現れてもよい。
+<!-- TB
+except in a <termref def="dt-cdsection">CDATA section</termref>, i.e. within
+<termref def="dt-elemcontent">element content</termref>, in
+<termref def="dt-mixed">mixed content</termref>, or in the prolog. They must
+not occur within declarations or tags. -->
+コメントは,文書の<termref def="dt-chardata">文字データ</termref>の一部ではない。XML&processor;は,&application;がコメントのテキストを取り出すことを可能としてもよいが,そうしなくともよい。
+<termref def="dt-compat">互換性のため</termref>,&string;"<code>--</code>" (&double-hyphen;)は,コメント内で現れてはならない。
+<scrap lang="ebnf">
+<head>コメント</head>
+<prod id='NT-Comment'><lhs>Comment</lhs>
+<rhs>'&lt;!--'
+((<nt def='NT-Char'>Char</nt> - '-')
+| ('-' (<nt def='NT-Char'>Char</nt> - '-')))*
+'-->'</rhs>
+<!--
+<rhs>'&lt;!&como;'
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*))
+'&comc;&gt;'</rhs> -->
+</prod>
+</scrap>
+</termdef></p>
+<p>コメントの例を次に示す。
+<eg>&lt;!&como; declarations for &lt;head> &amp; &lt;body> &comc;&gt;</eg>
+</p>
+</div2>
+
+<div2 id='sec-pi'>
+<head>処理命令</head>
+
+<p><termdef id="dt-pi" term="Processing instruction"><term>処理命令</term>(PI)によって,&application;のための命令を文書に入れることができる。
+
+<scrap lang="ebnf">
+<head>処理命令</head>
+<prod id='NT-PI'><lhs>PI</lhs>
+<rhs>'&lt;?' <nt def='NT-PITarget'>PITarget</nt>
+(<nt def='NT-S'>S</nt>
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*)))?
+&pic;</rhs></prod>
+<prod id='NT-PITarget'><lhs>PITarget</lhs>
+<rhs><nt def='NT-Name'>Name</nt> -
+(('X' | 'x') ('M' | 'm') ('L' | 'l'))</rhs>
+</prod>
+</scrap></termdef>
+PIは,文書の<termref def="dt-chardata">文字データ</termref>の一部ではないが,&application;に渡されなければならない。PIは,命令が渡される&application;を&identify;ために使用する&target; (<nt def='NT-PITarget'>PITarget</nt>) で始まる。&target;名 "<code>XML</code>","<code>xml</code>"などは,この&TR-or-Rec;の現在の版又は将来の版の規格化用に予約する。XMLの<termref def='dt-notation'>記法</termref>機構を,PIの&target;を宣言するために使用してもよい。
+</p>
+</div2>
+
+<div2 id='sec-cdata-sect'>
+<head>CDATAセクション</head>
+
+<p><termdef id="dt-cdsection" term="CDATA Section"><term>CDATAセクション</term>は,文字データが出現するところであれば,どこに出現してもよい。これは,そうでなければ,&markup;として認識する文字を含む,テキストの区画を&escape;するのに使用する。CDATAセクションは,&string;"<code>&lt;![CDATA[</code>"で始まり,&string;
+"<code>]]&gt;</code>"で終わる。
+<scrap lang="ebnf">
+<head>CDATAセクション</head>
+<prod id='NT-CDSect'><lhs>CDSect</lhs>
+<rhs><nt def='NT-CDStart'>CDStart</nt>
+<nt def='NT-CData'>CData</nt>
+<nt def='NT-CDEnd'>CDEnd</nt></rhs></prod>
+<prod id='NT-CDStart'><lhs>CDStart</lhs>
+<rhs>'&lt;![CDATA['</rhs>
+</prod>
+<prod id='NT-CData'><lhs>CData</lhs>
+
+<rhs>(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-Char'>Char</nt>*))
+</rhs>
+</prod>
+<prod id='NT-CDEnd'><lhs>CDEnd</lhs>
+<rhs>']]&gt;'</rhs>
+</prod>
+</scrap>
+
+CDATAセクション内では,列<nt def='NT-CDEnd'>CDEnd</nt>だけを&markup;として認識するので,&left-angle-bracket;及びアンパサンドは,その&literal;形式で出現してよい。それらは,"<code>&amp;lt;</code>"及び"<code>&amp;amp;</code>"を使用して&escape;する必要はない。CDATAセクションは,入れ子にはできない。
+</termdef>
+</p>
+
+<p>"<code>&lt;greeting></code>"及び"<code>&lt;/greeting></code>"を,<termref def='dt-markup'>&markup;</termref>ではなく,<termref def='dt-chardata'>文字データ</termref>として認識するCDATAセクションの例を,次に示す。
+<eg>&lt;![CDATA[&lt;greeting>Hello, world!&lt;/greeting>]]&gt;</eg>
+</p>
+</div2>
+
+<div2 id='sec-prolog-dtd'>
+<head>&prolog;及び文書型宣言</head>
+
+<p><termdef id='dt-xmldecl' term='XML Declaration'>XML文書は,使用するXMLの&version;を指定する<term>XML宣言</term>で始めてもよく,又そうするのが望ましい。
+</termdef>
+</p>
+<p>この&TR-or-Rec;のこの&version;に適合することを示すためには,&version;番号 "<code>1.0</code>" を使用しなければならない。ある文書が,この&TR-or-Rec;のこの&version;に適合しないとき,値"<code>1.0</code>"を使用するのは,&error;とする。この&TR-or-Rec;の今後の&version;に"<code>1.0</code>"以外の値を付与することが,XML作業グループの意図だが,XMLの将来の&version;を作成することの確約を示すわけではなく,作成したとしても,番号付けについて,特定の方法を使用することの確約を示すわけでもない。将来の&version;の可能性を除外しないので,必要な場合,自動的な&version;の認識を可能とする手段として,この構成子を提供する。&processor;は,サポートしていない&version;でラベル付けした文書を受け取ったとき,&error;を通知してもよい。
+</p>
+<p>XML文書内の&markup;の機能は,記憶構造及び論理構造を記述すること,並びに属性及び属性値の対を論理構造に関連づけることにある。XMLは,論理構造についての制約条件を定義するため,及びあらかじめ定義された記憶単位を使用できるための機構として,<termref def="dt-doctype">文書型宣言</termref>を提供する。<!-- old
+The function of the markup in an XML document is to describe its
+storage and logical structures, and associate attribute-value pairs with the
+logical structure.
+XML provides a
+mechanism, the <termref def="dt-doctype">document type declaration</termref>,
+to
+define constraints on that logical structure and to support the use of
+predefined storage units. --><termdef id="dt-valid" term="Validity">XML文書が<term>&valid;</term>とは,文書型宣言をもち,その文書型宣言に示す制約条件を満たすこととする。
+</termdef></p>
+<p>文書型宣言は,文書の最初の<termref def="dt-element">要素</termref>の前に現れなければならない。
+<scrap lang="ebnf" id='xmldoc'>
+<head>&prolog;</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-prolog'><lhs>prolog</lhs>
+<rhs><nt def='NT-XMLDecl'>XMLDecl</nt>?
+<nt def='NT-Misc'>Misc</nt>*
+(<nt def='NT-doctypedecl'>doctypedecl</nt>
+<nt def='NT-Misc'>Misc</nt>*)?</rhs></prod>
+<prod id='NT-XMLDecl'><lhs>XMLDecl</lhs>
+<rhs>&xmlpio;
+<nt def='NT-VersionInfo'>VersionInfo</nt>
+<nt def='NT-EncodingDecl'>EncodingDecl</nt>?
+<nt def='NT-SDDecl'>SDDecl</nt>?
+<nt def="NT-S">S</nt>?
+&pic;</rhs>
+</prod>
+<prod id='NT-VersionInfo'><lhs>VersionInfo</lhs>
+<rhs><nt def="NT-S">S</nt> 'version' <nt def='NT-Eq'>Eq</nt>
+('"<nt def="NT-VersionNum">VersionNum</nt>"'
+| "'<nt def="NT-VersionNum">VersionNum</nt>'")</rhs>
+</prod>
+<prod id='NT-Eq'><lhs>Eq</lhs>
+<rhs><nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?</rhs></prod>
+<prod id="NT-VersionNum">
+<lhs>VersionNum</lhs>
+<rhs>([a-zA-Z0-9_.:] | '-')+</rhs>
+</prod>
+<prod id='NT-Misc'><lhs>Misc</lhs>
+<rhs><nt def='NT-Comment'>Comment</nt> | <nt def='NT-PI'>PI</nt> |
+<nt def='NT-S'>S</nt></rhs></prod>
+</prodgroup>
+</scrap></p>
+
+<p>
+例えば,次に示す完全なXML文書は,<termref def="dt-wellformed">&well-formed;</termref>であるが<termref def="dt-valid">&valid;</termref>ではない。
+<eg><![CDATA[<?xml version="1.0"?>
+<greeting>Hello, world!</greeting>
+]]></eg>
+次の文書も同様とする。
+<eg><![CDATA[<greeting>Hello, world!</greeting>
+]]></eg>
+</p>
+<p><termdef id="dt-doctype" term="Document Type Declaration">
+XMLの<term>文書型宣言</term>は,ある文書クラスのための文法を提供する<termref def='dt-markupdecl'>&markup;宣言</termref>を含むか,又は参照する。この文法を,文書型定義又は<term>DTD</term>という。文書型宣言は,&markup;宣言を含んだ外部&subset;(特別な種類の<termref def='dt-extent'>外部実体</termref>)を参照でき,又は内部&subset;に直接&markup;宣言を含むこともできる。さらに,その両方も可能とする。ある文書のDTDは,両方の&subset;をまとめたものとして構成する。</termdef>
+</p>
+<p><termdef id="dt-markupdecl" term="markup declaration">
+<term>&markup;宣言</term>は,<termref def="dt-eldecl">要素型宣言</termref>, <termref def="dt-attdecl">属性リスト宣言</termref>,<termref def="dt-entdecl">実体宣言</termref>又は<termref def="dt-notdecl">記法宣言</termref>とする。</termdef>次に示す&well-formed;制約及び&validity;制約に規定するが,これらの宣言は,<termref def='dt-PE'>&parameter;実体</termref>内に全体又は一部が含まれてもよい。詳しい規定は,<titleref xml-link="simple" href="sec-physical-struct">物理構造</titleref>に関する規定を参照のこと。</p>
+<scrap lang="ebnf" id='dtd'>
+<head>文書型定義</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-doctypedecl'><lhs>doctypedecl</lhs>
+<rhs>'&lt;!DOCTYPE' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt>
+<nt def='NT-ExternalID'>ExternalID</nt>)?
+<nt def='NT-S'>S</nt>? ('['
+(<nt def='NT-markupdecl'>markupdecl</nt>
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-S'>S</nt>)*
+']'
+<nt def='NT-S'>S</nt>?)? '>'</rhs>
+<vc def="vc-roottype"/>
+<!--<vc def="vc-nonnullDTD"/>-->
+</prod>
+<!--
+<prod id='NT-markupdecls'><lhs>markupdecls</lhs>
+<rhs>
+(<nt def='NT-S'>S</nt>?
+<nt def='NT-markupdecl'>markupdecl</nt>
+<nt def='NT-S'>S</nt>?)*
+</rhs></prod>
+-->
+<prod id='NT-markupdecl'><lhs>markupdecl</lhs>
+<rhs><nt def='NT-elementdecl'>elementdecl</nt>
+| <nt def='NT-AttlistDecl'>AttlistDecl</nt>
+| <nt def='NT-EntityDecl'>EntityDecl</nt>
+| <nt def='NT-NotationDecl'>NotationDecl</nt>
+| <nt def='NT-PI'>PI</nt>
+| <nt def='NT-Comment'>Comment</nt>
+<!--| <nt def='NT-InternalPERef'>InternalPERef</nt> --></rhs>
+<vc def='vc-PEinMarkupDecl'/>
+<wfc def="wfc-PEinInternalSubset"/>
+</prod>
+<!--
+<prod id="NT-InternalPERef"><lhs>InternalPERef</lhs>
+<rhs><nt def="NT-PEReference">PEReference</nt></rhs>
+<wfc def="wfc-integraldec"/>
+</prod>
+-->
+</prodgroup>
+</scrap>
+<vcnote id="vc-roottype">
+<head>&root;要素型</head>
+<p>
+文書型宣言における<nt def='NT-Name'>Name</nt>は,&root;要素の型と&match;しなければならない。
+</p>
+</vcnote>
+<!--
+<vcnote id="vc-nonnullDTD">
+<head>Non-null DTD</head>
+<p>
+The internal and external subsets of the DTD must not both
+be empty.
+</p>
+</vcnote>
+-->
+<vcnote id='vc-PEinMarkupDecl'>
+<head>宣言及び&parameter;実体が厳密に入れ子をなすこと</head>
+<p>&parameter;実体<termref def='dt-repltext'>の&replacement-text;</termref>は,&markup;宣言内において,厳密に入れ子になっていなければならない。つまり,&markup;宣言(<nt def='NT-markupdecl'>markupdecl</nt>)の最初又は最後の文字が,<termref def='dt-PERef'>&parameter;実体参照</termref>の対象となる&replacement-text;に含まれれば,両方とも同じ&replacement-text;に含まれなければならない。</p>
+</vcnote>
+<wfcnote id="wfc-PEinInternalSubset">
+<head>内部&subset;内の&parameter;実体</head>
+<p>DTDの内部&subset;では,<termref def='dt-PERef'>&parameter;実体参照</termref>は,&markup;宣言が出現可能な場所だけに出現できる。&markup;宣言内には出現できない(この制約は,外部&parameter;実体又は外部&subset;での参照には適用しない。)。
+</p>
+</wfcnote>
+<p>
+内部&subset;のときと同様に,外部&subset;及びDTDにおいて参照する任意の外部&parameter;実体は,非終端記号<nt def="NT-markupdecl">markupdecl</nt>によって許される型の,一連の完全な&markup;宣言で構成されなければならない。&markup;宣言の間には,空白又は<termref def="dt-PERef">&parameter;実体参照</termref>を置いてもよい。しかし,外部&subset;又は外部&parameter;実体の内容の一部は,<termref def="dt-cond-section">条件付きセクション</termref>を使用して無視してもよい。内部サブセットでは,これは許されない。
+<!--In the external subset, however, parameter-entity references can
+be used to replace constructs prefixed by "<code>%</code>" in a production of
+the grammar, and <termref def="dt-cond-section">conditional sections</termref>
+may occur.
+In the internal subset, by contrast, conditional sections may not
+occur and the only parameter-entity references
+allowed are those which match the non-terminal
+<nt def="NT-InternalPERef">InternalPERef</nt>
+within the rule for <nt def="NT-doctypedecl">markupdecl</nt>.
+-->
+<scrap id="ext-Subset">
+<head>外部&subset;</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-extSubset'><lhs>extSubset</lhs>
+<rhs>(
+<nt def='NT-markupdecl'>markupdecl</nt>
+| <nt def='NT-conditionalSect'>conditionalSect</nt>
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-S'>S</nt>
+)*</rhs>
+</prod>
+</prodgroup>
+</scrap></p>
+<p>外部&subset;及び外部&parameter;実体は,その内では,&parameter;実体が&markup;宣言の<emph>間</emph>だけでなく,&markup;宣言の<emph>内</emph>でも認識される,という点でも内部&subset;とは異なる。
+</p>
+<p>文書型宣言付きのXML文書の例を,次に示す。
+<eg><![CDATA[<?xml version="1.0"?>
+<!DOCTYPE greeting SYSTEM "hello.dtd">
+<greeting>Hello, world!</greeting>
+]]></eg>
+<termref def="dt-sysid">システム&identifier;</termref> "<code>hello.dtd</code>"が,文書のDTDのURIとなる。</p>
+<p>次の例のとおり,宣言を局所的に与えることもできる。
+<eg><![CDATA[<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE greeting [
+ <!ELEMENT greeting (#PCDATA)>
+]>
+<greeting>Hello, world!</greeting>
+]]></eg>
+外部&subset;及び内部&subset;の両方を使用するときは,内部&subset;が外部&subset;より先に出現したと見なす。<!--* 'is considered to'? boo. whazzat mean? -->これは,内部&subset;の実体及び属性リスト宣言が,外部&subset;の実体及び属性リスト宣言より優先するという効果をもたらす。
+</p>
+</div2>
+
+<div2 id='sec-rmd'>
+<head>&standalone;文書宣言</head>
+<p><termref def="dt-xml-proc">XML&processor;</termref>は,&application;に文書の内容を渡すが,&markup;宣言は,この内容に影響を与えることがある。属性の&default-value;及び実体宣言をその例とする。XML宣言の一部分として出現できる&standalone;文書宣言は,文書が,その&markup;宣言の存在によって影響されないことを指し示す(普通,その&markup;宣言が存在しないために,これがいえる。)。
+<scrap lang="ebnf" id='fulldtd'>
+<head>&standalone;文書宣言</head>
+<prodgroup pcw2="4" pcw4="19.5" pcw5="9">
+<prod id='NT-SDDecl'><lhs>SDDecl</lhs>
+<rhs>
+<nt def="NT-S">S</nt>
+'standalone' <nt def='NT-Eq'>Eq</nt> "'" ('yes' | 'no') "'"
+</rhs>
+<rhs>
+| <nt def="NT-S">S</nt>
+'standalone' <nt def='NT-Eq'>Eq</nt> '"' ('yes' | 'no') '"'
+</rhs><vc def='vc-check-rmd'/></prod>
+</prodgroup>
+</scrap></p>
+<p>&standalone;文書宣言においては, "<code>yes</code>"の値は,<termref def='dt-docent'>文書実体</termref>の外部に(DTDの外部&subset;内に,又は内部&subset;から参照される外部パラメタ実体内に),XML&processor;から&application;へと渡される情報に影響する&markup;宣言が存在しないことを意味する。"<code>no</code>"の値は,その外部&markup;宣言が存在するか,又は存在する可能性があることを意味する。&standalone;文書宣言は,その<emph>宣言</emph>が文書外部に存在するかどうかを示すだけに注意すること。外部実体への参照が文書内に存在していても,その実体が内部的に宣言されているときは,文書の&standalone;の状態には影響を与えない。</p>
+
+<p>外部に&markup;宣言が存在しなければ,&standalone;文書宣言は意味をもたない。外部に&markup;宣言が存在し,&standalone;文書宣言が存在しない場合は,<code>"no"</code> の値の設定を仮定する。</p>
+<p>XML文書で <code>standalone="no"</code> が設定されているものは,あるアルゴリズムで&standalone;文書に変換でき,この文書は,ネットワーク配信&application;にとって望ましいかもしれない。</p>
+<vcnote id='vc-check-rmd'>
+<head>&standalone;文書宣言</head>
+<p>&standalone;文書宣言は,何らかの外部&markup;宣言が次のいずれかを宣言しているときは,値 "<code>no</code>" を取らなければならない。
+<ulist>
+<item><p>a) <termref def="dt-default">&default;</termref>値付きの属性であって,この属性が適用される要素が,属性値を指定せずに文書内に現れるもの。</p></item>
+<item><p>b) &magicents;以外の実体であって,その実体に対する<termref def="dt-entref">参照</termref>が文書内に出現するもの。</p>
+</item>
+<item><p>c) 値が<titleref href='AVNormalize'>正規化</titleref>の対象となる属性であって,正規化の結果として変化する値が文書内で属性に指定されるもの。</p></item>
+<item>
+<p>d) <termref def="dt-elemcontent">要素内容</termref>をもつ要素型であって,空白がその要素型のいずれかのインスタンス内に直接現れるもの。
+</p></item>
+</ulist>
+</p>
+</vcnote>
+<p>&standalone;文書宣言付きのXML宣言の例を,次に示す。
+<eg>&lt;?xml version="&XML.version;" standalone='yes'?></eg></p>
+</div2>
+<div2 id='sec-white-space'>
+<head>空白の取扱い</head>
+<p>XML文書を編集するときは,&markup;を目立たせ読みやすくするために,“空白”(&space;,タブ及び空白行。この&TR-or-Rec;では,非終端記号の<nt def='NT-S'>S</nt>で表す)を使うと便利なことが多い。その空白は,配布する&version;の文書の一部として含めることを意図しないのを普通とする。しかし,“意味のある”空白であって,配布する&version;に残さなければならないものも多い。例えば,詩及びソースコードにおける空白がある。</p>
+<p><termref def='dt-xml-proc'>XML&processor;</termref>は,文書内の&markup;以外のすべての文字を,そのまま変更せずに&application;に渡さなければならない。<termref def='dt-validating'>&validating;XML&processor;</termref>は,<termref def="dt-elemcontent">要素内容</termref>の中の空白を他の非&markup;文字から区別し,&application;側に要素内容の中の空白が重要でないということを伝えなければならない。</p>
+<p>
+"<code>xml:space</code>"という特別な<termref def='dt-attr'>属性</termref>を文書に挿入することによって,空白を重要とする意図を示してもよい。この属性を適用する要素に現れる空白を,アプリケーションが重要なものとして扱うことを要求する,という意図を示す。</p>
+<p>&valid;な文書では,この属性を使用する場合は,他の属性と同じように<termref def="dt-attdecl">宣言</termref>しなければならない。宣言するときは,取り得る値を"<code>default</code>"及び "<code>preserve</code>"だけとする<termref def='dt-enumerated'>列挙型</termref>でなければならない。
+</p>
+<p>値"<code>default</code>"は,&application;の&default;の空白処理モードを,その要素に適用可能とすることを意味する。値"<code>preserve</code>"は,&application;がすべての空白を保存することを意味する。この宣言の意図は,"<code>xml:space</code>" 属性の別の指定で上書きしない限り,要素の内容に現れるすべての要素に適用すると解釈する。</p>
+<p>文書の<termref def='dt-root'>&root;要素</termref>については,この属性の値を指定するか,又はこの属性の&default-value;がある場合を除いては,&application;による空白の取扱いについて,いかなる意図も示さないと解釈する。</p>
+<p>例を次に示す。
+<eg><![CDATA[ <!ATTLIST poem xml:space (default|preserve) 'preserve'>]]></eg>
+</p>
+</div2>
+<div2 id='sec-line-ends'>
+<head>行末の取扱い</head>
+<p>XMLの<termref def='dt-parsedent'>構文&parsed-entity;</termref>は,通常コンピュータのファイル内に保存され,編集の便宜のために複数の行に分けることが多い。これらの行は,普通は,<code>CR</code> (#xD)コード及び <code>LF</code> (#xA)コードの何らかの組合せによって分けられる。</p>
+<p><termref def='dt-app'>&application;</termref>の処理を簡単にするため,外部&parsed-entity;又は内部&parsed-entity;の&literal;実体値が,"<code>#xD#xA</code>" の2文字の連続とする&literal;又は<code>#xD</code>の単独の&literal;を含む場合に,<termref def='dt-xml-proc'>XML&processor;</termref>は,&application;に単一の文字<code>#xA</code>だけを渡さなければならない(この処理は,入力内に存在する改行コードを構文解析の前に正規化することによって,容易に実現できる。)。</p>
+</div2>
+<div2 id='sec-lang-tag'>
+<head>&language-identification;</head>
+<p>文書処理においては,その文書の中身がどんな自然言語又は形式言語で書かれているか明示することが,役に立つことが多い。<!--ここで使用する“言語”という言葉の意味は,"Espa&#x00F1;ol" 及び"EBNF"の双方で例示される意味とする。--><!-- x00F1: spanish's small ntilde--></p>
+<!--; この情報は(例をあげれば)文書の文字の表示,並びに情報抽出のための語幹・形態素解析及びテキストブロックの整形に影響を及ぼす可能性がある。-->
+<p>XML文書内の要素のもつ内容又は属性値において使用する<!--自然又は形式-->言語を指定するために,"<code>xml:lang</code>" という名前の特別な<termref def="dt-attr">属性</termref>を,文書内に挿入してもよい。
+<!--; この属性はXML規定の一部として,複数のXML&application;の相互運用性を高めるために定義する。-->
+属性の値は,<bibref ref="RFC1766"/>“RFC1766:&language-identification;のためのタグ”によって規定される&language-identification;コードに従う。
+<scrap lang='ebnf'>
+<head>&language-identification;</head>
+<prod id='NT-LanguageID'><lhs>LanguageID</lhs>
+<rhs><nt def='NT-Langcode'>Langcode</nt>
+('-' <nt def='NT-Subcode'>Subcode</nt>)*</rhs></prod>
+<prod id='NT-Langcode'><lhs>Langcode</lhs>
+<rhs><nt def='NT-ISO639Code'>ISO639Code</nt> |
+<nt def='NT-IanaCode'>IanaCode</nt> |
+<nt def='NT-UserCode'>UserCode</nt></rhs>
+</prod>
+<prod id='NT-ISO639Code'><lhs>ISO639Code</lhs>
+<rhs>([a-z] | [A-Z]) ([a-z] | [A-Z])</rhs></prod>
+<prod id='NT-IanaCode'><lhs>IanaCode</lhs>
+<rhs>('i' | 'I') '-' ([a-z] | [A-Z])+</rhs></prod>
+<prod id='NT-UserCode'><lhs>UserCode</lhs>
+<rhs>('x' | 'X') '-' ([a-z] | [A-Z])+</rhs></prod>
+<prod id='NT-Subcode'><lhs>Subcode</lhs>
+<rhs>([a-z] | [A-Z])+</rhs></prod>
+</scrap>
+<nt def='NT-Langcode'>Langcode</nt>は,次のどれでもよい。
+<ulist>
+<item><p>a) <bibref ref="ISO639"/>“言語の名前表現のためのコード”で規定される2文字の&language-code;</p></item>
+<item><p>b) Internet Assigned Numbers Authority (IANA)で登録されている&language-code;。これは,先頭が "<code>i-</code>" (又は"<code>I-</code>")で始まる。</p></item>
+<item><p>c) &user;によって定められた&language-code;,又は私的な使用のために複数の団体間が取り決めたコード。これらは,今後IANAにおいて標準化又は登録されるコードとの競合を避けるために,先頭を"<code>x-</code>" 又は "<code>X-</code>" で始める。</p></item>
+</ulist></p>
+<p><nt def='NT-Subcode'>Subcode</nt>は,複数回使ってもよい。最初のサブコードが存在し,その内容が二つの文字から成るときは,<bibref ref="ISO3166"/>ISO3166の“国名を表すコード(国コード)”でなければならない。最初のサブコードが3文字以上から成るときは,<nt def='NT-Langcode'>Langcode</nt>の先頭が,"<code>x-</code>" 又は "<code>X-</code>"で始まらない限り,指定した言語に対するサブコードとし,IANAに登録されたものでなければならない。</p>
+<p>&language-code;は,小文字での表記を,&country-code;は,(存在するならば)大文字での表記を慣行とする。しかし,XML文書内における他の名前とは異なり,これらの値については,大文字及び小文字の区別をしないことに注意すること。</p>
+<p>例を次に示す。
+<eg><![CDATA[<p xml:lang="en">The quick brown fox jumps over the lazy dog.</p>
+<p xml:lang="en-GB">What colour is it?</p>
+<p xml:lang="en-US">What color is it?</p>
+<sp who="Faust" desc='leise' xml:lang="de">
+ <l>Habe nun, ach! Philosophie,</l>
+ <l>Juristerei, und Medizin</l>
+ <l>und leider auch Theologie</l>
+ <l>]]><!-- x00DF german's es-zet; x00FC german's u-umlaut -->durchaus studiert mit hei&#223;em Bem&#252;h'n.<![CDATA[</l>
+ </sp>]]></eg></p>
+<!--<p>xml:lang の値は,要素の内容及び(属性の&default-value;で定めない限り)フリーテキスト(CDATA)の値をもつその要素へのすべての属性の値について,その両方に適用する。-->
+<p><code>xml:lang</code>で宣言する意図は,<code>xml:lang</code>の別の指定で上書しない限り,指定した要素の内容に含むすべての要素に適用する。</p>
+<!--ある要素における xml:lang 属性の値が定められておらず,DTDにおいてその&default-value;が定められていない場合,その要素のxml:lang 属性の値は,親要素での値が存在する場合は,それを引き継ぐ。 次の例における二つの<term>という名前の専門用語を表す要素は,xml:langの値に関しては,実際上,同じ値をもつ。
+
+ <p xml:lang="en">Here the keywords are
+ <term xml:lang="en">shift</term> and
+ <term>reduce</term>. ...</p>
+
+XML&processor;ではなく&application;が,この属性値の継承について責任をもつ。
+-->
+<p>
+&valid;な文書においては,この&TR-or-Rec;の他の場所で規定するとおり,この属性を必ず宣言しなければならない。通常,宣言は,次の形とする。
+<eg>xml:lang NMTOKEN #IMPLIED</eg>
+必要ならば,特定の&default-value;を与えてもよい。英語を母語とする学生用のフランス語の詩集では,説明及び注を英語で記述すれば,xml:lang 属性を次のとおりに宣言することとなる。
+<eg><![CDATA[ <!ATTLIST poem xml:lang NMTOKEN 'fr'>
+ <!ATTLIST gloss xml:lang NMTOKEN 'en'>
+ <!ATTLIST note xml:lang NMTOKEN 'en'>]]></eg>
+</p>
+<!--
+DTDの設計者は,スクリプトを言語(及びその派生体)に包摂して扱うのではなく,スクリプト及び言語を同次元で扱うのが適当な場合,言語属性と同様にスクリプト属性が存在すれば有用だと思うかもしれない。リンク要素において,参照された又はリンクされたリソースにおける(主要な)言語(場合によっては複数)を表す要素を定義するのも望ましい。しかし,これらの&application;は,この&TR-or-Rec;が規定する範囲外とする。-->
+</div2>
+</div1>
+<!-- &Elements; -->
+
+<div1 id='sec-logical-struct'>
+<head>論理構造</head>
+
+<p><termdef id="dt-element" term="Element">いかなる<termref def="dt-xml-doc">XML文書</termref>も,一つ以上の<term>要素</term>を含む。要素の境界は, <termref def="dt-stag">開始タグ</termref>及び<termref def="dt-etag">終了タグ</termref>によって区切る。要素が<termref def="dt-empty">空</termref>要素のときは,<termref def="dt-eetag">空要素タグ</termref>で示す。各々の要素は,型をもつ。要素型は名前(共通&identifier;(generic identifier)又はGIと呼ぶことがある。)によって&identified;。要素は,いくつかの属性をもつことができる。</termdef>属性は,<termref def="dt-attrname">名前</termref>及び<termref def="dt-attrval">値</termref>をもつ。</p>
+
+<scrap lang='ebnf'><head>要素</head>
+<prod id='NT-element'><lhs>element</lhs>
+<rhs><nt def='NT-EmptyElemTag'>EmptyElemTag</nt></rhs>
+<rhs>| <nt def='NT-STag'>STag</nt> <nt def='NT-content'>content</nt>
+<nt def='NT-ETag'>ETag</nt></rhs><wfc def='GIMatch'/></prod>
+</scrap>
+<p>この&TR-or-Rec;は,要素型及び属性の意味,使用方法,又は(構文に関することを除き)名前に制約を与えない。ただし,先頭が<code>(('X'|'x')('M'|'m')('L'|'l'))</code>に&match;する名前は,この版又は今後の版のこの&TR-or-Rec;での標準化のために予約する。</p>
+
+<wfcnote id='GIMatch'><head>要素型の&match;</head>
+<p>要素の終了タグの<nt def='NT-Name'>名前</nt>は,その要素の開始タグにおける型と&match;しなければならない。</p>
+</wfcnote>
+
+<div2 id='sec-starttags'>
+<head>開始タグ,終了タグ及び空要素タグ</head>
+<p><termdef id="dt-stag" term="Start-Tag">空でない任意のXML要素の始まりは,<term>開始タグ</term>によって&markup;する。
+<scrap lang='ebnf'><head>開始タグ</head>
+<prodgroup pcw2="6" pcw4="15" pcw5="11.5">
+<prod id='NT-STag'><lhs>STag</lhs><rhs>'&lt;' <nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt> <nt def='NT-Attribute'>Attribute</nt>)* <nt def='NT-S'>S</nt>? '>'</rhs><wfc def="uniqattspec"/></prod>
+<prod id='NT-Attribute'><lhs>Attribute</lhs><rhs><nt def='NT-Name'>Name</nt> <nt def='NT-Eq'>Eq</nt> <nt def='NT-AttValue'>AttValue</nt></rhs><vc def='ValueType'/><wfc def='NoExternalRefs'/><wfc def='CleanAttrVals'/></prod>
+</prodgroup>
+</scrap>
+開始タグ及び終了タグ内の<nt def='NT-Name'>Name</nt>は,要素の<term>型</term>を表わす。</termdef><termdef id="dt-attr" term="Attribute"><nt def='NT-Name'>Name</nt>及び<nt def='NT-AttValue'>AttValue</nt>の対を要素の<term>属性指定</term>といい</termdef>,<termdef id="dt-attrname" term="Attribute Name">個々の対における<nt def='NT-Name'>Name</nt>は,<term>属性名</term></termdef>及び<termdef id="dt-attrval" term="Attribute Value"><nt def='NT-AttValue'>AttValue</nt>の内容(区切り子<code>'</code>又は<code>"</code>の間の&string;)を<term>属性値</term>という。</termdef></p>
+
+<wfcnote id='uniqattspec'><head>属性指定の一意性</head>
+<p>開始タグ又は空要素タグでは,同一の属性名が2度以上出現してはならない。</p></wfcnote>
+<vcnote id='ValueType'><head>属性値の型</head>
+<p>属性は宣言されていなければならない。属性値の型は,その属性に対して宣言した型でなければならない(属性の型については,<titleref href='AttDecls'>属性リスト宣言</titleref>についての規定を参照。)。</p></vcnote>
+<wfcnote id='NoExternalRefs'><head>外部実体への参照がないこと</head>
+<p>属性値には,外部実体への直接的又は間接的な参照を含むことはできない。</p></wfcnote>
+<wfcnote id='CleanAttrVals'><head>属性値に<code>&lt;</code>を含まないこと</head>
+<p>属性値内で直接的又は間接的に参照する実体(<code>&amp;lt;</code>を除く。)の<termref def='dt-repltext'>&replacement-text;</termref>には,<code>&lt;</code>を含んではならない。</p></wfcnote>
+
+<p>開始タグの例を,次に示す。
+<eg>&lt;termdef id="dt-dog" term="dog"></eg></p>
+<p><termdef id="dt-etag" term="End Tag">開始タグで始まる要素の終わりは,<term>終了タグ</term>で&markup;しなければならない。この終了タグは,対応する開始タグの要素型と同じ名前をもつ。
+<scrap lang='ebnf'><head>終了タグ</head><prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-ETag'><lhs>ETag</lhs><rhs>'&lt;/' <nt def='NT-Name'>Name</nt> <nt def='NT-S'>S</nt>? '>'</rhs></prod></prodgroup></scrap></termdef></p>
+<p>終了タグの例を,次に示す。
+<eg>&lt;/termdef></eg></p>
+
+<p><termdef id="dt-content" term="Content">要素の開始タグと終了タグとの間の<termref def='dt-text'>テキスト</termref>を,その要素の<term>内容</term>という。
+<scrap lang='ebnf'><head>要素の内容</head>
+<prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-content'><lhs>content</lhs><rhs>(<nt def='NT-element'>element</nt> | <nt def='NT-CharData'>CharData</nt> | <nt def='NT-Reference'>Reference</nt> | <nt def='NT-CDSect'>CDSect</nt> | <nt def='NT-PI'>PI</nt> | <nt def='NT-Comment'>Comment</nt>)*</rhs></prod></prodgroup></scrap></termdef></p>
+
+<p><termdef id="dt-empty" term="Empty">要素が<term>空</term>のとき,その要素は,直後に終了タグをもつ開始タグ又は空要素タグで表現しなければならない。</termdef><termdef id="dt-eetag" term="empty-element tag"><term>空要素タグ</term>は,次の特別な形式をとる。
+<scrap lang='ebnf'><head>空要素のためのタグ</head><prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-EmptyElemTag'><lhs>EmptyElemTag</lhs><rhs>'&lt;' <nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt> <nt def='NT-Attribute'>Attribute</nt>)* <nt def='NT-S'>S</nt>? '/&gt;'</rhs><wfc def="uniqattspec"/></prod></prodgroup></scrap></termdef></p>
+
+<!-- 門馬:上の“空要素のためのタグ(tags for empty elements)”は“空要素タグ(empty-element tag)”とすべきだと思いますが,いかがでしょうか -->
+
+<p>空要素タグは,内容をもたない任意の要素の表現に利用できる。空要素タグで表現する要素を,キーワード<kw>EMPTY</kw>を用いて宣言しなくともよい。</p>
+<p>空要素の例を,次に示す。
+<eg>&lt;IMG align="left" src="http://www.w3.org/Icons/WWW/w3c_home" />&lt;br>&lt;/br>&lt;br/></eg></p>
+</div2>
+
+<div2 id='elemdecls'><head>要素宣言</head>
+<p><termref def="dt-valid">&validity;</termref>を保証するため,要素宣言及び属性リスト宣言を用いて<termref def="dt-xml-doc">XML文書</termref>の<termref def="dt-element">要素</termref>の構造に,制約を加えることができる。</p>
+<p>要素宣言は,要素の<termref def="dt-content">内容</termref>についての制約とする。</p>
+<p>要素宣言は,要素の<termref def="dt-parentchild">子</termref>として出現可能な要素型について,制約を加えることが多い。&at-user-option;,要素宣言をもたない要素型が他の要素宣言によって参照されれば,XML&processor;は,警告を出してもよい。しかし,これは&error;とはしない。</p>
+
+<p><termdef id="dt-eldecl" term="Element Type declaration"><term>要素型宣言</term>は,次の形式をとる。
+<scrap lang='ebnf'><head>要素型宣言</head><prodgroup pcw2="5.5" pcw4="18" pcw5="9">
+<prod id='NT-elementdecl'><lhs>elementdecl</lhs>
+<rhs>'&lt;!ELEMENT' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>
+<nt def='NT-contentspec'>contentspec</nt>
+<nt def='NT-S'>S</nt>? '>'</rhs>
+<vc def='EDUnique'/></prod>
+<prod id='NT-contentspec'><lhs>contentspec</lhs>
+<rhs>'EMPTY'
+| 'ANY'
+| <nt def='NT-Mixed'>Mixed</nt>
+| <nt def='NT-children'>children</nt>
+</rhs>
+<vc def='elementvalid'/>
+</prod>
+</prodgroup>
+</scrap>
+ここで,<nt def='NT-Name'>Name</nt>は,宣言されている要素の型とする。</termdef></p>
+
+<vcnote id='EDUnique'><head>要素宣言の一意性</head>
+<p>要素型を2度以上宣言できない。</p></vcnote>
+
+<vcnote id='elementvalid'><head>要素の&validity;</head>
+<p>要素が<!-- said to be -->&valid;とは,<nt def='NT-elementdecl'>elementdecl</nt>に&match;する宣言であって,その<nt def='NT-Name'>Name</nt>がその要素型と&match;し,次のいずれかの条件を満たす場合とする。<ulist>
+<item><p>a) 宣言が<kw>EMPTY</kw>に&match;し,要素が<termref def='dt-content'>内容</termref>をもたない。</p></item>
+<item><p>b) 宣言が<nt def='NT-children'>children</nt>に&match;し,要素の<termref def="dt-parentchild">子要素</termref>の並びが,内容モデルの正規表現によって生成される言語に属する。</p></item>
+<item><p>c) 宣言が<nt def='NT-Mixed'>mixed</nt>に&match;し,要素の内容が<termref def='dt-chardata'>文字データ</termref>及び<termref def='dt-parentchild'>子要素</termref>からなる。子要素の要素型は,要素の内容モデルに出現する名前に&match;する。</p></item>
+<item><p>d) 宣言が<kw>ANY</kw>に&match;し,どの<termref def='dt-parentchild'>子要素</termref>の要素型も宣言されている。</p></item></ulist>
+
+</p></vcnote>
+<!-- with the new VC, I don't think the next few paras add anything -TWB
+<p><termdef id="dt-model" term="content model">An element can declared using a <term>content model</term>, in which case its content can be categorized as <termref def="dt-elemcontent">element content</termref> or <termref def='dt-mixed'>mixed content</termref>, as explained below.</termdef></p>
+<p>An element whose type declared using the keyword <kw>EMPTY</kw> must be <termref def="dt-empty">empty</termref> and may be tagged using an <termref def="dt-eetag">empty-element tag</termref> when it appears in the document.</p>
+<p>If an element type is declared using the keyword <kw>ANY</kw>, then there are no validity constraints on its content: it may contain <termref def='dt-parentchild'>child elements</termref> of any type and number, interspersed with character data.</p> -->
+
+<p>要素宣言の例を,次に示す。
+<eg>
+&lt;!ELEMENT br EMPTY>
+&lt;!ELEMENT p (#PCDATA|emph)* >
+&lt;!ELEMENT %name.para; %content.para; >
+&lt;!ELEMENT container ANY>
+</eg></p>
+
+<div3 id='sec-element-content'><head>要素内容</head>
+
+<p><termdef id='dt-elemcontent' term='Element content'>ある型の要素が<termref def='dt-parentchild'>子</termref>要素だけを含む(文字データを含まない。)とき,その要素<termref def="dt-stag">型</termref>は,<term>要素内容</term>をもつ,という。</termdef>この場合,制約は,内容モデルを含む。内容モデルは,子要素の型及び子要素の出現順序を制御する簡単な文法とする。この文法は,&content-particle;(<nt def='NT-cp'>cp</nt>s)からなる。&content-particle;は,名前,&content-particle;の選択リスト又は&content-particle;の列リストから構成される。
+<scrap lang='ebnf'><head>要素内容モデル</head><prodgroup pcw2="5.5" pcw4="16" pcw5="11">
+<prod id='NT-children'><lhs>children</lhs><rhs>(<nt def='NT-choice'>choice</nt> | <nt def='NT-seq'>seq</nt>) ('?' | '*' | '+')?</rhs></prod><prod id='NT-cp'><lhs>cp</lhs><rhs>(<nt def='NT-Name'>Name</nt> | <nt def='NT-choice'>choice</nt> | <nt def='NT-seq'>seq</nt>) ('?' | '*' | '+')?</rhs></prod>
+<prod id='NT-choice'><lhs>choice</lhs><rhs>'(' <nt def='NT-S'>S</nt>? cp ( <nt def='NT-S'>S</nt>? '|' <nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> )*<nt def='NT-S'>S</nt>? ')'</rhs><vc def='vc-PEinGroup'/></prod>
+<prod id='NT-seq'><lhs>seq</lhs><rhs>'(' <nt def='NT-S'>S</nt>? cp ( <nt def='NT-S'>S</nt>? ',' <nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> )*<nt def='NT-S'>S</nt>? ')'</rhs><vc def='vc-PEinGroup'/></prod>
+<!-- <prod id='NT-cps'><lhs>cps</lhs><rhs><nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> <nt def='NT-S'>S</nt>?</rhs></prod>
+<prod id='NT-choice'><lhs>choice</lhs><rhs>'(' <nt def='NT-S'>S</nt>? <nt def='NT-ctokplus'>ctokplus</nt> (<nt def='NT-S'>S</nt>? '|' <nt def='NT-S'>S</nt>? <nt def='NT-ctoks'>ctoks</nt>)* <nt def='NT-S'>S</nt>? ')'</rhs></prod>
+<prod id="NT-ctokplus"><lhs>ctokplus</lhs><rhs><nt def="NT-cps">cps</nt>('|' <nt def="NT-cps">cps</nt>)+</rhs></prod>
+<prod id="NT-ctoks"><lhs>ctoks</lhs><rhs><nt def="NT-cps">cps</nt>('|' <nt def="NT-cps">cps</nt>)*</rhs></prod>
+<prod id='NT-seq'><lhs>seq</lhs><rhs>'(' <nt def='NT-S'>S</nt>?<nt def='NT-stoks'>stoks</nt> (<nt def='NT-S'>S</nt>? ',' <nt def='NT-S'>S</nt>? <nt def='NT-stoks'>stoks</nt>)*<nt def='NT-S'>S</nt>? ')'</rhs></prod>
+<prod id="NT-stoks"><lhs>stoks</lhs><rhs><nt def="NT-cps">cps</nt>(',' <nt def="NT-cps">cps</nt>)*</rhs></prod>
+-->
+</prodgroup></scrap>
+ここで,<nt def='NT-Name'>Name</nt>は,<termref def="dt-parentchild">子</termref>として出現してよい要素の型を示す。この文法で選択リストが現れる位置では,選択リスト内のいずれの&content-particle;も<termref def="dt-elemcontent">要素内容</termref>の中に現れてよい。列リストに現れる&content-particle;は,リストで指定する順番のとおりに,<termref def="dt-elemcontent">要素内容</termref>に現れなければならない。名前又はリストの後に出現するオプションの文字<!-- 門馬:characterを文字と訳しました -->は,リスト内の要素又は&content-particle;が,1回以上任意の回数(<code>+</code>),0回以上任意の回数(<code>*</code>)又は0回若しくは1回(<code>?</code>)出現可能なことを規定する。ここで示す構文及び意味は,この&TR-or-Rec;における生成規則で用いるものと同一とする。</p>
+
+<!-- 門馬:上の文では,“name又はlistの後に続く文字”が“listの出現を規定する”とあって,nameの出現を規定するとは書いてありません。修正が必要と考えます。 -->
+
+<p>要素の内容が内容モデルに&match;するのは,列,選択及び繰返し演算子にしたがって,内容の中の要素と内容モデル内の要素型とを&match;させながら,内容モデル内の一つのパスをたどれるときに限る。<termref def='dt-compat'>互換性のため</termref>,文書内の要素が,内容モデルにおける要素型の複数の出現位置と&match;することは,&error;とする。詳細な規定については,附属書の<titleref xml-link="simple" href="determinism">決定的内容モデル</titleref>の項を参照。
+<!-- appendix <specref ref="determinism"/>. -->
+<!-- appendix on deterministic content models. -->
+</p>
+
+<vcnote id='vc-PEinGroup'>
+<head>グループ及びパラメタ実体が厳密な入れ子をなしていること</head>
+<p>パラメタ実体の<termref def='dt-repltext'>&replacement-text;</termref>は,&parenthesis;で囲まれたグループによって,厳密な入れ子を構成しなければならない。つまり,<nt def='NT-choice'>選択</nt>,<nt def='NT-seq'>列</nt>又は<nt def='NT-Mixed'>混在</nt>部品に,&left-parenthesis;又は&right-parenthesis;のいずれか一方が<termref def='dt-PERef'>パラメタ実体</termref>の&replacement-text;に含れれば,他方も同じ&replacement-text;に含まれなければならない。</p>
+<p><termref def='dt-interop'>相互運用性のため</termref>,パラメタ実体参照が<nt def='NT-choice'>選択</nt>,<nt def='NT-seq'>列</nt>又は<nt def='NT-Mixed'>混在</nt>内容に含まれれば,その&replacement-text;は空でないことが望ましく,&replacement-text;の先頭及び末尾の空白でない文字は,コネクタ(<code>|</code>又は<code>,</code>)でない方がよい。
+</p>
+</vcnote>
+<p>要素内容モデルのいくつかの例を,次に示す。
+<eg>&lt;!ELEMENT spec (front, body, back?)>
+&lt;!ELEMENT div1 (head, (p | list | note)*, div2*)>
+&lt;!ELEMENT dictionary-body (%div.mix; | %dict.mix;)*></eg></p>
+</div3>
+
+<div3 id='sec-mixed-content'>
+<head>&mixed-content;</head>
+
+<p><termdef id='dt-mixed' term='Mixed Content'>ある要素型の要素内に,<termref def="dt-parentchild">子</termref>要素に混在して文字データが含まれる可能性があるとき,その要素<termref def='dt-stag'>型</termref>は,<term>&mixed-content;</term>をもつという。</termdef>この場合,子要素の型についての制約が存在してもよい<!-- 門馬:“may be constrained”を単に「制約される」と訳しました。 -->が,子要素の順序又は出現回数についての制約はないとする。
+<scrap lang='ebnf'>
+<head>&mixed-content;宣言</head>
+<prodgroup pcw2="5.5" pcw4="16" pcw5="11">
+<prod id='NT-Mixed'><lhs>Mixed</lhs>
+<rhs>'(' <nt def='NT-S'>S</nt>?
+'#PCDATA'
+(<nt def='NT-S'>S</nt>?
+'|'
+<nt def='NT-S'>S</nt>?
+<nt def='NT-Name'>Name</nt>)*
+<nt def='NT-S'>S</nt>?
+')*' </rhs>
+<rhs>| '(' <nt def='NT-S'>S</nt>? '#PCDATA' <nt def='NT-S'>S</nt>? ')'
+</rhs><vc def='vc-PEinGroup'/>
+<vc def='vc-MixedChildrenUnique'/>
+</prod>
+<!--
+<prod id="NT-Mtoks"><lhs>Mtoks</lhs>
+<rhs><nt def="NT-Name">Name</nt>
+(<nt def='NT-S'>S</nt>?
+'|'
+<nt def='NT-S'>S</nt>?
+<nt def="NT-Name">Name</nt>)*
+</rhs>
+</prod>
+-->
+</prodgroup>
+</scrap>
+ここで,<nt def='NT-Name'>Name</nt>は,子として出現してもよい要素の型を示す。
+</p>
+
+<vcnote id='vc-MixedChildrenUnique'>
+<head>要素型の重複の禁止</head>
+<p>一つの&mixed-content;宣言内に,同じ名前が複数回出現してはならない。
+</p></vcnote>
+<p>&mixed-content;宣言の例を,次に示す。
+<eg>&lt;!ELEMENT p (#PCDATA|a|ul|b|i|em)*>
+&lt;!ELEMENT p (#PCDATA | %font; | %phrase; | %special; | %form;)* >
+&lt;!ELEMENT b (#PCDATA)></eg></p>
+</div3>
+</div2>
+
+
+<div2 id='attdecls'>
+<head>属性リスト宣言</head>
+<p>
+<termref def="dt-attr">属性</termref>は,名前及び値の対を<termref def="dt-element">要素</termref>に関連付けるために用いる。属性指定は,<termref def="dt-stag">開始タグ</termref>又は<termref def="dt-eetag">空要素</termref>タグ内でだけ可能とする。したがって,属性を認識するための生成規則は,<titleref href='sec-starttags'>開始タグ</titleref>についての規定で示す。属性リスト宣言は,次の目的で用いる。
+<ulist>
+<item><p>a) ある要素型に適用する属性の集合を規定する。</p></item>
+<item><p>b) 属性への型制約を設定する。</p></item>
+<item><p>c) 属性の<termref def="dt-default">&default-value;</termref>を規定する。</p></item>
+</ulist>
+</p>
+<p>
+<termdef id="dt-attdecl" term="Attribute-List Declaration">
+<term>属性リスト宣言</term>は,ある要素型と関連付けられた各属性に対し,名前,データ型及び(存在すれば)&default-value;を規定する。
+<scrap lang='ebnf'>
+<head>属性リスト宣言</head>
+<prod id='NT-AttlistDecl'><lhs>AttlistDecl</lhs>
+<rhs>'&lt;!ATTLIST' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-AttDef'>AttDef</nt>*
+<nt def='NT-S'>S</nt>? '&gt;'</rhs>
+</prod>
+<prod id='NT-AttDef'><lhs>AttDef</lhs>
+<rhs><nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt> <nt def='NT-AttType'>AttType</nt>
+<nt def='NT-S'>S</nt> <nt def='NT-Default'>Default</nt></rhs>
+</prod>
+</scrap>
+
+<nt def='NT-AttlistDecl'>AttlistDecl</nt>規則に存在する<nt def="NT-Name">Name</nt>は,要素型の名前とする。&at-user-option;,宣言していない要素型に対し属性を宣言したならば,XML&processor;は,警告を出してもよい。しかし,これは&error;とはしない。
+<nt def='NT-AttDef'>AttDef</nt>規則における<nt def='NT-Name'>Name</nt>は,属性の名前とする。
+</termdef>
+</p>
+<p>
+ある要素に対して,複数の<nt def='NT-AttlistDecl'>AttlistDecl</nt>を与える場合,これらすべての内容はマージする。ある要素型の同じ属性に,複数の定義を与える場合には,最初の宣言を有効とし,他の宣言は無視する。<termref def='dt-interop'>相互運用性のために</termref>,DTDの作成者は,ある要素型には高々一つの属性リスト宣言しか与えない,ある属性名には高々一つの属性定義しか与えない,及びすべての属性リスト宣言には少なくとも一つの属性定義を与える,という選択をしてもよい。相互運用性のために,XML&processor;は,&at-user-option;,ある要素型に複数の属性リスト宣言を与えたり,ある属性に複数の属性定義を与えたりしたときに,警告を出してもよい。しかし,これは,&error;とはしない。
+</p>
+
+<div3 id='sec-attribute-types'>
+<head>属性の型</head>
+<p>
+XMLの属性の型は,3種類とする。これらは,&string;型,&token;化型及び列挙型とする。&string;型は,値として任意の&string;をとる。&token;化型は,次に示す字句及び意味に関する様々な制約をもつ。
+
+<scrap lang='ebnf'>
+<head>Attribute Types</head>
+<prodgroup pcw4="14" pcw5="11.5">
+<prod id='NT-AttType'><lhs>AttType</lhs>
+<rhs><nt def='NT-StringType'>StringType</nt>
+| <nt def='NT-TokenizedType'>TokenizedType</nt>
+| <nt def='NT-EnumeratedType'>EnumeratedType</nt>
+</rhs>
+</prod>
+<prod id='NT-StringType'><lhs>StringType</lhs>
+<rhs>'CDATA'</rhs>
+</prod>
+<prod id='NT-TokenizedType'><lhs>TokenizedType</lhs>
+<rhs>'ID'</rhs>
+<vc def='id'/>
+<vc def='one-id-per-el'/>
+<vc def='id-default'/>
+<rhs>| 'IDREF'</rhs>
+<vc def='idref'/>
+<rhs>| 'IDREFS'</rhs>
+<vc def='idref'/>
+<rhs>| 'ENTITY'</rhs>
+<vc def='entname'/>
+<rhs>| 'ENTITIES'</rhs>
+<vc def='entname'/>
+<rhs>| 'NMTOKEN'</rhs>
+<vc def='nmtok'/>
+<rhs>| 'NMTOKENS'</rhs>
+<vc def='nmtok'/></prod>
+</prodgroup>
+</scrap>
+</p>
+
+<vcnote id='id' >
+<head>ID</head>
+<p>
+この型の値は,生成規則<code>Name</code>に&match;しなければならない。一つのXML文書内では,一つの名前が,この型の値として複数回現れてはならない。つまり,IDの値は,要素を一意に&identify;しなければならない。
+</p>
+</vcnote>
+<vcnote id='one-id-per-el'>
+<head>1要素ごとに1ID</head>
+<p>
+要素型は,複数のID属性値をもってはならない。
+</p>
+</vcnote>
+<vcnote id='id-default'>
+<head>ID属性の&default;</head>
+<p>
+ID属性は,&default;として,<code>#IMPLIED</code>又は<code>#REQUIRED</code>を宣言しなければならない。
+</p>
+</vcnote>
+<vcnote id='idref'>
+<head>IDREF</head>
+<p>
+<kw>IDREF</kw>型の値は,生成規則<nt def="NT-Name">Name</nt>に&match;しなければならない。<kw>IDREFS</kw>型の値は,生成規則<nt def="NT-Names">Names</nt>に&match;しなければならない。各々の<nt def='NT-Name'>Name</nt>は,XML文書内に存在する要素のID属性の値と&match;しなければならない。つまり,<kw>IDREF</kw>の値は,あるID属性の値と&match;しなければならない。
+</p>
+</vcnote>
+<vcnote id='entname'>
+<head>実体名</head>
+<p>
+<kw>ENTITY</kw>型の値は,生成規則<nt def="NT-Name">Name</nt>に&match;しなければならない。<kw>ENTITIES</kw>型の値は,生成規則<nt def="NT-Names">Names</nt>に&match;しなければならない。各々の<nt def="NT-Name">Name</nt>は,<termref def="dt-doctype">DTD</termref>で宣言する<termref def="dt-unparsed">&unparsed-entity;</termref>と&match;しなければならない。
+</p>
+</vcnote>
+<vcnote id='nmtok'>
+<head>名前&token;</head>
+<p>
+<kw>NMTOKEN</kw>型の値は,非終端記号<termref def="NT-Nmtoken">Nmtoken</termref>と&match;する&string;から構成されなければならない。<kw>NMTOKENS</kw>型の値は,非終端記号<termref def="NT-Nmtokens">Nmtokens</termref>と&match;する&string;から構成されなければならない。
+</p>
+</vcnote>
+<p>
+XML&processor;は,&application;に属性値を渡す前に,<titleref href="AVNormalize">属性値の正規化</titleref>で規定するとおりに,属性値を正規化しなければならない。
+</p>
+<p>
+<termdef id='dt-enumerated' term='Enumerated Attribute Values'><term>列挙型の属性</term>は,宣言した値の一つを取ることができる。</termdef>列挙型には,2種類ある。
+
+<scrap lang='ebnf'>
+<head>列挙属性の型</head>
+<prod id='NT-EnumeratedType'><lhs>EnumeratedType</lhs>
+<rhs><nt def='NT-NotationType'>NotationType</nt>
+| <nt def='NT-Enumeration'>Enumeration</nt>
+</rhs></prod>
+<prod id='NT-NotationType'><lhs>NotationType</lhs>
+<rhs>'NOTATION'
+<nt def='NT-S'>S</nt>
+'('
+<nt def='NT-S'>S</nt>?
+<nt def='NT-Name'>Name</nt>
+(<nt def='NT-S'>S</nt>? '|' <nt def='NT-Name'>Name</nt>)*
+<nt def='NT-S'>S</nt>? ')'
+</rhs>
+<vc def='notatn' /></prod>
+<prod id='NT-Enumeration'><lhs>Enumeration</lhs>
+<rhs>'(' <nt def='NT-S'>S</nt>?
+<nt def='NT-Nmtoken'>Nmtoken</nt>
+(<nt def='NT-S'>S</nt>? '|'
+<nt def='NT-S'>S</nt>?
+<nt def='NT-Nmtoken'>Nmtoken</nt>)*
+<nt def='NT-S'>S</nt>?
+')'</rhs>
+<vc def='enum'/></prod>
+</scrap>
+</p>
+
+<vcnote id='notatn'>
+<head>記法属性</head>
+<p>この型の値は,宣言している<titleref href='Notations'>記法</titleref>の名前の一つと&match;しなければならない。つまり,宣言に存在する記法名は,すべて宣言されていなければならない。
+</p>
+</vcnote>
+<vcnote id='enum'>
+<head>列挙</head>
+<p>
+この型の値は,宣言に存在する<nt def='NT-Nmtoken'>Nmtoken</nt>&token;の一つと&match;しなければならない。
+</p>
+</vcnote>
+<p>
+<termref def='dt-interop'>相互運用性のため</termref>,同じ<nt def='NT-Nmtoken'>Nmtoken</nt>は,単一要素型の列挙型の属性として,複数回現れない方がよい。
+</p>
+</div3>
+
+<div3 id='sec-attr-defaults'>
+<head>属性の&default;</head>
+
+<p>
+<termref def="dt-attdecl">属性宣言</termref>は,属性の指定が必須かどうかについての情報を与える。必須でない場合には,文書内で属性を指定しないとき,XML&processor;の処理方法の情報も与える。
+
+<scrap lang='ebnf'>
+<head>属性の&default;</head>
+<prodgroup pcw4="14" pcw5="11.5">
+<prod id='NT-Default'><lhs>Default</lhs>
+<rhs>'#REQUIRED'
+|&nbsp;'#IMPLIED' </rhs>
+<rhs>| (('#FIXED' S)? <nt def='NT-AttValue'>AttValue</nt>)</rhs>
+<vc def='defattrvalid'/>
+<wfc def="CleanAttrVals"/>
+</prod>
+</prodgroup>
+</scrap>
+<!-- improved by bosak
+<scrap lang='ebnf'>
+<head>Attribute Defaults</head>
+<prod id='NT-Default'><lhs>Default</lhs>
+<rhs>'#REQUIRED'
+|&nbsp;'#IMPLIED' </rhs>
+<vc def='defattrvalid'/>
+<wfc def="CleanAttrVals"/>
+<rhs>| (('#FIXED' S)? <nt def='NT-AttValue'>AttValue</nt>)</rhs>
+</prod>
+</scrap>-->
+</p>
+
+<vcnote id='defattrvalid'>
+<head>属性&default;の正しさ</head>
+<p>
+宣言した&default-value;は,宣言した属性型の字句制約を満たさなければならない。
+</p>
+</vcnote>
+<p>
+<kw>#REQUIRED</kw>を指定したとき,この要素型の<termref def="dt-stag">開始タグ</termref>であって,この属性に値を与えないものをXML&processor;が見つけたならば,その文書は<termref def="dt-valid">&valid;</termref>とはしない。<kw>#IMPLIED</kw>を指定したとき,この属性を省略したら,XML&processor;は,属性値を指定しないことをアプリケーションに伝えなければならない。このとき,&application;の振舞いについての制約はない。
+</p>
+<p>
+<termdef id="dt-default" term="Attribute Default">
+属性が<kw>#REQUIRED</kw>でも<kw>#IMPLIED</kw>でもないときには,<nt def='NT-AttValue'>AttValue</nt>の値が,<term>&default-value;</term>となる。<kw>#FIXED</kw>の場合,&default-value;と異なる値が指定されれば,その文書は,<termref def="dt-valid">&valid;</termref>としない。&default-value;を宣言している場合,この属性の省略を見つけたら,宣言した&default-value;を属性値に指定しているとして,XML&processor;は振る舞うことが望ましい。
+</termdef></p>
+
+<p>属性リスト宣言の例を,次に示す。
+
+<eg>&lt;!ATTLIST termdef
+ id ID #REQUIRED
+ name CDATA #IMPLIED>
+&lt;!ATTLIST list
+ type (bullets|ordered|glossary) "ordered">
+&lt;!ATTLIST form
+ method CDATA #FIXED "POST"></eg></p>
+</div3>
+
+<div3 id='AVNormalize'>
+<head>属性値の正規化</head>
+<p>
+XML&processor;は,属性値を&application;に渡す前に,次のとおりに正規化しなければならない。
+
+<ulist>
+<item>
+<p>a) まず,属性値及びその中の実体内で,行末又は行境界(又はシステムによってはレコード境界)として使われる&string;を,&space-character;(#x20)一つに置き換えなければならない(「<titleref xml-link="simple" href="sec-line-ends">行末の扱い</titleref>」も参照のこと。)。
+</p></item>
+<item>
+<p>b) 次に,文字参照及び内部&parsed-entity;への参照は,展開しなければならない。外部実体への参照は,&error;とする。
+</p></item>
+<item>
+<p>c) 最後に,属性の型が<kw>CDATA</kw>でなければ,空白&string;は,すべて&space-character;(#x20)一つに正規化し,残りの空白文字は,削除しなければならない。
+</p></item>
+</ulist>
+
+&non-validating;&parser;は,宣言が見つからない属性は,すべて,<kw>CDATA</kw>を宣言しているとして扱うことが望ましい。</p>
+</div3>
+</div2>
+
+<div2 id='sec-condition-sect'>
+<head>条件付きセクション</head>
+<p>
+<termdef id='dt-cond-section' term='conditional section'>
+<term>条件付きセクション</term>とは,<termref def='dt-doctype'>文書型宣言の外部&subset;</termref>の一部とし,制御キーワードの指定によって,DTDの論理構造に含めたり,除いたりする部分とする。
+</termdef>
+
+<scrap lang='ebnf'>
+<head>条件付きセクション</head>
+<prodgroup pcw2="9" pcw4="14.5">
+<prod id='NT-conditionalSect'><lhs>conditionalSect</lhs>
+<rhs><nt def='NT-includeSect'>includeSect</nt>
+| <nt def='NT-ignoreSect'>ignoreSect</nt>
+</rhs>
+</prod>
+<prod id='NT-includeSect'><lhs>includeSect</lhs>
+<rhs>'&lt;![' S? 'INCLUDE' S? '['
+<!-- (<nt def='NT-markupdecl'>markupdecl</nt>
+ | <nt def="NT-conditionalSect">conditionalSect</nt>
+ | <nt def="NT-S">S</nt>)*
+-->
+<nt def="NT-extSubset">extSubset</nt>
+']]&gt;'
+</rhs>
+</prod>
+<prod id='NT-ignoreSect'><lhs>ignoreSect</lhs>
+<rhs>'&lt;![' S? 'IGNORE' S? '['
+<nt def="NT-ignoreSectContents">ignoreSectContents</nt>*
+']]&gt;'</rhs>
+</prod>
+<prod id='NT-ignoreSectContents'><lhs>ignoreSectContents</lhs>
+<rhs><nt def='NT-Ignore'>Ignore</nt>
+('&lt;![' <nt def='NT-ignoreSectContents'>ignoreSectContents</nt>
+']]&gt;'
+<nt def='NT-Ignore'>Ignore</nt>)*</rhs></prod>
+<prod id='NT-Ignore'><lhs>Ignore</lhs>
+<rhs><nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* ('&lt;![' | ']]&gt;')
+<nt def='NT-Char'>Char</nt>*)
+</rhs></prod>
+<!--<rhs>
+((<nt def='NT-SkipLit'>SkipLit</nt>
+| <nt def='NT-Comment'>Comment</nt>
+| <nt def='NT-PI'>PI</nt>) -
+(<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-Char'>Char</nt>*))
+| ('&lt;![' <nt def='NT-ignoreSectContents'>ignoreSectContents</nt>*
+']]&gt;')
+</rhs>
+<rhs>
+| (<nt def='NT-Char'>Char</nt> - (']' | [&lt;'"]))
+</rhs>
+<rhs>
+| ('&lt;!' (<nt def='NT-Char'>Char</nt> - ('-' | '[')))
+</rhs>-->
+</prodgroup>
+</scrap>
+</p>
+
+<p>条件付きセクションは,DTDの内部&subset;及び外部&subset;と同様に,完全な宣言,コメント又は入れ子になった条件付きセクションを,いくつか含んでよい。これらの間に,空白が現れてもよい。
+</p>
+<p>
+条件付きセクションのキーワードが<code>INCLUDE</code>ならば,XML&processor;は,この条件付きセクションの内容を,文書の一部として扱わなければならない。条件付きセクションのキーワードが<code>IGNORE</code>ならば,その条件付きセクションの内容は,文書の一部として扱わない。構文解析を正しく行うためには,無視する条件付きセクション(IGNORE)に関しても,内容を読まなければならないことに注意すること。これは,入れ子になった条件付きセクションを見つけ,(無視する)最も外側の条件付きセクションを正しく検出するためとする。キーワードを<code>INCLUDE</code>とする小さな条件付きセクションが,キーワードを<code>IGNORE</code>とするより大きな条件付きセクションに含まれるならば,外側及び内側の条件付きセクションの両方とも無視する。
+</p>
+<p>
+条件付きセクションのキーワードがパラメタ実体参照ならば,XML&processor;は条件付きセクションの扱いを判断する前に,このパラメタ実体を展開しなければならない。
+</p>
+
+<p>例を次に示す。
+
+<eg>&lt;!ENTITY % draft 'INCLUDE' >
+&lt;!ENTITY % final 'IGNORE' >
+
+&lt;![%draft;[
+&lt;!ELEMENT book (comments*, title, body, supplements?)>
+]]&gt;
+&lt;![%final;[
+&lt;!ELEMENT book (title, body, supplements?)>
+]]&gt;
+</eg>
+</p>
+</div2>
+<!--
+<div2 id='sec-pass-to-app'>
+<head>XML Processor Treatment of Logical Structure</head>
+<p>When an XML processor encounters a start-tag, it must make
+at least the following information available to the application:
+<ulist>
+<item>
+<p>the element type's generic identifier</p>
+</item>
+<item>
+<p>the names of attributes known to apply to this element type
+(validating processors must make available names of all attributes
+declared for the element type; non-validating processors must
+make available at least the names of the attributes for which
+values are specified.
+</p>
+</item>
+</ulist>
+</p>
+</div2>
+-->
+
+</div1>
+<!-- &Entities; -->
+
+<div1 id='sec-physical-struct'>
+<head>物理構造</head>
+
+<p>
+<termdef id="dt-entity" term="Entity">
+XML文書は,一つ以上の記憶単位から構成する。この記憶単位を,<term>実体</term>という。実体は,<term>内容</term>をもち,文書実体(以降参照)及び<termref def='dt-doctype'>外部DTD&subset;</termref>を除いて,<term>名前</term>で&identified;。
+</termdef>
+
+<!-- Added for CFG -->
+<!-- obscurity amputated by TWB -->
+<!-- entire sentence amputated by CMSMcQ: no one but NO ONE is
+ready for entities declared as
+<!ENTITY foo "http://www.foo.com/bar.xml#id">
+and it's pointless to suggest that it's possible
+under current circumstances. -->
+<!-- An entity may be stored in, -->
+<!--but need not be coterminous with, -->
+<!-- but need not comprise the whole of, -->
+<!-- a single physical storage object such as a file or -->
+<!-- database field. -->
+<!-- End sentence added for CFG -->各XML文書は,<termref def="dt-docent">文書実体</termref>と呼ぶ実体を一つもつ。<termref def="dt-xml-proc">XML&processor;</termref>は,この文書実体から処理を開始する。文書実体が,文書のすべてを含んでもよい。</p>
+
+<p>実体は,&parsed-entity;又は&unparsed-entity;とする。<termdef id="dt-parsedent" term="Text Entity"><term>&parsed-entity;</term>の内容は,&parsed-entity;の<termref def='dt-repltext'>&replacement-text;</termref>と呼ぶ。この<termref def="dt-text">テキスト</termref>は,文書の本体の一部として解釈する。
+</termdef>
+</p>
+
+<p>
+<termdef id="dt-unparsed" term="Unparsed Entity">
+<term>&unparsed-entity;</term>は,内容が<termref def='dt-text'>テキスト</termref>でもそうでなくともよいリソースとする。テキストの場合,XMLでなくともよい。各&unparsed-entity;には,<termref def="dt-notation">記法</termref>が関連付けられ,この記法は,名前で&identified;。記法の名前及び関連付けられた&identifier;を,XML&processor;が&application;に渡すという要件以外は,XMLは,&unparsed-entity;の内容を制限しない。
+</termdef>
+</p>
+
+<p>&parsed-entity;は,実体参照によって名前で呼び出す。&unparsed-entity;は,<kw>ENTITY</kw>型又は<kw>ENTITIES</kw>型の属性の値として,名前で参照する。</p>
+
+<p>
+<termdef id='gen-entity' term='general entity'><term>一般実体</term>は,文書内容の中で使用する&parsed-entity;とする。あいまいにならない限り,この&TR-or-Rec;では,一般実体を単に<emph>実体</emph>と呼ぶ。</termdef><termdef id='dt-PE' term='Parameter entity'>パラメタ実体は,DTD内で使用する&parsed-entity;とする。</termdef>これらの2種類の実体は,異なる書式で参照し,異なる文脈で認識する。</p>
+
+<!--
+<div2 id='sec-synchro'>
+<head>Logical and Physical Structures</head>
+<p>The logical and physical structures (elements and entities)
+in an XML document must
+be properly nested.
+<termref def='dt-stag'>Tags</termref> and <termref def='dt-element'>elements</termref> must
+each begin and end in the same <termref def='dt-entity'>entity</termref>, but may
+refer to other
+entities internally; <termref def='dt-comment'>comments</termref>,
+<termref def='dt-pi'>processing instructions</termref>,
+<termref def='dt-charref'>character
+references</termref>, and
+<termref def='dt-entref'>entity references</termref> must each be contained entirely
+within a single entity. Entities must each contain an integral number
+of elements, comments, processing instructions, and references,
+possibly together with character data not contained within any element
+in the entity, or else they must contain non-textual data, which by
+definition contains no elements.</p></div2>
+-->
+
+<div2 id='sec-references'>
+<head>文字参照及び実体参照</head>
+<p>
+<termdef id="dt-charref" term="Character Reference">
+<term>文字参照</term>は,ISO/IEC 10646文字集合の特定の文字,例えば,入力機器から直接入力不可能な文字を参照する。
+
+<scrap lang='ebnf'>
+<head>文字参照</head>
+<prod id='NT-CharRef'><lhs>CharRef</lhs>
+<rhs>'&amp;#' [0-9]+ ';' </rhs>
+<rhs>| '&hcro;' [0-9a-fA-F]+ ';'</rhs>
+<wfc def="wf-Legalchar"/>
+</prod>
+</scrap>
+<wfcnote id="wf-Legalchar">
+<head>正当な文字</head>
+<p>文字参照で参照する文字は,非終端記号<termref def="NT-Char">Char</termref>に従わなければならない。</p>
+</wfcnote>
+文字が "<code>&amp;#x</code>" で始まれば,終端の "<code>;</code>" までの数字及びアルファベットは,ISO/IEC 10646 の文字コードの16進数表現とする。
+<!--日本語訳について: letterはアルファベットと訳した。 三好 -->
+文字が "<code>&amp;#</code>" で始まれば,終端の "<code>;</code>" までの数字は,文字コードの10進数表現とする。
+</termdef>
+</p>
+
+<p>
+<termdef id="dt-entref" term="Entity Reference">
+<term>実体参照</term>は,名前の付いた実体の内容を参照する。</termdef><termdef id='dt-GERef' term='General Entity Reference'>一般実体への参照は,アンパサンド(<code>&amp;</code>)及びセミコロン(<code>;</code>)を区切り子として用いる。</termdef><termdef id='dt-PERef' term='Parameter-entity reference'><term>パラメタ実体</term>への参照は,パーセント記号(<code>%</code>)及びセミコロン(<code>;</code>)を区切り子として用いる。
+</termdef>
+</p>
+
+<scrap lang="ebnf">
+<head>実体参照</head>
+<prod id='NT-Reference'><lhs>Reference</lhs>
+<rhs><nt def='NT-EntityRef'>EntityRef</nt>
+| <nt def='NT-CharRef'>CharRef</nt></rhs></prod>
+<prod id='NT-EntityRef'><lhs>EntityRef</lhs>
+<rhs>'&amp;' <nt def='NT-Name'>Name</nt> ';'</rhs>
+<wfc def='wf-entdeclared'/>
+<vc def='vc-entdeclared'/>
+<wfc def='textent'/>
+<wfc def='norecursion'/>
+</prod>
+<prod id='NT-PEReference'><lhs>PEReference</lhs>
+<rhs>'%' <nt def='NT-Name'>Name</nt> ';'</rhs>
+<wfc def='wf-entdeclared'/>
+<vc def='vc-entdeclared'/>
+<wfc def='textent'/>
+<wfc def='norecursion'/>
+<wfc def='indtd'/>
+</prod>
+</scrap>
+
+<wfcnote id='wf-entdeclared'>
+<head>実体が宣言されていること</head>
+<p>DTDをもたない文書,パラメタ実体参照を含まない内部DTD&subset;だけをもつ文書,又は "<code>standalone='yes'</code>" をもつ文書において,実体参照で用いる <nt def='NT-Name'>Name</nt> は,その実体の宣言で与える名前と,<termref def="dt-match">&match;</termref>しなければならない。ただし,&well-formed;の文書は,実体&magicents; を宣言する必要はない。パラメタ実体の場合は,宣言は,参照に先行しなければならない。同様に,一般実体の場合は,属性リスト宣言の&default-value;内での参照より先に,宣言が現れなければならない。</p>
+
+<p>外部&subset;又は外部パラメタ実体で実体を宣言するとき,&non-validating;&processor;が,宣言を読み,処理することを<titleref href='include-if-valid'>義務づけない</titleref>。それらの文書では,実体は宣言されなければならないという規則は,&well-formed;制約ではない。
+</p>
+</wfcnote>
+
+<vcnote id="vc-entdeclared">
+<head>実体が宣言されていること</head>
+<p>
+外部&subset;又は外部パラメタ実体をもっていて,"<code>standalone='no'</code>"をもつ文書において,実体参照で用いる <nt def='NT-Name'>Name</nt> は,その実体の宣言で与える名前と<termref def="dt-match">&match;</termref>しなければならない。相互運用性のため,&valid;な文書は<titleref href="sec-escapes">あらかじめ定義した実体の規定</titleref>で指定した書式によって,実体 &magicents;を宣言することが望ましい。パラメタ実体の場合は,宣言は,参照に先行しなければならない。同様に,一般実体の場合は,属性リスト宣言の&default-value;内での参照よりも先に,宣言が現れなければならない。
+</p>
+</vcnote>
+
+<!-- FINAL EDIT: is this duplication too clumsy? -->
+
+<wfcnote id='textent'>
+<head>&parsed-entity;</head>
+<p>
+実体参照は,<termref def="dt-unparsed">&unparsed-entity;</termref>の名前を含んでいてはならない。&unparsed-entity;は,<kw>ENTITY</kw>型又は<kw>ENTITIES</kw> 型として宣言した<termref def="dt-attrval">属性値</termref>としてだけ参照できる。
+</p>
+</wfcnote>
+
+<wfcnote id='norecursion'>
+<head>再帰なし</head>
+<p>&parsed-entity;は,それ自体への参照を,直接にも間接にも含んではならない。</p>
+</wfcnote>
+
+<wfcnote id='indtd'>
+<head>DTDの中</head>
+<p>
+パラメタ実体参照は,<termref def='dt-doctype'>DTD</termref>内にだけ,出現してよい。
+<!--
+In the external DTD subset, a parameter-entity reference is
+recognized only at the locations where
+the nonterminal <nt def="NT-PEReference">PEReference</nt> or the
+special operator <code>%</code> appears in a production of the
+grammar. In the internal subset, parameter-entity references
+are recognized only when they match
+the <nt def="NT-InternalPERef">InternalPERef</nt> non-terminal
+in the production for <nt def="NT-markupdecl">markupdecl</nt>.
+-->
+</p>
+</wfcnote>
+
+<p>
+文字参照及び実体参照の例を,次に示す。
+<eg>Type &lt;key>less-than&lt;/key> (&hcro;3C;) to save options.
+This document was prepared on &amp;docdate; and
+is classified &amp;security-level;.</eg>
+</p>
+
+<p>
+パラメタ実体参照の例を,次に示す。
+<eg>&lt;!ENTITY % ISOLat2
+ SYSTEM "http://www.xml.com/iso/isolat2-xml.entities" >
+%ISOLat2;
+</eg>
+</p>
+</div2>
+
+<div2 id='sec-entity-decl'>
+<head>実体宣言</head>
+
+<p>
+<termdef id="dt-entdecl" term="entity declaration">
+実体は,次のとおりに宣言する。
+<scrap lang='ebnf'>
+<head>実体宣言</head>
+<prodgroup pcw2="5" pcw4="18.5">
+<prod id='NT-EntityDecl'><lhs>EntityDecl</lhs>
+<rhs><nt def="NT-GEDecl">GEDecl</nt></rhs><com>一般実体</com>
+<rhs>| <nt def="NT-PEDecl">PEDecl</nt></rhs><com>パラメタ実体</com>
+</prod>
+<prod id='NT-GEDecl'><lhs>GEDecl</lhs>
+<rhs>'&lt;!ENTITY' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt> <nt def='NT-EntityDef'>EntityDef</nt>
+<nt def='NT-S'>S</nt>? '&gt;'</rhs>
+</prod>
+<prod id='NT-PEDecl'><lhs>PEDecl</lhs>
+<rhs>| '&lt;!ENTITY' <nt def='NT-S'>S</nt> '%' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt> <nt def='NT-S'>S</nt>
+<nt def='NT-PEDef'>PEDef</nt> <nt def='NT-S'>S</nt>? '&gt;'</rhs>
+<com>パラメタ実体</com>
+</prod>
+<prod id='NT-EntityDef'><lhs>EntityDef</lhs>
+<rhs><nt def='NT-EntityValue'>EntityValue</nt>
+</rhs>
+<!--<wfc def="WF-EntityValue"/>-->
+<rhs>| <nt def='NT-ExternalDef'>ExternalDef</nt></rhs>
+<!--<wfc def="WF-External"/>-->
+</prod>
+<!-- FINAL EDIT: what happened to WFs here? -->
+<prod id='NT-PEDef'><lhs>PEDef</lhs>
+<rhs><nt def='NT-EntityValue'>EntityValue</nt>
+| <nt def='NT-ExternalID'>ExternalID</nt></rhs></prod>
+</prodgroup>
+</scrap>
+
+<nt def='NT-Name'>Name</nt> は,<termref def="dt-entref">実体参照</termref>において実体を&identify;。&unparsed-entity;ならば,<kw>ENTITY</kw> 型又は<kw>ENTITIES</kw>型の属性値内で,実体を&identify;。同一の実体が一回以上宣言されれば,最初の宣言を用いる。&at-user-option;,複数回宣言される実体に関し,XML&processor;は,警告を出してもよい。
+</termdef>
+</p>
+
+<!--
+<wfcnote id="WF-Entityvalue">
+<head>Well-Formed Internal Entity</head>
+<p>General entities defined by an <nt
+def="NT-EntityValue">EntityValue</nt> must be well-formed, as defined
+in section <specref ref="wf-entities"/>.
+</p>
+</wfcnote>
+<wfcnote id="WF-External">
+<head>Well-Formed External Entity</head>
+<p>General text entities defined by an <nt
+def="NT-ExternalDef">ExternalDef</nt>, must be well-formed, as defined
+in the section on <titleref xml-link="simple"
+href="wf-entities">well-formed entities.</titleref>.</p>
+</wfcnote>
+-->
+
+<div3 id='sec-internal-ent'>
+<head>内部実体</head>
+<p>
+<termdef id='dt-internent' term="Internal Entity Replacement Text">
+実体の定義が <nt def='NT-EntityValue'>EntityValue</nt>のとき,これを<term>内部実体</term>という。これは,別個の物理的記憶単位をもたず,実体の内容は,宣言内で与える。</termdef>正しく<termref def='dt-repltext'>&replacement-text;</termref>を生成するには,<termref def='dt-litentval'>&literal;実体値</termref>内での実体参照及び文字参照の処理が,必要となるかもしれないことに注意する。詳細は,<titleref href='intern-replacement'>内部実体の&replacement-text;の構築</titleref>を参照。
+
+<!-- redundant -TWB
+Within the <nt def="NT-EntityValue">EntityValue</nt>,
+parameter-entity references and character references are recognized
+and expanded immediately.
+General-entity references within the
+replacement text are not recognized
+at the time the entity declaration is parsed, though they may be
+recognized when the entity itself is referred to.
+-->
+
+</p>
+
+<p>
+内部実体は,<termref def="dt-parsedent">&parsed-entity;</termref>とする。
+</p>
+
+<p>内部実体宣言の例を,次に示す。
+<eg>&lt;!ENTITY Pub-Status "This is a pre-release of the specification."></eg></p>
+</div3>
+
+<div3 id='sec-external-ent'>
+<head>外部実体</head>
+<p>
+<termdef id="dt-extent" term="External Entity">
+実体が内部実体でなければ,<term>外部実体</term>とし,次のとおりに宣言する。
+
+<scrap lang='ebnf'>
+<head>外部実体宣言</head>
+<prod id='NT-ExternalDef'><lhs>ExternalDef</lhs>
+<rhs><nt def='NT-ExternalID'>ExternalID</nt>
+<nt def='NT-NDataDecl'>NDataDecl</nt>?</rhs></prod>
+<prod id='NT-ExternalID'><lhs>ExternalID</lhs>
+<rhs>'SYSTEM' <nt def='NT-S'>S</nt>
+<nt def='NT-SystemLiteral'>SystemLiteral</nt></rhs>
+<rhs>| 'PUBLIC' <nt def='NT-S'>S</nt>
+<nt def='NT-PubidLiteral'>PubidLiteral</nt>
+<nt def='NT-S'>S</nt>
+<nt def='NT-SystemLiteral'>SystemLiteral</nt>
+</rhs>
+</prod>
+<prod id='NT-NDataDecl'><lhs>NDataDecl</lhs>
+<rhs><nt def='NT-S'>S</nt> 'NDATA' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt></rhs>
+<vc def='not-declared'/></prod>
+</scrap>
+
+<nt def='NT-NDataDecl'>NDataDecl</nt> が存在すれば,この実体は,<termref def="dt-unparsed">&unparsed-entity;</termref>とし,そうでなければ,&parsed-entity;とする。</termdef>
+</p>
+
+<vcnote id='not-declared'>
+<head>記法が宣言されていること</head>
+<p>
+<nt def='NT-Name'>Name</nt> は,宣言した<termref def="dt-notation">記法</termref>の名前と&match;しなければならない。
+</p>
+</vcnote>
+
+<p>
+<termdef id="dt-sysid" term="System Identifier">
+キーワード <kw>SYSTEM</kw> の後の <nt def='NT-SystemLiteral'>SystemLiteral</nt> を,実体の<term>システム&identifier;</term>と呼ぶ。これはURIとし,その実体の内容を取り出すのに用いてもよい。</termdef>URIと共に使うことの多いハッシュ("<code>#</code>")及びフラグメント&identifier;は,正式には,URI自体の一部とはしない。フラグメント&identifier;が,システム&identifier;の部分として与えられている場合,XML&processor;は,&error;を出してもよい。この&TR-or-Rec;の範囲外の情報(例えば,ある特定のDTDの特別なXML要素又は特定の&application;の仕様によって定義された処理命令)によって上書きされない限り,相対的なURIは,その実体の位置,すなわち,その実体の宣言があるファイルに相対的とする。したがって,DTDの内部&subset;にある実体宣言での相対的なURIは,文書の位置について相対的とする。外部&subset;にある実体宣言での相対的なURIは,その外部&subset;を含むファイルの位置に相対的とする。
+</p>
+
+<p>
+<termdef id="dt-pubid" term="Public identifier">
+システム&identifier;以外に,外部実体は,<term>公開&identifier;</term>を含んでもよい。
+</termdef>
+実体の内容を取り出すXML&processor;は,この公開&identifier;を用いて,代わりのURIの生成を試みてもよい。XML&processor;がこれに失敗した場合は,システム&literal;として指定したURIを用いなければならない。&match;する前に,公開&identifier;内にある空白文字からなる&string;は,すべて単一の&space-character;(#x20)に正規化しなければならず,前後の空白文字は削除しなければならない。
+</p>
+
+<p>外部実体宣言の例を,次に示す。
+<eg>&lt;!ENTITY open-hatch
+ SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml">
+&lt;!ENTITY open-hatch
+ PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN"
+ "http://www.textuality.com/boilerplate/OpenHatch.xml">
+&lt;!ENTITY hatch-pic
+ SYSTEM "../grafix/OpenHatch.gif"
+ NDATA gif ></eg></p>
+</div3>
+
+</div2>
+
+<div2 id='TextEntities'>
+<head>&parsed-entity;</head>
+<div3 id='sec-TextDecl'>
+<head>テキスト宣言</head>
+<p>外部&parsed-entity;は,<term>テキスト宣言</term>で始まってもよい。
+<scrap lang='ebnf'>
+<head>テキスト宣言</head>
+<prodgroup pcw4="12.5" pcw5="13">
+<prod id='NT-TextDecl'><lhs>TextDecl</lhs>
+<rhs>&xmlpio;
+<nt def='NT-VersionInfo'>VersionInfo</nt>?
+<nt def='NT-EncodingDecl'>EncodingDecl</nt>
+<nt def='NT-S'>S</nt>? &pic;</rhs>
+<!-- <wfc def='wfc-xmldecliteral'/> -->
+<!-- <wfc def='wfc-no-nonleading-encdec'/> -->
+</prod>
+</prodgroup>
+</scrap>
+</p>
+<p>テキスト宣言は,そのままの形で現れなければならず,&parsed-entity;への参照を経由してはならないことに注意する。</p>
+<p>外部&parsed-entity;において,テキスト宣言は,先頭以外のいかなる位置にも出現しない。</p>
+</div3>
+<div3 id='wf-entities'>
+<head>&well-formed;の&parsed-entity;</head>
+<p>ラベル<nt def='NT-document'>document</nt>をもつ生成規則に&match;すれば,文書実体は,&well-formed;とする。ラベル<nt def='NT-ExtParsedEnt'>ExtParsedEnt</nt>をもつ生成規則に&match;すれば,外部の一般&parsed-entity;は,&well-formed;とする。ラベル<nt def='NT-ExtPE'>ExtPE</nt>をもつ生成規則に&match;すれば,外部パラメタ実体は,&well-formed;とする。
+
+<scrap lang='ebnf'>
+<head>&well-formed;の&parsed-entity;</head>
+<prod id='NT-ExtParsedEnt'><lhs>ExtParsedEnt</lhs>
+<rhs><nt def='NT-TextDecl'>TextDecl</nt>?
+<nt def='NT-content'>content</nt></rhs>
+</prod>
+<prod id='NT-ExtPE'><lhs>ExtPE</lhs>
+<rhs><nt def='NT-TextDecl'>TextDecl</nt>?
+<nt def='NT-extSubset'>extSubset</nt></rhs>
+</prod>
+</scrap>
+&replacement-text;が,ラベル<nt def='NT-content'>content</nt>をもつ生成規則に&match;すれば,内部の一般&parsed-entity;は,&well-formed;とする。DTDを最後まで読み込まないと,確実にこれを判定できないことに注意。すべての内部のパラメタ実体は,定義によって&well-formed;とする。
+</p>
+<p>実体が&well-formed;な結果として,XML文書の論理的及び物理的構造は,正しく入れ子となる。<termref def='dt-stag'>開始タグ</termref>,<termref def='dt-etag'>終了タグ</termref>,<termref def="dt-empty">空要素タグ</termref>,<termref def='dt-element'>要素</termref>,<termref def='dt-comment'>コメント</termref>,<termref def='dt-pi'>処理命令</termref>,<termref def='dt-charref'>文字参照</termref>及び<termref def='dt-entref'>実体参照</termref>が,一つの実体で開始し,別の実体で終了することはない。</p>
+</div3>
+<div3 id='charencoding'>
+<head>実体における文字符号化</head>
+
+<p>XML文書内の外部&parsed-entity;は,各々,別の文字符号化方式を用いてもよい。すべてのXML&processor;は,UTF-8で符号化した実体,UTF-16で符号化した実体を処理できなければならない。
+<!--
+It is recognized that for some purposes, the use of additional
+ISO/IEC 10646 planes other than the Basic Multilingual Plane
+may be required.
+A facility for handling characters in these planes is therefore a
+desirable characteristic in XML processors and applications.
+-->
+</p>
+<p>UTF-16で符号化した実体は,ISO/IEC 10646の付録E及びUnicodeの付録Bで規定する&byte-order-mark;(ZERO WIDTH NO-BREAK SPACE文字,#xFEFF)で始まらなければならない。これは,符号化の標識であって,XML文書の&markup;の一部でも,文字データの一部でもない。XML&processor;は,UTF-8で符号化した文書とUTF-16で符号化した文書との区別を行うために,この文字を使用可能でなければならない。</p>
+<p>XML&processor;は,UTF-8及びUTF-16で符号化した実体だけを読むことを必須とするが,他の符号化を世界では用いており,それらの符号化を用いる実体をXML&processor;が処理できることが望ましい。UTF-8又はUTF-16以外の符号化方式を用いて格納する&parsed-entity;は,符号化宣言を含む<titleref href='TextDecl'>テキスト宣言</titleref>で始めなければならない。
+<scrap lang='ebnf'>
+<head>符号化宣言</head>
+<prod id='NT-EncodingDecl'><lhs>EncodingDecl</lhs>
+<rhs><nt def="NT-S">S</nt>
+'encoding' <nt def='NT-Eq'>Eq</nt>
+'"' <nt def='NT-EncName'>EncName</nt> '"' | "'"
+<nt def='NT-EncName'>EncName</nt> "'"
+</rhs>
+</prod>
+<prod id='NT-EncName'><lhs>EncName</lhs>
+<rhs>[A-Za-z] ([A-Za-z0-9._] | '-')*</rhs>
+<com>ラテン文字だけを含む符号化名</com>
+</prod>
+</scrap>
+<termref def='dt-docent'>文書実体</termref>では,符号化宣言は,<termref def="dt-xmldecl">XML宣言</termref>の一部とする。<nt def="NT-EncName">EncName</nt>は,使用する符号化方式の名前とする。
+</p>
+<!-- FINAL EDIT: check name of IANA and charset names -->
+<p>符号化宣言では,値<code>UTF-8</code>,<code>UTF-16</code>,<code>ISO-10646-UCS-2</code>及び<code>ISO-10646-UCS-4</code>は,Unicode及びISO/IEC 10646の各種符号化のために用いる。値<code>ISO-8859-1</code>から<code>ISO-8859-9</code>までは,ISO 8859の対応するパートのために用いる。値<code>ISO-2022-JP</code>,<code>Shift_JIS</code>及び<code>EUC-JP</code>は,JIS X-0208-1997の各種符号化のために用いる。XML&processor;は,それ以外の符号化方式を認識してもよい。Internet Assigned Numbers Authority (IANA)に,(<emph>charset</emph>sとして)登録された文字符号化方式については,これら以外についても,登録された名前で参照することが望ましい。これらの登録された名前は,大文字・小文字の区別をせずに定義されているので,これらに対する比較を試みる&processor;は,大文字・小文字の区別をしない方法をとるのが望ましいことに注意する。</p>
+<p>XML処理系に渡された実体が,符号化宣言を含むにもかかわらず,宣言で示したもの以外の方式で符号化されていたり,符号化宣言が,外部実体の最初以外の位置に出現すれば,<termref def="dt-error">&error;</termref>とする。
+</p>
+<p>&byte-order-mark;でも符号化宣言でも始まらない実体は,UTF-8符号化でなければならない。</p>
+
+<p><!-- XML processors should make an effort to use all available
+information, internal and external, to aid in detecting an entity's correct
+encoding. Such information may include, but is not limited to:
+<ulist><item><p>An HTTP header</p></item>
+<item><p>A MIME header obtained other than through HTTP</p></item>
+<item><p>Metadata provided by the native OS file system or by document
+management software</p></item>
+<item><p>The bit patterns at the front of an entity, which may
+be analyzed to determine if
+the application of any known encoding yields a valid encoding
+declaration. See <titleref href='sec-guessing'>the appendix on
+autodetection of character sets</titleref>
+for a fuller description.</p></item></ulist> -->
+処理できない符号化をもった実体をXML&processor;が発見したときは,&application;にその事実を通知し,<termref def='dt-fatal'>&fatal-error;</termref>として,処理を終了しなければならない。
+<!--
+inform the application of this fact and
+may
+allow the application to
+request either that the entity should be treated as an <termref
+def="dt-unparsed">unparsed entity</termref>, or that processing should
+cease.-->
+</p>
+<p>符号化宣言の例を,次に示す。
+<eg>&lt;?xml encoding='UTF-8'?>
+&lt;?xml encoding='EUC-JP'?></eg></p>
+</div3>
+</div2>
+<div2 id='entproc'>
+<head>XML&processor;による実体及び参照の扱い</head>
+<p>次の表は,文字参照,実体参照及び&unparsed-entity;の呼出しが現れる文脈及び各々の場合における<termref def='dt-xml-proc'>XML&processor;</termref>に要求する振舞いを要約する。一番左の列のラベルは,認識の文脈を示す。
+<glist>
+<gitem><label>内容における参照</label>
+<def><p>要素の<termref def='dt-stag'>開始タグ</termref>及び<termref def='dt-etag'>終了タグ</termref>の間の任意の場所での参照。非終端記号<nt def='NT-content'>content</nt>に対応する。</p></def>
+</gitem>
+<gitem>
+<label>属性値における参照</label>
+<def><p><termref def='dt-stag'>開始タグ</termref>の属性の値,又は<termref def='dt-attdecl'>属性宣言</termref>における&default-value;のいずれかでの参照。非終端記号<nt def='NT-AttValue'>AttValue</nt>に対応する。</p></def></gitem>
+<gitem>
+<label>属性値として出現</label>
+<def><p>参照ではなく,<nt def='NT-Name'>Name</nt>として出現。<code>ENTITY</code>型として宣言した属性の値,又は<code>ENTITIES</code>型として宣言した属性の値における&space;で区切る&token;の一つとして出現する。</p>
+</def></gitem>
+<gitem><label>実体値における参照</label>
+<def><p>実体の宣言における,パラメタ又は内部実体の<termref def='dt-litentval'>&literal;実体値</termref>内の参照。非終端記号<nt def='NT-EntityValue'>EntityValue</nt>に対応する。</p></def></gitem>
+<gitem><label>DTDにおける参照</label>
+<def><p><termref def='dt-doctype'>DTD</termref>の内部&subset;又は外部&subset;での参照。ただし,<nt def='NT-EntityValue'>EntityValue</nt>又は<nt def="NT-AttValue">AttValue</nt>の外側とする。</p></def>
+</gitem>
+</glist></p>
+<!-- border value changed by bosak -->
+<htable border='1' cellpadding='7' align='center'>
+<!-- tbody wrapper added by bosak -->
+<htbody>
+<tr><td bgcolor='&cellback;' rowspan='2' colspan='1'></td>
+<td bgcolor='&cellback;' align='center' valign='bottom' colspan='4'>実体の型</td>
+<td bgcolor='&cellback;' rowspan='2' align='center'>文字</td>
+</tr>
+<tr align='center' valign='bottom'>
+<td bgcolor='&cellback;'>パラメタ</td>
+<td bgcolor='&cellback;'>内部&newline;一般</td>
+<td bgcolor='&cellback;'>外部&newline;&parsed-entity;&newline;一般</td>
+<td bgcolor='&cellback;'>&unparsed-entity;</td>
+</tr>
+<tr align='center' valign='middle'>
+<!--<td bgcolor='&cellback;' rowspan='4'>Recognition
+Context</td>-->
+<td bgcolor='&cellback;' align='right'>内容での&newline;参照</td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>認識&newline;しない</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>取込み</titleref></td>
+<td bgcolor='&cellback;'><titleref href='include-if-valid'>検証のために取込み</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>禁止</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>取込み</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>属性値での&newline;参照</td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>認識&newline;しない</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>取込み</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>禁止</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>禁止</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>取込み</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>属性値として&newline;出現</td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>認識&newline;しない</titleref></td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>禁止</titleref></td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>禁止</titleref></td>
+<td bgcolor='&cellback;'><titleref href='notify'>通知</titleref></td>
+<td bgcolor='&cellback;'><titleref href='not recognized'>認識&newline;しない</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>実体値での&newline;参照</td>
+<td bgcolor='&cellback;'><titleref href='included'>取込み</titleref></td>
+<td bgcolor='&cellback;'><titleref href='bypass'>&bypass;</titleref></td>
+<td bgcolor='&cellback;'><titleref href='bypass'>&bypass;</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>禁止</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>取込み</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>DTDでの&newline;参照</td>
+<td bgcolor='&cellback;'><titleref href='as-PE'>PEとして&newline;取込み</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>禁止</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>禁止</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>禁止</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>禁止</titleref></td>
+</tr>
+</htbody>
+</htable>
+<div3 id='not-recognized'>
+<head>“認識しない”</head>
+<p>DTDの外では,<code>%</code>文字は,いかなる特定の意味も,もたない。したがって,DTDではパラメタ実体参照として認識するものであっても,<nt def='NT-content'>content</nt>内では&markup;としては認識しない。同様に,適切に宣言した属性の値の中に現れる場合を除き,&unparsed-entity;の名前は,認識しない。
+</p>
+</div3>
+<div3 id='included'>
+<head>“取込み”</head>
+<p><termdef id="dt-include" term="Include">実体は,その<termref def='dt-repltext'>&replacement-text;</termref>を取り出し,処理すると,参照自体の代わりに,参照があった位置で,文書の一部として含まれるかのように<term>取り込まれる</term>。&replacement-text;は,<termref def='dt-chardata'>文字データ</termref>及び(パラメタ実体を除く。)<termref def="dt-markup">&markup;</termref>のいずれを含んでもよく,これらは,通常の方法で認識されなければならない。ただし,&markup;の区切り子を&escape;するために用いる実体(&magicents;)の&replacement-text;は,常にデータとして扱う(&string;"<code>AT&amp;amp;T;</code>"は,"<code>AT&amp;T;</code>"に展開され,残されたアンパサンドは,実体参照の区切り子としては認識しない。)。文字参照は,示した文字を参照自体の代わりに処理するとき,<term>取り込まれる</term>。
+</termdef></p>
+</div3>
+<div3 id='include-if-valid'>
+<head>“検証のために取込み”</head>
+<p>文書の&validity;を<termref def="dt-valid">検証</termref>するには,XML&processor;が&parsed-entity;への参照を認識したとき,その&replacement-text;を<termref def="dt-include">取り込ま</termref>なければならない。実体が外部実体であって,XML文書の&validity;を検証しなければ,実体の&replacement-text;を取り込んでも<termref def="dt-may">よい</termref>が,そうしなくともよい。</p>
+<p>この取決めは,SGML及びXMLの実体の機構が提供する自動取込み機能が,文書作成時のモジュール化を主な目的として設計されており,その他の&application;(特に,文書のブラウズ)には,必ずしも適切ではない,という認識による。例えば,ブラウザは外部&parsed-entity;への参照を見つけると,その実体が存在するという表示だけを行い,表示を要求されたときにだけ,内容を取り出すかもしれない。
+</p>
+</div3>
+<div3 id='forbidden'>
+<head>“禁止”</head>
+<p>次は禁止されており,<termref def='dt-fatal'>&fatal-error;</termref>とする。
+<ulist>
+<item><p>a) <termref def='dt-unparsed'>&unparsed-entity;</termref>への参照の出現。
+</p></item>
+<item><p>b) DTDの<nt def='NT-EntityValue'>EntityValue</nt>又は<nt def="NT-AttValue">AttValue</nt>以外の部分における,文字参照又は一般実体への参照の出現。</p></item>
+<item><p>c) 属性値内の外部実体への参照。</p>
+</item>
+</ulist>
+</p>
+</div3>
+<div3 id='notify'>
+<head>“通知”</head>
+<p><termref def='dt-unparsed'>&unparsed-entity;</termref>の名前が,<kw>ENTITY</kw>又は<kw>ENTITIES</kw>の属性の値において&token;として現れたとき,&processor;は,&application;に対して,関連付けられた<termref def="dt-notation">記法</termref>名,記法に対する<termref def='dt-sysid'>システム</termref>&identifier;及び(存在すれば)<termref def='dt-pubid'>公開</termref>&identifier;を通知しなければならない。</p>
+</div3>
+<div3 id='bypass'>
+<head>“&bypass;”</head>
+<p>一般実体参照が,実体宣言における<nt def='NT-EntityValue'>EntityValue</nt>内に現れるとき,それは無視され,そのまま残る。</p>
+</div3>
+<div3 id='as-PE'>
+<head>“PEとして取込み”</head>
+<p>外部&parsed-entity;の場合と同様に,パラメタ実体は,&validity;を<titleref href='include-if-valid'>検証するときだけ取り込まれる</titleref>必要がある。パラメタ実体参照をDTD内に認識して取り込むとき,その<termref def='dt-repltext'>&replacement-text;</termref>は,その前後に一つの&space-character;(#x20)の付加によって引き伸ばされる。この意図は,パラメタ実体の&replacement-text;が,DTD内のいくつかの文法的&token;を完全に含むと,制約することにある。
+</p>
+</div3>
+<!--
+<div3 id='gen-char-entproc'>
+<head>General and Character Entity Processing</head>
+<p>General-entity and character references are recognized in three
+contexts: wherever the nonterminal <nt def='NT-content'>content</nt> may
+appear, at any point within the nonterminal
+<nt def='NT-AttValue'>AttValue</nt>,
+and within the
+<termref def='dt-litentval'>literal entity value</termref>
+(<nt def='NT-EntityValue'>EntityValue</nt>)
+of an internal entity declaration.
+This section discusses the first two cases; the third
+is discussed <titleref href='intern-replacement'>below</titleref>.
+When an <termref def="dt-xml-proc">XML processor</termref> encounters
+such a reference, or the name of an unparsed entity as the value
+of an <kw>ENTITY</kw> or <kw>ENTITIES</kw> attribute, then:
+<olist>
+
+<item><p>In all cases, the XML processor may
+inform the application of the reference's occurrence and its identifier
+(for an entity reference, the name; for a character
+reference,
+the character number in decimal, hexadecimal, or binary form).</p></item>
+
+<item><p>For both character and entity references, the processor must
+remove the reference itself from the <termref def="dt-text">text</termref> data
+before passing the data to the application.
+</p></item>
+
+<item><p>For character references, the processor must
+pass the character indicated
+to the application in
+place of the reference.
+</p></item>
+
+<item><p>For an external entity, the processor must inform the
+application of the entity's <termref def="dt-sysid">system
+identifier</termref>, and <termref def="dt-pubid">public identifier</termref>
+if any.
+All strings
+of white space in the public identifier must be normalized to single space characters (#x20),
+and leading and trailing white space must be removed.</p></item>
+
+<item><p>If the external entity is binary, the processor must inform the
+application of the associated <termref def="dt-notation">notation</termref>
+name, and the notation's associated <termref def='dt-sysid'>system</termref>
+and <termref def='dt-pubid'>public</termref> (if any)
+identifiers.</p></item>
+
+<item><p><termdef id="dt-include" term="Include">For an internal
+(parsed) entity, the processor must <term>include</term> the
+entity; that is, retrieve its replacement text
+and process it as a part of the document
+(i.e. as <nt def="NT-content">content</nt> or <nt
+def="NT-AttValue">AttValue</nt>, whichever was being processed when
+the reference was recognized), passing the result to the application
+in place of the reference. The replacement text may contain both
+<termref def='dt-chardata'>character data</termref>
+and <termref def="dt-markup">markup</termref>, which must be recognized in
+the usual way, except that the replacement text of entities used to escape
+markup delimiters (the entities &magicents;) is always treated as
+data. (The string "<code>AT&amp;amp;T;</code>" expands to
+"<code>AT&amp;T;</code>" since the ampersand replacing "<code>&amp;amp;</code>"
+is not recognized
+as an entity-reference delimiter.) </termdef></p>
+<p>Since the entity may contain other entity references,
+an XML processor may have to repeat the inclusion process recursively.</p>
+</item>
+<item><p>If the entity is an external parsed entity, then in order to
+<termref def="dt-valid">validate</termref> the XML document, the processor must
+<termref def="dt-include">include</termref> the content of the
+entity.</p></item>
+
+<item><p>If the entity is an external parsed entity, and the processor is not
+attempting to <termref def="dt-valid">validate</termref> the XML document, the
+processor <termref def="dt-may">may</termref>, but need not, <termref
+def="dt-include">include</termref> the entity's content.</p>
+<p>This rule is based on the recognition that the automatic inclusion
+provided by the SGML and XML entity mechanism, primarily designed
+to support modularity in authoring, is not necessarily
+appropriate for other applications, in particular document browsing.
+Browsers, for example, when encountering an external parsed entity reference,
+might choose to provide a visual indication of the entity's
+presence and retrieve it for display only on demand.
+</p></item>
+</olist>
+</p>
+<p><termdef id="dt-escape" term="escape">Entity and character
+references can both be used to <term>escape</term> the left angle bracket,
+ampersand, and other delimiters. A set of general entities
+(&magicents;) is specified for this purpose.
+Numeric character references may also be used; they are
+expanded immediately when recognized, and must be treated as
+character data, so the numeric character references
+"<code>&amp;#60;</code>" and "<code>&amp;#38;</code>" may be used to
+escape <code>&lt;</code> and <code>&amp;</code> when they occur
+in character data.</termdef></p>
+</div3>
+<div3 id='PE-proc'>
+<head>Parameter Entity Processing</head>
+<p>Parameter-entity references are only recognized in the
+<termref def='dt-doctype'>DTD</termref>.
+Their processing, when they appear
+within the
+<termref def='dt-litentval'>literal entity value</termref>
+(<nt def='NT-EntityValue'>EntityValue</nt>)
+of an internal entity declaration,
+is discussed <titleref href='intern-replacement'>below</titleref>.
+They have these intended uses:
+<olist>
+<item><p>as a replacement for one or more complete markup declarations</p></item>
+<item><p>as a replacement for one or more complete "groups" in
+element declarations</p></item>
+<item><p>as a replacement for one or more complete "tokens" in
+markup declarations</p></item>
+</olist>
+</p>
+<p>The constraints requiring that PE replacement texts be properly nested
+with <titleref href='vc-PEinMarkupDecl'>markup declarations</titleref>
+and <titleref href='vc-PEinGroup'>content groups</titleref>
+govern the first two usages.</p>
+<p>To support the third intended usage,
+when an XML processor encounters a parameter-entity reference
+(outside of the
+<termref def='dt-litentval'>literal entity value</termref> in an entity
+declaration),
+it must <termref def="dt-include">include</termref>
+the named entity, but first expand its
+<termref def='dt-repltext'>replacement text</termref> by attaching
+space (#x20) characters to its beginning and the end, before
+processing it.</p>
+<p>The DTD text must match the relevant
+rules of this specification's grammar after all parameter-entity
+references have been expanded.
+<!-In addition, parameter entities referred to in specific
+contexts are required to satisfy certain constraints in their
+replacement text; for example, a parameter entity referred to within
+the internal DTD subset must match the rule for <nt
+def="NT-markupdecl">markupdecl</nt>. ->
+</p>
+</div3>
+-->
+</div2>
+<div2 id='intern-replacement'>
+<head>内部実体&replacement-text;の構築</head>
+<p>内部実体の取扱いの規定で,実体値を二つの形式に区別することは役に立つ。<termdef id="dt-litentval" term='Literal Entity Value'><term>&literal;実体値</term>は,実体宣言内に実際に存在する,引用符で囲む&string;とする。これは,非終端記号<nt def='NT-EntityValue'>EntityValue</nt>に&match;する。</termdef><termdef id='dt-repltext' term='Replacement Text'><term>&replacement-text;</term>は,文字参照及び&parameter;実体参照の置換え後における,実体の内容とする。</termdef></p>
+
+<p>内部実体宣言内で与える&literal;実体値<!-- replacement text -->(<nt def='NT-EntityValue'>EntityValue</nt>)は,文字参照,&parameter;実体参照及び一般実体参照を含んでよい。これらの参照は,<!-- replacement text. -->&literal;実体値内に完全に含まれていなければならない。<termref def='dt-include'>展開する</termref>実際の&replacement-text;(先に示したもの)は,参照する&parameter;実体の<emph>&replacement-text;</emph>を含まなければならず,&literal;実体値内での文字参照の代わりに参照した文字を含まなければならない。しかし,一般実体参照は,そのまま残し, 展開してはならない。
+<!-- in the replacement text that is to be included. -->
+例えば,次の宣言を与えたとする。
+
+<eg><![CDATA[<!ENTITY % pub "&#xc9;ditions Gallimard" >
+<!ENTITY rights "All rights reserved" >
+<!ENTITY book "La Peste: Albert Camus,
+&#xA9; 1947 %pub;. &rights;" >]]></eg>
+実体の&replacement-text;"<code>book</code>"は,次のとおりとなる。
+<eg>La Peste: Albert Camus,
+&#169; 1947 &#201;ditions Gallimard. &amp;rights;</eg>
+参照"<code>&amp;book;</code>"が,文書の内容又は属性値内に出現していれば,一般実体参照"<code>&amp;rights;</code>"は,展開されている。</p>
+<p>これらの単純な規則は,複合相互作用をもつ。
+<!-- 日本語訳について: interaction = 相互作用(金本)-->
+難しい例についての詳細は,<titleref href='sec-entexpand'>実体参照の展開の付録</titleref>を参照のこと。
+</p>
+<!-- Replaced by the above -TB
+<p>Implementors of XML processors need to know the rules for
+expansion of references in more detail. These rules only come into
+play when the replacement text for an internal entity itself contains
+other references.
+<olist>
+<item><p>In the replacement text of an internal entity, parameter-entity
+references and character references in the replacement text
+are recognized and resolved
+when the entity declaration is parsed,
+before the replacement text is stored in
+the processor's symbol table.
+General-entity references in the replacement text are not
+resolved when the entity declaration is parsed.</p></item>
+<item><p>In the document, when a general-entity reference is
+resolved, its replacement text is parsed. Character references
+encountered in the replacement text are
+resolved immediately; general-entity references encountered in the
+replacement text may be resolved or left unresolved, as described
+<titleref href="entproc">above</titleref>.
+Character and general-entity references must be
+contained entirely within the entity's replacement text.
+</p></item>
+</olist>
+</p>
+
+<p>Simple character references do not suffice to escape delimiters
+within the replacement text of an internal entity: they will be
+expanded when the entity declaration is parsed, before the replacement
+text is stored in the symbol table. When the entity itself is
+referred to, the replacement text will be parsed again, and the
+delimiters (no longer character references)
+will be recognized as delimiters. To escape the
+characters &magicents; in an entity replacement text, use
+a general-entity reference or a doubly-escaped character reference.
+See <titleref href='sec-entexpand'>the appendix on expansion
+of entity references</titleref>
+for detailed examples.</p>
+-->
+
+
+</div2>
+<div2 id='sec-predefined-ent'>
+<head>定義済み実体</head>
+<p><termdef id="dt-escape" term="escape">
+実体参照及び文字参照のいずれも,&left-angle-bracket;,アンバサンド及び他の区切り子を<term>&escape;</term>するために使用できる。いくつかの一般実体(&magicents;)を,この目的のために指定する。数値による文字参照も,同様の目的のために使用できる。文字参照は,認識されると直ちに展開され,文字データとして扱われるので,数値による文字参照"<code>&amp;#60;</code>"及び"<code>&amp;#38;</code>"は,文字データ内に出現する<code>&lt;</code>及び<code>&amp;</code>を&escape;するために使用できる。</termdef></p>
+<p>すべてのXML&processor;は,宣言されているかどうかに関係なく,これらの実体を認識しなくてはならない。<termref def='dt-interop'>相互運用性のため</termref>,&valid;なXML文書は,これらの実体を使用する前に,他の実体と同様に,宣言することが望ましい。実体を宣言する場合は,&replacement-text;を&escape;する一文字とする内部実体として,次のとおりに宣言しなければならない。
+<eg><![CDATA[<!ENTITY lt "&#38;#60;">
+<!ENTITY gt "&#62;">
+<!ENTITY amp "&#38;#38;">
+<!ENTITY apos "&#39;">
+<!ENTITY quot "&#34;">
+]]></eg>
+"<code>lt</code>"及び"<code>amp</code>"宣言内の"<code>&lt;</code>"及び"<code>&amp;</code>"文字は,実体の置換テキストが,&well-formed;となるように二重に&escape;されることに注意。
+</p>
+</div2>
+
+
+<div2 id='Notations'>
+<head>記法宣言</head>
+
+
+<p>
+<termdef id="dt-notation" term="Notation">
+<term>記法</term>は,<termref def="dt-extent">&unparsed-entity;</termref>の形式を&identify;名前か,又は<termref def="dt-pi">処理命令</termref>の対象とする&application;を&identify;名前とする。</termdef></p>
+<p><termdef id="dt-notdecl" term="Notation Declaration">
+<term>記法宣言</term>は,記法の名前及び外部&identifier;を提供する。この名前は,実体及び属性リスト宣言並びに属性指定に用いる。外部&identifier;は,与えられた記法のデータを処理できるヘルパ&application;を,XML&processor;又はクライアントアプリケーションが探すために,利用できる。
+<scrap lang='ebnf'>
+<head>記法宣言</head>
+<prod id='NT-NotationDecl'><lhs>NotationDecl</lhs>
+<rhs>'&lt;!NOTATION' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>
+(<nt def='NT-ExternalID'>ExternalID</nt> |
+<nt def='NT-PublicID'>PublicID</nt>)
+<nt def='NT-S'>S</nt>? '>'</rhs></prod>
+<prod id='NT-PublicID'><lhs>PublicID</lhs>
+<rhs>'PUBLIC' <nt def='NT-S'>S</nt>
+<nt def='NT-PubidLiteral'>PubidLiteral</nt>
+</rhs></prod>
+</scrap>
+</termdef></p>
+<p>宣言し,属性値,属性定義又は実体宣言で参照するすべての記法について,XML&processor;は,記法の名前及び外部&identifier;を&application;に提供しなければならない。さらに,外部&identifier;を,<termref def="dt-sysid">システム&identifier;</termref>,ファイル名又はその他の情報に展開してもよく,これらを用いて,&application;は,その記法のデータを処理する&processor;を起動する。(しかし,XML&processor;又は&application;が動作するシステムでは利用できない記法を,XML文書が宣言し参照しても,これは,&error;とはしない。)</p>
+</div2>
+
+
+<div2 id='sec-doc-entity'>
+<head>文書実体</head>
+
+<p><termdef id="dt-docent" term="Document Entity"><term>文書実体</term>は,実体の形成する木構造の&root;であって,<termref def="dt-xml-proc">XML&processor;</termref>が,処理を開始する地点とする。</termdef>この&TR-or-Rec;は,XML&processor;が,文書実体の存在する場所をどのように見つけるかは,規定しない。他の実体と異なり,文書実体は名前をもたず,いかなる識別もなしに&processor;への入力&stream;に出現してもよい。</p>
+</div2>
+
+
+</div1>
+<!-- &Conformance; -->
+<div1 id='sec-conformance'>
+<head>適合性</head>
+
+<p>適合する<termref def="dt-xml-proc">XML&processor;</termref>は,&validating;もの及び&non-validating;ものの,二つに分類される。</p>
+<p>&validating;システム及び&non-validating;システムは,この&TR-or-Rec;が規定する&well-formed;制約への違反を報告しなければならない。</p>
+<p><termdef id="dt-validating" term="Validating Processor"><term>&validating;&processor;</term>は,<termref def="dt-doctype">DTD</termref>内の宣言によって示された,制約への違反を報告しなければならない。さらに,この&TR-or-Rec;が規定する&validity;制約への違反を,すべて報告しなければならない。
+</termdef>
+</p>
+</div1>
+
+<div1 id='sec-notation'>
+<head>記法</head>
+
+<p>XMLの形式的な文法は,簡単な拡張Backus-Naur Form(EBNF)記法によって与える。文法の各規則は,次の形式で,記号を一つ定義する。
+<eg>symbol ::= expression</eg></p>
+<p>記号は,正規表現で定義するときは大文字で始め,そうでなければ,小文字で始める。&string;&literal;は,引用符で囲む。
+<!--* The distinction between symbols which can and cannot be
+recognized using simple regular expressions may be used to set the
+boundary between an implementation's lexical scanner and its parser,
+but this specification neither constrains the placement of that
+boundary nor presupposes that all implementations will have one. *-->
+</p>
+
+<p>規則の右側の式内では,一つ又は複数の文字からなる&string;と&match;するために,次の式を使用する。
+<glist>
+<gitem>
+<label><code>#xN</code></label>
+<def><p>ここで,<code>N</code>は16進の整数とする。ISO/IEC 10646の文字であって,正規形(UCS-4)の&code-value;を符号なし2進数として解釈したとき,指定した値と等しいものと&match;する。<code>#xN</code>形式の先頭にゼロがいくつか現れるかは,意味をもたない。&code-value;<!-- bit string -->における先頭のゼロの数は,文字の符号化によって決定されるので,XMLにとっては意味がない。
+</p></def>
+</gitem>
+<gitem>
+<label><code>[a-zA-Z]</code>, <code>[#xN-#xN]</code></label>
+<def><p>指定した範囲の値(両端の値を含む。)をもつ任意の<termref def='dt-character'>文字</termref>と&match;する。</p></def>
+</gitem>
+<gitem>
+<label><code>[^a-z]</code>, <code>[^#xN-#xN]</code></label>
+<def><p>指定した範囲<emph>外</emph>の値をもつ任意の<termref def='dt-character'>文字</termref>と&match;する。</p></def>
+</gitem>
+<gitem>
+<label><code>[^abc]</code>, <code>[^#xN#xN#xN]</code></label>
+<def><p>指定した文字以外の値をもつ任意の<termref def='dt-character'>文字</termref>と&match;する。</p></def>
+</gitem>
+<gitem>
+<label><code>"string"</code></label>
+<def><p>&double-quote;で囲む&string;&literal;と<termref def="dt-match">&match;している</termref>&string;&literal;と&match;する。</p></def>
+</gitem>
+<gitem>
+<label><code>'string'</code></label>
+<def><p>&single-quote;で囲む&string;&literal;と<termref def="dt-match">&match;している</termref>&string;&literal;と&match;する。</p></def>
+</gitem>
+</glist>
+これらの記号は,次の形式の組合せで使用する。ここで,<code>A</code>及び<code>B</code>は,単純な式とする。
+<glist>
+<gitem>
+<label>(<code>expression</code>)</label>
+<def><p><code>expression</code>は,一つのまとまりとして扱い,ここに示す組合せで使ってもよい。</p></def>
+</gitem>
+<gitem>
+<label><code>A?</code></label>
+<def><p><code>A</code>又は何もなしと&match;する(オプションの<code>A</code>)。</p></def>
+</gitem>
+<gitem>
+<label><code>A B</code></label>
+<def><p><code>A</code>の次に<code>B</code>が出現するものと&match;する。
+</p></def>
+</gitem>
+<gitem>
+<label><code>A | B</code></label>
+<def><p><code>A</code>又は<code>B</code>,ただし,両方ではない,と&match;する。
+</p></def>
+</gitem>
+<gitem>
+<label><code>A - B</code></label>
+<def><p><code>A</code>と&match;するが,<code>B</code>とは&match;しない,任意の&string;と&match;する。</p></def>
+</gitem>
+<gitem>
+<label><code>A+</code></label>
+<def><p><code>A</code>の1回以上の繰返しと&match;する。</p></def>
+</gitem>
+<gitem>
+<label><code>A*</code></label>
+<def><p><code>A</code>の0回以上の繰返しと&match;する。</p></def>
+</gitem>
+<!-- DEATH TO %'s
+<gitem>
+<label><code>%a</code></label>
+<def><p>specifies that <emph>in the external DTD subset</emph> a
+<termref def='dt-param-entity'>parameter entity</termref> may occur in the
+text at the position where <code>a</code> may occur; if so, its
+replacement text must match <code>S? a S?</code>. If
+the expression <code>a</code> is governed by a suffix operator, then
+the suffix operator determines both the maximum number of parameter-entity
+references allowed and the number of occurrences of <code>a</code>
+in the replacement text of the parameter entities: <code>%a*</code>
+means that <code>a</code> must occur zero or more times, and
+that some of its occurrences may be replaced by references to
+parameter entities whose replacement text must contain zero or
+more occurrences of <code>a</code>; it is thus a more compact way
+of writing <code>%(a*)*</code>.
+Similarly, <code>%a+</code> means that <code>a</code>
+must occur one or more times, and may be replaced by
+parameter entities with replacement text matching
+<code>S? (a S?)+</code>.
+The recognition of parameter entities in the internal subset is much more
+highly constrained.
+</p></def>
+</gitem>
+-->
+</glist>
+生成規則内で使用する他の記法を,次に示す。
+<glist>
+<gitem>
+<label><code>/* ... */</code></label>
+<def><p>コメント。</p></def>
+</gitem>
+<gitem>
+<label><code>[ wfc: ... ]</code></label>
+<def><p>&well-formed;制約。生成規則に付与した,<termref def="dt-wellformed">&well-formed;</termref>の文書に関する制約を,名前によって&identify;。</p></def>
+</gitem>
+<gitem>
+<label><code>[ vc: ... ]</code></label>
+<def><p>&validity;制約。生成規則に付与した,<termref def="dt-valid">&valid;</termref>な文書に関する制約を,名前によって&identify;。
+</p></def>
+</gitem>
+</glist>
+</p></div1>
+
+</body>
+<back>
+<!-- &SGML; -->
+
+<!-- &Biblio; -->
+<div1 id='sec-bibliography'>
+
+<head>参考文献</head>
+<div2 id='sec-existing-stds'>
+<head>&normative;参考文献</head>
+<!--* <ulist><item>
+<p>Unicode and ISO/IEC 10646. This specification depends on the
+international standard ISO/IEC 10646 (with amendments AM 1 through AM 7)
+and the Unicode Standard, Version 2.0 <bibref ref='Unicode'/>,
+which define the encodings and meanings of
+the <termref def="dt-character">characters</termref> which
+make up XML <termref def="dt-text">text</termref>.
+All the characters in ISO/IEC 10646 are present, at the same code points,
+in Unicode.</p></item>
+<item><p>XXX XXX defines the syntax and semantics of
+Uniform Resource Identifiers, or URIs.</p></item>
+<item><p>IETF RFC 1766, with ISO 639 and 3166,
+describe the codes that may be used in the
+special <titleref href='sec-lang-tag'>xml:lang</titleref> attribute.</p>
+</item></ulist>
+*-->
+
+<blist>
+
+<bibl id='RFC1766' key='IETF RFC 1766'>
+IETF (Internet Engineering Task Force).
+<emph>RFC 1766: Tags for the Identification of Languages</emph>,
+ed. H. Alvestrand.
+1995.
+</bibl>
+
+<bibl id='ISO639' key='ISO 639'>
+(International Organization for Standardization).
+<emph>ISO 8879:1988 (E).
+Code for the representation of names of languages.</emph>
+[Geneva]: International Organization for
+Standardization, 1988.</bibl>
+
+<bibl id='ISO3166' key='ISO 3166'>
+(International Organization for Standardization).
+<emph>ISO 3166-1:1997 (E).
+Codes for the representation of names of countries and their subdivisions
+&mdash; Part 1: Country codes</emph>
+[Geneva]: International Organization for
+Standardization, 1997.</bibl>
+
+<bibl id='ISO10646' key='ISO/IEC 10646'>ISO
+(International Organization for Standardization).
+<emph>ISO/IEC 10646-1993 (E). Information technology &mdash; Universal
+Multiple-Octet Coded Character Set (UCS) &mdash; Part 1:
+Architecture and Basic Multilingual Plane.</emph>
+[Geneva]: International Organization for
+Standardization, 1993 (plus amendments AM 1 through AM 7).
+</bibl>
+
+<bibl id='Unicode' key='Unicode'>The Unicode Consortium.
+<emph>The Unicode Standard, Version 2.0.</emph>
+Reading, Mass.: Addison-Wesley Developers Press, 1996.</bibl>
+
+</blist>
+
+</div2>
+
+<div2><head>他の参考文献</head>
+
+<blist>
+
+<bibl id='Aho' key='Aho/Ullman'>Aho, Alfred V.,
+Ravi Sethi, and Jeffrey D. Ullman.
+<emph>Compilers: Principles, Techniques, and Tools</emph>.
+Reading: Addison-Wesley, 1986, rpt. corr. 1988.</bibl>
+
+<bibl id="Berners-Lee" xml-link="simple" key="Berners-Lee et al.">
+Berners-Lee, T., R. Fielding, and L. Masinter.
+<emph>Uniform Resource Identifiers (URI): Generic Syntax and
+Semantics</emph>.
+1997.
+(Work in progress; see updates to RFC1738.)</bibl>
+
+<bibl id='ABK' key='Br&#252;ggemann-Klein'>Br&#252;ggemann-Klein, Anne.
+<emph>Regular Expressions into Finite Automata</emph>.
+Extended abstract in I. Simon, Hrsg., LATIN 1992,
+S. 97-98. Springer-Verlag, Berlin 1992.
+Full Version in Theoretical Computer Science 120: 197-213, 1993.
+<!--
+Universitat Freiburg, Institut fur Informatik,
+Bericht 33, Juli 1991.-->
+</bibl>
+
+<bibl id='ABKDW' key='Br&#252;ggemann-Klein and Wood'>Br&#252;ggemann-Klein, Anne,
+and Derick Wood.
+<emph>Deterministic Regular Languages</emph>.
+Universit&#228;t Freiburg, Institut f&#252;r Informatik,
+Bericht 38, Oktober 1991.
+</bibl>
+
+<bibl id="RFC1738" xml-link="simple" key="IETF RFC1738">
+IETF (Internet Engineering Task Force).
+<emph>RFC 1738: Uniform Resource Locators (URL)</emph>,
+ed. T. Berners-Lee, L. Masinter, M. McCahill.
+1994.
+</bibl>
+
+<bibl id="RFC1808" xml-link="simple" key="IETF RFC1808">
+IETF (Internet Engineering Task Force).
+<emph>RFC 1808: Relative Uniform Resource Locators</emph>,
+ed. R. Fielding.
+1995.
+</bibl>
+
+<bibl id="RFC2141" xml-link="simple" key="IETF RFC2141">
+IETF (Internet Engineering Task Force).
+<emph>RFC 2141: URN Syntax</emph>,
+ed. R. Moats.
+1997.
+</bibl>
+
+<bibl id='ISO8879' key='ISO/IEC 8879'>ISO
+(International Organization for Standardization).
+<emph>ISO/IEC 8879-1986 (E). Information processing &mdash; Text and Office
+Systems &mdash; Standard Generalized Markup Language (SGML).</emph> First
+edition &mdash; 1986-10-15. [Geneva]: International Organization for
+Standardization, 1986.
+</bibl>
+
+
+<bibl id='ISO10744' key='ISO/IEC 10744'>ISO
+(International Organization for Standardization).
+<emph>ISO/IEC 10744-1992 (E). Information technology &mdash;
+Hypermedia/Time-based Structuring Language (HyTime).
+</emph>
+[Geneva]: International Organization for
+Standardization, 1992.
+<emph>Extended Facilities Annexe.</emph>
+[Geneva]: International Organization for
+Standardization, 1996.
+</bibl>
+
+
+
+</blist>
+</div2>
+</div1>
+<div1 id='CharClasses'>
+<head>文字クラス</head>
+
+<p>Unicode標準に定義する&property;にしたがって,文字は,&base-character;(BaseChar)(これらは,&diacritical-mark;を除くラテンアルファベットのアルファベット文字を含む),&ideographic;(ideographic)及び&combining-character;(CombiningChar)(このクラスは,ほとんどの&diacritical-mark;を含む)にクラス分けする。これらのクラスは,結合し,&letter;(Letter)のクラスとなる。10進数値(Digit)及び&extender;(Extender)も区別する。
+<scrap lang="ebnf" id="CHARACTERS">
+<head>文字</head>
+<prodgroup pcw3="3" pcw4="15">
+<prod id="NT-Letter"><lhs>Letter</lhs>
+<rhs><nt def="NT-BaseChar">BaseChar</nt>
+| <nt def="NT-Ideographic">Ideographic</nt></rhs> </prod>
+<prod id='NT-BaseChar'><lhs>BaseChar</lhs>
+<rhs>[#x0041-#x005A]
+|&nbsp;[#x0061-#x007A]
+|&nbsp;[#x00C0-#x00D6]
+|&nbsp;[#x00D8-#x00F6]
+|&nbsp;[#x00F8-#x00FF]
+|&nbsp;[#x0100-#x0131]
+|&nbsp;[#x0134-#x013E]
+|&nbsp;[#x0141-#x0148]
+|&nbsp;[#x014A-#x017E]
+|&nbsp;[#x0180-#x01C3]
+|&nbsp;[#x01CD-#x01F0]
+|&nbsp;[#x01F4-#x01F5]
+|&nbsp;[#x01FA-#x0217]
+|&nbsp;[#x0250-#x02A8]
+|&nbsp;[#x02BB-#x02C1]
+|&nbsp;#x0386
+|&nbsp;[#x0388-#x038A]
+|&nbsp;#x038C
+|&nbsp;[#x038E-#x03A1]
+|&nbsp;[#x03A3-#x03CE]
+|&nbsp;[#x03D0-#x03D6]
+|&nbsp;#x03DA
+|&nbsp;#x03DC
+|&nbsp;#x03DE
+|&nbsp;#x03E0
+|&nbsp;[#x03E2-#x03F3]
+|&nbsp;[#x0401-#x040C]
+|&nbsp;[#x040E-#x044F]
+|&nbsp;[#x0451-#x045C]
+|&nbsp;[#x045E-#x0481]
+|&nbsp;[#x0490-#x04C4]
+|&nbsp;[#x04C7-#x04C8]
+|&nbsp;[#x04CB-#x04CC]
+|&nbsp;[#x04D0-#x04EB]
+|&nbsp;[#x04EE-#x04F5]
+|&nbsp;[#x04F8-#x04F9]
+|&nbsp;[#x0531-#x0556]
+|&nbsp;#x0559
+|&nbsp;[#x0561-#x0586]
+|&nbsp;[#x05D0-#x05EA]
+|&nbsp;[#x05F0-#x05F2]
+|&nbsp;[#x0621-#x063A]
+|&nbsp;[#x0641-#x064A]
+|&nbsp;[#x0671-#x06B7]
+|&nbsp;[#x06BA-#x06BE]
+|&nbsp;[#x06C0-#x06CE]
+|&nbsp;[#x06D0-#x06D3]
+|&nbsp;#x06D5
+|&nbsp;[#x06E5-#x06E6]
+|&nbsp;[#x0905-#x0939]
+|&nbsp;#x093D
+|&nbsp;[#x0958-#x0961]
+|&nbsp;[#x0985-#x098C]
+|&nbsp;[#x098F-#x0990]
+|&nbsp;[#x0993-#x09A8]
+|&nbsp;[#x09AA-#x09B0]
+|&nbsp;#x09B2
+|&nbsp;[#x09B6-#x09B9]
+|&nbsp;[#x09DC-#x09DD]
+|&nbsp;[#x09DF-#x09E1]
+|&nbsp;[#x09F0-#x09F1]
+|&nbsp;[#x0A05-#x0A0A]
+|&nbsp;[#x0A0F-#x0A10]
+|&nbsp;[#x0A13-#x0A28]
+|&nbsp;[#x0A2A-#x0A30]
+|&nbsp;[#x0A32-#x0A33]
+|&nbsp;[#x0A35-#x0A36]
+|&nbsp;[#x0A38-#x0A39]
+|&nbsp;[#x0A59-#x0A5C]
+|&nbsp;#x0A5E
+|&nbsp;[#x0A72-#x0A74]
+|&nbsp;[#x0A85-#x0A8B]
+|&nbsp;#x0A8D
+|&nbsp;[#x0A8F-#x0A91]
+|&nbsp;[#x0A93-#x0AA8]
+|&nbsp;[#x0AAA-#x0AB0]
+|&nbsp;[#x0AB2-#x0AB3]
+|&nbsp;[#x0AB5-#x0AB9]
+|&nbsp;#x0ABD
+|&nbsp;#x0AE0
+|&nbsp;[#x0B05-#x0B0C]
+|&nbsp;[#x0B0F-#x0B10]
+|&nbsp;[#x0B13-#x0B28]
+|&nbsp;[#x0B2A-#x0B30]
+|&nbsp;[#x0B32-#x0B33]
+|&nbsp;[#x0B36-#x0B39]
+|&nbsp;#x0B3D
+|&nbsp;[#x0B5C-#x0B5D]
+|&nbsp;[#x0B5F-#x0B61]
+|&nbsp;[#x0B85-#x0B8A]
+|&nbsp;[#x0B8E-#x0B90]
+|&nbsp;[#x0B92-#x0B95]
+|&nbsp;[#x0B99-#x0B9A]
+|&nbsp;#x0B9C
+|&nbsp;[#x0B9E-#x0B9F]
+|&nbsp;[#x0BA3-#x0BA4]
+|&nbsp;[#x0BA8-#x0BAA]
+|&nbsp;[#x0BAE-#x0BB5]
+|&nbsp;[#x0BB7-#x0BB9]
+|&nbsp;[#x0C05-#x0C0C]
+|&nbsp;[#x0C0E-#x0C10]
+|&nbsp;[#x0C12-#x0C28]
+|&nbsp;[#x0C2A-#x0C33]
+|&nbsp;[#x0C35-#x0C39]
+|&nbsp;[#x0C60-#x0C61]
+|&nbsp;[#x0C85-#x0C8C]
+|&nbsp;[#x0C8E-#x0C90]
+|&nbsp;[#x0C92-#x0CA8]
+|&nbsp;[#x0CAA-#x0CB3]
+|&nbsp;[#x0CB5-#x0CB9]
+|&nbsp;#x0CDE
+|&nbsp;[#x0CE0-#x0CE1]
+|&nbsp;[#x0D05-#x0D0C]
+|&nbsp;[#x0D0E-#x0D10]
+|&nbsp;[#x0D12-#x0D28]
+|&nbsp;[#x0D2A-#x0D39]
+|&nbsp;[#x0D60-#x0D61]
+|&nbsp;[#x0E01-#x0E2E]
+|&nbsp;#x0E30
+|&nbsp;[#x0E32-#x0E33]
+|&nbsp;[#x0E40-#x0E45]
+|&nbsp;[#x0E81-#x0E82]
+|&nbsp;#x0E84
+|&nbsp;[#x0E87-#x0E88]
+|&nbsp;#x0E8A
+|&nbsp;#x0E8D
+|&nbsp;[#x0E94-#x0E97]
+|&nbsp;[#x0E99-#x0E9F]
+|&nbsp;[#x0EA1-#x0EA3]
+|&nbsp;#x0EA5
+|&nbsp;#x0EA7
+|&nbsp;[#x0EAA-#x0EAB]
+|&nbsp;[#x0EAD-#x0EAE]
+|&nbsp;#x0EB0
+|&nbsp;[#x0EB2-#x0EB3]
+|&nbsp;#x0EBD
+|&nbsp;[#x0EC0-#x0EC4]
+|&nbsp;[#x0F40-#x0F47]
+|&nbsp;[#x0F49-#x0F69]
+|&nbsp;[#x10A0-#x10C5]
+|&nbsp;[#x10D0-#x10F6]
+|&nbsp;#x1100
+|&nbsp;[#x1102-#x1103]
+|&nbsp;[#x1105-#x1107]
+|&nbsp;#x1109
+|&nbsp;[#x110B-#x110C]
+|&nbsp;[#x110E-#x1112]
+|&nbsp;#x113C
+|&nbsp;#x113E
+|&nbsp;#x1140
+|&nbsp;#x114C
+|&nbsp;#x114E
+|&nbsp;#x1150
+|&nbsp;[#x1154-#x1155]
+|&nbsp;#x1159
+|&nbsp;[#x115F-#x1161]
+|&nbsp;#x1163
+|&nbsp;#x1165
+|&nbsp;#x1167
+|&nbsp;#x1169
+|&nbsp;[#x116D-#x116E]
+|&nbsp;[#x1172-#x1173]
+|&nbsp;#x1175
+|&nbsp;#x119E
+|&nbsp;#x11A8
+|&nbsp;#x11AB
+|&nbsp;[#x11AE-#x11AF]
+|&nbsp;[#x11B7-#x11B8]
+|&nbsp;#x11BA
+|&nbsp;[#x11BC-#x11C2]
+|&nbsp;#x11EB
+|&nbsp;#x11F0
+|&nbsp;#x11F9
+|&nbsp;[#x1E00-#x1E9B]
+|&nbsp;[#x1EA0-#x1EF9]
+|&nbsp;[#x1F00-#x1F15]
+|&nbsp;[#x1F18-#x1F1D]
+|&nbsp;[#x1F20-#x1F45]
+|&nbsp;[#x1F48-#x1F4D]
+|&nbsp;[#x1F50-#x1F57]
+|&nbsp;#x1F59
+|&nbsp;#x1F5B
+|&nbsp;#x1F5D
+|&nbsp;[#x1F5F-#x1F7D]
+|&nbsp;[#x1F80-#x1FB4]
+|&nbsp;[#x1FB6-#x1FBC]
+|&nbsp;#x1FBE
+|&nbsp;[#x1FC2-#x1FC4]
+|&nbsp;[#x1FC6-#x1FCC]
+|&nbsp;[#x1FD0-#x1FD3]
+|&nbsp;[#x1FD6-#x1FDB]
+|&nbsp;[#x1FE0-#x1FEC]
+|&nbsp;[#x1FF2-#x1FF4]
+|&nbsp;[#x1FF6-#x1FFC]
+|&nbsp;#x2126
+|&nbsp;[#x212A-#x212B]
+|&nbsp;#x212E
+|&nbsp;[#x2180-#x2182]
+|&nbsp;[#x3041-#x3094]
+|&nbsp;[#x30A1-#x30FA]
+|&nbsp;[#x3105-#x312C]
+|&nbsp;[#xAC00-#xD7A3]
+</rhs></prod>
+<prod id='NT-Ideographic'><lhs>Ideographic</lhs>
+<rhs>[#x4E00-#x9FA5]
+|&nbsp;#x3007
+|&nbsp;[#x3021-#x3029]
+</rhs></prod>
+<prod id='NT-CombiningChar'><lhs>CombiningChar</lhs>
+<rhs>[#x0300-#x0345]
+|&nbsp;[#x0360-#x0361]
+|&nbsp;[#x0483-#x0486]
+|&nbsp;[#x0591-#x05A1]
+|&nbsp;[#x05A3-#x05B9]
+|&nbsp;#x05BB#x05BD
+|&nbsp;#x05BF
+|&nbsp;[#x05C1-#x05C2]
+|&nbsp;#x05C4
+|&nbsp;#x064B#x0652
+|&nbsp;#x0670
+|&nbsp;[#x06D6-#x06DC]
+|&nbsp;#x06DD#x06DF
+|&nbsp;[#x06E0-#x06E4]
+|&nbsp;[#x06E7-#x06E8]
+|&nbsp;[#x06EA-#x06ED]
+|&nbsp;[#x0901-#x0903]
+|&nbsp;#x093C
+|&nbsp;[#x093E-#x094C]
+|&nbsp;#x094D
+|&nbsp;[#x0951-#x0954]
+|&nbsp;[#x0962-#x0963]
+|&nbsp;[#x0981-#x0983]
+|&nbsp;#x09BC
+|&nbsp;#x09BE
+|&nbsp;#x09BF
+|&nbsp;[#x09C0-#x09C4]
+|&nbsp;[#x09C7-#x09C8]
+|&nbsp;[#x09CB-#x09CD]
+|&nbsp;#x09D7
+|&nbsp;[#x09E2-#x09E3]
+|&nbsp;#x0A02
+|&nbsp;#x0A3C
+|&nbsp;#x0A3E
+|&nbsp;#x0A3F
+|&nbsp;[#x0A40-#x0A42]
+|&nbsp;[#x0A47-#x0A48]
+|&nbsp;[#x0A4B-#x0A4D]
+|&nbsp;[#x0A70-#x0A71]
+|&nbsp;[#x0A81-#x0A83]
+|&nbsp;#x0ABC
+|&nbsp;[#x0ABE-#x0AC5]
+|&nbsp;[#x0AC7-#x0AC9]
+|&nbsp;[#x0ACB-#x0ACD]
+|&nbsp;[#x0B01-#x0B03]
+|&nbsp;#x0B3C
+|&nbsp;[#x0B3E-#x0B43]
+|&nbsp;[#x0B47-#x0B48]
+|&nbsp;[#x0B4B-#x0B4D]
+|&nbsp;[#x0B56-#x0B57]
+|&nbsp;[#x0B82-#x0B83]
+|&nbsp;[#x0BBE-#x0BC2]
+|&nbsp;[#x0BC6-#x0BC8]
+|&nbsp;[#x0BCA-#x0BCD]
+|&nbsp;#x0BD7
+|&nbsp;[#x0C01-#x0C03]
+|&nbsp;[#x0C3E-#x0C44]
+|&nbsp;[#x0C46-#x0C48]
+|&nbsp;[#x0C4A-#x0C4D]
+|&nbsp;[#x0C55-#x0C56]
+|&nbsp;[#x0C82-#x0C83]
+|&nbsp;[#x0CBE-#x0CC4]
+|&nbsp;[#x0CC6-#x0CC8]
+|&nbsp;[#x0CCA-#x0CCD]
+|&nbsp;[#x0CD5-#x0CD6]
+|&nbsp;[#x0D02-#x0D03]
+|&nbsp;[#x0D3E-#x0D43]
+|&nbsp;[#x0D46-#x0D48]
+|&nbsp;[#x0D4A-#x0D4D]
+|&nbsp;#x0D57
+|&nbsp;#x0E31
+|&nbsp;[#x0E34-#x0E3A]
+|&nbsp;[#x0E47-#x0E4E]
+|&nbsp;#x0EB1
+|&nbsp;[#x0EB4-#x0EB9]
+|&nbsp;[#x0EBB-#x0EBC]
+|&nbsp;[#x0EC8-#x0ECD]
+|&nbsp;[#x0F18-#x0F19]
+|&nbsp;#x0F35
+|&nbsp;#x0F37
+|&nbsp;#x0F39
+|&nbsp;#x0F3E
+|&nbsp;#x0F3F
+|&nbsp;[#x0F71-#x0F84]
+|&nbsp;[#x0F86-#x0F8B]
+|&nbsp;[#x0F90-#x0F95]
+|&nbsp;#x0F97
+|&nbsp;[#x0F99-#x0FAD]
+|&nbsp;[#x0FB1-#x0FB7]
+|&nbsp;#x0FB9
+|&nbsp;[#x20D0-#x20DC]
+|&nbsp;#x20E1
+|&nbsp;[#x302A-#x302F]
+|&nbsp;#x3099
+|&nbsp;#x309A
+</rhs></prod>
+<prod id='NT-Digit'><lhs>Digit</lhs>
+<rhs>[#x0030-#x0039]
+|&nbsp;[#x0660-#x0669]
+|&nbsp;[#x06F0-#x06F9]
+|&nbsp;[#x0966-#x096F]
+|&nbsp;[#x09E6-#x09EF]
+|&nbsp;[#x0A66-#x0A6F]
+|&nbsp;[#x0AE6-#x0AEF]
+|&nbsp;[#x0B66-#x0B6F]
+|&nbsp;[#x0BE7-#x0BEF]
+|&nbsp;[#x0C66-#x0C6F]
+|&nbsp;[#x0CE6-#x0CEF]
+|&nbsp;[#x0D66-#x0D6F]
+|&nbsp;[#x0E50-#x0E59]
+|&nbsp;[#x0ED0-#x0ED9]
+|&nbsp;[#x0F20-#x0F29]
+</rhs></prod>
+<prod id='NT-Extender'><lhs>Extender</lhs>
+<rhs>#x00B7
+|&nbsp;#x02D0
+|&nbsp;#x02D1
+|&nbsp;#x0387
+|&nbsp;#x0640
+|&nbsp;#x0E46
+|&nbsp;#x0EC6
+|&nbsp;#x3005
+|&nbsp;[#x3031-#x3035]
+|&nbsp;[#x309D-#x309E]
+|&nbsp;[#x30FC-#x30FE]
+</rhs></prod>
+
+</prodgroup>
+</scrap>
+</p>
+<p>ここで定義する文字クラスは,Unicode文字データベースから,次のとおりに得ることができる。
+<ulist>
+<item>
+<p>a) 名前開始文字は,Ll, Lu, Lo, Lt, Nlカテゴリ内の一つでなければならない。</p>
+</item>
+<item>
+<p>b) 名前開始文字以外の名前文字は,Mc, Me, Mn, Lm, Ndカテゴリ内の一つでなければならない。</p>
+</item>
+<item>
+<p>c) &compatibility-area;にある文字(文字符号で#xF900より大きく#xFFFEより小さい文字)は,XMLにおける名前としては,許されない。</p>
+</item>
+<item>
+<p>d) &font-decomposition;か&compatibility-decomposition;をもつ文字(つまり,データベース内の5番目のフィールドに"compatibility formatting tag"があるもの。これは,5番目のフィールドが,"&lt;"で始まることによってマーク付けされる。)は,許されない。</p>
+</item>
+<item>
+<p>e) 次の文字は,名前開始文字として扱う。これは,&property-file;が,これらの文字をアルファベットに類似すると見なすことによる。それらは
+[#x02BB-#x02C1], #x0559, #x06E5, #x06E6とする。</p>
+</item>
+<item>
+<p>f) 文字符号が#x20DD-#x20E0の文字は,(Unicode の5.14にしたがって)除外する。</p>
+</item>
+<item>
+<p>g) 文字符号が#x00B7の文字は,&property-list;にしたがって,&extender;(extender)に分類する。</p>
+</item>
+<item>
+<p>h) 文字#x0387は,これに相当する正規形が#x00B7なので,名前文字に追加する。</p>
+</item>
+<item>
+<p>i) 文字':'及び'_'は,名前開始文字として許す。</p>
+</item>
+<item>
+<p>j) 文字'-'及び'.'は,名前文字として許す。</p>
+</item>
+</ulist>
+</p>
+</div1>
+<inform-div1 id="sec-xml-and-sgml">
+<head>XML及びSGML</head>
+
+<p>XMLは,SGMLの&subset;として設計されている。すなわち,すべての<termref def="dt-valid">&valid;</termref>なXML文書は,規格に適合するSGML文書にもなる。SGMLが文書に課す制限以外に,XMLがいかなる制限を課すかに関する詳細は,別の<loc href='http://www.w3.org/TR/NOTE-sgml-xml'>規程</loc>を参照のこと。この規程は,XMLの制約条件を示すSGML宣言を含み,これは,SGML&parser;に使用できる。
+</p>
+</inform-div1>
+<inform-div1 id="sec-entexpand">
+<head>実体参照及び文字参照の展開</head>
+<p>この付録は,実体参照及び文字参照を認識し,展開する,一連の流れを,例に使って示す。</p>
+<p>
+DTDが,次の宣言を含む場合を考える。
+<eg><![CDATA[<!ENTITY example "<p>An ampersand (&#38;#38;) may be escaped
+numerically (&#38;#38;#38;) or with a general entity
+(&amp;amp;).</p>" >
+]]></eg>
+XML&processor;は,実体の宣言を構文解析した時点で文字参照を認識し,これを解決する。実体"<code>example</code>"の値として,次の&string;を保存する。
+<eg><![CDATA[<p>An ampersand (&#38;) may be escaped
+numerically (&#38;#38;) or with a general entity
+(&amp;amp;).</p>
+]]></eg>
+文書内で"<code>&amp;example;</code>"を参照すると,このテキストは,再び構文解析される。このとき,要素"<code>p</code>"の開始タグ及び終了タグを認識し,三つの参照を認識し展開する。その結果,要素"<code>p</code>"は,次の内容をもつ(すべてデータとし,区切り子又は&markup;は存在しない。)。
+<eg><![CDATA[An ampersand (&) may be escaped
+numerically (&#38;) or with a general entity
+(&amp;).
+]]></eg>
+</p>
+<p>規則及びその効果をより詳細に示すため,さらに複雑な例を示す。次の例で,行番号は,参照の便宜のためだけに付ける。
+<eg><![CDATA[1 <?xml version='1.0'?>
+2 <!DOCTYPE test [
+3 <!ELEMENT test (#PCDATA) >
+4 <!ENTITY % xx '&#37;zz;'>
+5 <!ENTITY % zz '&#60;!ENTITY tricky "error-prone" >' >
+6 %xx;
+7 ]>
+8 <test>This sample shows a &tricky; method.</test>
+]]></eg>
+これを処理すると,次のとおりとなる。
+<ulist spacing="compact">
+<item><p>a) 4行目で,37番目の文字への参照を直ちに展開し,パラメタ実体"<code>xx</code>"を,シンボルテーブルに"<code>%zz;</code>"という値とともに保存する。&replacement-text;を再び走査することはないので,パラメタ実体"<code>zz</code>"への参照は認識しない("<code>zz</code>"は,まだ宣言されていないので,走査されれば,&error;となる。)。</p></item>
+<item><p>b) 5行目で,文字参照"<code>&amp;#60;</code>"を直ちに展開し,パラメタ実体"<code>zz</code>"を"<code>&lt;!ENTITY tricky "error-prone" ></code>"という&replacement-text;とともに保存する。これは,&well-formed;の実体宣言とする。</p></item>
+<item><p>c) 6行目で,"<code>xx</code>"への参照を認識し,"<code>xx</code>"の&replacement-text;(すなわち,"<code>%zz;</code>")を構文解析する。"<code>zz</code>"への参照を続いて認識し,&replacement-text;("<code>&lt;!ENTITY tricky "error-prone" ></code>")を構文解析する。一般実体"<code>tricky</code>"は,この時点では,宣言されており,その&replacement-text;は,"<code>error-prone</code>"とする。 </p></item>
+<item><p>d) 8行目で,一般実体"<code>tricky</code>"への参照を認識し,展開する。要素"<code>test</code>"の完全な内容は,次の(内容をそれ自体表現する。)&string;となる。つまり,<emph>This sample shows a error-prone method.</emph>
+</p></item>
+</ulist>
+</p>
+</inform-div1>
+<inform-div1 id="determinism">
+<head>決定的内容モデル</head>
+<p><termref def='dt-compat'>互換性のため</termref>,要素宣言における内容モデルは,決定的とする必要がある。
+</p>
+<!-- FINAL EDIT: WebSGML allows ambiguity? -->
+<p>SGMLは,決定的内容モデル(SGMLでは,非あいまいと呼ぶ。)を要求する。SGMLシステムを用いて作成したXML&processor;は,非決定的内容モデルを&error;としてもよい。</p>
+<p>例えば,内容モデル<code>((b, c) | (b, d))</code>は非決定的となる。これは,最初に<code>b</code>を与えたとき,モデル内のいずれの<code>b</code>と&match;するのが望ましいか,その次の要素を先読みすることなしには,&parser;は知ることができないことによる。この場合は,<code>b</code>への二つの参照は,一つの参照にまとめることができ,モデルは,<code>(b, (c | d))</code>となる。これで,最初の<code>b</code>が,内容モデル内の一つの名前とだけ&match;することは明らかとなる。&parser;は,先読みして,次に来るものを知る必要がない。<code>c</code>も<code>d</code>も,受理される。</p>
+<p>形式的に示す。Aho, Sethi, and Ullman <bibref ref='Aho'/>の3.9のアルゴリズム3.5の標準的なアルゴリズムを用いて,内容モデルから有限オートマトンを構成することができる。この種の多くのアルゴリズムでは,正規表現における各々の位置(つまり,正規表現の構文木における各々の末端ノード)に対して,follow set(次にどの位置に移動可能かを表すもの)を構成する。ある位置に対するfollow setにおいて,複数の位置が同じ要素型名でラベル付けされていれば,その内容モデルは&error;となり,&error;を返す場合もある。
+</p>
+<p>すべての非決定的内容モデルを等価な決定的内容モデルに変換することはできないが,多くの非決定的内容モデルを変換するアルゴリズムが存在する。Br&#252;ggemann-Klein 1991 <bibref ref='ABK'/>を参照のこと。</p>
+</inform-div1>
+<inform-div1 id="sec-guessing">
+<head>文字符号化の自動検出</head>
+<p>
+XMLの符号化宣言は,各実体の内部ラベルとして機能し,どの文字符号化を使用するかを示す。しかし,XML&processor;は,内部ラベルを読む前に,どの文字符号化を使用するかを知る必要があり,これが,内部ラベルが示そうとすることになる。一般的には,これは,絶望的な状態となる。しかし,XMLにおいては,完全には絶望的ではない。これは,XMLが,次の二つの点で一般的な場合に対する制限を加えることによる。一つの制限は,どの実装も有限個の文字符号化だけのサポートを想定することとする。他の一つの制限は,各実体で使用する文字符号化を自動検出可能とする,XMLの符号化宣言の位置及び内容に関する制限とする。多くの場合に,XMLのデータストリームに加え,他の情報が利用できる。ここでは,XMLの実体が&processor;に渡されるとき,(外部)情報を伴うかどうかによって,二つの場合に分ける。まず最初の場合を示す。</p>
+<p>
+UTF-8形式又はUTF-16形式ではないXML実体は,最初の文字を‘<code>&lt;?xml</code>'とするXML符号化宣言で始まら<emph>なければならない</emph>ので,どの適合した&processor;も,入力にある2オクテット又は4オクテットを調べれば,次のどの場合があてはまるかを検出できる。このリストを読む際には,UCS-4の'&lt;'が"<code>#x0000003C</code>",'?'が"<code>#x0000003F</code>",及びUTF-16のデータ&stream;の必要とする&byte-order-mark;が"<code>#xFEFF</code>"ということを知っておくと役立つかもしれない。</p>
+<p>
+<ulist>
+<item>
+<p>a) <code>00 00 00 3C</code>: UCS-4, big-endian マシン (1234順)</p>
+</item>
+<item>
+<p>b) <code>3C 00 00 00</code>: UCS-4, little-endian マシン (4321順)</p>
+</item>
+<item>
+<p>c) <code>00 00 3C 00</code>: UCS-4, 普通ではないオクテット順 (2143)</p>
+</item>
+<item>
+<p>d) <code>00 3C 00 00</code>: UCS-4, 普通ではないオクテット順 (3412)</p>
+</item>
+<item>
+<p>e) <code>FE FF</code>: UTF-16, big-endian</p>
+</item>
+<item>
+<p>f) <code>FF FE</code>: UTF-16, little-endian</p>
+</item>
+<item>
+<p>g) <code>00 3C 00 3F</code>: UTF-16, big-endian, &byte-order-mark;なし(したがって,厳密にいえば,&error;とする。)。</p>
+</item>
+<item>
+<p>h) <code>3C 00 3F 00</code>: UTF-16, little-endian, &byte-order-mark;なし(したがって,厳密にいえば,&error;とする。)。</p>
+</item>
+<item>
+<p>i) <code>3C 3F 78 6D</code>: UTF-8, ISO 646, ASCII, ISO 8859の各パート,Shift-JIS,EUC,並びに任意の他の7ビット,8ビット又は混在幅の符号化であって,ASCII文字を通常の位置,幅及び値とすることを保証するもの。これらのどれに対応するかを検出するためには,実際の符号化宣言を読み込まなければならない。しかし,これらすべての符号化は,ASCII文字に対して同じビットパターンを使用するので,符号化宣言自体は,正確に読込み可能とする。
+</p>
+</item>
+<item>
+<p>j) <code>4C 6F A7 94</code>: EBCDIC (又はその変種。どのコードページを使用するかを知るためには,符号化宣言全体を読み込まれなければならない。)</p>
+</item>
+<item>
+<p>k) その他: 符号化宣言なしのUTF-8。そうでないときには,データ&stream;が壊れているか,断片的になっているか,何らかの形式にしたがって埋め込まれている。</p>
+</item>
+</ulist>
+</p>
+<p>
+この程度の自動判別でも,XMLの符号化宣言を読み込み,文字符号化の&identifier;を解析するには十分とする。&identifier;の解析は,類似する各々の符号化の一つ一つを区別するために必要とする(例えば,UTF-8及び8859を区別するため,8859の各パートを区別するため,使用している特定のEBCDICコードページを区別するため,など。)。
+</p>
+<p>
+符号化宣言の内容をASCII文字に限定しているので,どの分類の符号化を使用するかを検出すれば,&processor;は,符号化宣言全体を正確に読み込むことができる。現実問題として,広く使用されている文字符号化は,上の分類のいずれかにあてはまるので,オペレーティングシステム又は伝送プロトコルが与える外部情報を信頼不可能なときでさえも,内部ラベルで文字符号化をかなり正確に示すことが,XML符号化宣言によって可能となる。
+</p>
+<p>
+&processor;が使用する文字符号化を検出しさえすれば,それぞれの場合に対して別個の入力ルーチンを呼び出す,又は入力する各文字に対し適切な変換関数を呼び出すことによって,適切な動作が可能となる。</p>
+<p>
+自分自体にラベル付けをするいかなるシステムでも同様だが,ソフトウェアが,符号化宣言を更新せずに実体の文字集合又は符号化を変えたならば,XMLの符号化宣言は,機能しない。文字符号化ルーチンの実装者は,実体のラベル付けに使用する内部及び外部の情報の正確さの保証に注意するのが望ましい。
+</p>
+<p>2番目の場合は,XMLの実体の他に,符号化情報が存在するときであって,いくつかのファイルシステム及びネットワークプロトコルでは,その符号化情報が存在する。複数の情報が利用できるとき,<!-- (e.g. both the
+internal encoding declaration and an external label), -->それらの相対的な優先度及びそれらが矛盾したときの望ましい処理方法は,XMLの配送に使用する,より高水準のプロトコルの一部として規程するのがよい。例えば,内部ラベル及び外部&header;に存在するMIME形式のラベルの相対的な優先度に対する規則は,text/xml及びapplication/xmlのMIME型を定義するRFC文書の一部となる方がよい。しかし,相互運用性のために,次の規則に従うことが望ましい。
+<ulist>
+<item><p>a) XMLの実体がファイルに存在すれば,&byte-order-mark;及び符号化宣言PIは,(存在すれば)文字符号化を決定するために使用する。他のすべての&hueristics;及び情報は,&error;回復のためだけに用いる。
+</p></item>
+<item><p>b) XMLの実体をMIME型text/xmlで配送するときは,このMIME型のもつcharsetパラメタが文字符号化方法を決定する。他のすべての&hueristics;及び情報は,&error;回復のためだけに用いる。
+</p></item>
+<item><p>c) XMLの実体を <!-- via the HTTP protocol -->MIME型application/xmlで配送するときは,&byte-order-mark;及び符号化宣言PIを(存在すれば)文字符号化の決定のために使用する。他のすべての&hueristics;及び情報は&error;回復のためだけに用いる。
+</p></item>
+</ulist>
+これらの規則は,プロトコルについての資料がないときにだけ用いる。特に,MIME型text/xml及びapplication/xmlを定義したら,これらを規定するRFCに存在する規定が,これらの規則に取って代わる。
+</p>
+</inform-div1>
+<!--
+<div1 id='sec-trival-grammar'>
+<head>A Trivial Grammar for XML Documents</head>
+<p>The grammar given in the body of this specification is relatively
+simple, but for some purposes it is convenient to have an even simpler
+one.
+A very simple, though non-conforming, <termref def="dt-xml-proc">XML
+processor</termref> could parse a <termref
+def="dt-wellformed">well-formed</termref> XML document using the
+following simplified grammar, recognizing all element boundaries
+correctly, though not expanding entity references and not detecting
+all errors:
+
+<scrap lang="ebnf">
+<head>Trivial text grammar</head>
+<prodgroup pcw2="5.5" pcw4="17" pcw5="10">
+<prod id='NT-simpleDoc'><lhs>simpleDoc</lhs>
+<rhs>(<nt def='NT-SimpleData'>SimpleData</nt>
+| <nt def='NT-Markup'>Markup</nt>)*</rhs></prod>
+<prod id="NT-SimpleData"><lhs>SimpleData</lhs>
+<rhs>[^&lt;&amp;]*</rhs>
+<com>cf. PCData</com>
+</prod>
+<prod id="NT-SimpleLit"><lhs>SimpleLit</lhs>
+<rhs>('"' [^"]* '"')</rhs>
+<rhs>|&nbsp;("'" [^']* "'")</rhs>
+<com>cf. SkipLit</com>
+</prod>
+<prod id='NT-Markup'><lhs>Markup</lhs>
+<rhs>'&lt;' <nt def='NT-Name'>Name</nt>
+(<nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?
+<nt def='NT-SimpleLit'>SimpleLit</nt>)*
+<nt def='NT-S'>S</nt>? '&gt;'</rhs><com>start-tags </com>
+<rhs>| '&lt;' <nt def='NT-Name'>Name</nt>
+(<nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?
+<nt def='NT-SimpleLit'>SimpleLit</nt>)*
+<nt def='NT-S'>S</nt>? '/&gt;'</rhs><com>empty elements</com>
+<rhs>| '&lt;/'
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>? '&gt;'</rhs>
+<com>end-tags </com>
+<rhs>| '&amp;' <nt def='NT-Name'>Name</nt> ';'</rhs>
+<com>entity references </com>
+<rhs>| '&amp;#' [0-9]+ ';'</rhs>
+<com>decimal character references </com>
+<rhs>| '&hcro;' [0-9a-fA-F]+ ';'</rhs>
+<com>hexadecimal character references </com>
+<rhs>| '&lt;!&como;'
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*))
+'&comc;&gt;'</rhs>
+<com>comments </com>
+<rhs>| '&lt;?'
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*))
+'&pic;'</rhs>
+<com>processing instructions </com>
+<rhs>| '&lt;![CDATA['
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-Char'>Char</nt>*))
+']]&gt;'</rhs>
+<com>CDATA sections</com>
+<rhs>| '&lt;!DOCTYPE'
+(<nt def="NT-Char">Char</nt> - ('[' | ']'))+
+('['
+<nt def="NT-simpleDTD">simpleDTD</nt>*
+']')? '&gt;'</rhs>
+<com>doc type declaration</com>
+</prod>
+<prod id="NT-simpleDTD"><lhs>simpleDTD</lhs>
+<rhs>'&lt;!&como;'
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*))
+'&comc;&gt;'</rhs>
+<com>comment </com>
+<rhs>| '&lt;?'
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*))
+'&pic;'</rhs>
+<com>processing instruction </com>
+<rhs><nt def="NT-SimpleLit">SimpleLit</nt></rhs>
+<rhs>(<nt def="NT-Char">Char</nt> - (']' | '&lt;' | '"' | "'"))+
+</rhs>
+
+<rhs>'&lt;!' (<nt def="NT-Char">Char</nt> - ('-'))+</rhs>
+<com>declarations other than comment</com>
+</prod>
+</prodgroup>
+</scrap>
+Most processors will require the more complex
+grammar given in the body of this specification.
+
+</p>
+</div1>
+-->
+
+<inform-div1 id="sec-xml-wg">
+<head>&informative;W3C XML ワーキンググループ</head>
+
+<p>この&TR-or-Rec;は,W3C XML ワーキンググループ(WG)が準備し,公開を承認した。WGがこの&TR-or-Rec;を承認するということは,WGのすべての委員が承認投票を行ったということを必ずしも意味しない。XML WGの現在の委員及び以前の委員を次に示す。</p>
+
+<!-- parens and spaces removed from role elements by bosak 1997.11.07 -->
+<orglist>
+<member><name>Jon Bosak, Sun</name><role>Chair</role></member>
+<member><name>James Clark</name><role>Technical Lead</role></member>
+<member><name>Tim Bray, Textuality and Netscape</name><role>XML Co-editor</role></member>
+<member><name>Jean Paoli, Microsoft</name><role>XML Co-editor</role></member>
+<member><name>C. M. Sperberg-McQueen, U. of Ill.</name><role>XML Co-editor</role></member>
+<member><name>Dan Connolly, W3C</name></member>
+<member><name>Steve DeRose, INSO</name></member>
+<member><name>Dave Hollander, HP</name></member>
+<member><name>Eliot Kimber, Highland</name></member>
+<member><name>Eve Maler, ArborText</name></member>
+<member><name>Tom Magliery, NCSA</name></member>
+<member><name>Murray Maloney, Muzmo and Grif</name></member>
+<member><name>村田 真,富士ゼロックス情報システム(株)</name></member>
+<member><name>Joel Nava, Adobe</name></member>
+<member><name>Peter Sharpe, SoftQuad</name></member>
+<member><name>John Tigue, DataChannel</name></member>
+</orglist>
+
+</inform-div1>
+</back>
+</spec>
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+End:
+-->
+
+
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-iso-2022-jp.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-iso-2022-jp.xml
new file mode 100644
index 0000000000..0a44566619
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-iso-2022-jp.xml
@@ -0,0 +1,3549 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE spec SYSTEM "spec.dtd" [
+
+<!-- $BF|K\8lLu$N$?$a$N2r@OBP>]<BBN!J$3$3$+$i!K(B -->
+
+<!ENTITY TR-or-Rec "$B;EMM=q(B">
+<!-- <!ENTITY TR-or-Rec "$BI8=`>pJs(B(TR)"> -->
+<!ENTITY eTR-or-Rec "specification">
+<!-- <!ENTITY eTR-or-Rec "technical report(TR)"> -->
+<!ENTITY application "$B%"%W%j%1!<%7%g%s(B">
+<!ENTITY error "$B%(%i!<(B">
+<!ENTITY fatal-error "$BCWL?E*%(%i!<(B">
+<!ENTITY parsed-data "$B2r@O$5$l$k%G!<%?(B">
+<!ENTITY unparsed-data "$B2r@O$5$l$J$$%G!<%?(B">
+<!ENTITY parsed-entity "$B2r@OBP>]<BBN(B">
+<!ENTITY parser "$B%Q!<%5(B">
+<!ENTITY unparsed-entity "$B2r@OBP>]30<BBN(B">
+<!ENTITY well-formed "$B@07A<0(B">
+<!ENTITY valid "$BBEEv(B">
+<!ENTITY validity "$BBEEv@-(B">
+<!ENTITY escape "$BJL07$$(B">
+<!ENTITY prolog "$B=q$-(B">
+<!ENTITY surrogate-blocks "$B%5%m%2!<%H%V%m%C%/(B">
+<!ENTITY letter "$B;z(B">
+<!ENTITY ideographic "$BE}9g4A;z(B">
+<!ENTITY markup "$B%^!<%/IU$1(B">
+<!ENTITY left-angle-bracket "$BITEy9f(B($B>.$J$j(B)">
+<!ENTITY right-angle-bracket "$BITEy9f(B($BBg$J$j(B)">
+<!ENTITY string "$BJ8;zNs(B">
+<!ENTITY char-string "$BJ8;zNs(B"><!-- string of chararacters,
+ character strings, strings,
+ characters $B$O$9$Y$FJ8;zNs$H$9$k(B -->
+<!ENTITY replacement-text "$BCV49%F%-%9%H(B">
+<!ENTITY single-quote "$B0l=E0zMQId(B">
+<!ENTITY double-quote "$BFs=E0zMQId(B">
+<!ENTITY adaptations-annex "$BE,MQImB0=q(B">
+<!ENTITY root "$B%k!<%H(B">
+<!ENTITY base-character "$B4pDlJ8;z(B">
+<!ENTITY diacritical-mark "$BH/2;Id(B"><!--($B%@%$%"%/%j%F%#%+%k%^!<%/(B)$B$r=i=P$N$H$-Jd$&(B-->
+<!ENTITY composed-form "$B9g@.7A<0(B">
+<!ENTITY standalone "$B%9%?%s%I%"%m%s(B">
+<!ENTITY double-hyphen "$BFsO"%O%$%U%s(B">
+<!--<!ENTITY case-fold "$BBgJ8;z$+>.J8;z$X$NE}0l(B">-->
+<!-- <!ENTITY case-fold "$BHf3S$N$H$-!$BgJ8;z$H>.J8;z$NF10l;k(B">-->
+<!ENTITY parameter "$B%Q%i%a%?(B">
+<!ENTITY stream "$B%9%H%j!<%`(B">
+<!ENTITY validating "$BBEEv@-$r8!>Z$9$k(B">
+<!ENTITY non-validating "$BBEEv@-$r8!>Z$7$J$$(B">
+<!ENTITY user "$B%f!<%6(B">
+<!--<!ENTITY at-user-option "$B%f!<%6$,%*%W%7%g%s$r;XDj$7$?$H$-(B">-->
+<!ENTITY at-user-option "$B%f!<%6$N%*%W%7%g%s;XDj$K$h$C$F$O(B">
+<!ENTITY content-particle "$BFbMFAG;R(B">
+<!ENTITY processor "$B%W%m%;%5(B">
+<!ENTITY default "$B%G%U%)%k%H(B">
+<!ENTITY default-value "$B%G%U%)%k%HCM(B">
+<!ENTITY header "$B%X%C%@(B">
+<!ENTITY target "$B%?!<%2%C%H(B">
+<!ENTITY mixed-content "$B:.9gFbMF(B">
+<!ENTITY country-code "$B9q%3!<%I(B">
+<!ENTITY language-code "$B8@8l%3!<%I(B">
+<!ENTITY version "$BHG(B"> <!-- version 1.0$B$OBh(B1.0$BHG(B -->
+<!ENTITY match "$B%^%C%A(B">
+<!ENTITY character-value "$BJ8;zHV9f(B">
+<!ENTITY byte-order-mark "$B%P%$%H=g%^!<%/(B">
+<!ENTITY bypass "$B=hM}$7$J$$(B">
+<!ENTITY identifier "$B<1JL;R(B">
+<!-- <!ENTITY identify "$B<1JL$9$k(B"> -->
+<!ENTITY identify "$BFCDj$9$k(B">
+<!-- <!ENTITY identified "$B<1JL$5$l$k(B"> -->
+<!ENTITY identified "$BFCDj$5$l$k(B">
+<!ENTITY combining-character "$B7k9gJ8;z(B">
+<!ENTITY subset "$B%5%V%;%C%H(B">
+<!ENTITY token "$B%H!<%/%s(B">
+<!ENTITY literal "$B%j%F%i%k(B">
+
+<!ENTITY parenthesis "$B$+$C$3(B">
+<!ENTITY left-parenthesis "$B3+$-$+$C$3(B">
+<!ENTITY right-parenthesis "$BJD$8$+$C$3(B">
+
+<!-- $B$"$H$G5$$,$D$$$?$b$N(B JIS X0221$B$r8+$kI,MW$"$j(B -->
+
+<!ENTITY extender "$B%(%/%9%F%s%@(B">
+<!ENTITY property "$B%W%m%Q%F%#(B">
+<!ENTITY property-list "$B%W%m%Q%F%#%j%9%H(B">
+<!ENTITY property-file "$B%W%m%Q%F%#%U%!%$%k(B">
+<!ENTITY font-decomposition "$B%U%)%s%HJ,2r(B">
+<!ENTITY compatibility-decomposition "$B8_49@-J,2r(B">
+<!ENTITY compatibility-area "$B8_49@-NN0h(B">
+
+<!ENTITY language-identification "$B8@8l<1JL(B">
+
+<!ENTITY space-character "$B%9%Z!<%9J8;z(B">
+<!ENTITY space "$B%9%Z!<%9(B">
+<!ENTITY code-value "$B%3!<%ICM(B">
+<!ENTITY normative "$B5,Dj$N(B">
+<!ENTITY hueristics "$B%R%e!<%j%9%F%#%C%/(B">
+<!ENTITY informative "">
+
+<!ENTITY WebSGML 'ISO 8879$B$X$N(BWebSGML&adaptations-annex;'>
+<!ENTITY XML.version "1.0">
+<!ENTITY doc.date "1997$BG/(B12$B7n(B8$BF|(B">
+<!ENTITY iso6.doc.date "971208">
+<!ENTITY w3c.doc.date "97$BG/(B12$B7n(B3$BF|(B">
+<!ENTITY draft.day '8$BF|(B'>
+<!ENTITY draft.month '12$B7n(B'>
+<!ENTITY draft.year '1997$BG/(B'>
+
+<!-- $BF|K\8lLu$N$?$a$N2r@OBP>]<BBN!J$3$3$^$G!K(B -->
+
+<!-- LAST TOUCHED BY: Tim Bray, 3 Dec 1997 -->
+
+<!-- The words 'FINAL EDIT' in comments mark places where changes
+need to be made after approval of the document by the ERB, before
+publication. -->
+
+<!ENTITY XML.version "1.0">
+<!ENTITY doc.date "8 December 1997">
+<!ENTITY iso6.doc.date "971208">
+<!ENTITY w3c.doc.date "03-Dec-97">
+<!ENTITY draft.day '8'>
+<!ENTITY draft.month 'December'>
+<!ENTITY draft.year '1997'>
+
+<!ENTITY WebSGML
+ 'WebSGML Adaptations Annex to ISO 8879'>
+
+<!ENTITY newline " ">
+<!-- old: <!ENTITY newline "&#8232;"> -->
+<!ENTITY lt "<">
+<!ENTITY gt ">">
+<!--<!ENTITY amp "&"> -->
+<!ENTITY xmlpio "'&lt;?xml'">
+<!ENTITY pic "'?>'">
+<!ENTITY br "\n">
+<!ENTITY cellback '#c0d9c0'>
+<!ENTITY mdash "--"> <!-- was: <!ENTITY mdash "&#38;#151;"> -->
+<!ENTITY com "--">
+<!ENTITY como "--">
+<!ENTITY comc "--">
+<!ENTITY hcro "&amp;#x">
+<!-- <!ENTITY nbsp ""> -->
+<!ENTITY nbsp "&#160;">
+<!ENTITY magicents "<code>amp</code>,
+<code>lt</code>,
+<code>gt</code>,
+<code>apos</code>,
+<code>quot</code>">
+
+<!--$BF|K\8lLu$K$D$$$F(B: $B%3%a%s%H$OK]LuBP>]$+$i30$7$^$7$?!#NkLZOBIW(B -->
+<!-- audience and distribution status: for use at publication time -->
+<!-- -->
+<!ENTITY doc.audience "$B8x3+%l%S%e!<5Z$S5DO@(B">
+<!ENTITY doc.distribution "$B%F%-%9%H5Z$SK!N'>e$NCm0U$r2~JQ$7$J$$8B$j!$(B
+$B<+M3$KG[I[$7$F$b$h$$(B">
+
+]>
+
+<!-- for Panorama *-->
+<?VERBATIM "eg" ?>
+
+<spec>
+<header>
+<title>$B3HD%2DG=$J(B&markup;$B8@8l(B (XML)</title>
+<version>$BBh(B1.0&version;</version>
+<w3c-designation>PR-xml-&iso6.doc.date;</w3c-designation>
+<w3c-doctype>World Wide Web Consortium</w3c-doctype>
+<pubdate><day>&draft.day;</day><month>&draft.month;</month><year>&draft.year;</year></pubdate>
+<notice><p>$B$3$NAp0F$O!$(BXML WG$B5Z$SB>$N4X78<T$K$h$k%l%S%e!<$N$?$a$N$b$N$G$"$C$F!$8x3+$N5DO@$N$?$a$N$b$N$G$O$J$$!#(B
+<!-- FINAL EDIT: FIX --></p></notice>
+<publoc>
+<loc href="http://www.w3.org/TR/PR-xml-&iso6.doc.date;">
+http://www.w3.org/TR/PR-xml-&iso6.doc.date;</loc></publoc>
+<prevlocs>
+<loc href='http://www.w3.org/TR/WD-xml-961114'>
+http://www.w3.org/TR/WD-xml-961114</loc>
+<loc href='http://www.w3.org/TR/WD-xml-lang-970331'>
+http://www.w3.org/TR/WD-xml-lang-970331</loc>
+<loc href='http://www.w3.org/TR/WD-xml-lang-970630'>
+http://www.w3.org/TR/WD-xml-lang-970630</loc>
+<loc href='http://www.w3.org/TR/WD-xml-970807'>
+http://www.w3.org/TR/WD-xml-970807</loc>
+<loc href='http://www.w3.org/TR/WD-xml-971117'>
+http://www.w3.org/TR/WD-xml-971117</loc>
+</prevlocs>
+<authlist>
+<author><name>Tim Bray</name>
+<affiliation>Textuality and Netscape</affiliation>
+<email
+href="mailto:tbray@textuality.com">tbray@textuality.com</email></author>
+<author><name>Jean Paoli</name>
+<affiliation>Microsoft</affiliation>
+<email href="mailto:jeanpa@microsoft.com">jeanpa@microsoft.com</email></author>
+<author><name>C. M. Sperberg-McQueen</name>
+<affiliation>University of Illinois at Chicago</affiliation>
+<email href="mailto:cmsmcq@uic.edu">cmsmcq@uic.edu</email></author>
+</authlist>
+<status>
+ <p>$B$3$N(B&TR-or-Rec;$B$O(B, 1997$BG/(B12$B7n$K(BWorld Wide Web Consortium$B$+$i(B
+$B8xI=$5$l$?4+9p0F(BExtensible Markup Language version$BBh(B1.0$BHG$rK]Lu$7(B, $B5;(B
+$B=QE*FbMF$rJQ99$9$k$3$H$J$/:n@.$7$?(B&TR-or-Rec;$B$G$"$k!#(BThis &eTR-or-Rec;
+is a translation of the XML proposed recommendation 1.0
+published by the World Wide Web Consortium in December 1997. It is
+intended that &eTR-or-Rec; is technically identical to the original.</p>
+
+<p>$B86J8$K$"$k!"Cx:n8"$K4X$7$F$N5-=R$r<!$K<($9!#(BThe
+original copyright notice is shown below:</p>
+
+<p>$B$3$NHG$N(BXML$B$N5,Dj$O!$8x3+%l%S%e!<5Z$S5DO@$r(B
+$BL\E*$H$9$k!#%F%-%9%H5Z$SK!N'>e$NCm0U$r2~JQ$7$J$$8B$j!$<+M3$K(B
+$BG[I[$7$F$b$h$$!#(BThis version of the XML specification is for
+public review and discussion. It may be distributed freely,
+as long as all text and legal notices remain intact.</p>
+
+<p>$B$3$N(B&TR-or-Rec;$B$N85$H$J$C$?(BXML$B4+9p0F$O!$(B1998$BG/(B2$B7n$K(BWorld
+Wide Web Consortium$B$+$i8xI=$5$l$?(BXML$B4+9p$K$h$C$F$9$G$KCV$-49(B
+$B$($i$l$F$$$k!#$3$NI8=`>pJs$O!$(BXML$B4+9p$K=>$C$FD{@5$9$k$3$H$r(B
+$BM=Dj$7$F$$$k!#(BThe XML Proposed Recommendation is superseded
+by the XML Recommendation which was published by the World
+Wide Web Consortium in February 1998. It is intended that
+this &eTR-or-Rec; be revised accordingly in the near future.</p>
+
+<p>$B$3$N(B&TR-or-Rec;$B$O!$0BDj$7$?$b$N$G$"$C$F!$:rG/Mh$N(B<loc
+href='http://www.w3.org/XML'>XML$B3hF0(B</loc>$B$rDL$8$F:n@.$5$l$?!$0lO"$N:n(B
+$B6HAp0F$r85$H$9$k!#8=:_!$9-HO0O$K;HMQ$5$l$F$$$k9q:]E*$J%F%-%9%H=hM}$NI8(B
+$B=`(B($BI8=`0lHL2=(B&markup;$B8@8l!$(BStandard Generalized Markup Language, ISO
+8879:1986$B$KDI2C5Z$SD{@5$r2C$($?$b$N(B)$B$N!$(BWWW$B>e$G$N;HMQ$N$?$a$K(B&subset;
+$B2=$7$?8@8l$r!$$3$N(B&TR-or-Rec;$B$O!$5,Dj$9$k!#(BISO 8879$B$N$I$N5!G=$r$3$N(B
+&subset;$B$K;D$9$+!$$H$$$&7hDj$K$D$$$F$N>\:Y$O!$(B<loc
+href='http://www.w3.org/XML/#WG-decisions'>$BJLESMQ0U$9$k(B</loc>$B!#(BXML$B$O!$(B
+$B4{$K$$$/$D$+$N>&IJ$G%5%]!<%H$5$l!$(BXML$B$r%5%]!<%H$9$k(B<loc
+href='http://www.w3.org/XML/#software'>$B%U%j!<%&%'%"(B</loc>$B$N?t$bA}$($F(B
+$B$$$k!#(BXML$B$K4X$9$k8x3+$NO@5D$b!$%*%s%i%$%s$G(B<loc
+href='http://www.w3.org/XML/#discussion'>$BF~<j$G$-$k(B</loc>$B!#(BIt is a
+stable document derived from a series of working drafts produced over
+the last year as deliverables of the <loc
+href='http://www.w3.org/XML'>XML activity</loc>. It specifies a
+language created by subsetting an existing, widely used international
+text processing standard (Standard Generalized Markup Language, ISO
+8879:1986 as amended and corrected) for use on the World Wide Web.
+Details of the decisions regarding which features of ISO 8879 to
+retain in the subset <loc
+href='http://www.w3.org/XML/#WG-decisions'>are available
+separately</loc>. XML is already supported by some commercial
+products, and there are a growing number of <loc
+href='http://www.w3.org/XML/#software'>free implementations</loc>.
+Public discussions of XML <loc
+href='http://www.w3.org/XML/#discussion'>are accessible
+online</loc>.</p>
+
+<p>$B$3$N(B&TR-or-Rec;$B$G$O!$(B<bibref ref="Berners-Lee"/>$B$KDj5A$9$k(B
+URI(Uniform Resource Identifier)$B$r;HMQ$9$k!#(BURI$B$N@)Dj:n6H$O?J9TCf$G$"$C(B
+$B$F!$(B<bibref ref="RFC1738"/>$B5Z$S(B<bibref ref="RFC1808"/>$B$r99?7$9$kM=Dj$H(B
+$B$J$C$F$$$k!#$3$N:n6H$,(BRFC$B$H$7$F<u$1F~$l$i$l$J$$>l9g$O!$$3$N5,DxFb$N(BURI
+$B$X$N;2>H$O!$(BURL(Uniform Resource Locator)$B$X$N;2>H$KBe$o$k!#(BThis
+specification uses the term URI, which is defined by <bibref
+ref="Berners-Lee"/>, a work in progress expected to update <bibref
+ref="RFC1738"/> and <bibref ref="RFC1808"/>. Should the work not be
+accepted as an RFC, the references to uniform resource identifiers
+(URIs) in this specification will become references to uniform
+resource locators (URLs).</p>
+
+ <p>XML$B$N;EMM$K=`5r$7$F$$$k$+$I$&$+$N4p=`$H$J$k$O(BW3C$B$N%5%$%H$K$"(B
+$B$k86J8$G$"$k!#(BThe normative version of the specification is
+the English version found at the W3C site.</p>
+
+ <p>$B$3$NI8=`>pJs$O86;EMM$H5;=QE*$KF10l$G$"$k$3$H$r0U?^$7$F$$$k$,!"(B
+$BK]Lu>e$N8m$j$O$"$jF@$k!#(BAlthough this technical report is
+intended to be technically identical to the original, it may
+contain errors from the translation.</p>
+
+ <p>$BHw9M(B: $B865,Dj$H$N5,Dj2U=j$NBP1~4X78$rL@$i$+$K$9$k$?$a!"$3$N(B
+&TR-or-Rec;$B$N@a9=@.5Z$S@aHV9f$O!"865,Dj$N$=$l$i$r$G$-$k$@$1J]B8$7$F$$(B
+$B$k!#$3$N(B&TR-or-Rec;$B$N(BWeb$BHG$O!"865,Dj$N(BHTML$B%?%0$r$=$N$^$^J]B8$7$F$$$k!#(B
+</p>
+</status>
+<!-- out of date
+<statusp>This is a W3C Working Draft for review by W3C members and other
+interested parties. It is a draft document and may be updated,
+replaced, or obsoleted by other documents at any time. It is
+inappropriate to use W3C Working Drafts as reference material or to
+cite them as other than "work in progress". A list of current W3C
+working drafts can be found at
+<loc href="http://www.w3.org/TR">http://www.w3.org/TR</loc>.</statusp>
+<statusp><emph>Note:</emph> Since working drafts are subject to frequent
+change, you are advised to reference the above URL, rather than the
+URLs for working drafts themselves.</statusp>
+<statusp>This work is part of the W3C SGML Activity (for current
+status, see <loc href="http://www.w3.org/MarkUp/SGML/Activity"
+>http://www.w3.org/MarkUp/SGML/Activity</loc>).</statusp>
+<p>The current
+draft of this specification
+presupposes the successful completion of the current
+work on the &WebSGML;, being prepared by ISO/IEC JTC1
+at the time this draft specification was drafted.
+If it is not
+adopted in the expected form, some clauses of this specification
+may change, and some
+recommendations now labeled "<termref def="dt-interop">for
+interoperability</termref>" will become requirements labeled
+"<termref def="dt-compat">for compatibility</termref>".
+</p>
+<p>The current draft of this specification uses the term
+URI, which is defined by
+<bibref ref="Berners-Lee"/>,
+which is work in progress expected to update
+<bibref ref="RFC1738"/> and <bibref ref="RFC1808"/>.
+Should the work in this draft not be accepted as an RFC, the
+references to uniform resource identifiers (URIs) in this
+specification will become references to uniform resource
+locators (URLs).</p>
+</status> -->
+<abstract>
+<p>$B3HD%2DG=$J(B&markup;$B8@8l(B(XML)$B$O(BSGML$B$N4JC1$JJ}8@$G$"$C$F!$$3$N(B&TR-or-Rec;$B$G!$$=$N$9$Y$F$r5,Dj$9$k!#(BXML$B$NL\I8$O!$8=:_$N(BHTML$B$HF1MM$K!$0lHL@-$N$"$k(BSGML$B$r%&%'%V>e$GG[I[!$<u?.5Z$S=hM}$G$-$k$3$H$H$9$k!#(BXML$B$O<BAu$,MF0W$G$"$C$F!$(BSGML$B5Z$S(BHTML$B$N$I$A$i$KBP$7$F$bAj8_1?MQ@-$rJ]$D@_7W$,$J$5$l$F$$$k!#(B</p>
+</abstract>
+<pubstmt>
+<p>Chicago, Vancouver, Mountain View, et al.:
+World-Wide Web Consortium, XML$B:n6H%0%k!<%W(B, 1996, 1997.</p>
+</pubstmt>
+<sourcedesc>
+<p>Created in electronic form.</p>
+</sourcedesc>
+<langusage>
+<language id='EN'>English</language>
+<language id='ebnf'>Extended Backus-Naur Form (formal grammar)</language>
+</langusage>
+<revisiondesc>
+<slist>
+<sitem>1997-12-03 : CMSMcQ : yet further changes</sitem>
+<sitem>1997-12-02 : TB : further changes (see TB to XML WG,
+2 December 1997)</sitem>
+<sitem>1997-12-02 : CMSMcQ : deal with as many corrections and
+comments from the proofreaders as possible:
+entify hard-coded document date in pubdate element,
+change expansion of entity WebSGML,
+update status description as per Dan Connolly (am not sure
+about refernece to Berners-Lee et al.),
+add 'The' to abstract as per WG decision,
+move Relationship to Existing Standards to back matter and
+combine with References,
+re-order back matter so normative appendices come first,
+re-tag back matter so informative appendices are tagged informdiv1,
+remove XXX XXX from list of 'normative' specs in prose,
+move some references from Other References to Normative References,
+add RFC 1738, 1808, and 2141 to Other References (they are not
+normative since we do not require the processor to enforce any
+rules based on them),
+add reference to 'Fielding draft' (Berners-Lee et al.),
+move notation section to end of body,
+drop URIchar non-terminal and use SkipLit instead,
+lose stray reference to defunct nonterminal 'markupdecls',
+move reference to Aho et al. into appendix (Tim's right),
+add prose note saying that hash marks and fragment identifiers are
+NOT part of the URI formally speaking, and are NOT legal in
+system identifiers (processor 'may' signal an error).
+Work through:
+Tim Bray reacting to James Clark,
+Tim Bray on his own,
+Eve Maler,
+
+NOT DONE YET:
+change binary / text to unparsed / parsed.
+handle James's suggestion about &lt; in attriubte values
+uppercase hex characters,
+namechar list,
+</sitem>
+<sitem>1997-12-01 : JB : add some column-width parameters</sitem>
+<sitem>1997-12-01 : CMSMcQ : begin round of changes to incorporate
+recent WG decisions and other corrections:
+binding sources of character encoding info (27 Aug / 3 Sept),
+correct wording of Faust quotation (restore dropped line),
+drop SDD from EncodingDecl,
+change text at version number 1.0,
+drop misleading (wrong!) sentence about ignorables and extenders,
+modify definition of PCData to make bar on msc grammatical,
+change grammar's handling of internal subset (drop non-terminal markupdecls),
+change definition of includeSect to allow conditional sections,
+add integral-declaration constraint on internal subset,
+drop misleading / dangerous sentence about relationship of
+entities with system storage objects,
+change table body tag to htbody as per EM change to DTD,
+add rule about space normalization in public identifiers,
+add description of how to generate our name-space rules from
+Unicode character database (needs further work!).
+</sitem>
+<sitem>1997-10-08 : TB : Removed %-constructs again, new rules
+for PE appearance.</sitem>
+<sitem>1997-10-01 : TB : Case-sensitive markup; cleaned up
+element-type defs, lotsa little edits for style</sitem>
+<sitem>1997-09-25 : TB : Change to elm's new DTD, with
+substantial detail cleanup as a side-effect</sitem>
+<sitem>1997-07-24 : CMSMcQ : correct error (lost *) in definition
+of ignoreSectContents (thanks to Makoto Murata)</sitem>
+<sitem>Allow all empty elements to have end-tags, consistent with
+SGML TC (as per JJC).</sitem>
+<sitem>1997-07-23 : CMSMcQ : pre-emptive strike on pending corrections:
+introduce the term 'empty-element tag', note that all empty elements
+may use it, and elements declared EMPTY must use it.
+Add WFC requiring encoding decl to come first in an entity.
+Redefine notations to point to PIs as well as binary entities.
+Change autodetection table by removing bytes 3 and 4 from
+examples with Byte Order Mark.
+Add content model as a term and clarify that it applies to both
+mixed and element content.
+</sitem>
+<sitem>1997-06-30 : CMSMcQ : change date, some cosmetic changes,
+changes to productions for choice, seq, Mixed, NotationType,
+Enumeration. Follow James Clark's suggestion and prohibit
+conditional sections in internal subset. TO DO: simplify
+production for ignored sections as a result, since we don't
+need to worry about parsers which don't expand PErefs finding
+a conditional section.</sitem>
+<sitem>1997-06-29 : TB : various edits</sitem>
+<sitem>1997-06-29 : CMSMcQ : further changes:
+Suppress old FINAL EDIT comments and some dead material.
+Revise occurrences of % in grammar to exploit Henry Thompson's pun,
+especially markupdecl and attdef.
+Remove RMD requirement relating to element content (?).
+</sitem>
+<sitem>1997-06-28 : CMSMcQ : Various changes for 1 July draft:
+Add text for draconian error handling (introduce
+the term Fatal Error).
+RE deleta est (changing wording from
+original announcement to restrict the requirement to validating
+parsers).
+Tag definition of validating processor and link to it.
+Add colon as name character.
+Change def of %operator.
+Change standard definitions of lt, gt, amp.
+Strip leading zeros from #x00nn forms.</sitem>
+<sitem>1997-04-02 : CMSMcQ : final corrections of editorial errors
+found in last night's proofreading. Reverse course once more on
+well-formed: Webster's Second hyphenates it, and that's enough
+for me.</sitem>
+<sitem>1997-04-01 : CMSMcQ : corrections from JJC, EM, HT, and self</sitem>
+<sitem>1997-03-31 : Tim Bray : many changes</sitem>
+<sitem>1997-03-29 : CMSMcQ : some Henry Thompson (on entity handling),
+some Charles Goldfarb, some ERB decisions (PE handling in miscellaneous
+declarations. Changed Ident element to accept def attribute.
+Allow normalization of Unicode characters. move def of systemliteral
+into section on literals.</sitem>
+<sitem>1997-03-28 : CMSMcQ : make as many corrections as possible, from
+Terry Allen, Norbert Mikula, James Clark, Jon Bosak, Henry Thompson,
+Paul Grosso, and self. Among other things: give in on "well formed"
+(Terry is right), tentatively rename QuotedCData as AttValue
+and Literal as EntityValue to be more informative, since attribute
+values are the <emph>only</emph> place QuotedCData was used, and
+vice versa for entity text and Literal. (I'd call it Entity Text,
+but 8879 uses that name for both internal and external entities.)</sitem>
+<sitem>1997-03-26 : CMSMcQ : resynch the two forks of this draft, reapply
+my changes dated 03-20 and 03-21. Normalize old 'may not' to 'must not'
+except in the one case where it meant 'may or may not'.</sitem>
+<sitem>1997-03-21 : TB : massive changes on plane flight from Chicago
+to Vancouver</sitem>
+<sitem>1997-03-21 : CMSMcQ : correct as many reported errors as possible.
+</sitem>
+<sitem>1997-03-20 : CMSMcQ : correct typos listed in CMSMcQ hand copy of spec.</sitem>
+<sitem>1997-03-20 : CMSMcQ : cosmetic changes preparatory to revision for
+WWW conference April 1997: restore some of the internal entity
+references (e.g. to docdate, etc.), change character xA0 to &amp;nbsp;
+and define nbsp as &amp;#160;, and refill a lot of paragraphs for
+legibility.</sitem>
+<sitem>1996-11-12 : CMSMcQ : revise using Tim's edits:
+Add list type of NUMBERED and change most lists either to
+BULLETS or to NUMBERED.
+Suppress QuotedNames, Names (not used).
+Correct trivial-grammar doc type decl.
+Rename 'marked section' as 'CDATA section' passim.
+Also edits from James Clark:
+Define the set of characters from which [^abc] subtracts.
+Charref should use just [0-9] not Digit.
+Location info needs cleaner treatment: remove? (ERB
+question).
+One example of a PI has wrong pic.
+Clarify discussion of encoding names.
+Encoding failure should lead to unspecified results; don't
+prescribe error recovery.
+Don't require exposure of entity boundaries.
+Ignore white space in element content.
+Reserve entity names of the form u-NNNN.
+Clarify relative URLs.
+And some of my own:
+Correct productions for content model: model cannot
+consist of a name, so "elements ::= cp" is no good.
+</sitem>
+<sitem>1996-11-11 : CMSMcQ : revise for style.
+Add new rhs to entity declaration, for parameter entities.</sitem>
+<sitem>1996-11-10 : CMSMcQ : revise for style.
+Fix / complete section on names, characters.
+Add sections on parameter entities, conditional sections.
+Still to do: Add compatibility note on deterministic content models.
+Finish stylistic revision.</sitem>
+<sitem>1996-10-31 : TB : Add Entity Handling section</sitem>
+<sitem>1996-10-30 : TB : Clean up term &amp; termdef. Slip in
+ERB decision re EMPTY.</sitem>
+<sitem>1996-10-28 : TB : Change DTD. Implement some of Michael's
+suggestions. Change comments back to //. Introduce language for
+XML namespace reservation. Add section on white-space handling.
+Lots more cleanup.</sitem>
+<sitem>1996-10-24 : CMSMcQ : quick tweaks, implement some ERB
+decisions. Characters are not integers. Comments are /* */ not //.
+Add bibliographic refs to 10646, HyTime, Unicode.
+Rename old Cdata as MsData since it's <emph>only</emph> seen
+in marked sections. Call them attribute-value pairs not
+name-value pairs, except once. Internal subset is optional, needs
+'?'. Implied attributes should be signaled to the app, not
+have values supplied by processor.</sitem>
+<sitem>1996-10-16 : TB : track down &amp; excise all DSD references;
+introduce some EBNF for entity declarations.</sitem>
+<sitem>1996-10-?? : TB : consistency check, fix up scraps so
+they all parse, get formatter working, correct a few productions.</sitem>
+<sitem>1996-10-10/11 : CMSMcQ : various maintenance, stylistic, and
+organizational changes:
+Replace a few literals with xmlpio and
+pic entities, to make them consistent and ensure we can change pic
+reliably when the ERB votes.
+Drop paragraph on recognizers from notation section.
+Add match, exact match to terminology.
+Move old 2.2 XML Processors and Apps into intro.
+Mention comments, PIs, and marked sections in discussion of
+delimiter escaping.
+Streamline discussion of doctype decl syntax.
+Drop old section of 'PI syntax' for doctype decl, and add
+section on partial-DTD summary PIs to end of Logical Structures
+section.
+Revise DSD syntax section to use Tim's subset-in-a-PI
+mechanism.</sitem>
+<sitem>1996-10-10 : TB : eliminate name recognizers (and more?)</sitem>
+<sitem>1996-10-09 : CMSMcQ : revise for style, consistency through 2.3
+(Characters)</sitem>
+<sitem>1996-10-09 : CMSMcQ : re-unite everything for convenience,
+at least temporarily, and revise quickly</sitem>
+<sitem>1996-10-08 : TB : first major homogenization pass</sitem>
+<sitem>1996-10-08 : TB : turn "current" attribute on div type into
+CDATA</sitem>
+<sitem>1996-10-02 : TB : remould into skeleton + entities</sitem>
+<sitem>1996-09-30 : CMSMcQ : add a few more sections prior to exchange
+ with Tim.</sitem>
+<sitem>1996-09-20 : CMSMcQ : finish transcribing notes.</sitem>
+<sitem>1996-09-19 : CMSMcQ : begin transcribing notes for draft.</sitem>
+<sitem>1996-09-13 : CMSMcQ : made outline from notes of 09-06,
+do some housekeeping</sitem>
+</slist>
+</revisiondesc>
+</header>
+<body>
+<div1 id='sec-intro'>
+<head>$B0lHL;v9`(B</head>
+<!-- <div2 id='sec-scope'>
+ <head>$BE,MQHO0O(B</head> -->
+<p>$B3HD%2DG=$J(B&markup;$B8@8l(BXML(eXtensible Markup Language)$B$O!$(B<termref def="dt-xml-doc">XML$BJ8=q(B</termref>$B$H$$$&%G!<%?%*%V%8%'%/%H$N%/%i%9$r5,Dj$7!$(BXML$BJ8=q$r=hM}$9$k%W%m%0%i%`$NF0:n$N0lIt$r5,Dj$9$k!#(BXML$B$O!$(BSGML($BI8=`0lHL2=(B&markup;$B8@8l!$(BStandard Generalized Markup Language)<bibref ref='ISO8879'/>$B$N@)8B$7$?(B&subset;$B$H$9$k!#9=B$>e!$(BXML$BJ8=q$O!$$+$J$i$:(BSGML$B5,3J$KE,9g$9$k!#(B</p>
+<p>XML$BJ8=q$O!$(B<termref def="dt-entity">$B<BBN(B</termref>$B$H$$$&5-21C10L$+$i$J$j!$<BBN$O!$(B&parsed-data;$BKt$O(B&unparsed-data;$B$+$i$J$k!#(B&parsed-data;$B$O!$(B<termref def="dt-character">$BJ8;z(B</termref>$B$+$i$J$j!$$=$N0lIt$O!$J8=q$N(B<termref def="dt-chardata">$BJ8;z%G!<%?(B</termref>$B$r9=@.$7!$0lIt$O!$(B<termref def="dt-markup">&markup;</termref>$B$r9=@.$9$k!#(B&markup;$B$O!$J8=q$N5-21%l%$%"%&%H5Z$SO@M}9=B$$K$D$$$F$N5-=R$rI=$9Id9f$H$9$k!#(BXML$B$O!$5-21%l%$%"%&%H5Z$SO@M}9=B$$K$D$$$F$N@)Ls>r7o$r5-=R$9$k5!9=$rDs6!$9$k!#(B</p>
+<p><termdef id="dt-xml-proc" term="XML&processor;"><term>XML&processor;</term>$B$H$$$&%=%U%H%&%'%"%b%8%e!<%k$O!$(BXML$BJ8=q$rFI$_9~$_!$$=$NFbMF5Z$S9=B$$X$N%"%/%;%9$rDs6!$9$k$?$a$KMQ$$$k!#(B </termdef> <termdef id="dt-app" term="&application;">XML&processor;$B$O!$B>$N%b%8%e!<%k$N$?$a$KF0:n$9$k$3$H$rA0Ds$H$7!$$=$N%b%8%e!<%k$r(B<term>&application;</term>$B$H$$$&!#(B</termdef>$B$3$N(B&TR-or-Rec;$B$O!$(BXML&processor;$B$,9T$o$J$1$l$P$J$i$J$$?6Iq$$$r5,Dj$9$k!#$D$^$j!$(BXML$B%G!<%?$NFI9~$_J}K!$r5,Dj$7!$(B&application;$B$KDs6!$9$k>pJs$r5,Dj$9$k!#(B</p>
+<!-- </div2> -->
+<div2 id='sec-origin-goals'>
+<head>$B7P0^5Z$SL\I8(B</head>
+<p>1996$BG/$K(BWorld Wide Web Consortium(W3C)$B$NCf$K@_N)$7$?(BXML$B:n6H%0%k!<%W(B($B0JA0$O!$(B SGML$BJT=8%l%S%e!<0Q0w2q$H8F$P$l$?(B)$B$,!$(BXML$B$r3+H/$7$?!#$3$N:n6H%0%k!<%W$N5DD9$r!$(BSun Microsystems$B$N(BJon Bosak$B$,6P$a$k!#(BW3C$B$,AH?%$7!$0JA0$O(BSGML$B:n6H%0%k!<%W$H8F$P$l$?(BXML SIG(Special Interest Group)$B$b!$(BXML$B$N@)Dj$KHs>o$K3hH/$K;22h$7$?!#(B
+<!--JIS$B$G$O(B? XML$B:n6H%0%k!<%W$N%a%s%P$rIUO?$K<($9!#(B-->Dan Connolly$B$O!$:n6H%0%k!<%W$N(BW3C$B$K$*$1$kO"Mm78$rL3$a$?!#(B</p>
+<p>XML$B$N@_7WL\I8$r!$<!$K<($9!#(B<ulist>
+<item><p>a) XML$B$O!$(BInternet$B>e$G$=$N$^$^;HMQ$G$-$k!#(B</p></item>
+<item><p>b) XML$B$O!$9-HO0O$N(B&application;$B$r;Y1g$9$k!#(B</p></item>
+<item><p>c) XML$B$O!$(BSGML$B$H8_49@-$r$b$D!#(B</p></item>
+<item><p>d) XML$BJ8=q$r=hM}$9$k%W%m%0%i%`$r=q$/$3$H$O!$MF0W$G$J$1$l$P$J$i$J$$!#(B</p></item>
+<item><p>e) XML$B$G$O!$%*%W%7%g%s$N5!G=$O$G$-$k$@$1>/$J$/$7!$0l$D$bB8:_$7$J$$$3$H$rL\;X$9!#(B</p></item>
+<item><p>f) XML$BJ8=q$O!$?M4V$K$H$C$FFI$_$d$9$/!$==J,$KM}2r$7$d$9$$!#(B</p></item>
+<item><p>g) XML$B$N@_7W$O!$$9$_$d$+$K9T$($J$1$l$P$J$i$J$$!#(B</p></item>
+<item><p>h) XML$B$N@_7W$O!$87L)5Z$S4J7i$G$J$1$l$P$J$i$J$$!#(B</p></item>
+<item><p>i) XML$BJ8=q$O!$MF0W$K:n@.$G$-$k!#(B</p></item>
+<item><p>j) XML$B$G$O!$(B&markup;$B$N?t$r8:$i$9$3$H$O!$=EMW$G$O$J$$!#(B</p></item></ulist>
+</p>
+<p>XML$BBh(B&XML.version;&version;$B$rM}2r$7!$$=$l$r=hM}$9$k7W;;5!%W%m%0%i%`$r=q$/$?$a$K==J,$J>pJs$O!$$3$N(B&TR-or-Rec;$B5Z$S4XO"$9$k5,3J(B($BJ8;zMQ$H$7$F!$(BUnicode$B5Z$S(BISO/IEC 10646$B!$(B<!--* XXX for Uniform Resource Identifiers, *-->&language-identification;$B%?%0MQ$H$7$F!$%$%s%?%M%C%H(B RFC 1766$B!$(B&language-code;$BMQ$H$7$F!$(BISO 639$B!$JB$S$K(B&country-code;$BMQ$H$7$F!$(BISO 3166)$B$G!$$9$Y$F<($9!#(B</p>
+<p>$B$3$N(B&version;$B$N(BXML$B$N5,Dj(B<!-- (&doc.date;) -->$B$O!$8x3+%l%S%e!<5Z$S5DO@$rL\E*$H$9$k!#%F%-%9%H5Z$SK!N'>e$NCm0U$r2~JQ$7$J$$8B$j!$<+M3$KG[I[$7$F$b$h$$!#(B</p>
+</div2>
+<div2 id='sec-terminology'>
+<head>$BDj5A(B</head>
+<p>XML$BJ8=q$N5,Dj$N$?$a$K;HMQ$9$kMQ8l$O!$$3$N(B&TR-or-Rec;$BFb$GDj5A$9$k!#<!$K<($98l6g$O!$$=$l$i$NMQ8l$rDj5A$9$k$?$a!$5Z$S(BXML&processor;$B$NF0$-$r5,Dj$9$k$?$a$K;HMQ$9$k!#(B
+<glist>
+<gitem>
+<label>1.2.1 $B$7$F$b$h$$(B(may)</label>
+<def><p><termdef id="dt-may" term="$B$7$F$b$h$$(B">$BE,9g$9$kJ8=qKt$O(BXML&processor;$B$O!$5-=R$5$l$?$H$*$j$KF0:n$7$F$b$h$$$,!$$=$N$H$*$j$K$9$kI,MW$O$J$$!#(B</termdef></p></def>
+</gitem>
+<gitem>
+<label>1.2.2 $B$7$J$1$l$P$J$i$J$$(B(must)</label>
+<def><p>$BE,9g$9$kJ8=qKt$O(BXML&processor;$B$O!$5-=R$5$l$?$H$*$j$KF0:n$9$k$3$H$,MW5a$5$l$k!#$=$&$G$J$1$l$P!$(B&error;$B$H$9$k!#(B<!-- do NOT change this! this is what defines a violation ofa 'must' clause as 'an error'. -MSM -->
+</p></def>
+</gitem>
+<gitem>
+<label>1.2.3 &error;(error)</label>
+<def><p><termdef id="dt-error" term="&error;">$B$3$N(B&TR-or-Rec;$B$,Dj$a$k5,B'$KBP$9$k0cH?!#7k2L$ODj5A$7$J$$!#E,9g$9$k%=%U%H%&%'%"$O!$(B&error;$B$r8!=P$7$FJs9p$7$F$b$h$/!$(B&error;$B$+$i2sI|$7$F$b$h$$!#(B</termdef></p></def>
+</gitem>
+<gitem>
+<label>1.2.4 &fatal-error;(fatal error)</label>
+<def><p><termdef id="dt-fatal" term="&fatal-error;">$BE,9g$9$k(B<termref def="dt-xml-proc">XML&processor;</termref>$B$,8!=P$7$J$1$l$P$J$i$:!$(B&application;$B$KJs9p$7$J$1$l$P$J$i$J$$(B&error;$B!#(B&fatal-error;$B$rH/8+$7$?$"$H!$(B&processor;$B$O!$$=$l0J9_$N(B&error;$B$rC5$9$?$a$K%G!<%?=hM}$rB39T$7$F$b$h$/!$(B&error;$B$rH/8+$7$?>l9g$O!$$=$N(B&error;$B$r(B&application;$B$KJs9p$7$F$b$h$$!#(B&error;$BD{@5$r%5%]!<%H$9$k$?$a$K!$(B&processor;$B$O!$L$=hM}%G!<%?(B($BJ8;z%G!<%?5Z$S(B&markup;$B$N:.:_$7$?$b$N(B)$B$rJ8=q$+$i<h$j=P$7!$(B&application;$B$KEO$7$F$b$h$$!#$7$+$7!$0lEY!$(B&fatal-error;$B$r8!=P$7$?$i!$(B&processor;$B$O!$DL>o$N=hM}$rB39T$7$F$O$J$i$J$$!#$D$^$j!$(B&processor;$B$O!$J8;z%G!<%?5Z$SJ8=q$NO@M}9=B$$K$D$$$F$N>pJs$r!$DL>o$NJ}K!$G(B&application;$B$KEO$7B3$1$F$O$J$i$J$$!#(B</termdef></p></def>
+</gitem>
+<gitem>
+<label>1.2.5 &at-user-option;(at user option)</label>
+<def><p>$BE,9g$9$k%=%U%H%&%(%"$O!$5-=R$5$l$?$H$*$j$K?6$kIq$C$F$b$h$$(B(may)$B!$Kt$O?6$kIq$o$J$/$F$O$J$i$J$$(B(must)($BJ8>OCf$N=uF0;l$K$h$k!#(B)$B!#$=$N$H$*$j$K?6$kIq$&>l9g$O!$5-=R$5$l$??6Iq$$$rA*BrKt$O5qH]$9$k<jCJ$r(B&user;$B$KDs6!$7$J$1$l$P$J$i$J$$!#(B</p></def>
+</gitem>
+<gitem>
+<label>1.2.6 &validity;$B@)Ls(B(validity constraint)</label>
+<def><p>$B$9$Y$F$N(B<termref def="dt-valid">&valid;$B$J(B</termref>XML$BJ8=q$KE,MQ$9$k5,B'!#(B&validity;$B@)Ls$N0cH?$O!$(B&error;$B$H$9$k!#(B&at-user-option;$B!$(B<termref def="dt-validating">$B8!>Z$r9T$&(BXML&processor;</termref>$B$O!$$3$N(B&error;$B$rJs9p$7$J$1$l$P$J$i$J$$!#(B</p></def>
+</gitem>
+<gitem>
+<label>1.2.7 &well-formed;$B@)Ls(B(well-formedness constraint)</label>
+<def><p>$B$9$Y$F$N(B<termref def="dt-wellformed">&well-formed;</termref>$B$N(BXML$BJ8=q$KE,MQ$9$k5,B'!#(B&well-formed;$B@)Ls$N0cH?$O!$(B<termref def="dt-fatal">&fatal-error;</termref>$B$H$9$k!#(B</p></def>
+</gitem>
+<gitem>
+<label>1.2.8 &match;(match)</label>
+<def><p>a) <termdef id="dt-match" term="&match;">&string;$BKt$OL>A0$N(B&match;$B!!Hf3S$9$kFs$D$N(B&string;$BKt$OL>A0$O!$F10l$G$J$1$l$P$J$i$J$$!#(BISO/IEC 10646$B$K$*$$$F!$J#?t$NI=8=$,2DG=$JJ8;z!NNc$($P!$(B&composed-form;$B5Z$S4pDl(B+&diacritical-mark;($B%@%$%"%/%j%F%#%+%k%^!<%/(B)$B7A<0!O$O!$$I$A$i$N(B&string;$B$bF1$8I=8=$N$H$-$K8B$j!$(B&match;$B$9$k!#(B&at-user-option;$B!$(B&processor;$B$O!$$=$NJ8;z$rI8=`7A$K@55,2=$7$F$b$h$$!#Hf3S$N$H$-!"BgJ8;z$H>.J8;z$H$N6hJL$r$9$k!#(B<!-- Note that no processing of characters with respect to case is part of the matching process. -->&lt;BR>b) &string;$B$HJ8K!Cf$N5,B'$H$N(B&match;$B!!$"$k@8@.5,B'$+$i@8@.$9$k8@8l$K!$$"$k(B&string;$B$,B0$9$k$H$-!$$3$N(B&string;$B$O!$$3$N@8@.5,B'$K(B&match;$B$9$k$H$$$&!#(B&lt;BR>c) $BFbMF$HFbMF%b%G%k$H$N(B&match;$B!!$"$kMWAG$,!$(B<titleref href='elementvalid'>$BMWAG$N(B&validity;</titleref>$B$N@)Ls$K<($90UL#$GE,9g$9$k$H$-!$$3$NMWAG$O!$$=$N@k8@$K(B&match;$B$9$k$H$$$&!#(B</termdef></p></def>
+</gitem>
+<gitem>
+<label>1.2.9 $B8_49@-$N$?$a(B(for compatibility)</label>
+<def><p><termdef id="dt-compat" term="$B8_49@-$N$?$a(B">XML$B$N5!G=$G$"$C$F!$(BXML$B$,(BSGML$B$H8_49$G$"$k$3$H$rJ]>Z$9$k$?$a$@$1$KF3F~$5$l$k$b$N!#(B</termdef></p></def>
+</gitem>
+<gitem>
+<label>1.2.10 $BAj8_1?MQ@-$N$?$a(B(for interoperability)</label>
+<def><p><termdef id="dt-interop" term="$BAj8_1?MQ@-$N$?$a(B">$B94B+NO$O$b$?$J$$?d>);v9`!#(B&WebSGML;$B0JA0$+$iB8:_$9$k(BSGML&processor;$B$,!$(BXML$BJ8=q$r=hM}$G$-$k2DG=@-$r9b$a$k$?$a$K<h$jF~$l$k$b$N!#(B</termdef></p></def>
+</gitem>
+</glist>
+</p>
+</div2>
+</div1>
+<!-- &Docs; -->
+<div1 id='sec-documents'>
+<head>$BJ8=q(B</head>
+<p><termdef id="dt-xml-doc" term="XML$BJ8=q(B">
+<!-- A textual object -->
+$B$3$N(B&TR-or-Rec;$B$GDj5A$9$k0UL#$G!$(B<termref def="dt-wellformed">&well-formed;</termref>$B$H$9$k%G!<%?%*%V%8%'%/%H$r!$(B<term>XML$BJ8=q(B</term>$B$H$$$&!#(B&well-formed;$B$N(BXML$BJ8=q$,!$$5$i$K!$$"$k@)Ls>r7o$rK~B-$9$l$P!$(B<termref def="dt-valid">&valid;</termref>$B$J(BXML$BJ8=q$H$9$k!#(B
+</termdef></p>
+
+<!-- why this div? -TB
+<div2 id='sec-log-phys'>
+<head>Logical and Physical Structure</head> -->
+
+<p>$B$$$:$l$N(BXML$BJ8=q$b!$O@M}9=B$5Z$SJ*M}9=B$$r$b$D!#J*M}E*$K$O!$J8=q$O!$(B<termref def="dt-entity">$B<BBN(B</termref>$B$H8F$VC10L$+$i$J$k!#$"$k<BBN$O!$J8=qFb$KB>$N<BBN$r4^$`$?$a$K!$$=$NB>$N<BBN$r(B<termref def="dt-entref">$B;2>H(B</termref>$B$7$F$b$h$$!#J8=q$O!$!H%k!<%H!I$9$J$o$A(B<termref def="dt-docent">$BJ8=q<BBN(B</termref>$B$+$i;O$^$k!#O@M}E*$K$O!$J8=q$O!$@k8@!$MWAG!$%3%a%s%H!$J8;z;2>H5Z$S=hM}L?Na$r4^$_!$$3$l$i$9$Y$F$O!$J8=qFb$GL@<(E*$J(B&markup;$B$K$h$C$F<($9!#O@M}9=B$5Z$SJ*M}9=B$$O!$(B<titleref href="wf-entities">$B0J9_(B</titleref>$B$K<($9$H$*$j$K!$87L)$KF~$l;R$K$J$C$F$$$J$1$l$P$J$i$J$$!#(B</p>
+
+<!--
+</div2> -->
+
+<div2 id='sec-well-formed'>
+<head>&well-formed;$B$N(BXML$BJ8=q(B</head>
+<p><termdef id="dt-wellformed" term="&well-formed;">$B$"$k%F%-%9%H%*%V%8%'%/%H$,!$<!$N$$$:$l$+$N$H$-!$$=$N%F%-%9%H%*%V%8%'%/%H$r(B&well-formed;$B$N(BXML$BJ8=q$H8F$V!#(B</termdef>
+<ulist>
+<item><p>a) $BA4BN$H$7$F!$(B<nt def='NT-document'>document</nt>$B$H$$$&%i%Y%k$r$b$D@8@.5,B'$K(B&match;$B$9$k!#(B</p></item>
+<item><p>b) $B$3$N(B&TR-or-Rec;$B$GDj5A$9$k!$$9$Y$F$N(B&well-formed;$B@)Ls$K=>$&!#(B</p>
+</item>
+<item><p>c) $B$=$l$>$l$N(B<termref def='dt-parsedent'>&parsed-entity;</termref>$B$,!$(B<titleref href='wf-entities'>&well-formed;</titleref>$B$H$J$k!#(B</p></item>
+</ulist></p>
+<p>
+<scrap lang='ebnf' id='document'>
+<head>$BJ8=q(B</head>
+<prod id='NT-document'><lhs>document</lhs>
+<rhs><nt def='NT-prolog'>prolog</nt>
+<nt def='NT-element'>element</nt>
+<nt def='NT-Misc'>Misc</nt>*</rhs></prod>
+</scrap>
+</p>
+<p><nt def="NT-document">document</nt>$B@8@.5,B'$K(B&match;$B$9$k$H$O!$<!$r0UL#$9$k!#(B
+<ulist>
+<item><p>a) $B0l$D0J>e$N(B<termref def="dt-element">$BMWAG(B</termref>$B$r4^$`!#(B</p>
+</item>
+
+<!--* N.B. some readers (notably JC) find the following
+paragraph awkward and redundant. I agree it's logically redundant:
+it *says* it is summarizing the logical implications of
+matching the grammar, and that means by definition it's
+logically redundant. I don't think it's rhetorically
+redundant or unnecessary, though, so I'm keeping it. It
+could however use some recasting when the editors are feeling
+stronger. -MSM *-->
+
+<item><p>b) <termdef id="dt-root" term="$B%k!<%HMWAG(B"><term>$B%k!<%H(B</term>$BKt$OJ8=qMWAG$H$$$&MWAG$,0l$D$@$1B8:_$7!$$3$l$O!$B>$NMWAG$N(B<termref def="dt-content">$BFbMF(B</termref>$B$K4^$^$l$J$$!#(B</termdef>$B$3$l0J30$N$9$Y$F$NMWAG$O!$$=$N3+;O%?%0$,B>$NMWAG$NFbMF$K4^$^$l$l$P!$BP1~$9$k=*N;%?%0$bF1$8MWAG$NFbMF$K4^$^$l$k!#$D$^$j!$MWAG$O!$3+;O%?%05Z$S=*N;%?%0$K$h$C$F6h@Z$i$l!$F~$l;R9=B$$r$J$9!#(B
+</p></item>
+</ulist>
+</p>
+<p><termdef id="dt-parentchild" term="$B?FMWAG(B/$B;RMWAG(B">$B$3$l$i$N7k2L$H$7$F!$J8=qFb$N$I$NHs%k!<%HMWAG(B<code>C</code>$B$KBP$7$F$b!$$"$kB>$NMWAG(B<code>P</code>$B$,B8:_$7!$(B<code>C</code>$B$O!$(B<code>P</code>$B$NFbMF$K4^$^$l$k$,!$(B<code>P</code>$B$NFbMF$K4^$^$l$kB>$NMWAG$K4^$^$l$k$3$H$O$J$$!#$3$N$H$-!$(B<code>P</code>$B$r(B<code>C</code>$B$N(B<code>$B?F(B</code>$B$H$$$$!$(B<code>C</code>$B$r(B<code>P</code>$B$N(B<code>$B;R(B</code>$B$H$$$&!#(B</termdef></p>
+</div2>
+<div2 id="charsets">
+<head>$BJ8;z(B</head>
+<p>
+
+<!--The data stored in an XML <termref def="dt-entity">entity</termref> is
+either <termref def="dt-text">parsed</termref> or <termref
+def="dt-unparsed">unparsed</termref>. -->
+
+<termdef id="dt-text" term="$B%F%-%9%H(B">&parsed-entity;$B$O!$(B<term>$B%F%-%9%H(B</term>(<termref def="dt-character">$BJ8;z(B</termref>$B$NJB$S$G$"$C$F!$(B&markup;$BKt$OJ8;z%G!<%?$rI=$7$F$b$h$$!#(B)$B$r4^$`!#(B</termdef><termdef id="dt-character" term="$BJ8;z(B"><term>$BJ8;z(B</term>$B$O!$%F%-%9%H$N:G>.C10L$G$"$C$F!$(BISO/IEC 10646<bibref ref="ISO10646"/>$B$K5,Dj$5$l$k!#(B<!--Users may extend the ISO/IEC 10646 character repertoire by exploiting the private use areas. -->$B5vMF$9$kJ8;z$O!$%?%V!$2~9T!$I|5"JB$S$K(BUnicode$B5Z$S(BISO/IEC 10646$B$,5vMF$9$k?^7AJ8;z$H$9$k!#(B</termdef>
+<scrap lang="ebnf" id="char32">
+<head>$BJ8;z$NHO0O(B</head>
+<prodgroup pcw2="4" pcw4="17.5" pcw5="11">
+<prod id="NT-Char"><lhs>Char</lhs>
+<rhs>#x9 | #xA | #xD | [#x20-#D7FF] | [#xE000-#xFFFD]
+| [#x10000-#x10FFFF]</rhs>
+<com>$BG$0U$N(BUnicode$BJ8;z!#$?$@$7!$(B&surrogate-blocks;$B!$(BFFFE$B5Z$S(BFFFF$B$O=|$/!#(B</com>
+</prod>
+</prodgroup>
+</scrap>
+</p>
+<p>&character-value;$B$r%S%C%H%Q%?%s$KId9f2=$9$k5!9=$O!$<BBN$4$H$K0c$C$F$b$h$$!#$9$Y$F$N(BXML&processor;$B$O!$(BISO/IEC 10646$B$N(BUTF-8$BId9f2=5Z$S(BUTF-16$BId9f2=$r<u$1IU$1$J$1$l$P$J$i$J$$!#Fs$D$N$I$A$i$,MQ$$$i$l$F$$$k$+$rL@<($9$k$?$a$N5!9=!$5Z$SB>$NId9f2=J}K!$rMxMQ$9$k$?$a$N5!9=$O!$(B<titleref href='charencoding'>$BJ8;z$NId9f2=(B</titleref>$B$K5-=R$9$k!#(B</p>
+<p>$B$I$NId9f2=J}K!$rMQ$$$k$+$K4X78$J$/!$(BISO/IEC 10646$B$NJ8;z=89g$K$"$k$9$Y$F$NJ8;z$O!$$=$N(BUCS-4&code-value;<!-- bit string. -->$B$HEy2A$J(B10$B?J?tKt$O(B16$B?J?t$K$h$C$F!$;2>H$G$-$k!#(B</p>
+</div2>
+
+<div2 id='sec-common-syn'>
+<head>$B6&DL$N9=J89=@.;R(B</head>
+
+<p>2.3$B$G$O!$J8K!Fb$G9-$/;HMQ$9$k$$$/$D$+$N5-9f$rDj5A$9$k!#(B</p>
+<p><nt def="NT-S">S</nt> ($B6uGr(B)$B$O!$0l$D<c$7$/$OJ#?t$N(B&space-character;(#x20)$B!$I|5"!$2~9TKt$O%?%V$+$i@.$k!#(B
+
+<scrap lang="ebnf" id='white'>
+<head>$B6uGr(B</head>
+<prodgroup pcw2="4" pcw4="17.5" pcw5="11">
+<prod id='NT-S'><lhs>S</lhs>
+<rhs>(#x20 | #x9 | #xD | #xA)+</rhs>
+</prod>
+</prodgroup>
+</scrap></p>
+<p>$BJX59>e!$J8;z$r!$(B&letter;$B!$?t;zKt$OB>$NJ8;z$KJ,N`$9$k!#(B&letter;$B$O!$%"%k%U%!%Y%C%HE*Kt$OI=2;E*$G$"$k4pK\J8;z(B($B0l$DKt$OJ#?t$N(B&combining-character;$B$,!$8e$KB3$/$3$H$b$"$k!#(B)$B!$(B&ideographic;$B$+$i@.$k!#(B
+<!--
+Certain layout and format-control characters defined by ISO/IEC 10646
+should be ignored when recognizing identifiers; these are defined by the
+classes <nt def='NT-Ignorable'>Ignorable</nt> and <nt def='NT-
+Extender'>Extender</nt>.
+-->
+$B3F%/%i%9$K$*$1$k<B:]$NJ8;z$K$D$$$F$N40A4$JDj5A$O!$(B<titleref href='CharClasses'>$BJ8;z%/%i%9(B</titleref>$B$K4X$9$kIUO?$K5,Dj$9$k!#(B</p>
+<p><termdef id="dt-name" term="Name"><term>Name</term>$B$O!$(B&letter;$BKt$O$$$/$D$+$N6h@Z$jJ8;z$N0l$D$G;O$^$j!$$=$N8e$K(B&letter;$B!$?t;z!$%O%$%U%s!$2<@~!$%3%m%sKt$O%T%j%*%I$,B3$/(B($B$3$l$i$rL>A0J8;z$H$$$&!#(B)$B!#(B</termdef>&string;"<code>xml</code>"$BKt$O(B<code>(('X'|'x') ('M'|'m') ('L'|'l'))</code>$B$K(B&match;$B$9$kG$0U$N(B&string;$B$G;O$^$kL>A0$O!$$3$N(B&TR-or-Rec;$B$N8=:_$NHGKt$O>-Mh$NHG$G$NI8=`2=$N$?$a$KM=Ls$9$k!#(B
+</p>
+<note>
+<p>XML$B$NL>A0$NCf$N%3%m%s$O!$L>A06u4V$G$N<B83$N$?$a$KM=Ls$9$k!#%3%m%s$N0UL#$O!$>-Mh$N$"$k;~E@$GI8=`2=$9$k$b$N$H$7!$$=$N$H$-$K$O!$<B83E*$JL\E*$G%3%m%s$r;HMQ$9$kJ8=q$r99?7$9$kI,MW$,@8$8$k2DG=@-$,$"$k!#(BXML$B$G:NMQ$9$kL>A06u4V$N5!9=$,!$6h@Z$j;R$H$7$F<B:]$K%3%m%s$r;HMQ$9$k$H$$$&J]>Z$O$J$$!#;v<B>e!$$3$l$O!$L>A06u4V$N<B83$N0l$D$H$7$F0J30$K$O!$(BXML$B$NL>A0$NCf$G%3%m%s$r;HMQ$7$J$$$[$&$,$h$$$3$H$r0UL#$9$k!#$7$+$7!$(BXML&processor;$B$O!$L>A0J8;z$H$7$F%3%m%s$r<u$1IU$1$k$3$H$,K>$^$7$$!#(B
+</p>
+</note>
+<p>
+<nt def='NT-Nmtoken'>Nmtoken</nt> ($BL>A0(B&token;)$B$O!$L>A0J8;z$G9=@.$9$kNs$H$9$k!#(B
+<scrap lang='ebnf'>
+<head>$BL>A05Z$S(B&token;</head>
+<!--
+<prod id='NT-MiscName'><lhs>MiscName</lhs>
+<rhs></rhs>
+</prod>-->
+<prod id='NT-NameChar'><lhs>NameChar</lhs>
+<rhs><nt def="NT-Letter">Letter</nt>
+| <nt def='NT-Digit'>Digit</nt>
+<!--| <nt def='NT-MiscName'>MiscName</nt>-->
+| '.' | '-' | '_' | ':'
+| <nt def='NT-CombiningChar'>CombiningChar</nt>
+<!-- | <nt def='NT-Ignorable'>Ignorable</nt> -->
+| <nt def='NT-Extender'>Extender</nt></rhs>
+</prod>
+<prod id='NT-Name'><lhs>Name</lhs>
+<rhs>(<nt def='NT-Letter'>Letter</nt> | '_' | ':')
+(<nt def='NT-NameChar'>NameChar</nt>)*</rhs></prod>
+<prod id='NT-Names'><lhs>Names</lhs>
+<rhs><nt def='NT-Name'>Name</nt>
+(<nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>)*</rhs></prod>
+<prod id='NT-Nmtoken'><lhs>Nmtoken</lhs>
+<rhs>(<nt def='NT-NameChar'>NameChar</nt>)+</rhs></prod>
+<prod id='NT-Nmtokens'><lhs>Nmtokens</lhs>
+<rhs><nt def='NT-Nmtoken'>Nmtoken</nt> (<nt def='NT-S'>S</nt> <nt
+def='NT-Nmtoken'>Nmtoken</nt>)*</rhs></prod>
+</scrap>
+</p>
+<p>&literal;$B%G!<%?$O!$0zMQId$G0O$^$l$?(B&string;$B$H$7!$$=$NNs$N6h@Z$j;R$H$7$F;HMQ$9$k0zMQId$O4^$^$J$$!#(B&literal;$B$O!$FbIt<BBN(B(<nt def='NT-EntityValue'>EntityValue</nt>)$B!$B0@-CM(B(<nt def='NT-AttValue'>AttValue</nt>)$B!$30It(B&identifier;(<nt def="NT-SystemLiteral">SystemLiteral</nt>)$B$NFbMF$N;XDj$K;HMQ$9$k!#L\E*$K$h$C$F$O!$(B&literal;$BA4BN$r!$$=$NCf$N(B&markup;$B$NAv::$r9T$J$o$:$K!$%9%-%C%W$9$k$3$H$,$"$k(B(<nt def='NT-SkipLit'>SkipLit</nt>$B!#(B)$B!#(B
+<scrap lang='ebnf'>
+<head>&literal;</head>
+<!-- is marked section end legal in entity values etc.?
+James says yes. Handbook page 392, sec. 10.4 seems to me to say no.
+If James is right, leave as is. Otherwise, uncomment
+the next comment and ...
+-->
+<!--
+<prod id='NT-EntityValue'><lhs>EntityValue</lhs>
+<rhs>' " '
+(([^%&amp;"]
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-Reference'>Reference</nt>)*
+- (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-char'>Char</nt>*))
+' " '
+</rhs>
+<rhs>|&nbsp;
+" ' "
+(([^%&amp;']
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-Reference'>Reference</nt>)*
+- (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-char'>Char</nt>*))
+" ' "</rhs>
+</prod>
+<prod id='NT-AttValue'><lhs>AttValue</lhs>
+<rhs>'"'
+(([^&lt;&amp;"]
+| <nt def='NT-Reference'>Reference</nt>)*
+- (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-char'>Char</nt>*))
+' " '
+</rhs>
+<rhs>|&nbsp;
+" ' "
+(([^&lt;&amp;']
+| <nt def='NT-Reference'>Reference</nt>)*
+- (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-char'>Char</nt>*))
+" ' "</rhs>
+<wfc def="CleanAttrVals"/>
+</prod>
+-->
+<!-- ... and comment out the following, down to ... -->
+<prod id='NT-EntityValue'><lhs>EntityValue</lhs>
+<rhs>' " '
+([^%&amp;"]
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-Reference'>Reference</nt>)*
+' " '
+</rhs>
+<rhs>|&nbsp;
+" ' "
+([^%&amp;']
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-Reference'>Reference</nt>)*
+" ' "</rhs>
+</prod>
+<prod id='NT-AttValue'><lhs>AttValue</lhs>
+<rhs>' " '
+([^&lt;&amp;"]
+| <nt def='NT-Reference'>Reference</nt>)*
+' " '
+</rhs>
+<rhs>|&nbsp;
+" ' "
+([^&lt;&amp;']
+| <nt def='NT-Reference'>Reference</nt>)*
+" ' "</rhs>
+<!--<wfc def="WF-Attvaldelim"/>-->
+</prod>
+<!-- ... down to here. -->
+<prod id="NT-SystemLiteral"><lhs>SystemLiteral</lhs>
+<rhs><nt def='NT-SkipLit'>SkipLit</nt></rhs>
+</prod>
+<!-- <prod id="NT-URIchar"><lhs>URIchar</lhs>
+<rhs><com>See <loc href="http://www.w3.org/XXX">XXX</loc></com>
+</rhs></prod>
+-->
+<prod id="NT-PubidLiteral"><lhs>PubidLiteral</lhs>
+<rhs>' " ' <nt def='NT-PubidChar'>PubidChar</nt>*
+' " '
+| " ' " (<nt def='NT-PubidChar'>PubidChar</nt> - " ' ")* " ' "</rhs>
+</prod>
+<prod id="NT-PubidChar"><lhs>PubidChar</lhs>
+<rhs>#x20 | #xD | #xA
+|&nbsp;[a-zA-Z0-9]
+|&nbsp;[-'()+,./:=?]</rhs>
+</prod>
+<prod id="NT-SkipLit"><lhs>SkipLit</lhs>
+<rhs>(' " ' [^"]* ' " ')
+|&nbsp;(" ' " [^']* " ' ")</rhs>
+</prod>
+<!-- alternate form, making ms end illegal: -->
+<!--
+<prod id="NT-SkipLit"><lhs>SkipLit</lhs>
+<rhs>(' " ' ([^"]* - ([^"]* ']]&gt;' [^"]*)) ' " ')
+|&nbsp;(" ' " ([^']* - ([^']* ']]&gt;' [^']*)) " ' ")</rhs>
+</prod>
+-->
+</scrap>
+</p>
+<!--
+<wfcnote id="WF-Attvaldelim">
+<head>Delimiters in Attribute Values</head>
+<p>After the expansion of character and entity references,
+an attribute value must not contain a "<code>&lt;</code>"
+or "<code>&amp;</code>" character unless that character was
+introduced by the expansion of a character reference
+or one of the entities &magicents;.</p>
+</wfcnote>-->
+<!--
+This is not quite right: &lt; should be legal, should it not?
+Suppress this WFC until we get it right.
+-->
+<!-- Henry Thompson suggests (in substance, not form: the wording needs
+to be clarified):
+"Cooked Attribute values must not contain &lt; &amp; or the
+quote which closed their uncooked literal,
+unless arising from the expansion of a character reference or
+magic reference
+directly contained in their uncooked literal."
+I'm not sure I agree with this rule, but it's at least coherent,
+which is more than I can say for my attempt.
+-->
+</div2>
+
+<div2 id='syntax'>
+<head>$BJ8;z%G!<%?5Z$S(B&markup;</head>
+<p><termref def='dt-text'>$B%F%-%9%H(B</termref>$B$O!$(B<termref def="dt-chardata">$BJ8;z%G!<%?(B</termref>$B5Z$S(B&markup;$B$,:.:_$9$k$b$N$H$7$F9=@.$9$k!#(B<termdef id="dt-markup" term="Markup"><term>&markup;</term>$B$O!$(B<termref def="dt-stag">$B3+;O%?%0(B</termref>$B!$(B<termref def="dt-etag">$B=*N;%?%0(B</termref>$B!$(B<termref def="dt-empty">$B6uMWAG(B</termref>$B!$(B<termref def="dt-entref">$B<BBN;2>H(B</termref>$B!$(B<termref def="dt-charref">$BJ8;z;2>H(B</termref>$B!$(B<termref def="dt-comment">$B%3%a%s%H(B</termref>$B!$(B<termref def="dt-cdsection">CDATA$B%;%/%7%g%s(B</termref> $B$N6h@Z$j;R!$(B<termref def="dt-doctype">$BJ8=q7?@k8@(B</termref>$B5Z$S(B<termref def="dt-pi">$B=hM}L?Na(B</termref>$B$N7A$r<h$k!#(B
+</termdef>
+</p>
+<p><termdef id="dt-chardata" term="Character Data">&markup;$B$G$O$J$$$9$Y$F$N%F%-%9%H$O!$J8=q$N(B<term>$BJ8;z%G!<%?(B</term>$B$r9=@.$9$k!#(B</termdef></p>
+<p>$B%"%s%Q%5%s%IJ8;z(B (&amp;)$B5Z$S(B&left-angle-bracket; (&lt;)$B$O!$(B&markup;$B$N6h@Z$j;R$H$7$F!$Kt$O(B<termref def="dt-comment">$B%3%a%s%H(B</termref>$B!$(B<termref def="dt-pi">$B=hM}L?Na(B</termref>$B<c$7$/$O(B<termref def="dt-cdsection">CDATA$B%;%/%7%g%s(B</termref>$BFb$G;HMQ$9$k>l9g$K(B<emph>$B$@$1(B</emph>$B!$$=$N$^$^$N7A$G=P8=$7$F$h$$!#$3$l$i$NJ8;z$O!$FbIt<BBN@k8@$N(B<termref def='dt-litentval'>&literal;$B<BBNCM(B</termref>$BFb$K5-=R$7$F$b$h$$!#(B $B>\$7$/$O!$(B<titleref href='wf-entities'>&well-formed;$B$N<BBN(B</titleref>$B$K4X$9$k5,Dj$r;2>H!#(B<!-- FINAL EDIT: restore internal entity decl or leave it out. -->$B$3$l$i$NJ8;z$,B>$NItJ,$GI,MW$J>l9g!$?tCM$K$h$kJ8;z;2>HKt$O(B&string;"<code>&amp;amp;</code>"$B5Z$S(B&string;"<code>&amp;lt;</code>"$B$r;HMQ$7!$(B<termref def="dt-escape">&escape;</termref>$B$7$J$1$l$P$J$i$J$$!#(B&right-angle-bracket; (>) $B$O!$(B&string;"<code>&amp;gt;</code>"$B$r;HMQ$7$FI=8=$7$F$b$h$$!#FbMF$NCf$GNs(B"<code>]]&gt;</code>"$B$r;HMQ$9$k$H$-$O!$$=$l$,!$(B<termref def="dt-cdsection">CDATA$B%;%/%7%g%s(B</termref>$B$N=*N;$r(B&markup;$B$7$J$$8B$j!$(B<termref def='dt-compat'>$B8_49@-$N$?$a(B</termref>$B!$(B"<code>&amp;gt;</code>"$BKt$OJ8;z;2>H$r;HMQ$7!$(B&escape;$B$7$J$1$l$P$J$i$J$$!#(B</p>
+
+<p>$BMWAG$NFbMF$G$O!$J8;z%G!<%?$O!$$$$+$J$k(B&markup;$B$N3+;O6h@Z$j;R$r4^$^$J$$G$0U$N(B&char-string;$B$H$9$k!#(BCDATA$B%;%/%7%g%s$G$O!$J8;z%G!<%?$H$O!$(BCDATA$B%;%/%7%g%s$N=*N;6h@Z$j;R(B"<code>]]&gt;</code>"$B$r4^$^$J$$G$0U$N(B&char-string;$B$H$9$k!#(B
+</p>
+<p>
+$BB0@-CM$K(B&single-quote;$B5Z$S(B&double-quote;$B$r4^$`$?$a$K$O!$%"%]%9%H%m%U%#Kt$O(B&single-quote;(') $B$O!$(B"<code>&amp;apos;</code>"$B$H$7$FI=8=$7!$(B&double-quote;(")$B$O!$(B"<code>&amp;quot;</code>"$B$H$7$FI=8=$9$k!#(B
+<scrap lang="ebnf">
+<head>$BJ8;z%G!<%?(B</head>
+<prod id='NT-CharData'>
+<lhs>CharData</lhs>
+<rhs>[^&lt;&amp;]* - ([^&lt;&amp;]* ']]&gt;' [^&lt;&amp;]*)</rhs>
+</prod>
+</scrap>
+</p>
+</div2>
+
+<div2 id='sec-comments'>
+<head>$B%3%a%s%H(B</head>
+
+<p><termdef id="dt-comment" term="Comment"><term>$B%3%a%s%H(B</term>$B$O!$B>$N(B<termref def='dt-markup'>&markup;</termref>$B$N30$J$i$P!$J8=q$N$I$3$K8=$l$F$b$h$$!#$5$i$K!$J8=q7?@k8@Fb$G!$J8K!$,5v$9>l=j$K8=$l$F$b$h$$!#(B
+<!-- TB
+except in a <termref def="dt-cdsection">CDATA section</termref>, i.e. within
+<termref def="dt-elemcontent">element content</termref>, in
+<termref def="dt-mixed">mixed content</termref>, or in the prolog. They must
+not occur within declarations or tags. -->
+$B%3%a%s%H$O!$J8=q$N(B<termref def="dt-chardata">$BJ8;z%G!<%?(B</termref>$B$N0lIt$G$O$J$$!#(BXML&processor;$B$O!$(B&application;$B$,%3%a%s%H$N%F%-%9%H$r<h$j=P$9$3$H$r2DG=$H$7$F$b$h$$$,!$$=$&$7$J$/$H$b$h$$!#(B
+<termref def="dt-compat">$B8_49@-$N$?$a(B</termref>$B!$(B&string;"<code>--</code>" $B!J(B&double-hyphen;$B!K$O!$%3%a%s%HFb$G8=$l$F$O$J$i$J$$!#(B
+<scrap lang="ebnf">
+<head>$B%3%a%s%H(B</head>
+<prod id='NT-Comment'><lhs>Comment</lhs>
+<rhs>'&lt;!--'
+((<nt def='NT-Char'>Char</nt> - '-')
+| ('-' (<nt def='NT-Char'>Char</nt> - '-')))*
+'-->'</rhs>
+<!--
+<rhs>'&lt;!&como;'
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*))
+'&comc;&gt;'</rhs> -->
+</prod>
+</scrap>
+</termdef></p>
+<p>$B%3%a%s%H$NNc$r<!$K<($9!#(B
+<eg>&lt;!&como; declarations for &lt;head> &amp; &lt;body> &comc;&gt;</eg>
+</p>
+</div2>
+
+<div2 id='sec-pi'>
+<head>$B=hM}L?Na(B</head>
+
+<p><termdef id="dt-pi" term="Processing instruction"><term>$B=hM}L?Na(B</term>(PI)$B$K$h$C$F!$(B&application;$B$N$?$a$NL?Na$rJ8=q$KF~$l$k$3$H$,$G$-$k!#(B
+
+<scrap lang="ebnf">
+<head>$B=hM}L?Na(B</head>
+<prod id='NT-PI'><lhs>PI</lhs>
+<rhs>'&lt;?' <nt def='NT-PITarget'>PITarget</nt>
+(<nt def='NT-S'>S</nt>
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*)))?
+&pic;</rhs></prod>
+<prod id='NT-PITarget'><lhs>PITarget</lhs>
+<rhs><nt def='NT-Name'>Name</nt> -
+(('X' | 'x') ('M' | 'm') ('L' | 'l'))</rhs>
+</prod>
+</scrap></termdef>
+PI$B$O!$J8=q$N(B<termref def="dt-chardata">$BJ8;z%G!<%?(B</termref>$B$N0lIt$G$O$J$$$,!$(B&application;$B$KEO$5$l$J$1$l$P$J$i$J$$!#(BPI$B$O!$L?Na$,EO$5$l$k(B&application;$B$r(B&identify;$B$?$a$K;HMQ$9$k(B&target; (<nt def='NT-PITarget'>PITarget</nt>) $B$G;O$^$k!#(B&target;$BL>(B "<code>XML</code>"$B!$(B"<code>xml</code>"$B$J$I$O!$$3$N(B&TR-or-Rec;$B$N8=:_$NHGKt$O>-Mh$NHG$N5,3J2=MQ$KM=Ls$9$k!#(BXML$B$N(B<termref def='dt-notation'>$B5-K!(B</termref>$B5!9=$r!$(BPI$B$N(B&target;$B$r@k8@$9$k$?$a$K;HMQ$7$F$b$h$$!#(B
+</p>
+</div2>
+
+<div2 id='sec-cdata-sect'>
+<head>CDATA$B%;%/%7%g%s(B</head>
+
+<p><termdef id="dt-cdsection" term="CDATA Section"><term>CDATA$B%;%/%7%g%s(B</term>$B$O!$J8;z%G!<%?$,=P8=$9$k$H$3$m$G$"$l$P!$$I$3$K=P8=$7$F$b$h$$!#$3$l$O!$$=$&$G$J$1$l$P!$(B&markup;$B$H$7$FG'<1$9$kJ8;z$r4^$`!$%F%-%9%H$N6h2h$r(B&escape;$B$9$k$N$K;HMQ$9$k!#(BCDATA$B%;%/%7%g%s$O!$(B&string;"<code>&lt;![CDATA[</code>"$B$G;O$^$j!$(B&string;
+"<code>]]&gt;</code>"$B$G=*$o$k!#(B
+<scrap lang="ebnf">
+<head>CDATA$B%;%/%7%g%s(B</head>
+<prod id='NT-CDSect'><lhs>CDSect</lhs>
+<rhs><nt def='NT-CDStart'>CDStart</nt>
+<nt def='NT-CData'>CData</nt>
+<nt def='NT-CDEnd'>CDEnd</nt></rhs></prod>
+<prod id='NT-CDStart'><lhs>CDStart</lhs>
+<rhs>'&lt;![CDATA['</rhs>
+</prod>
+<prod id='NT-CData'><lhs>CData</lhs>
+
+<rhs>(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-Char'>Char</nt>*))
+</rhs>
+</prod>
+<prod id='NT-CDEnd'><lhs>CDEnd</lhs>
+<rhs>']]&gt;'</rhs>
+</prod>
+</scrap>
+
+CDATA$B%;%/%7%g%sFb$G$O!$Ns(B<nt def='NT-CDEnd'>CDEnd</nt>$B$@$1$r(B&markup;$B$H$7$FG'<1$9$k$N$G!$(B&left-angle-bracket;$B5Z$S%"%s%Q%5%s%I$O!$$=$N(B&literal;$B7A<0$G=P8=$7$F$h$$!#$=$l$i$O!$(B"<code>&amp;lt;</code>"$B5Z$S(B"<code>&amp;amp;</code>"$B$r;HMQ$7$F(B&escape;$B$9$kI,MW$O$J$$!#(BCDATA$B%;%/%7%g%s$O!$F~$l;R$K$O$G$-$J$$!#(B
+</termdef>
+</p>
+
+<p>"<code>&lt;greeting></code>"$B5Z$S(B"<code>&lt;/greeting></code>"$B$r!$(B<termref def='dt-markup'>&markup;</termref>$B$G$O$J$/!$(B<termref def='dt-chardata'>$BJ8;z%G!<%?(B</termref>$B$H$7$FG'<1$9$k(BCDATA$B%;%/%7%g%s$NNc$r!$<!$K<($9!#(B
+<eg>&lt;![CDATA[&lt;greeting>Hello, world!&lt;/greeting>]]&gt;</eg>
+</p>
+</div2>
+
+<div2 id='sec-prolog-dtd'>
+<head>&prolog;$B5Z$SJ8=q7?@k8@(B</head>
+
+<p><termdef id='dt-xmldecl' term='XML Declaration'>XML$BJ8=q$O!$;HMQ$9$k(BXML$B$N(B&version;$B$r;XDj$9$k(B<term>XML$B@k8@(B</term>$B$G;O$a$F$b$h$/!$Kt$=$&$9$k$N$,K>$^$7$$!#(B
+</termdef>
+</p>
+<p>$B$3$N(B&TR-or-Rec;$B$N$3$N(B&version;$B$KE,9g$9$k$3$H$r<($9$?$a$K$O!$(B&version;$BHV9f(B "<code>1.0</code>" $B$r;HMQ$7$J$1$l$P$J$i$J$$!#$"$kJ8=q$,!$$3$N(B&TR-or-Rec;$B$N$3$N(B&version;$B$KE,9g$7$J$$$H$-!$CM(B"<code>1.0</code>"$B$r;HMQ$9$k$N$O!$(B&error;$B$H$9$k!#$3$N(B&TR-or-Rec;$B$N:#8e$N(B&version;$B$K(B"<code>1.0</code>"$B0J30$NCM$rIUM?$9$k$3$H$,!$(BXML$B:n6H%0%k!<%W$N0U?^$@$,!$(BXML$B$N>-Mh$N(B&version;$B$r:n@.$9$k$3$H$N3NLs$r<($9$o$1$G$O$J$/!$:n@.$7$?$H$7$F$b!$HV9fIU$1$K$D$$$F!$FCDj$NJ}K!$r;HMQ$9$k$3$H$N3NLs$r<($9$o$1$G$b$J$$!#>-Mh$N(B&version;$B$N2DG=@-$r=|30$7$J$$$N$G!$I,MW$J>l9g!$<+F0E*$J(B&version;$B$NG'<1$r2DG=$H$9$k<jCJ$H$7$F!$$3$N9=@.;R$rDs6!$9$k!#(B&processor;$B$O!$%5%]!<%H$7$F$$$J$$(B&version;$B$G%i%Y%kIU$1$7$?J8=q$r<u$1<h$C$?$H$-!$(B&error;$B$rDLCN$7$F$b$h$$!#(B
+</p>
+<p>XML$BJ8=qFb$N(B&markup;$B$N5!G=$O!$5-219=B$5Z$SO@M}9=B$$r5-=R$9$k$3$H!$JB$S$KB0@-5Z$SB0@-CM$NBP$rO@M}9=B$$K4XO"$E$1$k$3$H$K$"$k!#(BXML$B$O!$O@M}9=B$$K$D$$$F$N@)Ls>r7o$rDj5A$9$k$?$a!$5Z$S$"$i$+$8$aDj5A$5$l$?5-21C10L$r;HMQ$G$-$k$?$a$N5!9=$H$7$F!$(B<termref def="dt-doctype">$BJ8=q7?@k8@(B</termref>$B$rDs6!$9$k!#(B<!-- old
+The function of the markup in an XML document is to describe its
+storage and logical structures, and associate attribute-value pairs with the
+logical structure.
+XML provides a
+mechanism, the <termref def="dt-doctype">document type declaration</termref>,
+to
+define constraints on that logical structure and to support the use of
+predefined storage units. --><termdef id="dt-valid" term="Validity">XML$BJ8=q$,(B<term>&valid;</term>$B$H$O!$J8=q7?@k8@$r$b$A!$$=$NJ8=q7?@k8@$K<($9@)Ls>r7o$rK~$?$9$3$H$H$9$k!#(B
+</termdef></p>
+<p>$BJ8=q7?@k8@$O!$J8=q$N:G=i$N(B<termref def="dt-element">$BMWAG(B</termref>$B$NA0$K8=$l$J$1$l$P$J$i$J$$!#(B
+<scrap lang="ebnf" id='xmldoc'>
+<head>&prolog;</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-prolog'><lhs>prolog</lhs>
+<rhs><nt def='NT-XMLDecl'>XMLDecl</nt>?
+<nt def='NT-Misc'>Misc</nt>*
+(<nt def='NT-doctypedecl'>doctypedecl</nt>
+<nt def='NT-Misc'>Misc</nt>*)?</rhs></prod>
+<prod id='NT-XMLDecl'><lhs>XMLDecl</lhs>
+<rhs>&xmlpio;
+<nt def='NT-VersionInfo'>VersionInfo</nt>
+<nt def='NT-EncodingDecl'>EncodingDecl</nt>?
+<nt def='NT-SDDecl'>SDDecl</nt>?
+<nt def="NT-S">S</nt>?
+&pic;</rhs>
+</prod>
+<prod id='NT-VersionInfo'><lhs>VersionInfo</lhs>
+<rhs><nt def="NT-S">S</nt> 'version' <nt def='NT-Eq'>Eq</nt>
+('"<nt def="NT-VersionNum">VersionNum</nt>"'
+| "'<nt def="NT-VersionNum">VersionNum</nt>'")</rhs>
+</prod>
+<prod id='NT-Eq'><lhs>Eq</lhs>
+<rhs><nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?</rhs></prod>
+<prod id="NT-VersionNum">
+<lhs>VersionNum</lhs>
+<rhs>([a-zA-Z0-9_.:] | '-')+</rhs>
+</prod>
+<prod id='NT-Misc'><lhs>Misc</lhs>
+<rhs><nt def='NT-Comment'>Comment</nt> | <nt def='NT-PI'>PI</nt> |
+<nt def='NT-S'>S</nt></rhs></prod>
+</prodgroup>
+</scrap></p>
+
+<p>
+$BNc$($P!$<!$K<($940A4$J(BXML$BJ8=q$O!$(B<termref def="dt-wellformed">&well-formed;</termref>$B$G$"$k$,(B<termref def="dt-valid">&valid;</termref>$B$G$O$J$$!#(B
+<eg><![CDATA[<?xml version="1.0"?>
+<greeting>Hello, world!</greeting>
+]]></eg>
+$B<!$NJ8=q$bF1MM$H$9$k!#(B
+<eg><![CDATA[<greeting>Hello, world!</greeting>
+]]></eg>
+</p>
+<p><termdef id="dt-doctype" term="Document Type Declaration">
+XML$B$N(B<term>$BJ8=q7?@k8@(B</term>$B$O!$$"$kJ8=q%/%i%9$N$?$a$NJ8K!$rDs6!$9$k(B<termref def='dt-markupdecl'>&markup;$B@k8@(B</termref>$B$r4^$`$+!$Kt$O;2>H$9$k!#$3$NJ8K!$r!$J8=q7?Dj5AKt$O(B<term>DTD</term>$B$H$$$&!#J8=q7?@k8@$O!$(B&markup;$B@k8@$r4^$s$@30It(B&subset;($BFCJL$J<oN`$N(B<termref def='dt-extent'>$B30It<BBN(B</termref>)$B$r;2>H$G$-!$Kt$OFbIt(B&subset;$B$KD>@\(B&markup;$B@k8@$r4^$`$3$H$b$G$-$k!#$5$i$K!$$=$NN>J}$b2DG=$H$9$k!#$"$kJ8=q$N(BDTD$B$O!$N>J}$N(B&subset;$B$r$^$H$a$?$b$N$H$7$F9=@.$9$k!#(B</termdef>
+</p>
+<p><termdef id="dt-markupdecl" term="markup declaration">
+<term>&markup;$B@k8@(B</term>$B$O!$(B<termref def="dt-eldecl">$BMWAG7?@k8@(B</termref>$B!$(B <termref def="dt-attdecl">$BB0@-%j%9%H@k8@(B</termref>$B!$(B<termref def="dt-entdecl">$B<BBN@k8@(B</termref>$BKt$O(B<termref def="dt-notdecl">$B5-K!@k8@(B</termref>$B$H$9$k!#(B</termdef>$B<!$K<($9(B&well-formed;$B@)Ls5Z$S(B&validity;$B@)Ls$K5,Dj$9$k$,!$$3$l$i$N@k8@$O!$(B<termref def='dt-PE'>&parameter;$B<BBN(B</termref>$BFb$KA4BNKt$O0lIt$,4^$^$l$F$b$h$$!#>\$7$$5,Dj$O!$(B<titleref xml-link="simple" href="sec-physical-struct">$BJ*M}9=B$(B</titleref>$B$K4X$9$k5,Dj$r;2>H$N$3$H!#(B</p>
+<scrap lang="ebnf" id='dtd'>
+<head>$BJ8=q7?Dj5A(B</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-doctypedecl'><lhs>doctypedecl</lhs>
+<rhs>'&lt;!DOCTYPE' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt>
+<nt def='NT-ExternalID'>ExternalID</nt>)?
+<nt def='NT-S'>S</nt>? ('['
+(<nt def='NT-markupdecl'>markupdecl</nt>
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-S'>S</nt>)*
+']'
+<nt def='NT-S'>S</nt>?)? '>'</rhs>
+<vc def="vc-roottype"/>
+<!--<vc def="vc-nonnullDTD"/>-->
+</prod>
+<!--
+<prod id='NT-markupdecls'><lhs>markupdecls</lhs>
+<rhs>
+(<nt def='NT-S'>S</nt>?
+<nt def='NT-markupdecl'>markupdecl</nt>
+<nt def='NT-S'>S</nt>?)*
+</rhs></prod>
+-->
+<prod id='NT-markupdecl'><lhs>markupdecl</lhs>
+<rhs><nt def='NT-elementdecl'>elementdecl</nt>
+| <nt def='NT-AttlistDecl'>AttlistDecl</nt>
+| <nt def='NT-EntityDecl'>EntityDecl</nt>
+| <nt def='NT-NotationDecl'>NotationDecl</nt>
+| <nt def='NT-PI'>PI</nt>
+| <nt def='NT-Comment'>Comment</nt>
+<!--| <nt def='NT-InternalPERef'>InternalPERef</nt> --></rhs>
+<vc def='vc-PEinMarkupDecl'/>
+<wfc def="wfc-PEinInternalSubset"/>
+</prod>
+<!--
+<prod id="NT-InternalPERef"><lhs>InternalPERef</lhs>
+<rhs><nt def="NT-PEReference">PEReference</nt></rhs>
+<wfc def="wfc-integraldec"/>
+</prod>
+-->
+</prodgroup>
+</scrap>
+<vcnote id="vc-roottype">
+<head>&root;$BMWAG7?(B</head>
+<p>
+$BJ8=q7?@k8@$K$*$1$k(B<nt def='NT-Name'>Name</nt>$B$O!$(B&root;$BMWAG$N7?$H(B&match;$B$7$J$1$l$P$J$i$J$$!#(B
+</p>
+</vcnote>
+<!--
+<vcnote id="vc-nonnullDTD">
+<head>Non-null DTD</head>
+<p>
+The internal and external subsets of the DTD must not both
+be empty.
+</p>
+</vcnote>
+-->
+<vcnote id='vc-PEinMarkupDecl'>
+<head>$B@k8@5Z$S(B&parameter;$B<BBN$,87L)$KF~$l;R$r$J$9$3$H(B</head>
+<p>&parameter;$B<BBN(B<termref def='dt-repltext'>$B$N(B&replacement-text;</termref>$B$O!$(B&markup;$B@k8@Fb$K$*$$$F!$87L)$KF~$l;R$K$J$C$F$$$J$1$l$P$J$i$J$$!#$D$^$j!$(B&markup;$B@k8@(B(<nt def='NT-markupdecl'>markupdecl</nt>)$B$N:G=iKt$O:G8e$NJ8;z$,!$(B<termref def='dt-PERef'>&parameter;$B<BBN;2>H(B</termref>$B$NBP>]$H$J$k(B&replacement-text;$B$K4^$^$l$l$P!$N>J}$H$bF1$8(B&replacement-text;$B$K4^$^$l$J$1$l$P$J$i$J$$!#(B</p>
+</vcnote>
+<wfcnote id="wfc-PEinInternalSubset">
+<head>$BFbIt(B&subset;$BFb$N(B&parameter;$B<BBN(B</head>
+<p>DTD$B$NFbIt(B&subset;$B$G$O!$(B<termref def='dt-PERef'>&parameter;$B<BBN;2>H(B</termref>$B$O!$(B&markup;$B@k8@$,=P8=2DG=$J>l=j$@$1$K=P8=$G$-$k!#(B&markup;$B@k8@Fb$K$O=P8=$G$-$J$$(B($B$3$N@)Ls$O!$30It(B&parameter;$B<BBNKt$O30It(B&subset;$B$G$N;2>H$K$OE,MQ$7$J$$!#(B)$B!#(B
+</p>
+</wfcnote>
+<p>
+$BFbIt(B&subset;$B$N$H$-$HF1MM$K!$30It(B&subset;$B5Z$S(BDTD$B$K$*$$$F;2>H$9$kG$0U$N30It(B&parameter;$B<BBN$O!$Hs=*C<5-9f(B<nt def="NT-markupdecl">markupdecl</nt>$B$K$h$C$F5v$5$l$k7?$N!$0lO"$N40A4$J(B&markup;$B@k8@$G9=@.$5$l$J$1$l$P$J$i$J$$!#(B&markup;$B@k8@$N4V$K$O!$6uGrKt$O(B<termref def="dt-PERef">&parameter;$B<BBN;2>H(B</termref>$B$rCV$$$F$b$h$$!#$7$+$7!$30It(B&subset;$BKt$O30It(B&parameter;$B<BBN$NFbMF$N0lIt$O!$(B<termref def="dt-cond-section">$B>r7oIU$-%;%/%7%g%s(B</termref>$B$r;HMQ$7$FL5;k$7$F$b$h$$!#FbIt%5%V%;%C%H$G$O!$$3$l$O5v$5$l$J$$!#(B
+<!--In the external subset, however, parameter-entity references can
+be used to replace constructs prefixed by "<code>%</code>" in a production of
+the grammar, and <termref def="dt-cond-section">conditional sections</termref>
+may occur.
+In the internal subset, by contrast, conditional sections may not
+occur and the only parameter-entity references
+allowed are those which match the non-terminal
+<nt def="NT-InternalPERef">InternalPERef</nt>
+within the rule for <nt def="NT-doctypedecl">markupdecl</nt>.
+-->
+<scrap id="ext-Subset">
+<head>$B30It(B&subset;</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-extSubset'><lhs>extSubset</lhs>
+<rhs>(
+<nt def='NT-markupdecl'>markupdecl</nt>
+| <nt def='NT-conditionalSect'>conditionalSect</nt>
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-S'>S</nt>
+)*</rhs>
+</prod>
+</prodgroup>
+</scrap></p>
+<p>$B30It(B&subset;$B5Z$S30It(B&parameter;$B<BBN$O!$$=$NFb$G$O!$(B&parameter;$B<BBN$,(B&markup;$B@k8@$N(B<emph>$B4V(B</emph>$B$@$1$G$J$/!$(B&markup;$B@k8@$N(B<emph>$BFb(B</emph>$B$G$bG'<1$5$l$k!$$H$$$&E@$G$bFbIt(B&subset;$B$H$O0[$J$k!#(B
+</p>
+<p>$BJ8=q7?@k8@IU$-$N(BXML$BJ8=q$NNc$r!$<!$K<($9!#(B
+<eg><![CDATA[<?xml version="1.0"?>
+<!DOCTYPE greeting SYSTEM "hello.dtd">
+<greeting>Hello, world!</greeting>
+]]></eg>
+<termref def="dt-sysid">$B%7%9%F%`(B&identifier;</termref> "<code>hello.dtd</code>"$B$,!$J8=q$N(BDTD$B$N(BURI$B$H$J$k!#(B</p>
+<p>$B<!$NNc$N$H$*$j!$@k8@$r6I=jE*$KM?$($k$3$H$b$G$-$k!#(B
+<eg><![CDATA[<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE greeting [
+ <!ELEMENT greeting (#PCDATA)>
+]>
+<greeting>Hello, world!</greeting>
+]]></eg>
+$B30It(B&subset;$B5Z$SFbIt(B&subset;$B$NN>J}$r;HMQ$9$k$H$-$O!$FbIt(B&subset;$B$,30It(B&subset;$B$h$j@h$K=P8=$7$?$H8+$J$9!#(B<!--* 'is considered to'? boo. whazzat mean? -->$B$3$l$O!$FbIt(B&subset;$B$N<BBN5Z$SB0@-%j%9%H@k8@$,!$30It(B&subset;$B$N<BBN5Z$SB0@-%j%9%H@k8@$h$jM%@h$9$k$H$$$&8z2L$r$b$?$i$9!#(B
+</p>
+</div2>
+
+<div2 id='sec-rmd'>
+<head>&standalone;$BJ8=q@k8@(B</head>
+<p><termref def="dt-xml-proc">XML&processor;</termref>$B$O!$(B&application;$B$KJ8=q$NFbMF$rEO$9$,!$(B&markup;$B@k8@$O!$$3$NFbMF$K1F6A$rM?$($k$3$H$,$"$k!#B0@-$N(B&default-value;$B5Z$S<BBN@k8@$r$=$NNc$H$9$k!#(BXML$B@k8@$N0lItJ,$H$7$F=P8=$G$-$k(B&standalone;$BJ8=q@k8@$O!$J8=q$,!$$=$N(B&markup;$B@k8@$NB8:_$K$h$C$F1F6A$5$l$J$$$3$H$r;X$7<($9!JIaDL!$$=$N(B&markup;$B@k8@$,B8:_$7$J$$$?$a$K!$$3$l$,$$$($k!#!K!#(B
+<scrap lang="ebnf" id='fulldtd'>
+<head>&standalone;$BJ8=q@k8@(B</head>
+<prodgroup pcw2="4" pcw4="19.5" pcw5="9">
+<prod id='NT-SDDecl'><lhs>SDDecl</lhs>
+<rhs>
+<nt def="NT-S">S</nt>
+'standalone' <nt def='NT-Eq'>Eq</nt> "'" ('yes' | 'no') "'"
+</rhs>
+<rhs>
+| <nt def="NT-S">S</nt>
+'standalone' <nt def='NT-Eq'>Eq</nt> '"' ('yes' | 'no') '"'
+</rhs><vc def='vc-check-rmd'/></prod>
+</prodgroup>
+</scrap></p>
+<p>&standalone;$BJ8=q@k8@$K$*$$$F$O(B, "<code>yes</code>"$B$NCM$O!$(B<termref def='dt-docent'>$BJ8=q<BBN(B</termref>$B$N30It$K!J(BDTD$B$N30It(B&subset;$BFb$K!$Kt$OFbIt(B&subset;$B$+$i;2>H$5$l$k30It%Q%i%a%?<BBNFb$K!K!$(BXML&processor;$B$+$i(B&application;$B$X$HEO$5$l$k>pJs$K1F6A$9$k(B&markup;$B@k8@$,B8:_$7$J$$$3$H$r0UL#$9$k!#(B"<code>no</code>"$B$NCM$O!$$=$N30It(B&markup;$B@k8@$,B8:_$9$k$+!$Kt$OB8:_$9$k2DG=@-$,$"$k$3$H$r0UL#$9$k!#(B&standalone;$BJ8=q@k8@$O!$$=$N(B<emph>$B@k8@(B</emph>$B$,J8=q30It$KB8:_$9$k$+$I$&$+$r<($9$@$1$KCm0U$9$k$3$H!#30It<BBN$X$N;2>H$,J8=qFb$KB8:_$7$F$$$F$b!$$=$N<BBN$,FbItE*$K@k8@$5$l$F$$$k$H$-$O!$J8=q$N(B&standalone;$B$N>uBV$K$O1F6A$rM?$($J$$!#(B</p>
+
+<p>$B30It$K(B&markup;$B@k8@$,B8:_$7$J$1$l$P!$(B&standalone;$BJ8=q@k8@$O0UL#$r$b$?$J$$!#30It$K(B&markup;$B@k8@$,B8:_$7!$(B&standalone;$BJ8=q@k8@$,B8:_$7$J$$>l9g$O!$(B<code>"no"</code> $B$NCM$N@_Dj$r2>Dj$9$k!#(B</p>
+<p>XML$BJ8=q$G(B <code>standalone="no"</code> $B$,@_Dj$5$l$F$$$k$b$N$O!$$"$k%"%k%4%j%:%`$G(B&standalone;$BJ8=q$KJQ49$G$-!$$3$NJ8=q$O!$%M%C%H%o!<%/G[?.(B&application;$B$K$H$C$FK>$^$7$$$+$b$7$l$J$$!#(B</p>
+<vcnote id='vc-check-rmd'>
+<head>&standalone;$BJ8=q@k8@(B</head>
+<p>&standalone;$BJ8=q@k8@$O!$2?$i$+$N30It(B&markup;$B@k8@$,<!$N$$$:$l$+$r@k8@$7$F$$$k$H$-$O!$CM(B "<code>no</code>" $B$r<h$i$J$1$l$P$J$i$J$$!#(B
+<ulist>
+<item><p>a) <termref def="dt-default">&default;</termref>$BCMIU$-$NB0@-$G$"$C$F!$$3$NB0@-$,E,MQ$5$l$kMWAG$,!$B0@-CM$r;XDj$;$:$KJ8=qFb$K8=$l$k$b$N!#(B</p></item>
+<item><p>b) &magicents;$B0J30$N<BBN$G$"$C$F!$$=$N<BBN$KBP$9$k(B<termref def="dt-entref">$B;2>H(B</termref>$B$,J8=qFb$K=P8=$9$k$b$N!#(B</p>
+</item>
+<item><p>c) $BCM$,(B<titleref href='AVNormalize'>$B@55,2=(B</titleref>$B$NBP>]$H$J$kB0@-$G$"$C$F!$@55,2=$N7k2L$H$7$FJQ2=$9$kCM$,J8=qFb$GB0@-$K;XDj$5$l$k$b$N!#(B</p></item>
+<item>
+<p>d) <termref def="dt-elemcontent">$BMWAGFbMF(B</termref>$B$r$b$DMWAG7?$G$"$C$F!$6uGr$,$=$NMWAG7?$N$$$:$l$+$N%$%s%9%?%s%9Fb$KD>@\8=$l$k$b$N!#(B
+</p></item>
+</ulist>
+</p>
+</vcnote>
+<p>&standalone;$BJ8=q@k8@IU$-$N(BXML$B@k8@$NNc$r!$<!$K<($9!#(B
+<eg>&lt;?xml version="&XML.version;" standalone='yes'?></eg></p>
+</div2>
+<div2 id='sec-white-space'>
+<head>$B6uGr$N<h07$$(B</head>
+<p>XML$BJ8=q$rJT=8$9$k$H$-$O!$(B&markup;$B$rL\N)$?$;FI$_$d$9$/$9$k$?$a$K!$!H6uGr!I(B(&space;$B!$%?%V5Z$S6uGr9T!#$3$N(B&TR-or-Rec;$B$G$O!$Hs=*C<5-9f$N(B<nt def='NT-S'>S</nt>$B$GI=$9(B)$B$r;H$&$HJXMx$J$3$H$,B?$$!#$=$N6uGr$O!$G[I[$9$k(B&version;$B$NJ8=q$N0lIt$H$7$F4^$a$k$3$H$r0U?^$7$J$$$N$rIaDL$H$9$k!#$7$+$7!$!H0UL#$N$"$k!I6uGr$G$"$C$F!$G[I[$9$k(B&version;$B$K;D$5$J$1$l$P$J$i$J$$$b$N$bB?$$!#Nc$($P!$;m5Z$S%=!<%9%3!<%I$K$*$1$k6uGr$,$"$k!#(B</p>
+<p><termref def='dt-xml-proc'>XML&processor;</termref>$B$O!$J8=qFb$N(B&markup;$B0J30$N$9$Y$F$NJ8;z$r!$$=$N$^$^JQ99$;$:$K(B&application;$B$KEO$5$J$1$l$P$J$i$J$$!#(B<termref def='dt-validating'>&validating;XML&processor;</termref>$B$O!$(B<termref def="dt-elemcontent">$BMWAGFbMF(B</termref>$B$NCf$N6uGr$rB>$NHs(B&markup;$BJ8;z$+$i6hJL$7!$(B&application;$BB&$KMWAGFbMF$NCf$N6uGr$,=EMW$G$J$$$H$$$&$3$H$rEA$($J$1$l$P$J$i$J$$!#(B</p>
+<p>
+"<code>xml:space</code>"$B$H$$$&FCJL$J(B<termref def='dt-attr'>$BB0@-(B</termref>$B$rJ8=q$KA^F~$9$k$3$H$K$h$C$F!$6uGr$r=EMW$H$9$k0U?^$r<($7$F$b$h$$!#$3$NB0@-$rE,MQ$9$kMWAG$K8=$l$k6uGr$r!$%"%W%j%1!<%7%g%s$,=EMW$J$b$N$H$7$F07$&$3$H$rMW5a$9$k!$$H$$$&0U?^$r<($9!#(B</p>
+<p>&valid;$B$JJ8=q$G$O!$$3$NB0@-$r;HMQ$9$k>l9g$O!$B>$NB0@-$HF1$8$h$&$K(B<termref def="dt-attdecl">$B@k8@(B</termref>$B$7$J$1$l$P$J$i$J$$!#@k8@$9$k$H$-$O!$<h$jF@$kCM$r(B"<code>default</code>"$B5Z$S(B "<code>preserve</code>"$B$@$1$H$9$k(B<termref def='dt-enumerated'>$BNs5s7?(B</termref>$B$G$J$1$l$P$J$i$J$$!#(B
+</p>
+<p>$BCM(B"<code>default</code>"$B$O!$(B&application;$B$N(B&default;$B$N6uGr=hM}%b!<%I$r!$$=$NMWAG$KE,MQ2DG=$H$9$k$3$H$r0UL#$9$k!#CM(B"<code>preserve</code>"$B$O!$(B&application;$B$,$9$Y$F$N6uGr$rJ]B8$9$k$3$H$r0UL#$9$k!#$3$N@k8@$N0U?^$O!$(B"<code>xml:space</code>" $BB0@-$NJL$N;XDj$G>e=q$-$7$J$$8B$j!$MWAG$NFbMF$K8=$l$k$9$Y$F$NMWAG$KE,MQ$9$k$H2r<a$9$k!#(B</p>
+<p>$BJ8=q$N(B<termref def='dt-root'>&root;$BMWAG(B</termref>$B$K$D$$$F$O!$$3$NB0@-$NCM$r;XDj$9$k$+!$Kt$O$3$NB0@-$N(B&default-value;$B$,$"$k>l9g$r=|$$$F$O!$(B&application;$B$K$h$k6uGr$N<h07$$$K$D$$$F!$$$$+$J$k0U?^$b<($5$J$$$H2r<a$9$k!#(B</p>
+<p>$BNc$r<!$K<($9!#(B
+<eg><![CDATA[ <!ATTLIST poem xml:space (default|preserve) 'preserve'>]]></eg>
+</p>
+</div2>
+<div2 id='sec-line-ends'>
+<head>$B9TKv$N<h07$$(B</head>
+<p>XML$B$N(B<termref def='dt-parsedent'>$B9=J8(B&parsed-entity;</termref>$B$O!$DL>o%3%s%T%e!<%?$N%U%!%$%kFb$KJ]B8$5$l!$JT=8$NJX59$N$?$a$KJ#?t$N9T$KJ,$1$k$3$H$,B?$$!#$3$l$i$N9T$O!$IaDL$O!$(B<code>CR</code> (#xD)$B%3!<%I5Z$S(B <code>LF</code> (#xA)$B%3!<%I$N2?$i$+$NAH9g$;$K$h$C$FJ,$1$i$l$k!#(B</p>
+<p><termref def='dt-app'>&application;</termref>$B$N=hM}$r4JC1$K$9$k$?$a!$30It(B&parsed-entity;$BKt$OFbIt(B&parsed-entity;$B$N(B&literal;$B<BBNCM$,!$(B"<code>#xD#xA</code>" $B$N#2J8;z$NO"B3$H$9$k(B&literal;$BKt$O(B<code>#xD</code>$B$NC1FH$N(B&literal;$B$r4^$`>l9g$K!$(B<termref def='dt-xml-proc'>XML&processor;</termref>$B$O!$(B&application;$B$KC10l$NJ8;z(B<code>#xA</code>$B$@$1$rEO$5$J$1$l$P$J$i$J$$(B($B$3$N=hM}$O!$F~NOFb$KB8:_$9$k2~9T%3!<%I$r9=J82r@O$NA0$K@55,2=$9$k$3$H$K$h$C$F!$MF0W$K<B8=$G$-$k!#(B)$B!#(B</p>
+</div2>
+<div2 id='sec-lang-tag'>
+<head>&language-identification;</head>
+<p>$BJ8=q=hM}$K$*$$$F$O!$$=$NJ8=q$NCf?H$,$I$s$J<+A38@8lKt$O7A<08@8l$G=q$+$l$F$$$k$+L@<($9$k$3$H$,!$Lr$KN)$D$3$H$,B?$$!#(B<!--$B$3$3$G;HMQ$9$k!H8@8l!I$H$$$&8@MU$N0UL#$O!$(B"Espa&#x00F1;ol" $B5Z$S(B"EBNF"$B$NAPJ}$GNc<($5$l$k0UL#$H$9$k!#(B--><!-- x00F1: spanish's small ntilde--></p>
+<!--; $B$3$N>pJs$O!JNc$r$"$2$l$P!KJ8=q$NJ8;z$NI=<(!$JB$S$K>pJsCj=P$N$?$a$N8l44!&7ABVAG2r@O5Z$S%F%-%9%H%V%m%C%/$N@07A$K1F6A$r5Z$\$92DG=@-$,$"$k!#(B-->
+<p>XML$BJ8=qFb$NMWAG$N$b$DFbMFKt$OB0@-CM$K$*$$$F;HMQ$9$k(B<!--$B<+A3Kt$O7A<0(B-->$B8@8l$r;XDj$9$k$?$a$K!$(B"<code>xml:lang</code>" $B$H$$$&L>A0$NFCJL$J(B<termref def="dt-attr">$BB0@-(B</termref>$B$r!$J8=qFb$KA^F~$7$F$b$h$$!#(B
+<!--; $B$3$NB0@-$O(BXML$B5,Dj$N0lIt$H$7$F!$J#?t$N(BXML&application;$B$NAj8_1?MQ@-$r9b$a$k$?$a$KDj5A$9$k!#(B-->
+$BB0@-$NCM$O!$(B<bibref ref="RFC1766"/>$B!H(BRFC1766$B!'(B&language-identification;$B$N$?$a$N%?%0!I$K$h$C$F5,Dj$5$l$k(B&language-identification;$B%3!<%I$K=>$&!#(B
+<scrap lang='ebnf'>
+<head>&language-identification;</head>
+<prod id='NT-LanguageID'><lhs>LanguageID</lhs>
+<rhs><nt def='NT-Langcode'>Langcode</nt>
+('-' <nt def='NT-Subcode'>Subcode</nt>)*</rhs></prod>
+<prod id='NT-Langcode'><lhs>Langcode</lhs>
+<rhs><nt def='NT-ISO639Code'>ISO639Code</nt> |
+<nt def='NT-IanaCode'>IanaCode</nt> |
+<nt def='NT-UserCode'>UserCode</nt></rhs>
+</prod>
+<prod id='NT-ISO639Code'><lhs>ISO639Code</lhs>
+<rhs>([a-z] | [A-Z]) ([a-z] | [A-Z])</rhs></prod>
+<prod id='NT-IanaCode'><lhs>IanaCode</lhs>
+<rhs>('i' | 'I') '-' ([a-z] | [A-Z])+</rhs></prod>
+<prod id='NT-UserCode'><lhs>UserCode</lhs>
+<rhs>('x' | 'X') '-' ([a-z] | [A-Z])+</rhs></prod>
+<prod id='NT-Subcode'><lhs>Subcode</lhs>
+<rhs>([a-z] | [A-Z])+</rhs></prod>
+</scrap>
+<nt def='NT-Langcode'>Langcode</nt>$B$O!$<!$N$I$l$G$b$h$$!#(B
+<ulist>
+<item><p>a) <bibref ref="ISO639"/>$B!H8@8l$NL>A0I=8=$N$?$a$N%3!<%I!I$G5,Dj$5$l$k(B2$BJ8;z$N(B&language-code;</p></item>
+<item><p>b) Internet Assigned Numbers Authority (IANA)$B$GEPO?$5$l$F$$$k(B&language-code;$B!#$3$l$O!$@hF,$,(B "<code>i-</code>" ($BKt$O(B"<code>I-</code>")$B$G;O$^$k!#(B</p></item>
+<item><p>c) &user;$B$K$h$C$FDj$a$i$l$?(B&language-code;$B!$Kt$O;dE*$J;HMQ$N$?$a$KJ#?t$NCDBN4V$,<h$j7h$a$?%3!<%I!#$3$l$i$O!$:#8e(BIANA$B$K$*$$$FI8=`2=Kt$OEPO?$5$l$k%3!<%I$H$N6%9g$rHr$1$k$?$a$K!$@hF,$r(B"<code>x-</code>" $BKt$O(B "<code>X-</code>" $B$G;O$a$k!#(B</p></item>
+</ulist></p>
+<p><nt def='NT-Subcode'>Subcode</nt>$B$O!$J#?t2s;H$C$F$b$h$$!#:G=i$N%5%V%3!<%I$,B8:_$7!$$=$NFbMF$,Fs$D$NJ8;z$+$i@.$k$H$-$O!$(B<bibref ref="ISO3166"/>ISO3166$B$N!H9qL>$rI=$9%3!<%I(B($B9q%3!<%I(B)$B!I$G$J$1$l$P$J$i$J$$!#:G=i$N%5%V%3!<%I$,(B3$BJ8;z0J>e$+$i@.$k$H$-$O!$(B<nt def='NT-Langcode'>Langcode</nt>$B$N@hF,$,!$(B"<code>x-</code>" $BKt$O(B "<code>X-</code>"$B$G;O$^$i$J$$8B$j!$;XDj$7$?8@8l$KBP$9$k%5%V%3!<%I$H$7!$(BIANA$B$KEPO?$5$l$?$b$N$G$J$1$l$P$J$i$J$$!#(B</p>
+<p>&language-code;$B$O!$>.J8;z$G$NI=5-$r!$(B&country-code;$B$O!$(B($BB8:_$9$k$J$i$P(B)$BBgJ8;z$G$NI=5-$r479T$H$9$k!#$7$+$7!$(BXML$BJ8=qFb$K$*$1$kB>$NL>A0$H$O0[$J$j!$$3$l$i$NCM$K$D$$$F$O!$BgJ8;z5Z$S>.J8;z$N6hJL$r$7$J$$$3$H$KCm0U$9$k$3$H!#(B</p>
+<p>$BNc$r<!$K<($9!#(B
+<eg><![CDATA[<p xml:lang="en">The quick brown fox jumps over the lazy dog.</p>
+<p xml:lang="en-GB">What colour is it?</p>
+<p xml:lang="en-US">What color is it?</p>
+<sp who="Faust" desc='leise' xml:lang="de">
+ <l>Habe nun, ach! Philosophie,</l>
+ <l>Juristerei, und Medizin</l>
+ <l>und leider auch Theologie</l>
+ <l>]]><!-- x00DF german's es-zet; x00FC german's u-umlaut -->durchaus studiert mit hei&#223;em Bem&#252;h'n.<![CDATA[</l>
+ </sp>]]></eg></p>
+<!--<p>xml:lang $B$NCM$O!$MWAG$NFbMF5Z$S(B($BB0@-$N(B&default-value;$B$GDj$a$J$$8B$j(B)$B%U%j!<%F%-%9%H(B(CDATA)$B$NCM$r$b$D$=$NMWAG$X$N$9$Y$F$NB0@-$NCM$K$D$$$F!$$=$NN>J}$KE,MQ$9$k!#(B-->
+<p><code>xml:lang</code>$B$G@k8@$9$k0U?^$O!$(B<code>xml:lang</code>$B$NJL$N;XDj$G>e=q$7$J$$8B$j!$;XDj$7$?MWAG$NFbMF$K4^$`$9$Y$F$NMWAG$KE,MQ$9$k!#(B</p>
+<!--$B$"$kMWAG$K$*$1$k(B xml:lang $BB0@-$NCM$,Dj$a$i$l$F$*$i$:!$(BDTD$B$K$*$$$F$=$N(B&default-value;$B$,Dj$a$i$l$F$$$J$$>l9g!$$=$NMWAG$N(Bxml:lang $BB0@-$NCM$O!$?FMWAG$G$NCM$,B8:_$9$k>l9g$O!$$=$l$r0z$-7Q$0!#(B $B<!$NNc$K$*$1$kFs$D$N(B<term>$B$H$$$&L>A0$N@lLgMQ8l$rI=$9MWAG$O!$(Bxml:lang$B$NCM$K4X$7$F$O!$<B:]>e!$F1$8CM$r$b$D!#(B
+
+ <p xml:lang="en">Here the keywords are
+ <term xml:lang="en">shift</term> and
+ <term>reduce</term>. ...</p>
+
+XML&processor;$B$G$O$J$/(B&application;$B$,!$$3$NB0@-CM$N7Q>5$K$D$$$F@UG$$r$b$D!#(B
+-->
+<p>
+&valid;$B$JJ8=q$K$*$$$F$O!$$3$N(B&TR-or-Rec;$B$NB>$N>l=j$G5,Dj$9$k$H$*$j!$$3$NB0@-$rI,$:@k8@$7$J$1$l$P$J$i$J$$!#DL>o!$@k8@$O!$<!$N7A$H$9$k!#(B
+<eg>xml:lang NMTOKEN #IMPLIED</eg>
+$BI,MW$J$i$P!$FCDj$N(B&default-value;$B$rM?$($F$b$h$$!#1Q8l$rJl8l$H$9$k3X@8MQ$N%U%i%s%98l$N;m=8$G$O!$@bL@5Z$SCm$r1Q8l$G5-=R$9$l$P!$(Bxml:lang $BB0@-$r<!$N$H$*$j$K@k8@$9$k$3$H$H$J$k!#(B
+<eg><![CDATA[ <!ATTLIST poem xml:lang NMTOKEN 'fr'>
+ <!ATTLIST gloss xml:lang NMTOKEN 'en'>
+ <!ATTLIST note xml:lang NMTOKEN 'en'>]]></eg>
+</p>
+<!--
+DTD$B$N@_7W<T$O!$%9%/%j%W%H$r8@8l(B($B5Z$S$=$NGI@8BN(B)$B$KJq@]$7$F07$&$N$G$O$J$/!$%9%/%j%W%H5Z$S8@8l$rF1<!85$G07$&$N$,E,Ev$J>l9g!$8@8lB0@-$HF1MM$K%9%/%j%W%HB0@-$,B8:_$9$l$PM-MQ$@$H;W$&$+$b$7$l$J$$!#%j%s%/MWAG$K$*$$$F!$;2>H$5$l$?Kt$O%j%s%/$5$l$?%j%=!<%9$K$*$1$k(B($B<gMW$J(B)$B8@8l(B($B>l9g$K$h$C$F$OJ#?t(B)$B$rI=$9MWAG$rDj5A$9$k$N$bK>$^$7$$!#$7$+$7!$$3$l$i$N(B&application;$B$O!$$3$N(B&TR-or-Rec;$B$,5,Dj$9$kHO0O30$H$9$k!#(B-->
+</div2>
+</div1>
+<!-- &Elements; -->
+
+<div1 id='sec-logical-struct'>
+<head>$BO@M}9=B$(B</head>
+
+<p><termdef id="dt-element" term="Element">$B$$$+$J$k(B<termref def="dt-xml-doc">XML$BJ8=q(B</termref>$B$b!$0l$D0J>e$N(B<term>$BMWAG(B</term>$B$r4^$`!#MWAG$N6-3&$O(B, <termref def="dt-stag">$B3+;O%?%0(B</termref>$B5Z$S(B<termref def="dt-etag">$B=*N;%?%0(B</termref>$B$K$h$C$F6h@Z$k!#MWAG$,(B<termref def="dt-empty">$B6u(B</termref>$BMWAG$N$H$-$O!$(B<termref def="dt-eetag">$B6uMWAG%?%0(B</termref>$B$G<($9!#3F!9$NMWAG$O!$7?$r$b$D!#MWAG7?$OL>A0(B($B6&DL(B&identifier;(generic identifier)$BKt$O(BGI$B$H8F$V$3$H$,$"$k!#(B)$B$K$h$C$F(B&identified;$B!#MWAG$O!$$$$/$D$+$NB0@-$r$b$D$3$H$,$G$-$k!#(B</termdef>$BB0@-$O!$(B<termref def="dt-attrname">$BL>A0(B</termref>$B5Z$S(B<termref def="dt-attrval">$BCM(B</termref>$B$r$b$D!#(B</p>
+
+<scrap lang='ebnf'><head>$BMWAG(B</head>
+<prod id='NT-element'><lhs>element</lhs>
+<rhs><nt def='NT-EmptyElemTag'>EmptyElemTag</nt></rhs>
+<rhs>| <nt def='NT-STag'>STag</nt> <nt def='NT-content'>content</nt>
+<nt def='NT-ETag'>ETag</nt></rhs><wfc def='GIMatch'/></prod>
+</scrap>
+<p>$B$3$N(B&TR-or-Rec;$B$O!$MWAG7?5Z$SB0@-$N0UL#!$;HMQJ}K!!$Kt$O(B($B9=J8$K4X$9$k$3$H$r=|$-(B)$BL>A0$K@)Ls$rM?$($J$$!#$?$@$7!$@hF,$,(B<code>(('X'|'x')('M'|'m')('L'|'l'))</code>$B$K(B&match;$B$9$kL>A0$O!$$3$NHGKt$O:#8e$NHG$N$3$N(B&TR-or-Rec;$B$G$NI8=`2=$N$?$a$KM=Ls$9$k!#(B</p>
+
+<wfcnote id='GIMatch'><head>$BMWAG7?$N(B&match;</head>
+<p>$BMWAG$N=*N;%?%0$N(B<nt def='NT-Name'>$BL>A0(B</nt>$B$O!$$=$NMWAG$N3+;O%?%0$K$*$1$k7?$H(B&match;$B$7$J$1$l$P$J$i$J$$!#(B</p>
+</wfcnote>
+
+<div2 id='sec-starttags'>
+<head>$B3+;O%?%0!$=*N;%?%05Z$S6uMWAG%?%0(B</head>
+<p><termdef id="dt-stag" term="Start-Tag">$B6u$G$J$$G$0U$N(BXML$BMWAG$N;O$^$j$O!$(B<term>$B3+;O%?%0(B</term>$B$K$h$C$F(B&markup;$B$9$k!#(B
+<scrap lang='ebnf'><head>$B3+;O%?%0(B</head>
+<prodgroup pcw2="6" pcw4="15" pcw5="11.5">
+<prod id='NT-STag'><lhs>STag</lhs><rhs>'&lt;' <nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt> <nt def='NT-Attribute'>Attribute</nt>)* <nt def='NT-S'>S</nt>? '>'</rhs><wfc def="uniqattspec"/></prod>
+<prod id='NT-Attribute'><lhs>Attribute</lhs><rhs><nt def='NT-Name'>Name</nt> <nt def='NT-Eq'>Eq</nt> <nt def='NT-AttValue'>AttValue</nt></rhs><vc def='ValueType'/><wfc def='NoExternalRefs'/><wfc def='CleanAttrVals'/></prod>
+</prodgroup>
+</scrap>
+$B3+;O%?%05Z$S=*N;%?%0Fb$N(B<nt def='NT-Name'>Name</nt>$B$O!$MWAG$N(B<term>$B7?(B</term>$B$rI=$o$9!#(B</termdef><termdef id="dt-attr" term="Attribute"><nt def='NT-Name'>Name</nt>$B5Z$S(B<nt def='NT-AttValue'>AttValue</nt>$B$NBP$rMWAG$N(B<term>$BB0@-;XDj(B</term>$B$H$$$$(B</termdef>$B!$(B<termdef id="dt-attrname" term="Attribute Name">$B8D!9$NBP$K$*$1$k(B<nt def='NT-Name'>Name</nt>$B$O!$(B<term>$BB0@-L>(B</term></termdef>$B5Z$S(B<termdef id="dt-attrval" term="Attribute Value"><nt def='NT-AttValue'>AttValue</nt>$B$NFbMF(B($B6h@Z$j;R(B<code>'</code>$BKt$O(B<code>"</code>$B$N4V$N(B&string;)$B$r(B<term>$BB0@-CM(B</term>$B$H$$$&!#(B</termdef></p>
+
+<wfcnote id='uniqattspec'><head>$BB0@-;XDj$N0l0U@-(B</head>
+<p>$B3+;O%?%0Kt$O6uMWAG%?%0$G$O!$F10l$NB0@-L>$,#2EY0J>e=P8=$7$F$O$J$i$J$$!#(B</p></wfcnote>
+<vcnote id='ValueType'><head>$BB0@-CM$N7?(B</head>
+<p>$BB0@-$O@k8@$5$l$F$$$J$1$l$P$J$i$J$$!#B0@-CM$N7?$O!$$=$NB0@-$KBP$7$F@k8@$7$?7?$G$J$1$l$P$J$i$J$$(B($BB0@-$N7?$K$D$$$F$O!$(B<titleref href='AttDecls'>$BB0@-%j%9%H@k8@(B</titleref>$B$K$D$$$F$N5,Dj$r;2>H!#(B)$B!#(B</p></vcnote>
+<wfcnote id='NoExternalRefs'><head>$B30It<BBN$X$N;2>H$,$J$$$3$H(B</head>
+<p>$BB0@-CM$K$O!$30It<BBN$X$ND>@\E*Kt$O4V@\E*$J;2>H$r4^$`$3$H$O$G$-$J$$!#(B</p></wfcnote>
+<wfcnote id='CleanAttrVals'><head>$BB0@-CM$K(B<code>&lt;</code>$B$r4^$^$J$$$3$H(B</head>
+<p>$BB0@-CMFb$GD>@\E*Kt$O4V@\E*$K;2>H$9$k<BBN(B(<code>&amp;lt;</code>$B$r=|$/!#(B)$B$N(B<termref def='dt-repltext'>&replacement-text;</termref>$B$K$O!$(B<code>&lt;</code>$B$r4^$s$G$O$J$i$J$$!#(B</p></wfcnote>
+
+<p>$B3+;O%?%0$NNc$r!$<!$K<($9!#(B
+<eg>&lt;termdef id="dt-dog" term="dog"></eg></p>
+<p><termdef id="dt-etag" term="End Tag">$B3+;O%?%0$G;O$^$kMWAG$N=*$o$j$O!$(B<term>$B=*N;%?%0(B</term>$B$G(B&markup;$B$7$J$1$l$P$J$i$J$$!#$3$N=*N;%?%0$O!$BP1~$9$k3+;O%?%0$NMWAG7?$HF1$8L>A0$r$b$D!#(B
+<scrap lang='ebnf'><head>$B=*N;%?%0(B</head><prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-ETag'><lhs>ETag</lhs><rhs>'&lt;/' <nt def='NT-Name'>Name</nt> <nt def='NT-S'>S</nt>? '>'</rhs></prod></prodgroup></scrap></termdef></p>
+<p>$B=*N;%?%0$NNc$r!$<!$K<($9!#(B
+<eg>&lt;/termdef></eg></p>
+
+<p><termdef id="dt-content" term="Content">$BMWAG$N3+;O%?%0$H=*N;%?%0$H$N4V$N(B<termref def='dt-text'>$B%F%-%9%H(B</termref>$B$r!$$=$NMWAG$N(B<term>$BFbMF(B</term>$B$H$$$&!#(B
+<scrap lang='ebnf'><head>$BMWAG$NFbMF(B</head>
+<prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-content'><lhs>content</lhs><rhs>(<nt def='NT-element'>element</nt> | <nt def='NT-CharData'>CharData</nt> | <nt def='NT-Reference'>Reference</nt> | <nt def='NT-CDSect'>CDSect</nt> | <nt def='NT-PI'>PI</nt> | <nt def='NT-Comment'>Comment</nt>)*</rhs></prod></prodgroup></scrap></termdef></p>
+
+<p><termdef id="dt-empty" term="Empty">$BMWAG$,(B<term>$B6u(B</term>$B$N$H$-!$$=$NMWAG$O!$D>8e$K=*N;%?%0$r$b$D3+;O%?%0Kt$O6uMWAG%?%0$GI=8=$7$J$1$l$P$J$i$J$$!#(B</termdef><termdef id="dt-eetag" term="empty-element tag"><term>$B6uMWAG%?%0(B</term>$B$O!$<!$NFCJL$J7A<0$r$H$k!#(B
+<scrap lang='ebnf'><head>$B6uMWAG$N$?$a$N%?%0(B</head><prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-EmptyElemTag'><lhs>EmptyElemTag</lhs><rhs>'&lt;' <nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt> <nt def='NT-Attribute'>Attribute</nt>)* <nt def='NT-S'>S</nt>? '/&gt;'</rhs><wfc def="uniqattspec"/></prod></prodgroup></scrap></termdef></p>
+
+<!-- $BLgGO!'>e$N!H6uMWAG$N$?$a$N%?%0(B(tags for empty elements)$B!I$O!H6uMWAG%?%0(B(empty-element tag)$B!I$H$9$Y$-$@$H;W$$$^$9$,!$$$$+$,$G$7$g$&$+(B -->
+
+<p>$B6uMWAG%?%0$O!$FbMF$r$b$?$J$$G$0U$NMWAG$NI=8=$KMxMQ$G$-$k!#6uMWAG%?%0$GI=8=$9$kMWAG$r!$%-!<%o!<%I(B<kw>EMPTY</kw>$B$rMQ$$$F@k8@$7$J$/$H$b$h$$!#(B</p>
+<p>$B6uMWAG$NNc$r!$<!$K<($9!#(B
+<eg>&lt;IMG align="left" src="http://www.w3.org/Icons/WWW/w3c_home" />&lt;br>&lt;/br>&lt;br/></eg></p>
+</div2>
+
+<div2 id='elemdecls'><head>$BMWAG@k8@(B</head>
+<p><termref def="dt-valid">&validity;</termref>$B$rJ]>Z$9$k$?$a!$MWAG@k8@5Z$SB0@-%j%9%H@k8@$rMQ$$$F(B<termref def="dt-xml-doc">XML$BJ8=q(B</termref>$B$N(B<termref def="dt-element">$BMWAG(B</termref>$B$N9=B$$K!$@)Ls$r2C$($k$3$H$,$G$-$k!#(B</p>
+<p>$BMWAG@k8@$O!$MWAG$N(B<termref def="dt-content">$BFbMF(B</termref>$B$K$D$$$F$N@)Ls$H$9$k!#(B</p>
+<p>$BMWAG@k8@$O!$MWAG$N(B<termref def="dt-parentchild">$B;R(B</termref>$B$H$7$F=P8=2DG=$JMWAG7?$K$D$$$F!$@)Ls$r2C$($k$3$H$,B?$$!#(B&at-user-option;$B!$MWAG@k8@$r$b$?$J$$MWAG7?$,B>$NMWAG@k8@$K$h$C$F;2>H$5$l$l$P!$(BXML&processor;$B$O!$7Y9p$r=P$7$F$b$h$$!#$7$+$7!$$3$l$O(B&error;$B$H$O$7$J$$!#(B</p>
+
+<p><termdef id="dt-eldecl" term="Element Type declaration"><term>$BMWAG7?@k8@(B</term>$B$O!$<!$N7A<0$r$H$k!#(B
+<scrap lang='ebnf'><head>$BMWAG7?@k8@(B</head><prodgroup pcw2="5.5" pcw4="18" pcw5="9">
+<prod id='NT-elementdecl'><lhs>elementdecl</lhs>
+<rhs>'&lt;!ELEMENT' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>
+<nt def='NT-contentspec'>contentspec</nt>
+<nt def='NT-S'>S</nt>? '>'</rhs>
+<vc def='EDUnique'/></prod>
+<prod id='NT-contentspec'><lhs>contentspec</lhs>
+<rhs>'EMPTY'
+| 'ANY'
+| <nt def='NT-Mixed'>Mixed</nt>
+| <nt def='NT-children'>children</nt>
+</rhs>
+<vc def='elementvalid'/>
+</prod>
+</prodgroup>
+</scrap>
+$B$3$3$G!$(B<nt def='NT-Name'>Name</nt>$B$O!$@k8@$5$l$F$$$kMWAG$N7?$H$9$k!#(B</termdef></p>
+
+<vcnote id='EDUnique'><head>$BMWAG@k8@$N0l0U@-(B</head>
+<p>$BMWAG7?$r#2EY0J>e@k8@$G$-$J$$!#(B</p></vcnote>
+
+<vcnote id='elementvalid'><head>$BMWAG$N(B&validity;</head>
+<p>$BMWAG$,(B<!-- said to be -->&valid;$B$H$O!$(B<nt def='NT-elementdecl'>elementdecl</nt>$B$K(B&match;$B$9$k@k8@$G$"$C$F!$$=$N(B<nt def='NT-Name'>Name</nt>$B$,$=$NMWAG7?$H(B&match;$B$7!$<!$N$$$:$l$+$N>r7o$rK~$?$9>l9g$H$9$k!#(B<ulist>
+<item><p>a) $B@k8@$,(B<kw>EMPTY</kw>$B$K(B&match;$B$7!$MWAG$,(B<termref def='dt-content'>$BFbMF(B</termref>$B$r$b$?$J$$!#(B</p></item>
+<item><p>b) $B@k8@$,(B<nt def='NT-children'>children</nt>$B$K(B&match;$B$7!$MWAG$N(B<termref def="dt-parentchild">$B;RMWAG(B</termref>$B$NJB$S$,!$FbMF%b%G%k$N@55,I=8=$K$h$C$F@8@.$5$l$k8@8l$KB0$9$k!#(B</p></item>
+<item><p>c) $B@k8@$,(B<nt def='NT-Mixed'>mixed</nt>$B$K(B&match;$B$7!$MWAG$NFbMF$,(B<termref def='dt-chardata'>$BJ8;z%G!<%?(B</termref>$B5Z$S(B<termref def='dt-parentchild'>$B;RMWAG(B</termref>$B$+$i$J$k!#;RMWAG$NMWAG7?$O!$MWAG$NFbMF%b%G%k$K=P8=$9$kL>A0$K(B&match;$B$9$k!#(B</p></item>
+<item><p>d) $B@k8@$,(B<kw>ANY</kw>$B$K(B&match;$B$7!$$I$N(B<termref def='dt-parentchild'>$B;RMWAG(B</termref>$B$NMWAG7?$b@k8@$5$l$F$$$k!#(B</p></item></ulist>
+
+</p></vcnote>
+<!-- with the new VC, I don't think the next few paras add anything -TWB
+<p><termdef id="dt-model" term="content model">An element can declared using a <term>content model</term>, in which case its content can be categorized as <termref def="dt-elemcontent">element content</termref> or <termref def='dt-mixed'>mixed content</termref>, as explained below.</termdef></p>
+<p>An element whose type declared using the keyword <kw>EMPTY</kw> must be <termref def="dt-empty">empty</termref> and may be tagged using an <termref def="dt-eetag">empty-element tag</termref> when it appears in the document.</p>
+<p>If an element type is declared using the keyword <kw>ANY</kw>, then there are no validity constraints on its content: it may contain <termref def='dt-parentchild'>child elements</termref> of any type and number, interspersed with character data.</p> -->
+
+<p>$BMWAG@k8@$NNc$r!$<!$K<($9!#(B
+<eg>
+&lt;!ELEMENT br EMPTY>
+&lt;!ELEMENT p (#PCDATA|emph)* >
+&lt;!ELEMENT %name.para; %content.para; >
+&lt;!ELEMENT container ANY>
+</eg></p>
+
+<div3 id='sec-element-content'><head>$BMWAGFbMF(B</head>
+
+<p><termdef id='dt-elemcontent' term='Element content'>$B$"$k7?$NMWAG$,(B<termref def='dt-parentchild'>$B;R(B</termref>$BMWAG$@$1$r4^$`(B($BJ8;z%G!<%?$r4^$^$J$$!#(B)$B$H$-!$$=$NMWAG(B<termref def="dt-stag">$B7?(B</termref>$B$O!$(B<term>$BMWAGFbMF(B</term>$B$r$b$D!$$H$$$&!#(B</termdef>$B$3$N>l9g!$@)Ls$O!$FbMF%b%G%k$r4^$`!#FbMF%b%G%k$O!$;RMWAG$N7?5Z$S;RMWAG$N=P8==g=x$r@)8f$9$k4JC1$JJ8K!$H$9$k!#$3$NJ8K!$O!$(B&content-particle;(<nt def='NT-cp'>cp</nt>s)$B$+$i$J$k!#(B&content-particle;$B$O!$L>A0!$(B&content-particle;$B$NA*Br%j%9%HKt$O(B&content-particle;$B$NNs%j%9%H$+$i9=@.$5$l$k!#(B
+<scrap lang='ebnf'><head>$BMWAGFbMF%b%G%k(B</head><prodgroup pcw2="5.5" pcw4="16" pcw5="11">
+<prod id='NT-children'><lhs>children</lhs><rhs>(<nt def='NT-choice'>choice</nt> | <nt def='NT-seq'>seq</nt>) ('?' | '*' | '+')?</rhs></prod><prod id='NT-cp'><lhs>cp</lhs><rhs>(<nt def='NT-Name'>Name</nt> | <nt def='NT-choice'>choice</nt> | <nt def='NT-seq'>seq</nt>) ('?' | '*' | '+')?</rhs></prod>
+<prod id='NT-choice'><lhs>choice</lhs><rhs>'(' <nt def='NT-S'>S</nt>? cp ( <nt def='NT-S'>S</nt>? '|' <nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> )*<nt def='NT-S'>S</nt>? ')'</rhs><vc def='vc-PEinGroup'/></prod>
+<prod id='NT-seq'><lhs>seq</lhs><rhs>'(' <nt def='NT-S'>S</nt>? cp ( <nt def='NT-S'>S</nt>? ',' <nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> )*<nt def='NT-S'>S</nt>? ')'</rhs><vc def='vc-PEinGroup'/></prod>
+<!-- <prod id='NT-cps'><lhs>cps</lhs><rhs><nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> <nt def='NT-S'>S</nt>?</rhs></prod>
+<prod id='NT-choice'><lhs>choice</lhs><rhs>'(' <nt def='NT-S'>S</nt>? <nt def='NT-ctokplus'>ctokplus</nt> (<nt def='NT-S'>S</nt>? '|' <nt def='NT-S'>S</nt>? <nt def='NT-ctoks'>ctoks</nt>)* <nt def='NT-S'>S</nt>? ')'</rhs></prod>
+<prod id="NT-ctokplus"><lhs>ctokplus</lhs><rhs><nt def="NT-cps">cps</nt>('|' <nt def="NT-cps">cps</nt>)+</rhs></prod>
+<prod id="NT-ctoks"><lhs>ctoks</lhs><rhs><nt def="NT-cps">cps</nt>('|' <nt def="NT-cps">cps</nt>)*</rhs></prod>
+<prod id='NT-seq'><lhs>seq</lhs><rhs>'(' <nt def='NT-S'>S</nt>?<nt def='NT-stoks'>stoks</nt> (<nt def='NT-S'>S</nt>? ',' <nt def='NT-S'>S</nt>? <nt def='NT-stoks'>stoks</nt>)*<nt def='NT-S'>S</nt>? ')'</rhs></prod>
+<prod id="NT-stoks"><lhs>stoks</lhs><rhs><nt def="NT-cps">cps</nt>(',' <nt def="NT-cps">cps</nt>)*</rhs></prod>
+-->
+</prodgroup></scrap>
+$B$3$3$G!$(B<nt def='NT-Name'>Name</nt>$B$O!$(B<termref def="dt-parentchild">$B;R(B</termref>$B$H$7$F=P8=$7$F$h$$MWAG$N7?$r<($9!#$3$NJ8K!$GA*Br%j%9%H$,8=$l$k0LCV$G$O!$A*Br%j%9%HFb$N$$$:$l$N(B&content-particle;$B$b(B<termref def="dt-elemcontent">$BMWAGFbMF(B</termref>$B$NCf$K8=$l$F$h$$!#Ns%j%9%H$K8=$l$k(B&content-particle;$B$O!$%j%9%H$G;XDj$9$k=gHV$N$H$*$j$K!$(B<termref def="dt-elemcontent">$BMWAGFbMF(B</termref>$B$K8=$l$J$1$l$P$J$i$J$$!#L>A0Kt$O%j%9%H$N8e$K=P8=$9$k%*%W%7%g%s$NJ8;z(B<!-- $BLgGO!'(Bcharacter$B$rJ8;z$HLu$7$^$7$?(B -->$B$O!$%j%9%HFb$NMWAGKt$O(B&content-particle;$B$,!$(B1$B2s0J>eG$0U$N2s?t(B(<code>+</code>)$B!$(B0$B2s0J>eG$0U$N2s?t(B(<code>*</code>)$BKt$O(B0$B2s<c$7$/$O(B1$B2s(B(<code>?</code>)$B=P8=2DG=$J$3$H$r5,Dj$9$k!#$3$3$G<($99=J85Z$S0UL#$O!$$3$N(B&TR-or-Rec;$B$K$*$1$k@8@.5,B'$GMQ$$$k$b$N$HF10l$H$9$k!#(B</p>
+
+<!-- $BLgGO!'>e$NJ8$G$O!$!H(Bname$BKt$O(Blist$B$N8e$KB3$/J8;z!I$,!H(Blist$B$N=P8=$r5,Dj$9$k!I$H$"$C$F!$(Bname$B$N=P8=$r5,Dj$9$k$H$O=q$$$F$"$j$^$;$s!#=$@5$,I,MW$H9M$($^$9!#(B -->
+
+<p>$BMWAG$NFbMF$,FbMF%b%G%k$K(B&match;$B$9$k$N$O!$Ns!$A*Br5Z$S7+JV$71i;;;R$K$7$?$,$C$F!$FbMF$NCf$NMWAG$HFbMF%b%G%kFb$NMWAG7?$H$r(B&match;$B$5$;$J$,$i!$FbMF%b%G%kFb$N0l$D$N%Q%9$r$?$I$l$k$H$-$K8B$k!#(B<termref def='dt-compat'>$B8_49@-$N$?$a(B</termref>$B!$J8=qFb$NMWAG$,!$FbMF%b%G%k$K$*$1$kMWAG7?$NJ#?t$N=P8=0LCV$H(B&match;$B$9$k$3$H$O!$(B&error;$B$H$9$k!#>\:Y$J5,Dj$K$D$$$F$O!$ImB0=q$N(B<titleref xml-link="simple" href="determinism">$B7hDjE*FbMF%b%G%k(B</titleref>$B$N9`$r;2>H!#(B
+<!-- appendix <specref ref="determinism"/>. -->
+<!-- appendix on deterministic content models. -->
+</p>
+
+<vcnote id='vc-PEinGroup'>
+<head>$B%0%k!<%W5Z$S%Q%i%a%?<BBN$,87L)$JF~$l;R$r$J$7$F$$$k$3$H(B</head>
+<p>$B%Q%i%a%?<BBN$N(B<termref def='dt-repltext'>&replacement-text;</termref>$B$O!$(B&parenthesis;$B$G0O$^$l$?%0%k!<%W$K$h$C$F!$87L)$JF~$l;R$r9=@.$7$J$1$l$P$J$i$J$$!#$D$^$j!$(B<nt def='NT-choice'>$BA*Br(B</nt>$B!$(B<nt def='NT-seq'>$BNs(B</nt>$BKt$O(B<nt def='NT-Mixed'>$B:.:_(B</nt>$BItIJ$K!$(B&left-parenthesis;$BKt$O(B&right-parenthesis;$B$N$$$:$l$+0lJ}$,(B<termref def='dt-PERef'>$B%Q%i%a%?<BBN(B</termref>$B$N(B&replacement-text;$B$K4^$l$l$P!$B>J}$bF1$8(B&replacement-text;$B$K4^$^$l$J$1$l$P$J$i$J$$!#(B</p>
+<p><termref def='dt-interop'>$BAj8_1?MQ@-$N$?$a(B</termref>$B!$%Q%i%a%?<BBN;2>H$,(B<nt def='NT-choice'>$BA*Br(B</nt>$B!$(B<nt def='NT-seq'>$BNs(B</nt>$BKt$O(B<nt def='NT-Mixed'>$B:.:_(B</nt>$BFbMF$K4^$^$l$l$P!$$=$N(B&replacement-text;$B$O6u$G$J$$$3$H$,K>$^$7$/!$(B&replacement-text;$B$N@hF,5Z$SKvHx$N6uGr$G$J$$J8;z$O!$%3%M%/%?(B(<code>|</code>$BKt$O(B<code>,</code>)$B$G$J$$J}$,$h$$!#(B
+</p>
+</vcnote>
+<p>$BMWAGFbMF%b%G%k$N$$$/$D$+$NNc$r!$<!$K<($9!#(B
+<eg>&lt;!ELEMENT spec (front, body, back?)>
+&lt;!ELEMENT div1 (head, (p | list | note)*, div2*)>
+&lt;!ELEMENT dictionary-body (%div.mix; | %dict.mix;)*></eg></p>
+</div3>
+
+<div3 id='sec-mixed-content'>
+<head>&mixed-content;</head>
+
+<p><termdef id='dt-mixed' term='Mixed Content'>$B$"$kMWAG7?$NMWAGFb$K!$(B<termref def="dt-parentchild">$B;R(B</termref>$BMWAG$K:.:_$7$FJ8;z%G!<%?$,4^$^$l$k2DG=@-$,$"$k$H$-!$$=$NMWAG(B<termref def='dt-stag'>$B7?(B</termref>$B$O!$(B<term>&mixed-content;</term>$B$r$b$D$H$$$&!#(B</termdef>$B$3$N>l9g!$;RMWAG$N7?$K$D$$$F$N@)Ls$,B8:_$7$F$b$h$$(B<!-- $BLgGO!'!H(Bmay be constrained$B!I$rC1$K!V@)Ls$5$l$k!W$HLu$7$^$7$?!#(B -->$B$,!$;RMWAG$N=g=xKt$O=P8=2s?t$K$D$$$F$N@)Ls$O$J$$$H$9$k!#(B
+<scrap lang='ebnf'>
+<head>&mixed-content;$B@k8@(B</head>
+<prodgroup pcw2="5.5" pcw4="16" pcw5="11">
+<prod id='NT-Mixed'><lhs>Mixed</lhs>
+<rhs>'(' <nt def='NT-S'>S</nt>?
+'#PCDATA'
+(<nt def='NT-S'>S</nt>?
+'|'
+<nt def='NT-S'>S</nt>?
+<nt def='NT-Name'>Name</nt>)*
+<nt def='NT-S'>S</nt>?
+')*' </rhs>
+<rhs>| '(' <nt def='NT-S'>S</nt>? '#PCDATA' <nt def='NT-S'>S</nt>? ')'
+</rhs><vc def='vc-PEinGroup'/>
+<vc def='vc-MixedChildrenUnique'/>
+</prod>
+<!--
+<prod id="NT-Mtoks"><lhs>Mtoks</lhs>
+<rhs><nt def="NT-Name">Name</nt>
+(<nt def='NT-S'>S</nt>?
+'|'
+<nt def='NT-S'>S</nt>?
+<nt def="NT-Name">Name</nt>)*
+</rhs>
+</prod>
+-->
+</prodgroup>
+</scrap>
+$B$3$3$G!$(B<nt def='NT-Name'>Name</nt>$B$O!$;R$H$7$F=P8=$7$F$b$h$$MWAG$N7?$r<($9!#(B
+</p>
+
+<vcnote id='vc-MixedChildrenUnique'>
+<head>$BMWAG7?$N=EJ#$N6X;_(B</head>
+<p>$B0l$D$N(B&mixed-content;$B@k8@Fb$K!$F1$8L>A0$,J#?t2s=P8=$7$F$O$J$i$J$$!#(B
+</p></vcnote>
+<p>&mixed-content;$B@k8@$NNc$r!$<!$K<($9!#(B
+<eg>&lt;!ELEMENT p (#PCDATA|a|ul|b|i|em)*>
+&lt;!ELEMENT p (#PCDATA | %font; | %phrase; | %special; | %form;)* >
+&lt;!ELEMENT b (#PCDATA)></eg></p>
+</div3>
+</div2>
+
+
+<div2 id='attdecls'>
+<head>$BB0@-%j%9%H@k8@(B</head>
+<p>
+<termref def="dt-attr">$BB0@-(B</termref>$B$O!$L>A05Z$SCM$NBP$r(B<termref def="dt-element">$BMWAG(B</termref>$B$K4XO"IU$1$k$?$a$KMQ$$$k!#B0@-;XDj$O!$(B<termref def="dt-stag">$B3+;O%?%0(B</termref>$BKt$O(B<termref def="dt-eetag">$B6uMWAG(B</termref>$B%?%0Fb$G$@$12DG=$H$9$k!#$7$?$,$C$F!$B0@-$rG'<1$9$k$?$a$N@8@.5,B'$O!$(B<titleref href='sec-starttags'>$B3+;O%?%0(B</titleref>$B$K$D$$$F$N5,Dj$G<($9!#B0@-%j%9%H@k8@$O!$<!$NL\E*$GMQ$$$k!#(B
+<ulist>
+<item><p>a) $B$"$kMWAG7?$KE,MQ$9$kB0@-$N=89g$r5,Dj$9$k!#(B</p></item>
+<item><p>b) $BB0@-$X$N7?@)Ls$r@_Dj$9$k!#(B</p></item>
+<item><p>c) $BB0@-$N(B<termref def="dt-default">&default-value;</termref>$B$r5,Dj$9$k!#(B</p></item>
+</ulist>
+</p>
+<p>
+<termdef id="dt-attdecl" term="Attribute-List Declaration">
+<term>$BB0@-%j%9%H@k8@(B</term>$B$O!$$"$kMWAG7?$H4XO"IU$1$i$l$?3FB0@-$KBP$7!$L>A0!$%G!<%?7?5Z$S(B($BB8:_$9$l$P(B)&default-value;$B$r5,Dj$9$k!#(B
+<scrap lang='ebnf'>
+<head>$BB0@-%j%9%H@k8@(B</head>
+<prod id='NT-AttlistDecl'><lhs>AttlistDecl</lhs>
+<rhs>'&lt;!ATTLIST' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-AttDef'>AttDef</nt>*
+<nt def='NT-S'>S</nt>? '&gt;'</rhs>
+</prod>
+<prod id='NT-AttDef'><lhs>AttDef</lhs>
+<rhs><nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt> <nt def='NT-AttType'>AttType</nt>
+<nt def='NT-S'>S</nt> <nt def='NT-Default'>Default</nt></rhs>
+</prod>
+</scrap>
+
+<nt def='NT-AttlistDecl'>AttlistDecl</nt>$B5,B'$KB8:_$9$k(B<nt def="NT-Name">Name</nt>$B$O!$MWAG7?$NL>A0$H$9$k!#(B&at-user-option;$B!$@k8@$7$F$$$J$$MWAG7?$KBP$7B0@-$r@k8@$7$?$J$i$P!$(BXML&processor;$B$O!$7Y9p$r=P$7$F$b$h$$!#$7$+$7!$$3$l$O(B&error;$B$H$O$7$J$$!#(B
+<nt def='NT-AttDef'>AttDef</nt>$B5,B'$K$*$1$k(B<nt def='NT-Name'>Name</nt>$B$O!$B0@-$NL>A0$H$9$k!#(B
+</termdef>
+</p>
+<p>
+$B$"$kMWAG$KBP$7$F!$J#?t$N(B<nt def='NT-AttlistDecl'>AttlistDecl</nt>$B$rM?$($k>l9g!$$3$l$i$9$Y$F$NFbMF$O%^!<%8$9$k!#$"$kMWAG7?$NF1$8B0@-$K!$J#?t$NDj5A$rM?$($k>l9g$K$O!$:G=i$N@k8@$rM-8z$H$7!$B>$N@k8@$OL5;k$9$k!#(B<termref def='dt-interop'>$BAj8_1?MQ@-$N$?$a$K(B</termref>$B!$(BDTD$B$N:n@.<T$O!$$"$kMWAG7?$K$O9b!90l$D$NB0@-%j%9%H@k8@$7$+M?$($J$$!$$"$kB0@-L>$K$O9b!90l$D$NB0@-Dj5A$7$+M?$($J$$!$5Z$S$9$Y$F$NB0@-%j%9%H@k8@$K$O>/$J$/$H$b0l$D$NB0@-Dj5A$rM?$($k!$$H$$$&A*Br$r$7$F$b$h$$!#Aj8_1?MQ@-$N$?$a$K!$(BXML&processor;$B$O!$(B&at-user-option;$B!$$"$kMWAG7?$KJ#?t$NB0@-%j%9%H@k8@$rM?$($?$j!$$"$kB0@-$KJ#?t$NB0@-Dj5A$rM?$($?$j$7$?$H$-$K!$7Y9p$r=P$7$F$b$h$$!#$7$+$7!$$3$l$O!$(B&error;$B$H$O$7$J$$!#(B
+</p>
+
+<div3 id='sec-attribute-types'>
+<head>$BB0@-$N7?(B</head>
+<p>
+XML$B$NB0@-$N7?$O!$#3<oN`$H$9$k!#$3$l$i$O!$(B&string;$B7?!$(B&token;$B2=7?5Z$SNs5s7?$H$9$k!#(B&string;$B7?$O!$CM$H$7$FG$0U$N(B&string;$B$r$H$k!#(B&token;$B2=7?$O!$<!$K<($9;z6g5Z$S0UL#$K4X$9$kMM!9$J@)Ls$r$b$D!#(B
+
+<scrap lang='ebnf'>
+<head>Attribute Types</head>
+<prodgroup pcw4="14" pcw5="11.5">
+<prod id='NT-AttType'><lhs>AttType</lhs>
+<rhs><nt def='NT-StringType'>StringType</nt>
+| <nt def='NT-TokenizedType'>TokenizedType</nt>
+| <nt def='NT-EnumeratedType'>EnumeratedType</nt>
+</rhs>
+</prod>
+<prod id='NT-StringType'><lhs>StringType</lhs>
+<rhs>'CDATA'</rhs>
+</prod>
+<prod id='NT-TokenizedType'><lhs>TokenizedType</lhs>
+<rhs>'ID'</rhs>
+<vc def='id'/>
+<vc def='one-id-per-el'/>
+<vc def='id-default'/>
+<rhs>| 'IDREF'</rhs>
+<vc def='idref'/>
+<rhs>| 'IDREFS'</rhs>
+<vc def='idref'/>
+<rhs>| 'ENTITY'</rhs>
+<vc def='entname'/>
+<rhs>| 'ENTITIES'</rhs>
+<vc def='entname'/>
+<rhs>| 'NMTOKEN'</rhs>
+<vc def='nmtok'/>
+<rhs>| 'NMTOKENS'</rhs>
+<vc def='nmtok'/></prod>
+</prodgroup>
+</scrap>
+</p>
+
+<vcnote id='id' >
+<head>ID</head>
+<p>
+$B$3$N7?$NCM$O!$@8@.5,B'(B<code>Name</code>$B$K(B&match;$B$7$J$1$l$P$J$i$J$$!#0l$D$N(BXML$BJ8=qFb$G$O!$0l$D$NL>A0$,!$$3$N7?$NCM$H$7$FJ#?t2s8=$l$F$O$J$i$J$$!#$D$^$j!$(BID$B$NCM$O!$MWAG$r0l0U$K(B&identify;$B$7$J$1$l$P$J$i$J$$!#(B
+</p>
+</vcnote>
+<vcnote id='one-id-per-el'>
+<head>1$BMWAG$4$H$K(B1ID</head>
+<p>
+$BMWAG7?$O!$J#?t$N(BID$BB0@-CM$r$b$C$F$O$J$i$J$$!#(B
+</p>
+</vcnote>
+<vcnote id='id-default'>
+<head>ID$BB0@-$N(B&default;</head>
+<p>
+ID$BB0@-$O!$(B&default;$B$H$7$F!$(B<code>#IMPLIED</code>$BKt$O(B<code>#REQUIRED</code>$B$r@k8@$7$J$1$l$P$J$i$J$$!#(B
+</p>
+</vcnote>
+<vcnote id='idref'>
+<head>IDREF</head>
+<p>
+<kw>IDREF</kw>$B7?$NCM$O!$@8@.5,B'(B<nt def="NT-Name">Name</nt>$B$K(B&match;$B$7$J$1$l$P$J$i$J$$!#(B<kw>IDREFS</kw>$B7?$NCM$O!$@8@.5,B'(B<nt def="NT-Names">Names</nt>$B$K(B&match;$B$7$J$1$l$P$J$i$J$$!#3F!9$N(B<nt def='NT-Name'>Name</nt>$B$O!$(BXML$BJ8=qFb$KB8:_$9$kMWAG$N(BID$BB0@-$NCM$H(B&match;$B$7$J$1$l$P$J$i$J$$!#$D$^$j!$(B<kw>IDREF</kw>$B$NCM$O!$$"$k(BID$BB0@-$NCM$H(B&match;$B$7$J$1$l$P$J$i$J$$!#(B
+</p>
+</vcnote>
+<vcnote id='entname'>
+<head>$B<BBNL>(B</head>
+<p>
+<kw>ENTITY</kw>$B7?$NCM$O!$@8@.5,B'(B<nt def="NT-Name">Name</nt>$B$K(B&match;$B$7$J$1$l$P$J$i$J$$!#(B<kw>ENTITIES</kw>$B7?$NCM$O!$@8@.5,B'(B<nt def="NT-Names">Names</nt>$B$K(B&match;$B$7$J$1$l$P$J$i$J$$!#3F!9$N(B<nt def="NT-Name">Name</nt>$B$O!$(B<termref def="dt-doctype">DTD</termref>$B$G@k8@$9$k(B<termref def="dt-unparsed">&unparsed-entity;</termref>$B$H(B&match;$B$7$J$1$l$P$J$i$J$$!#(B
+</p>
+</vcnote>
+<vcnote id='nmtok'>
+<head>$BL>A0(B&token;</head>
+<p>
+<kw>NMTOKEN</kw>$B7?$NCM$O!$Hs=*C<5-9f(B<termref def="NT-Nmtoken">Nmtoken</termref>$B$H(B&match;$B$9$k(B&string;$B$+$i9=@.$5$l$J$1$l$P$J$i$J$$!#(B<kw>NMTOKENS</kw>$B7?$NCM$O!$Hs=*C<5-9f(B<termref def="NT-Nmtokens">Nmtokens</termref>$B$H(B&match;$B$9$k(B&string;$B$+$i9=@.$5$l$J$1$l$P$J$i$J$$!#(B
+</p>
+</vcnote>
+<p>
+XML&processor;$B$O!$(B&application;$B$KB0@-CM$rEO$9A0$K!$(B<titleref href="AVNormalize">$BB0@-CM$N@55,2=(B</titleref>$B$G5,Dj$9$k$H$*$j$K!$B0@-CM$r@55,2=$7$J$1$l$P$J$i$J$$!#(B
+</p>
+<p>
+<termdef id='dt-enumerated' term='Enumerated Attribute Values'><term>$BNs5s7?$NB0@-(B</term>$B$O!$@k8@$7$?CM$N0l$D$r<h$k$3$H$,$G$-$k!#(B</termdef>$BNs5s7?$K$O!$(B2$B<oN`$"$k!#(B
+
+<scrap lang='ebnf'>
+<head>$BNs5sB0@-$N7?(B</head>
+<prod id='NT-EnumeratedType'><lhs>EnumeratedType</lhs>
+<rhs><nt def='NT-NotationType'>NotationType</nt>
+| <nt def='NT-Enumeration'>Enumeration</nt>
+</rhs></prod>
+<prod id='NT-NotationType'><lhs>NotationType</lhs>
+<rhs>'NOTATION'
+<nt def='NT-S'>S</nt>
+'('
+<nt def='NT-S'>S</nt>?
+<nt def='NT-Name'>Name</nt>
+(<nt def='NT-S'>S</nt>? '|' <nt def='NT-Name'>Name</nt>)*
+<nt def='NT-S'>S</nt>? ')'
+</rhs>
+<vc def='notatn' /></prod>
+<prod id='NT-Enumeration'><lhs>Enumeration</lhs>
+<rhs>'(' <nt def='NT-S'>S</nt>?
+<nt def='NT-Nmtoken'>Nmtoken</nt>
+(<nt def='NT-S'>S</nt>? '|'
+<nt def='NT-S'>S</nt>?
+<nt def='NT-Nmtoken'>Nmtoken</nt>)*
+<nt def='NT-S'>S</nt>?
+')'</rhs>
+<vc def='enum'/></prod>
+</scrap>
+</p>
+
+<vcnote id='notatn'>
+<head>$B5-K!B0@-(B</head>
+<p>$B$3$N7?$NCM$O!$@k8@$7$F$$$k(B<titleref href='Notations'>$B5-K!(B</titleref>$B$NL>A0$N0l$D$H(B&match;$B$7$J$1$l$P$J$i$J$$!#$D$^$j!$@k8@$KB8:_$9$k5-K!L>$O!$$9$Y$F@k8@$5$l$F$$$J$1$l$P$J$i$J$$!#(B
+</p>
+</vcnote>
+<vcnote id='enum'>
+<head>$BNs5s(B</head>
+<p>
+$B$3$N7?$NCM$O!$@k8@$KB8:_$9$k(B<nt def='NT-Nmtoken'>Nmtoken</nt>&token;$B$N0l$D$H(B&match;$B$7$J$1$l$P$J$i$J$$!#(B
+</p>
+</vcnote>
+<p>
+<termref def='dt-interop'>$BAj8_1?MQ@-$N$?$a(B</termref>$B!$F1$8(B<nt def='NT-Nmtoken'>Nmtoken</nt>$B$O!$C10lMWAG7?$NNs5s7?$NB0@-$H$7$F!$J#?t2s8=$l$J$$J}$,$h$$!#(B
+</p>
+</div3>
+
+<div3 id='sec-attr-defaults'>
+<head>$BB0@-$N(B&default;</head>
+
+<p>
+<termref def="dt-attdecl">$BB0@-@k8@(B</termref>$B$O!$B0@-$N;XDj$,I,?\$+$I$&$+$K$D$$$F$N>pJs$rM?$($k!#I,?\$G$J$$>l9g$K$O!$J8=qFb$GB0@-$r;XDj$7$J$$$H$-!$(BXML&processor;$B$N=hM}J}K!$N>pJs$bM?$($k!#(B
+
+<scrap lang='ebnf'>
+<head>$BB0@-$N(B&default;</head>
+<prodgroup pcw4="14" pcw5="11.5">
+<prod id='NT-Default'><lhs>Default</lhs>
+<rhs>'#REQUIRED'
+|&nbsp;'#IMPLIED' </rhs>
+<rhs>| (('#FIXED' S)? <nt def='NT-AttValue'>AttValue</nt>)</rhs>
+<vc def='defattrvalid'/>
+<wfc def="CleanAttrVals"/>
+</prod>
+</prodgroup>
+</scrap>
+<!-- improved by bosak
+<scrap lang='ebnf'>
+<head>Attribute Defaults</head>
+<prod id='NT-Default'><lhs>Default</lhs>
+<rhs>'#REQUIRED'
+|&nbsp;'#IMPLIED' </rhs>
+<vc def='defattrvalid'/>
+<wfc def="CleanAttrVals"/>
+<rhs>| (('#FIXED' S)? <nt def='NT-AttValue'>AttValue</nt>)</rhs>
+</prod>
+</scrap>-->
+</p>
+
+<vcnote id='defattrvalid'>
+<head>$BB0@-(B&default;$B$N@5$7$5(B</head>
+<p>
+$B@k8@$7$?(B&default-value;$B$O!$@k8@$7$?B0@-7?$N;z6g@)Ls$rK~$?$5$J$1$l$P$J$i$J$$!#(B
+</p>
+</vcnote>
+<p>
+<kw>#REQUIRED</kw>$B$r;XDj$7$?$H$-!$$3$NMWAG7?$N(B<termref def="dt-stag">$B3+;O%?%0(B</termref>$B$G$"$C$F!$$3$NB0@-$KCM$rM?$($J$$$b$N$r(BXML&processor;$B$,8+$D$1$?$J$i$P!$$=$NJ8=q$O(B<termref def="dt-valid">&valid;</termref>$B$H$O$7$J$$!#(B<kw>#IMPLIED</kw>$B$r;XDj$7$?$H$-!$$3$NB0@-$r>JN,$7$?$i!$(BXML&processor;$B$O!$B0@-CM$r;XDj$7$J$$$3$H$r%"%W%j%1!<%7%g%s$KEA$($J$1$l$P$J$i$J$$!#$3$N$H$-!$(B&application;$B$N?6Iq$$$K$D$$$F$N@)Ls$O$J$$!#(B
+</p>
+<p>
+<termdef id="dt-default" term="Attribute Default">
+$BB0@-$,(B<kw>#REQUIRED</kw>$B$G$b(B<kw>#IMPLIED</kw>$B$G$b$J$$$H$-$K$O!$(B<nt def='NT-AttValue'>AttValue</nt>$B$NCM$,!$(B<term>&default-value;</term>$B$H$J$k!#(B<kw>#FIXED</kw>$B$N>l9g!$(B&default-value;$B$H0[$J$kCM$,;XDj$5$l$l$P!$$=$NJ8=q$O!$(B<termref def="dt-valid">&valid;</termref>$B$H$7$J$$!#(B&default-value;$B$r@k8@$7$F$$$k>l9g!$$3$NB0@-$N>JN,$r8+$D$1$?$i!$@k8@$7$?(B&default-value;$B$rB0@-CM$K;XDj$7$F$$$k$H$7$F!$(BXML&processor;$B$O?6$kIq$&$3$H$,K>$^$7$$!#(B
+</termdef></p>
+
+<p>$BB0@-%j%9%H@k8@$NNc$r!$<!$K<($9!#(B
+
+<eg>&lt;!ATTLIST termdef
+ id ID #REQUIRED
+ name CDATA #IMPLIED>
+&lt;!ATTLIST list
+ type (bullets|ordered|glossary) "ordered">
+&lt;!ATTLIST form
+ method CDATA #FIXED "POST"></eg></p>
+</div3>
+
+<div3 id='AVNormalize'>
+<head>$BB0@-CM$N@55,2=(B</head>
+<p>
+XML&processor;$B$O!$B0@-CM$r(B&application;$B$KEO$9A0$K!$<!$N$H$*$j$K@55,2=$7$J$1$l$P$J$i$J$$!#(B
+
+<ulist>
+<item>
+<p>a) $B$^$:!$B0@-CM5Z$S$=$NCf$N<BBNFb$G!$9TKvKt$O9T6-3&(B($BKt$O%7%9%F%`$K$h$C$F$O%l%3!<%I6-3&(B)$B$H$7$F;H$o$l$k(B&string;$B$r!$(B&space-character;(#x20)$B0l$D$KCV$-49$($J$1$l$P$J$i$J$$(B($B!V(B<titleref xml-link="simple" href="sec-line-ends">$B9TKv$N07$$(B</titleref>$B!W$b;2>H$N$3$H!#(B)$B!#(B
+</p></item>
+<item>
+<p>b) $B<!$K!$J8;z;2>H5Z$SFbIt(B&parsed-entity;$B$X$N;2>H$O!$E83+$7$J$1$l$P$J$i$J$$!#30It<BBN$X$N;2>H$O!$(B&error;$B$H$9$k!#(B
+</p></item>
+<item>
+<p>c) $B:G8e$K!$B0@-$N7?$,(B<kw>CDATA</kw>$B$G$J$1$l$P!$6uGr(B&string;$B$O!$$9$Y$F(B&space-character;(#x20)$B0l$D$K@55,2=$7!$;D$j$N6uGrJ8;z$O!$:o=|$7$J$1$l$P$J$i$J$$!#(B
+</p></item>
+</ulist>
+
+&non-validating;&parser;$B$O!$@k8@$,8+$D$+$i$J$$B0@-$O!$$9$Y$F!$(B<kw>CDATA</kw>$B$r@k8@$7$F$$$k$H$7$F07$&$3$H$,K>$^$7$$!#(B</p>
+</div3>
+</div2>
+
+<div2 id='sec-condition-sect'>
+<head>$B>r7oIU$-%;%/%7%g%s(B</head>
+<p>
+<termdef id='dt-cond-section' term='conditional section'>
+<term>$B>r7oIU$-%;%/%7%g%s(B</term>$B$H$O!$(B<termref def='dt-doctype'>$BJ8=q7?@k8@$N30It(B&subset;</termref>$B$N0lIt$H$7!$@)8f%-!<%o!<%I$N;XDj$K$h$C$F!$(BDTD$B$NO@M}9=B$$K4^$a$?$j!$=|$$$?$j$9$kItJ,$H$9$k!#(B
+</termdef>
+
+<scrap lang='ebnf'>
+<head>$B>r7oIU$-%;%/%7%g%s(B</head>
+<prodgroup pcw2="9" pcw4="14.5">
+<prod id='NT-conditionalSect'><lhs>conditionalSect</lhs>
+<rhs><nt def='NT-includeSect'>includeSect</nt>
+| <nt def='NT-ignoreSect'>ignoreSect</nt>
+</rhs>
+</prod>
+<prod id='NT-includeSect'><lhs>includeSect</lhs>
+<rhs>'&lt;![' S? 'INCLUDE' S? '['
+<!-- (<nt def='NT-markupdecl'>markupdecl</nt>
+ | <nt def="NT-conditionalSect">conditionalSect</nt>
+ | <nt def="NT-S">S</nt>)*
+-->
+<nt def="NT-extSubset">extSubset</nt>
+']]&gt;'
+</rhs>
+</prod>
+<prod id='NT-ignoreSect'><lhs>ignoreSect</lhs>
+<rhs>'&lt;![' S? 'IGNORE' S? '['
+<nt def="NT-ignoreSectContents">ignoreSectContents</nt>*
+']]&gt;'</rhs>
+</prod>
+<prod id='NT-ignoreSectContents'><lhs>ignoreSectContents</lhs>
+<rhs><nt def='NT-Ignore'>Ignore</nt>
+('&lt;![' <nt def='NT-ignoreSectContents'>ignoreSectContents</nt>
+']]&gt;'
+<nt def='NT-Ignore'>Ignore</nt>)*</rhs></prod>
+<prod id='NT-Ignore'><lhs>Ignore</lhs>
+<rhs><nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* ('&lt;![' | ']]&gt;')
+<nt def='NT-Char'>Char</nt>*)
+</rhs></prod>
+<!--<rhs>
+((<nt def='NT-SkipLit'>SkipLit</nt>
+| <nt def='NT-Comment'>Comment</nt>
+| <nt def='NT-PI'>PI</nt>) -
+(<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-Char'>Char</nt>*))
+| ('&lt;![' <nt def='NT-ignoreSectContents'>ignoreSectContents</nt>*
+']]&gt;')
+</rhs>
+<rhs>
+| (<nt def='NT-Char'>Char</nt> - (']' | [&lt;'"]))
+</rhs>
+<rhs>
+| ('&lt;!' (<nt def='NT-Char'>Char</nt> - ('-' | '[')))
+</rhs>-->
+</prodgroup>
+</scrap>
+</p>
+
+<p>$B>r7oIU$-%;%/%7%g%s$O!$(BDTD$B$NFbIt(B&subset;$B5Z$S30It(B&subset;$B$HF1MM$K!$40A4$J@k8@!$%3%a%s%HKt$OF~$l;R$K$J$C$?>r7oIU$-%;%/%7%g%s$r!$$$$/$D$+4^$s$G$h$$!#$3$l$i$N4V$K!$6uGr$,8=$l$F$b$h$$!#(B
+</p>
+<p>
+$B>r7oIU$-%;%/%7%g%s$N%-!<%o!<%I$,(B<code>INCLUDE</code>$B$J$i$P!$(BXML&processor;$B$O!$$3$N>r7oIU$-%;%/%7%g%s$NFbMF$r!$J8=q$N0lIt$H$7$F07$o$J$1$l$P$J$i$J$$!#>r7oIU$-%;%/%7%g%s$N%-!<%o!<%I$,(B<code>IGNORE</code>$B$J$i$P!$$=$N>r7oIU$-%;%/%7%g%s$NFbMF$O!$J8=q$N0lIt$H$7$F07$o$J$$!#9=J82r@O$r@5$7$/9T$&$?$a$K$O!$L5;k$9$k>r7oIU$-%;%/%7%g%s(B(IGNORE)$B$K4X$7$F$b!$FbMF$rFI$^$J$1$l$P$J$i$J$$$3$H$KCm0U$9$k$3$H!#$3$l$O!$F~$l;R$K$J$C$?>r7oIU$-%;%/%7%g%s$r8+$D$1!$(B($BL5;k$9$k(B)$B:G$b30B&$N>r7oIU$-%;%/%7%g%s$r@5$7$/8!=P$9$k$?$a$H$9$k!#%-!<%o!<%I$r(B<code>INCLUDE</code>$B$H$9$k>.$5$J>r7oIU$-%;%/%7%g%s$,!$%-!<%o!<%I$r(B<code>IGNORE</code>$B$H$9$k$h$jBg$-$J>r7oIU$-%;%/%7%g%s$K4^$^$l$k$J$i$P!$30B&5Z$SFbB&$N>r7oIU$-%;%/%7%g%s$NN>J}$H$bL5;k$9$k!#(B
+</p>
+<p>
+$B>r7oIU$-%;%/%7%g%s$N%-!<%o!<%I$,%Q%i%a%?<BBN;2>H$J$i$P!$(BXML&processor;$B$O>r7oIU$-%;%/%7%g%s$N07$$$rH=CG$9$kA0$K!$$3$N%Q%i%a%?<BBN$rE83+$7$J$1$l$P$J$i$J$$!#(B
+</p>
+
+<p>$BNc$r<!$K<($9!#(B
+
+<eg>&lt;!ENTITY % draft 'INCLUDE' >
+&lt;!ENTITY % final 'IGNORE' >
+
+&lt;![%draft;[
+&lt;!ELEMENT book (comments*, title, body, supplements?)>
+]]&gt;
+&lt;![%final;[
+&lt;!ELEMENT book (title, body, supplements?)>
+]]&gt;
+</eg>
+</p>
+</div2>
+<!--
+<div2 id='sec-pass-to-app'>
+<head>XML Processor Treatment of Logical Structure</head>
+<p>When an XML processor encounters a start-tag, it must make
+at least the following information available to the application:
+<ulist>
+<item>
+<p>the element type's generic identifier</p>
+</item>
+<item>
+<p>the names of attributes known to apply to this element type
+(validating processors must make available names of all attributes
+declared for the element type; non-validating processors must
+make available at least the names of the attributes for which
+values are specified.
+</p>
+</item>
+</ulist>
+</p>
+</div2>
+-->
+
+</div1>
+<!-- &Entities; -->
+
+<div1 id='sec-physical-struct'>
+<head>$BJ*M}9=B$(B</head>
+
+<p>
+<termdef id="dt-entity" term="Entity">
+XML$BJ8=q$O!$0l$D0J>e$N5-21C10L$+$i9=@.$9$k!#$3$N5-21C10L$r!$(B<term>$B<BBN(B</term>$B$H$$$&!#<BBN$O!$(B<term>$BFbMF(B</term>$B$r$b$A!$J8=q<BBN(B($B0J9_;2>H(B)$B5Z$S(B<termref def='dt-doctype'>$B30It(BDTD&subset;</termref>$B$r=|$$$F!$(B<term>$BL>A0(B</term>$B$G(B&identified;$B!#(B
+</termdef>
+
+<!-- Added for CFG -->
+<!-- obscurity amputated by TWB -->
+<!-- entire sentence amputated by CMSMcQ: no one but NO ONE is
+ready for entities declared as
+<!ENTITY foo "http://www.foo.com/bar.xml#id">
+and it's pointless to suggest that it's possible
+under current circumstances. -->
+<!-- An entity may be stored in, -->
+<!--but need not be coterminous with, -->
+<!-- but need not comprise the whole of, -->
+<!-- a single physical storage object such as a file or -->
+<!-- database field. -->
+<!-- End sentence added for CFG -->$B3F(BXML$BJ8=q$O!$(B<termref def="dt-docent">$BJ8=q<BBN(B</termref>$B$H8F$V<BBN$r0l$D$b$D!#(B<termref def="dt-xml-proc">XML&processor;</termref>$B$O!$$3$NJ8=q<BBN$+$i=hM}$r3+;O$9$k!#J8=q<BBN$,!$J8=q$N$9$Y$F$r4^$s$G$b$h$$!#(B</p>
+
+<p>$B<BBN$O!$(B&parsed-entity;$BKt$O(B&unparsed-entity;$B$H$9$k!#(B<termdef id="dt-parsedent" term="Text Entity"><term>&parsed-entity;</term>$B$NFbMF$O!$(B&parsed-entity;$B$N(B<termref def='dt-repltext'>&replacement-text;</termref>$B$H8F$V!#$3$N(B<termref def="dt-text">$B%F%-%9%H(B</termref>$B$O!$J8=q$NK\BN$N0lIt$H$7$F2r<a$9$k!#(B
+</termdef>
+</p>
+
+<p>
+<termdef id="dt-unparsed" term="Unparsed Entity">
+<term>&unparsed-entity;</term>$B$O!$FbMF$,(B<termref def='dt-text'>$B%F%-%9%H(B</termref>$B$G$b$=$&$G$J$/$H$b$h$$%j%=!<%9$H$9$k!#%F%-%9%H$N>l9g!$(BXML$B$G$J$/$H$b$h$$!#3F(B&unparsed-entity;$B$K$O!$(B<termref def="dt-notation">$B5-K!(B</termref>$B$,4XO"IU$1$i$l!$$3$N5-K!$O!$L>A0$G(B&identified;$B!#5-K!$NL>A05Z$S4XO"IU$1$i$l$?(B&identifier;$B$r!$(BXML&processor;$B$,(B&application;$B$KEO$9$H$$$&MW7o0J30$O!$(BXML$B$O!$(B&unparsed-entity;$B$NFbMF$r@)8B$7$J$$!#(B
+</termdef>
+</p>
+
+<p>&parsed-entity;$B$O!$<BBN;2>H$K$h$C$FL>A0$G8F$S=P$9!#(B&unparsed-entity;$B$O!$(B<kw>ENTITY</kw>$B7?Kt$O(B<kw>ENTITIES</kw>$B7?$NB0@-$NCM$H$7$F!$L>A0$G;2>H$9$k!#(B</p>
+
+<p>
+<termdef id='gen-entity' term='general entity'><term>$B0lHL<BBN(B</term>$B$O!$J8=qFbMF$NCf$G;HMQ$9$k(B&parsed-entity;$B$H$9$k!#$"$$$^$$$K$J$i$J$$8B$j!$$3$N(B&TR-or-Rec;$B$G$O!$0lHL<BBN$rC1$K(B<emph>$B<BBN(B</emph>$B$H8F$V!#(B</termdef><termdef id='dt-PE' term='Parameter entity'>$B%Q%i%a%?<BBN$O!$(BDTD$BFb$G;HMQ$9$k(B&parsed-entity;$B$H$9$k!#(B</termdef>$B$3$l$i$N#2<oN`$N<BBN$O!$0[$J$k=q<0$G;2>H$7!$0[$J$kJ8L.$GG'<1$9$k!#(B</p>
+
+<!--
+<div2 id='sec-synchro'>
+<head>Logical and Physical Structures</head>
+<p>The logical and physical structures (elements and entities)
+in an XML document must
+be properly nested.
+<termref def='dt-stag'>Tags</termref> and <termref def='dt-element'>elements</termref> must
+each begin and end in the same <termref def='dt-entity'>entity</termref>, but may
+refer to other
+entities internally; <termref def='dt-comment'>comments</termref>,
+<termref def='dt-pi'>processing instructions</termref>,
+<termref def='dt-charref'>character
+references</termref>, and
+<termref def='dt-entref'>entity references</termref> must each be contained entirely
+within a single entity. Entities must each contain an integral number
+of elements, comments, processing instructions, and references,
+possibly together with character data not contained within any element
+in the entity, or else they must contain non-textual data, which by
+definition contains no elements.</p></div2>
+-->
+
+<div2 id='sec-references'>
+<head>$BJ8;z;2>H5Z$S<BBN;2>H(B</head>
+<p>
+<termdef id="dt-charref" term="Character Reference">
+<term>$BJ8;z;2>H(B</term>$B$O!$(BISO/IEC 10646$BJ8;z=89g$NFCDj$NJ8;z!$Nc$($P!$F~NO5!4o$+$iD>@\F~NOIT2DG=$JJ8;z$r;2>H$9$k!#(B
+
+<scrap lang='ebnf'>
+<head>$BJ8;z;2>H(B</head>
+<prod id='NT-CharRef'><lhs>CharRef</lhs>
+<rhs>'&amp;#' [0-9]+ ';' </rhs>
+<rhs>| '&hcro;' [0-9a-fA-F]+ ';'</rhs>
+<wfc def="wf-Legalchar"/>
+</prod>
+</scrap>
+<wfcnote id="wf-Legalchar">
+<head>$B@5Ev$JJ8;z(B</head>
+<p>$BJ8;z;2>H$G;2>H$9$kJ8;z$O!$Hs=*C<5-9f(B<termref def="NT-Char">Char</termref>$B$K=>$o$J$1$l$P$J$i$J$$!#(B</p>
+</wfcnote>
+$BJ8;z$,(B "<code>&amp;#x</code>" $B$G;O$^$l$P!$=*C<$N(B "<code>;</code>" $B$^$G$N?t;z5Z$S%"%k%U%!%Y%C%H$O!$(BISO/IEC 10646 $B$NJ8;z%3!<%I$N(B16$B?J?tI=8=$H$9$k!#(B
+<!--$BF|K\8lLu$K$D$$$F(B: letter$B$O%"%k%U%!%Y%C%H$HLu$7$?!#(B $B;09%(B -->
+$BJ8;z$,(B "<code>&amp;#</code>" $B$G;O$^$l$P!$=*C<$N(B "<code>;</code>" $B$^$G$N?t;z$O!$J8;z%3!<%I$N(B10$B?J?tI=8=$H$9$k!#(B
+</termdef>
+</p>
+
+<p>
+<termdef id="dt-entref" term="Entity Reference">
+<term>$B<BBN;2>H(B</term>$B$O!$L>A0$NIU$$$?<BBN$NFbMF$r;2>H$9$k!#(B</termdef><termdef id='dt-GERef' term='General Entity Reference'>$B0lHL<BBN$X$N;2>H$O!$%"%s%Q%5%s%I(B(<code>&amp;</code>)$B5Z$S%;%_%3%m%s(B(<code>;</code>)$B$r6h@Z$j;R$H$7$FMQ$$$k!#(B</termdef><termdef id='dt-PERef' term='Parameter-entity reference'><term>$B%Q%i%a%?<BBN(B</term>$B$X$N;2>H$O!$%Q!<%;%s%H5-9f(B(<code>%</code>)$B5Z$S%;%_%3%m%s(B(<code>;</code>)$B$r6h@Z$j;R$H$7$FMQ$$$k!#(B
+</termdef>
+</p>
+
+<scrap lang="ebnf">
+<head>$B<BBN;2>H(B</head>
+<prod id='NT-Reference'><lhs>Reference</lhs>
+<rhs><nt def='NT-EntityRef'>EntityRef</nt>
+| <nt def='NT-CharRef'>CharRef</nt></rhs></prod>
+<prod id='NT-EntityRef'><lhs>EntityRef</lhs>
+<rhs>'&amp;' <nt def='NT-Name'>Name</nt> ';'</rhs>
+<wfc def='wf-entdeclared'/>
+<vc def='vc-entdeclared'/>
+<wfc def='textent'/>
+<wfc def='norecursion'/>
+</prod>
+<prod id='NT-PEReference'><lhs>PEReference</lhs>
+<rhs>'%' <nt def='NT-Name'>Name</nt> ';'</rhs>
+<wfc def='wf-entdeclared'/>
+<vc def='vc-entdeclared'/>
+<wfc def='textent'/>
+<wfc def='norecursion'/>
+<wfc def='indtd'/>
+</prod>
+</scrap>
+
+<wfcnote id='wf-entdeclared'>
+<head>$B<BBN$,@k8@$5$l$F$$$k$3$H(B</head>
+<p>DTD$B$r$b$?$J$$J8=q!$%Q%i%a%?<BBN;2>H$r4^$^$J$$FbIt(BDTD&subset;$B$@$1$r$b$DJ8=q!$Kt$O(B "<code>standalone='yes'</code>" $B$r$b$DJ8=q$K$*$$$F!$<BBN;2>H$GMQ$$$k(B <nt def='NT-Name'>Name</nt> $B$O!$$=$N<BBN$N@k8@$GM?$($kL>A0$H!$(B<termref def="dt-match">&match;</termref>$B$7$J$1$l$P$J$i$J$$!#$?$@$7!$(B&well-formed;$B$NJ8=q$O!$<BBN(B&magicents; $B$r@k8@$9$kI,MW$O$J$$!#%Q%i%a%?<BBN$N>l9g$O!$@k8@$O!$;2>H$K@h9T$7$J$1$l$P$J$i$J$$!#F1MM$K!$0lHL<BBN$N>l9g$O!$B0@-%j%9%H@k8@$N(B&default-value;$BFb$G$N;2>H$h$j@h$K!$@k8@$,8=$l$J$1$l$P$J$i$J$$!#(B</p>
+
+<p>$B30It(B&subset;$BKt$O30It%Q%i%a%?<BBN$G<BBN$r@k8@$9$k$H$-!$(B&non-validating;&processor;$B$,!$@k8@$rFI$_!$=hM}$9$k$3$H$r(B<titleref href='include-if-valid'>$B5AL3$E$1$J$$(B</titleref>$B!#$=$l$i$NJ8=q$G$O!$<BBN$O@k8@$5$l$J$1$l$P$J$i$J$$$H$$$&5,B'$O!$(B&well-formed;$B@)Ls$G$O$J$$!#(B
+</p>
+</wfcnote>
+
+<vcnote id="vc-entdeclared">
+<head>$B<BBN$,@k8@$5$l$F$$$k$3$H(B</head>
+<p>
+$B30It(B&subset;$BKt$O30It%Q%i%a%?<BBN$r$b$C$F$$$F!$(B"<code>standalone='no'</code>"$B$r$b$DJ8=q$K$*$$$F!$<BBN;2>H$GMQ$$$k(B <nt def='NT-Name'>Name</nt> $B$O!$$=$N<BBN$N@k8@$GM?$($kL>A0$H(B<termref def="dt-match">&match;</termref>$B$7$J$1$l$P$J$i$J$$!#Aj8_1?MQ@-$N$?$a!$(B&valid;$B$JJ8=q$O(B<titleref href="sec-escapes">$B$"$i$+$8$aDj5A$7$?<BBN$N5,Dj(B</titleref>$B$G;XDj$7$?=q<0$K$h$C$F!$<BBN(B &magicents;$B$r@k8@$9$k$3$H$,K>$^$7$$!#%Q%i%a%?<BBN$N>l9g$O!$@k8@$O!$;2>H$K@h9T$7$J$1$l$P$J$i$J$$!#F1MM$K!$0lHL<BBN$N>l9g$O!$B0@-%j%9%H@k8@$N(B&default-value;$BFb$G$N;2>H$h$j$b@h$K!$@k8@$,8=$l$J$1$l$P$J$i$J$$!#(B
+</p>
+</vcnote>
+
+<!-- FINAL EDIT: is this duplication too clumsy? -->
+
+<wfcnote id='textent'>
+<head>&parsed-entity;</head>
+<p>
+$B<BBN;2>H$O!$(B<termref def="dt-unparsed">&unparsed-entity;</termref>$B$NL>A0$r4^$s$G$$$F$O$J$i$J$$!#(B&unparsed-entity;$B$O!$(B<kw>ENTITY</kw>$B7?Kt$O(B<kw>ENTITIES</kw> $B7?$H$7$F@k8@$7$?(B<termref def="dt-attrval">$BB0@-CM(B</termref>$B$H$7$F$@$1;2>H$G$-$k!#(B
+</p>
+</wfcnote>
+
+<wfcnote id='norecursion'>
+<head>$B:F5"$J$7(B</head>
+<p>&parsed-entity;$B$O!$$=$l<+BN$X$N;2>H$r!$D>@\$K$b4V@\$K$b4^$s$G$O$J$i$J$$!#(B</p>
+</wfcnote>
+
+<wfcnote id='indtd'>
+<head>DTD$B$NCf(B</head>
+<p>
+$B%Q%i%a%?<BBN;2>H$O!$(B<termref def='dt-doctype'>DTD</termref>$BFb$K$@$1!$=P8=$7$F$h$$!#(B
+<!--
+In the external DTD subset, a parameter-entity reference is
+recognized only at the locations where
+the nonterminal <nt def="NT-PEReference">PEReference</nt> or the
+special operator <code>%</code> appears in a production of the
+grammar. In the internal subset, parameter-entity references
+are recognized only when they match
+the <nt def="NT-InternalPERef">InternalPERef</nt> non-terminal
+in the production for <nt def="NT-markupdecl">markupdecl</nt>.
+-->
+</p>
+</wfcnote>
+
+<p>
+$BJ8;z;2>H5Z$S<BBN;2>H$NNc$r!$<!$K<($9!#(B
+<eg>Type &lt;key>less-than&lt;/key> (&hcro;3C;) to save options.
+This document was prepared on &amp;docdate; and
+is classified &amp;security-level;.</eg>
+</p>
+
+<p>
+$B%Q%i%a%?<BBN;2>H$NNc$r!$<!$K<($9!#(B
+<eg>&lt;!ENTITY % ISOLat2
+ SYSTEM "http://www.xml.com/iso/isolat2-xml.entities" >
+%ISOLat2;
+</eg>
+</p>
+</div2>
+
+<div2 id='sec-entity-decl'>
+<head>$B<BBN@k8@(B</head>
+
+<p>
+<termdef id="dt-entdecl" term="entity declaration">
+$B<BBN$O!$<!$N$H$*$j$K@k8@$9$k!#(B
+<scrap lang='ebnf'>
+<head>$B<BBN@k8@(B</head>
+<prodgroup pcw2="5" pcw4="18.5">
+<prod id='NT-EntityDecl'><lhs>EntityDecl</lhs>
+<rhs><nt def="NT-GEDecl">GEDecl</nt></rhs><com>$B0lHL<BBN(B</com>
+<rhs>| <nt def="NT-PEDecl">PEDecl</nt></rhs><com>$B%Q%i%a%?<BBN(B</com>
+</prod>
+<prod id='NT-GEDecl'><lhs>GEDecl</lhs>
+<rhs>'&lt;!ENTITY' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt> <nt def='NT-EntityDef'>EntityDef</nt>
+<nt def='NT-S'>S</nt>? '&gt;'</rhs>
+</prod>
+<prod id='NT-PEDecl'><lhs>PEDecl</lhs>
+<rhs>| '&lt;!ENTITY' <nt def='NT-S'>S</nt> '%' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt> <nt def='NT-S'>S</nt>
+<nt def='NT-PEDef'>PEDef</nt> <nt def='NT-S'>S</nt>? '&gt;'</rhs>
+<com>$B%Q%i%a%?<BBN(B</com>
+</prod>
+<prod id='NT-EntityDef'><lhs>EntityDef</lhs>
+<rhs><nt def='NT-EntityValue'>EntityValue</nt>
+</rhs>
+<!--<wfc def="WF-EntityValue"/>-->
+<rhs>| <nt def='NT-ExternalDef'>ExternalDef</nt></rhs>
+<!--<wfc def="WF-External"/>-->
+</prod>
+<!-- FINAL EDIT: what happened to WFs here? -->
+<prod id='NT-PEDef'><lhs>PEDef</lhs>
+<rhs><nt def='NT-EntityValue'>EntityValue</nt>
+| <nt def='NT-ExternalID'>ExternalID</nt></rhs></prod>
+</prodgroup>
+</scrap>
+
+<nt def='NT-Name'>Name</nt> $B$O!$(B<termref def="dt-entref">$B<BBN;2>H(B</termref>$B$K$*$$$F<BBN$r(B&identify;$B!#(B&unparsed-entity;$B$J$i$P!$(B<kw>ENTITY</kw> $B7?Kt$O(B<kw>ENTITIES</kw>$B7?$NB0@-CMFb$G!$<BBN$r(B&identify;$B!#F10l$N<BBN$,0l2s0J>e@k8@$5$l$l$P!$:G=i$N@k8@$rMQ$$$k!#(B&at-user-option;$B!$J#?t2s@k8@$5$l$k<BBN$K4X$7!$(BXML&processor;$B$O!$7Y9p$r=P$7$F$b$h$$!#(B
+</termdef>
+</p>
+
+<!--
+<wfcnote id="WF-Entityvalue">
+<head>Well-Formed Internal Entity</head>
+<p>General entities defined by an <nt
+def="NT-EntityValue">EntityValue</nt> must be well-formed, as defined
+in section <specref ref="wf-entities"/>.
+</p>
+</wfcnote>
+<wfcnote id="WF-External">
+<head>Well-Formed External Entity</head>
+<p>General text entities defined by an <nt
+def="NT-ExternalDef">ExternalDef</nt>, must be well-formed, as defined
+in the section on <titleref xml-link="simple"
+href="wf-entities">well-formed entities.</titleref>.</p>
+</wfcnote>
+-->
+
+<div3 id='sec-internal-ent'>
+<head>$BFbIt<BBN(B</head>
+<p>
+<termdef id='dt-internent' term="Internal Entity Replacement Text">
+$B<BBN$NDj5A$,(B <nt def='NT-EntityValue'>EntityValue</nt>$B$N$H$-!$$3$l$r(B<term>$BFbIt<BBN(B</term>$B$H$$$&!#$3$l$O!$JL8D$NJ*M}E*5-21C10L$r$b$?$:!$<BBN$NFbMF$O!$@k8@Fb$GM?$($k!#(B</termdef>$B@5$7$/(B<termref def='dt-repltext'>&replacement-text;</termref>$B$r@8@.$9$k$K$O!$(B<termref def='dt-litentval'>&literal;$B<BBNCM(B</termref>$BFb$G$N<BBN;2>H5Z$SJ8;z;2>H$N=hM}$,!$I,MW$H$J$k$+$b$7$l$J$$$3$H$KCm0U$9$k!#>\:Y$O!$(B<titleref href='intern-replacement'>$BFbIt<BBN$N(B&replacement-text;$B$N9=C[(B</titleref>$B$r;2>H!#(B
+
+<!-- redundant -TWB
+Within the <nt def="NT-EntityValue">EntityValue</nt>,
+parameter-entity references and character references are recognized
+and expanded immediately.
+General-entity references within the
+replacement text are not recognized
+at the time the entity declaration is parsed, though they may be
+recognized when the entity itself is referred to.
+-->
+
+</p>
+
+<p>
+$BFbIt<BBN$O!$(B<termref def="dt-parsedent">&parsed-entity;</termref>$B$H$9$k!#(B
+</p>
+
+<p>$BFbIt<BBN@k8@$NNc$r!$<!$K<($9!#(B
+<eg>&lt;!ENTITY Pub-Status "This is a pre-release of the specification."></eg></p>
+</div3>
+
+<div3 id='sec-external-ent'>
+<head>$B30It<BBN(B</head>
+<p>
+<termdef id="dt-extent" term="External Entity">
+$B<BBN$,FbIt<BBN$G$J$1$l$P!$(B<term>$B30It<BBN(B</term>$B$H$7!$<!$N$H$*$j$K@k8@$9$k!#(B
+
+<scrap lang='ebnf'>
+<head>$B30It<BBN@k8@(B</head>
+<prod id='NT-ExternalDef'><lhs>ExternalDef</lhs>
+<rhs><nt def='NT-ExternalID'>ExternalID</nt>
+<nt def='NT-NDataDecl'>NDataDecl</nt>?</rhs></prod>
+<prod id='NT-ExternalID'><lhs>ExternalID</lhs>
+<rhs>'SYSTEM' <nt def='NT-S'>S</nt>
+<nt def='NT-SystemLiteral'>SystemLiteral</nt></rhs>
+<rhs>| 'PUBLIC' <nt def='NT-S'>S</nt>
+<nt def='NT-PubidLiteral'>PubidLiteral</nt>
+<nt def='NT-S'>S</nt>
+<nt def='NT-SystemLiteral'>SystemLiteral</nt>
+</rhs>
+</prod>
+<prod id='NT-NDataDecl'><lhs>NDataDecl</lhs>
+<rhs><nt def='NT-S'>S</nt> 'NDATA' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt></rhs>
+<vc def='not-declared'/></prod>
+</scrap>
+
+<nt def='NT-NDataDecl'>NDataDecl</nt> $B$,B8:_$9$l$P!$$3$N<BBN$O!$(B<termref def="dt-unparsed">&unparsed-entity;</termref>$B$H$7!$$=$&$G$J$1$l$P!$(B&parsed-entity;$B$H$9$k!#(B</termdef>
+</p>
+
+<vcnote id='not-declared'>
+<head>$B5-K!$,@k8@$5$l$F$$$k$3$H(B</head>
+<p>
+<nt def='NT-Name'>Name</nt> $B$O!$@k8@$7$?(B<termref def="dt-notation">$B5-K!(B</termref>$B$NL>A0$H(B&match;$B$7$J$1$l$P$J$i$J$$!#(B
+</p>
+</vcnote>
+
+<p>
+<termdef id="dt-sysid" term="System Identifier">
+$B%-!<%o!<%I(B <kw>SYSTEM</kw> $B$N8e$N(B <nt def='NT-SystemLiteral'>SystemLiteral</nt> $B$r!$<BBN$N(B<term>$B%7%9%F%`(B&identifier;</term>$B$H8F$V!#$3$l$O(BURI$B$H$7!$$=$N<BBN$NFbMF$r<h$j=P$9$N$KMQ$$$F$b$h$$!#(B</termdef>URI$B$H6&$K;H$&$3$H$NB?$$%O%C%7%e(B("<code>#</code>")$B5Z$S%U%i%0%a%s%H(B&identifier;$B$O!$@5<0$K$O!$(BURI$B<+BN$N0lIt$H$O$7$J$$!#%U%i%0%a%s%H(B&identifier;$B$,!$%7%9%F%`(B&identifier;$B$NItJ,$H$7$FM?$($i$l$F$$$k>l9g!$(BXML&processor;$B$O!$(B&error;$B$r=P$7$F$b$h$$!#$3$N(B&TR-or-Rec;$B$NHO0O30$N>pJs(B($BNc$($P!$$"$kFCDj$N(BDTD$B$NFCJL$J(BXML$BMWAGKt$OFCDj$N(B&application;$B$N;EMM$K$h$C$FDj5A$5$l$?=hM}L?Na(B)$B$K$h$C$F>e=q$-$5$l$J$$8B$j!$AjBPE*$J(BURI$B$O!$$=$N<BBN$N0LCV!$$9$J$o$A!$$=$N<BBN$N@k8@$,$"$k%U%!%$%k$KAjBPE*$H$9$k!#$7$?$,$C$F!$(BDTD$B$NFbIt(B&subset;$B$K$"$k<BBN@k8@$G$NAjBPE*$J(BURI$B$O!$J8=q$N0LCV$K$D$$$FAjBPE*$H$9$k!#30It(B&subset;$B$K$"$k<BBN@k8@$G$NAjBPE*$J(BURI$B$O!$$=$N30It(B&subset;$B$r4^$`%U%!%$%k$N0LCV$KAjBPE*$H$9$k!#(B
+</p>
+
+<p>
+<termdef id="dt-pubid" term="Public identifier">
+$B%7%9%F%`(B&identifier;$B0J30$K!$30It<BBN$O!$(B<term>$B8x3+(B&identifier;</term>$B$r4^$s$G$b$h$$!#(B
+</termdef>
+$B<BBN$NFbMF$r<h$j=P$9(BXML&processor;$B$O!$$3$N8x3+(B&identifier;$B$rMQ$$$F!$Be$o$j$N(BURI$B$N@8@.$r;n$_$F$b$h$$!#(BXML&processor;$B$,$3$l$K<:GT$7$?>l9g$O!$%7%9%F%`(B&literal;$B$H$7$F;XDj$7$?(BURI$B$rMQ$$$J$1$l$P$J$i$J$$!#(B&match;$B$9$kA0$K!$8x3+(B&identifier;$BFb$K$"$k6uGrJ8;z$+$i$J$k(B&string;$B$O!$$9$Y$FC10l$N(B&space-character;(#x20)$B$K@55,2=$7$J$1$l$P$J$i$:!$A08e$N6uGrJ8;z$O:o=|$7$J$1$l$P$J$i$J$$!#(B
+</p>
+
+<p>$B30It<BBN@k8@$NNc$r!$<!$K<($9!#(B
+<eg>&lt;!ENTITY open-hatch
+ SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml">
+&lt;!ENTITY open-hatch
+ PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN"
+ "http://www.textuality.com/boilerplate/OpenHatch.xml">
+&lt;!ENTITY hatch-pic
+ SYSTEM "../grafix/OpenHatch.gif"
+ NDATA gif ></eg></p>
+</div3>
+
+</div2>
+
+<div2 id='TextEntities'>
+<head>&parsed-entity;</head>
+<div3 id='sec-TextDecl'>
+<head>$B%F%-%9%H@k8@(B</head>
+<p>$B30It(B&parsed-entity;$B$O!$(B<term>$B%F%-%9%H@k8@(B</term>$B$G;O$^$C$F$b$h$$!#(B
+<scrap lang='ebnf'>
+<head>$B%F%-%9%H@k8@(B</head>
+<prodgroup pcw4="12.5" pcw5="13">
+<prod id='NT-TextDecl'><lhs>TextDecl</lhs>
+<rhs>&xmlpio;
+<nt def='NT-VersionInfo'>VersionInfo</nt>?
+<nt def='NT-EncodingDecl'>EncodingDecl</nt>
+<nt def='NT-S'>S</nt>? &pic;</rhs>
+<!-- <wfc def='wfc-xmldecliteral'/> -->
+<!-- <wfc def='wfc-no-nonleading-encdec'/> -->
+</prod>
+</prodgroup>
+</scrap>
+</p>
+<p>$B%F%-%9%H@k8@$O!$$=$N$^$^$N7A$G8=$l$J$1$l$P$J$i$:!$(B&parsed-entity;$B$X$N;2>H$r7PM3$7$F$O$J$i$J$$$3$H$KCm0U$9$k!#(B</p>
+<p>$B30It(B&parsed-entity;$B$K$*$$$F!$%F%-%9%H@k8@$O!$@hF,0J30$N$$$+$J$k0LCV$K$b=P8=$7$J$$!#(B</p>
+</div3>
+<div3 id='wf-entities'>
+<head>&well-formed;$B$N(B&parsed-entity;</head>
+<p>$B%i%Y%k(B<nt def='NT-document'>document</nt>$B$r$b$D@8@.5,B'$K(B&match;$B$9$l$P!$J8=q<BBN$O!$(B&well-formed;$B$H$9$k!#%i%Y%k(B<nt def='NT-ExtParsedEnt'>ExtParsedEnt</nt>$B$r$b$D@8@.5,B'$K(B&match;$B$9$l$P!$30It$N0lHL(B&parsed-entity;$B$O!$(B&well-formed;$B$H$9$k!#%i%Y%k(B<nt def='NT-ExtPE'>ExtPE</nt>$B$r$b$D@8@.5,B'$K(B&match;$B$9$l$P!$30It%Q%i%a%?<BBN$O!$(B&well-formed;$B$H$9$k!#(B
+
+<scrap lang='ebnf'>
+<head>&well-formed;$B$N(B&parsed-entity;</head>
+<prod id='NT-ExtParsedEnt'><lhs>ExtParsedEnt</lhs>
+<rhs><nt def='NT-TextDecl'>TextDecl</nt>?
+<nt def='NT-content'>content</nt></rhs>
+</prod>
+<prod id='NT-ExtPE'><lhs>ExtPE</lhs>
+<rhs><nt def='NT-TextDecl'>TextDecl</nt>?
+<nt def='NT-extSubset'>extSubset</nt></rhs>
+</prod>
+</scrap>
+&replacement-text;$B$,!$%i%Y%k(B<nt def='NT-content'>content</nt>$B$r$b$D@8@.5,B'$K(B&match;$B$9$l$P!$FbIt$N0lHL(B&parsed-entity;$B$O!$(B&well-formed;$B$H$9$k!#(BDTD$B$r:G8e$^$GFI$_9~$^$J$$$H!$3N<B$K$3$l$rH=Dj$G$-$J$$$3$H$KCm0U!#$9$Y$F$NFbIt$N%Q%i%a%?<BBN$O!$Dj5A$K$h$C$F(B&well-formed;$B$H$9$k!#(B
+</p>
+<p>$B<BBN$,(B&well-formed;$B$J7k2L$H$7$F!$(BXML$BJ8=q$NO@M}E*5Z$SJ*M}E*9=B$$O!$@5$7$/F~$l;R$H$J$k!#(B<termref def='dt-stag'>$B3+;O%?%0(B</termref>$B!$(B<termref def='dt-etag'>$B=*N;%?%0(B</termref>$B!$(B<termref def="dt-empty">$B6uMWAG%?%0(B</termref>$B!$(B<termref def='dt-element'>$BMWAG(B</termref>$B!$(B<termref def='dt-comment'>$B%3%a%s%H(B</termref>$B!$(B<termref def='dt-pi'>$B=hM}L?Na(B</termref>$B!$(B<termref def='dt-charref'>$BJ8;z;2>H(B</termref>$B5Z$S(B<termref def='dt-entref'>$B<BBN;2>H(B</termref>$B$,!$0l$D$N<BBN$G3+;O$7!$JL$N<BBN$G=*N;$9$k$3$H$O$J$$!#(B</p>
+</div3>
+<div3 id='charencoding'>
+<head>$B<BBN$K$*$1$kJ8;zId9f2=(B</head>
+
+<p>XML$BJ8=qFb$N30It(B&parsed-entity;$B$O!$3F!9!$JL$NJ8;zId9f2=J}<0$rMQ$$$F$b$h$$!#$9$Y$F$N(BXML&processor;$B$O!$(BUTF-8$B$GId9f2=$7$?<BBN!$(BUTF-16$B$GId9f2=$7$?<BBN$r=hM}$G$-$J$1$l$P$J$i$J$$!#(B
+<!--
+It is recognized that for some purposes, the use of additional
+ISO/IEC 10646 planes other than the Basic Multilingual Plane
+may be required.
+A facility for handling characters in these planes is therefore a
+desirable characteristic in XML processors and applications.
+-->
+</p>
+<p>UTF-16$B$GId9f2=$7$?<BBN$O!$(BISO/IEC 10646$B$NIUO?(BE$B5Z$S(BUnicode$B$NIUO?(BB$B$G5,Dj$9$k(B&byte-order-mark;(ZERO WIDTH NO-BREAK SPACE$BJ8;z!$(B#xFEFF)$B$G;O$^$i$J$1$l$P$J$i$J$$!#$3$l$O!$Id9f2=$NI8<1$G$"$C$F!$(BXML$BJ8=q$N(B&markup;$B$N0lIt$G$b!$J8;z%G!<%?$N0lIt$G$b$J$$!#(BXML&processor;$B$O!$(BUTF-8$B$GId9f2=$7$?J8=q$H(BUTF-16$B$GId9f2=$7$?J8=q$H$N6hJL$r9T$&$?$a$K!$$3$NJ8;z$r;HMQ2DG=$G$J$1$l$P$J$i$J$$!#(B</p>
+<p>XML&processor;$B$O!$(BUTF-8$B5Z$S(BUTF-16$B$GId9f2=$7$?<BBN$@$1$rFI$`$3$H$rI,?\$H$9$k$,!$B>$NId9f2=$r@$3&$G$OMQ$$$F$*$j!$$=$l$i$NId9f2=$rMQ$$$k<BBN$r(BXML&processor;$B$,=hM}$G$-$k$3$H$,K>$^$7$$!#(BUTF-8$BKt$O(BUTF-16$B0J30$NId9f2=J}<0$rMQ$$$F3JG<$9$k(B&parsed-entity;$B$O!$Id9f2=@k8@$r4^$`(B<titleref href='TextDecl'>$B%F%-%9%H@k8@(B</titleref>$B$G;O$a$J$1$l$P$J$i$J$$!#(B
+<scrap lang='ebnf'>
+<head>$BId9f2=@k8@(B</head>
+<prod id='NT-EncodingDecl'><lhs>EncodingDecl</lhs>
+<rhs><nt def="NT-S">S</nt>
+'encoding' <nt def='NT-Eq'>Eq</nt>
+'"' <nt def='NT-EncName'>EncName</nt> '"' | "'"
+<nt def='NT-EncName'>EncName</nt> "'"
+</rhs>
+</prod>
+<prod id='NT-EncName'><lhs>EncName</lhs>
+<rhs>[A-Za-z] ([A-Za-z0-9._] | '-')*</rhs>
+<com>$B%i%F%sJ8;z$@$1$r4^$`Id9f2=L>(B</com>
+</prod>
+</scrap>
+<termref def='dt-docent'>$BJ8=q<BBN(B</termref>$B$G$O!$Id9f2=@k8@$O!$(B<termref def="dt-xmldecl">XML$B@k8@(B</termref>$B$N0lIt$H$9$k!#(B<nt def="NT-EncName">EncName</nt>$B$O!$;HMQ$9$kId9f2=J}<0$NL>A0$H$9$k!#(B
+</p>
+<!-- FINAL EDIT: check name of IANA and charset names -->
+<p>$BId9f2=@k8@$G$O!$CM(B<code>UTF-8</code>$B!$(B<code>UTF-16</code>$B!$(B<code>ISO-10646-UCS-2</code>$B5Z$S(B<code>ISO-10646-UCS-4</code>$B$O!$(BUnicode$B5Z$S(BISO/IEC 10646$B$N3F<oId9f2=$N$?$a$KMQ$$$k!#CM(B<code>ISO-8859-1</code>$B$+$i(B<code>ISO-8859-9</code>$B$^$G$O!$(BISO 8859$B$NBP1~$9$k%Q!<%H$N$?$a$KMQ$$$k!#CM(B<code>ISO-2022-JP</code>$B!$(B<code>Shift_JIS</code>$B5Z$S(B<code>EUC-JP</code>$B$O!$(BJIS X-0208-1997$B$N3F<oId9f2=$N$?$a$KMQ$$$k!#(BXML&processor;$B$O!$$=$l0J30$NId9f2=J}<0$rG'<1$7$F$b$h$$!#(BInternet Assigned Numbers Authority (IANA)$B$K!$(B(<emph>charset</emph>s$B$H$7$F(B)$BEPO?$5$l$?J8;zId9f2=J}<0$K$D$$$F$O!$$3$l$i0J30$K$D$$$F$b!$EPO?$5$l$?L>A0$G;2>H$9$k$3$H$,K>$^$7$$!#$3$l$i$NEPO?$5$l$?L>A0$O!$BgJ8;z!&>.J8;z$N6hJL$r$;$:$KDj5A$5$l$F$$$k$N$G!$$3$l$i$KBP$9$kHf3S$r;n$_$k(B&processor;$B$O!$BgJ8;z!&>.J8;z$N6hJL$r$7$J$$J}K!$r$H$k$N$,K>$^$7$$$3$H$KCm0U$9$k!#(B</p>
+<p>XML$B=hM}7O$KEO$5$l$?<BBN$,!$Id9f2=@k8@$r4^$`$K$b$+$+$o$i$:!$@k8@$G<($7$?$b$N0J30$NJ}<0$GId9f2=$5$l$F$$$?$j!$Id9f2=@k8@$,!$30It<BBN$N:G=i0J30$N0LCV$K=P8=$9$l$P!$(B<termref def="dt-error">&error;</termref>$B$H$9$k!#(B
+</p>
+<p>&byte-order-mark;$B$G$bId9f2=@k8@$G$b;O$^$i$J$$<BBN$O!$(BUTF-8$BId9f2=$G$J$1$l$P$J$i$J$$!#(B</p>
+
+<p><!-- XML processors should make an effort to use all available
+information, internal and external, to aid in detecting an entity's correct
+encoding. Such information may include, but is not limited to:
+<ulist><item><p>An HTTP header</p></item>
+<item><p>A MIME header obtained other than through HTTP</p></item>
+<item><p>Metadata provided by the native OS file system or by document
+management software</p></item>
+<item><p>The bit patterns at the front of an entity, which may
+be analyzed to determine if
+the application of any known encoding yields a valid encoding
+declaration. See <titleref href='sec-guessing'>the appendix on
+autodetection of character sets</titleref>
+for a fuller description.</p></item></ulist> -->
+$B=hM}$G$-$J$$Id9f2=$r$b$C$?<BBN$r(BXML&processor;$B$,H/8+$7$?$H$-$O!$(B&application;$B$K$=$N;v<B$rDLCN$7!$(B<termref def='dt-fatal'>&fatal-error;</termref>$B$H$7$F!$=hM}$r=*N;$7$J$1$l$P$J$i$J$$!#(B
+<!--
+inform the application of this fact and
+may
+allow the application to
+request either that the entity should be treated as an <termref
+def="dt-unparsed">unparsed entity</termref>, or that processing should
+cease.-->
+</p>
+<p>$BId9f2=@k8@$NNc$r!$<!$K<($9!#(B
+<eg>&lt;?xml encoding='UTF-8'?>
+&lt;?xml encoding='EUC-JP'?></eg></p>
+</div3>
+</div2>
+<div2 id='entproc'>
+<head>XML&processor;$B$K$h$k<BBN5Z$S;2>H$N07$$(B</head>
+<p>$B<!$NI=$O!$J8;z;2>H!$<BBN;2>H5Z$S(B&unparsed-entity;$B$N8F=P$7$,8=$l$kJ8L.5Z$S3F!9$N>l9g$K$*$1$k(B<termref def='dt-xml-proc'>XML&processor;</termref>$B$KMW5a$9$k?6Iq$$$rMWLs$9$k!#0lHV:8$NNs$N%i%Y%k$O!$G'<1$NJ8L.$r<($9!#(B
+<glist>
+<gitem><label>$BFbMF$K$*$1$k;2>H(B</label>
+<def><p>$BMWAG$N(B<termref def='dt-stag'>$B3+;O%?%0(B</termref>$B5Z$S(B<termref def='dt-etag'>$B=*N;%?%0(B</termref>$B$N4V$NG$0U$N>l=j$G$N;2>H!#Hs=*C<5-9f(B<nt def='NT-content'>content</nt>$B$KBP1~$9$k!#(B</p></def>
+</gitem>
+<gitem>
+<label>$BB0@-CM$K$*$1$k;2>H(B</label>
+<def><p><termref def='dt-stag'>$B3+;O%?%0(B</termref>$B$NB0@-$NCM!$Kt$O(B<termref def='dt-attdecl'>$BB0@-@k8@(B</termref>$B$K$*$1$k(B&default-value;$B$N$$$:$l$+$G$N;2>H!#Hs=*C<5-9f(B<nt def='NT-AttValue'>AttValue</nt>$B$KBP1~$9$k!#(B</p></def></gitem>
+<gitem>
+<label>$BB0@-CM$H$7$F=P8=(B</label>
+<def><p>$B;2>H$G$O$J$/!$(B<nt def='NT-Name'>Name</nt>$B$H$7$F=P8=!#(B<code>ENTITY</code>$B7?$H$7$F@k8@$7$?B0@-$NCM!$Kt$O(B<code>ENTITIES</code>$B7?$H$7$F@k8@$7$?B0@-$NCM$K$*$1$k(B&space;$B$G6h@Z$k(B&token;$B$N0l$D$H$7$F=P8=$9$k!#(B</p>
+</def></gitem>
+<gitem><label>$B<BBNCM$K$*$1$k;2>H(B</label>
+<def><p>$B<BBN$N@k8@$K$*$1$k!$%Q%i%a%?Kt$OFbIt<BBN$N(B<termref def='dt-litentval'>&literal;$B<BBNCM(B</termref>$BFb$N;2>H!#Hs=*C<5-9f(B<nt def='NT-EntityValue'>EntityValue</nt>$B$KBP1~$9$k!#(B</p></def></gitem>
+<gitem><label>DTD$B$K$*$1$k;2>H(B</label>
+<def><p><termref def='dt-doctype'>DTD</termref>$B$NFbIt(B&subset;$BKt$O30It(B&subset;$B$G$N;2>H!#$?$@$7!$(B<nt def='NT-EntityValue'>EntityValue</nt>$BKt$O(B<nt def="NT-AttValue">AttValue</nt>$B$N30B&$H$9$k!#(B</p></def>
+</gitem>
+</glist></p>
+<!-- border value changed by bosak -->
+<htable border='1' cellpadding='7' align='center'>
+<!-- tbody wrapper added by bosak -->
+<htbody>
+<tr><td bgcolor='&cellback;' rowspan='2' colspan='1'></td>
+<td bgcolor='&cellback;' align='center' valign='bottom' colspan='4'>$B<BBN$N7?(B</td>
+<td bgcolor='&cellback;' rowspan='2' align='center'>$BJ8;z(B</td>
+</tr>
+<tr align='center' valign='bottom'>
+<td bgcolor='&cellback;'>$B%Q%i%a%?(B</td>
+<td bgcolor='&cellback;'>$BFbIt(B&newline;$B0lHL(B</td>
+<td bgcolor='&cellback;'>$B30It(B&newline;&parsed-entity;&newline;$B0lHL(B</td>
+<td bgcolor='&cellback;'>&unparsed-entity;</td>
+</tr>
+<tr align='center' valign='middle'>
+<!--<td bgcolor='&cellback;' rowspan='4'>Recognition
+Context</td>-->
+<td bgcolor='&cellback;' align='right'>$BFbMF$G$N(B&newline;$B;2>H(B</td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>$BG'<1(B&newline;$B$7$J$$(B</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td>
+<td bgcolor='&cellback;'><titleref href='include-if-valid'>$B8!>Z$N$?$a$K<h9~$_(B</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>$BB0@-CM$G$N(B&newline;$B;2>H(B</td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>$BG'<1(B&newline;$B$7$J$$(B</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>$BB0@-CM$H$7$F(B&newline;$B=P8=(B</td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>$BG'<1(B&newline;$B$7$J$$(B</titleref></td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>$B6X;_(B</titleref></td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>$B6X;_(B</titleref></td>
+<td bgcolor='&cellback;'><titleref href='notify'>$BDLCN(B</titleref></td>
+<td bgcolor='&cellback;'><titleref href='not recognized'>$BG'<1(B&newline;$B$7$J$$(B</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>$B<BBNCM$G$N(B&newline;$B;2>H(B</td>
+<td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td>
+<td bgcolor='&cellback;'><titleref href='bypass'>&bypass;</titleref></td>
+<td bgcolor='&cellback;'><titleref href='bypass'>&bypass;</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>DTD$B$G$N(B&newline;$B;2>H(B</td>
+<td bgcolor='&cellback;'><titleref href='as-PE'>PE$B$H$7$F(B&newline;$B<h9~$_(B</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td>
+</tr>
+</htbody>
+</htable>
+<div3 id='not-recognized'>
+<head>$B!HG'<1$7$J$$!I(B</head>
+<p>DTD$B$N30$G$O!$(B<code>%</code>$BJ8;z$O!$$$$+$J$kFCDj$N0UL#$b!$$b$?$J$$!#$7$?$,$C$F!$(BDTD$B$G$O%Q%i%a%?<BBN;2>H$H$7$FG'<1$9$k$b$N$G$"$C$F$b!$(B<nt def='NT-content'>content</nt>$BFb$G$O(B&markup;$B$H$7$F$OG'<1$7$J$$!#F1MM$K!$E,@Z$K@k8@$7$?B0@-$NCM$NCf$K8=$l$k>l9g$r=|$-!$(B&unparsed-entity;$B$NL>A0$O!$G'<1$7$J$$!#(B
+</p>
+</div3>
+<div3 id='included'>
+<head>$B!H<h9~$_!I(B</head>
+<p><termdef id="dt-include" term="Include">$B<BBN$O!$$=$N(B<termref def='dt-repltext'>&replacement-text;</termref>$B$r<h$j=P$7!$=hM}$9$k$H!$;2>H<+BN$NBe$o$j$K!$;2>H$,$"$C$?0LCV$G!$J8=q$N0lIt$H$7$F4^$^$l$k$+$N$h$&$K(B<term>$B<h$j9~$^$l$k(B</term>$B!#(B&replacement-text;$B$O!$(B<termref def='dt-chardata'>$BJ8;z%G!<%?(B</termref>$B5Z$S(B($B%Q%i%a%?<BBN$r=|$/!#(B)<termref def="dt-markup">&markup;</termref>$B$N$$$:$l$r4^$s$G$b$h$/!$$3$l$i$O!$DL>o$NJ}K!$GG'<1$5$l$J$1$l$P$J$i$J$$!#$?$@$7!$(B&markup;$B$N6h@Z$j;R$r(B&escape;$B$9$k$?$a$KMQ$$$k<BBN(B(&magicents;)$B$N(B&replacement-text;$B$O!$>o$K%G!<%?$H$7$F07$&(B(&string;"<code>AT&amp;amp;T;</code>"$B$O!$(B"<code>AT&amp;T;</code>"$B$KE83+$5$l!$;D$5$l$?%"%s%Q%5%s%I$O!$<BBN;2>H$N6h@Z$j;R$H$7$F$OG'<1$7$J$$!#(B)$B!#J8;z;2>H$O!$<($7$?J8;z$r;2>H<+BN$NBe$o$j$K=hM}$9$k$H$-!$(B<term>$B<h$j9~$^$l$k(B</term>$B!#(B
+</termdef></p>
+</div3>
+<div3 id='include-if-valid'>
+<head>$B!H8!>Z$N$?$a$K<h9~$_!I(B</head>
+<p>$BJ8=q$N(B&validity;$B$r(B<termref def="dt-valid">$B8!>Z(B</termref>$B$9$k$K$O!$(BXML&processor;$B$,(B&parsed-entity;$B$X$N;2>H$rG'<1$7$?$H$-!$$=$N(B&replacement-text;$B$r(B<termref def="dt-include">$B<h$j9~$^(B</termref>$B$J$1$l$P$J$i$J$$!#<BBN$,30It<BBN$G$"$C$F!$(BXML$BJ8=q$N(B&validity;$B$r8!>Z$7$J$1$l$P!$<BBN$N(B&replacement-text;$B$r<h$j9~$s$G$b(B<termref def="dt-may">$B$h$$(B</termref>$B$,!$$=$&$7$J$/$H$b$h$$!#(B</p>
+<p>$B$3$N<h7h$a$O!$(BSGML$B5Z$S(BXML$B$N<BBN$N5!9=$,Ds6!$9$k<+F0<h9~$_5!G=$,!$J8=q:n@.;~$N%b%8%e!<%k2=$r<g$JL\E*$H$7$F@_7W$5$l$F$*$j!$$=$NB>$N(B&application;($BFC$K!$J8=q$N%V%i%&%:(B)$B$K$O!$I,$:$7$bE,@Z$G$O$J$$!$$H$$$&G'<1$K$h$k!#Nc$($P!$%V%i%&%6$O30It(B&parsed-entity;$B$X$N;2>H$r8+$D$1$k$H!$$=$N<BBN$,B8:_$9$k$H$$$&I=<($@$1$r9T$$!$I=<($rMW5a$5$l$?$H$-$K$@$1!$FbMF$r<h$j=P$9$+$b$7$l$J$$!#(B
+</p>
+</div3>
+<div3 id='forbidden'>
+<head>$B!H6X;_!I(B</head>
+<p>$B<!$O6X;_$5$l$F$*$j!$(B<termref def='dt-fatal'>&fatal-error;</termref>$B$H$9$k!#(B
+<ulist>
+<item><p>a) <termref def='dt-unparsed'>&unparsed-entity;</termref>$B$X$N;2>H$N=P8=!#(B
+</p></item>
+<item><p>b) DTD$B$N(B<nt def='NT-EntityValue'>EntityValue</nt>$BKt$O(B<nt def="NT-AttValue">AttValue</nt>$B0J30$NItJ,$K$*$1$k!$J8;z;2>HKt$O0lHL<BBN$X$N;2>H$N=P8=!#(B</p></item>
+<item><p>c) $BB0@-CMFb$N30It<BBN$X$N;2>H!#(B</p>
+</item>
+</ulist>
+</p>
+</div3>
+<div3 id='notify'>
+<head>$B!HDLCN!I(B</head>
+<p><termref def='dt-unparsed'>&unparsed-entity;</termref>$B$NL>A0$,!$(B<kw>ENTITY</kw>$BKt$O(B<kw>ENTITIES</kw>$B$NB0@-$NCM$K$*$$$F(B&token;$B$H$7$F8=$l$?$H$-!$(B&processor;$B$O!$(B&application;$B$KBP$7$F!$4XO"IU$1$i$l$?(B<termref def="dt-notation">$B5-K!(B</termref>$BL>!$5-K!$KBP$9$k(B<termref def='dt-sysid'>$B%7%9%F%`(B</termref>&identifier;$B5Z$S(B($BB8:_$9$l$P(B)<termref def='dt-pubid'>$B8x3+(B</termref>&identifier;$B$rDLCN$7$J$1$l$P$J$i$J$$!#(B</p>
+</div3>
+<div3 id='bypass'>
+<head>$B!H(B&bypass;$B!I(B</head>
+<p>$B0lHL<BBN;2>H$,!$<BBN@k8@$K$*$1$k(B<nt def='NT-EntityValue'>EntityValue</nt>$BFb$K8=$l$k$H$-!$$=$l$OL5;k$5$l!$$=$N$^$^;D$k!#(B</p>
+</div3>
+<div3 id='as-PE'>
+<head>$B!H(BPE$B$H$7$F<h9~$_!I(B</head>
+<p>$B30It(B&parsed-entity;$B$N>l9g$HF1MM$K!$%Q%i%a%?<BBN$O!$(B&validity;$B$r(B<titleref href='include-if-valid'>$B8!>Z$9$k$H$-$@$1<h$j9~$^$l$k(B</titleref>$BI,MW$,$"$k!#%Q%i%a%?<BBN;2>H$r(BDTD$BFb$KG'<1$7$F<h$j9~$`$H$-!$$=$N(B<termref def='dt-repltext'>&replacement-text;</termref>$B$O!$$=$NA08e$K0l$D$N(B&space-character;(#x20)$B$NIU2C$K$h$C$F0z$-?-$P$5$l$k!#$3$N0U?^$O!$%Q%i%a%?<BBN$N(B&replacement-text;$B$,!$(BDTD$BFb$N$$$/$D$+$NJ8K!E*(B&token;$B$r40A4$K4^$`$H!$@)Ls$9$k$3$H$K$"$k!#(B
+</p>
+</div3>
+<!--
+<div3 id='gen-char-entproc'>
+<head>General and Character Entity Processing</head>
+<p>General-entity and character references are recognized in three
+contexts: wherever the nonterminal <nt def='NT-content'>content</nt> may
+appear, at any point within the nonterminal
+<nt def='NT-AttValue'>AttValue</nt>,
+and within the
+<termref def='dt-litentval'>literal entity value</termref>
+(<nt def='NT-EntityValue'>EntityValue</nt>)
+of an internal entity declaration.
+This section discusses the first two cases; the third
+is discussed <titleref href='intern-replacement'>below</titleref>.
+When an <termref def="dt-xml-proc">XML processor</termref> encounters
+such a reference, or the name of an unparsed entity as the value
+of an <kw>ENTITY</kw> or <kw>ENTITIES</kw> attribute, then:
+<olist>
+
+<item><p>In all cases, the XML processor may
+inform the application of the reference's occurrence and its identifier
+(for an entity reference, the name; for a character
+reference,
+the character number in decimal, hexadecimal, or binary form).</p></item>
+
+<item><p>For both character and entity references, the processor must
+remove the reference itself from the <termref def="dt-text">text</termref> data
+before passing the data to the application.
+</p></item>
+
+<item><p>For character references, the processor must
+pass the character indicated
+to the application in
+place of the reference.
+</p></item>
+
+<item><p>For an external entity, the processor must inform the
+application of the entity's <termref def="dt-sysid">system
+identifier</termref>, and <termref def="dt-pubid">public identifier</termref>
+if any.
+All strings
+of white space in the public identifier must be normalized to single space characters (#x20),
+and leading and trailing white space must be removed.</p></item>
+
+<item><p>If the external entity is binary, the processor must inform the
+application of the associated <termref def="dt-notation">notation</termref>
+name, and the notation's associated <termref def='dt-sysid'>system</termref>
+and <termref def='dt-pubid'>public</termref> (if any)
+identifiers.</p></item>
+
+<item><p><termdef id="dt-include" term="Include">For an internal
+(parsed) entity, the processor must <term>include</term> the
+entity; that is, retrieve its replacement text
+and process it as a part of the document
+(i.e. as <nt def="NT-content">content</nt> or <nt
+def="NT-AttValue">AttValue</nt>, whichever was being processed when
+the reference was recognized), passing the result to the application
+in place of the reference. The replacement text may contain both
+<termref def='dt-chardata'>character data</termref>
+and <termref def="dt-markup">markup</termref>, which must be recognized in
+the usual way, except that the replacement text of entities used to escape
+markup delimiters (the entities &magicents;) is always treated as
+data. (The string "<code>AT&amp;amp;T;</code>" expands to
+"<code>AT&amp;T;</code>" since the ampersand replacing "<code>&amp;amp;</code>"
+is not recognized
+as an entity-reference delimiter.) </termdef></p>
+<p>Since the entity may contain other entity references,
+an XML processor may have to repeat the inclusion process recursively.</p>
+</item>
+<item><p>If the entity is an external parsed entity, then in order to
+<termref def="dt-valid">validate</termref> the XML document, the processor must
+<termref def="dt-include">include</termref> the content of the
+entity.</p></item>
+
+<item><p>If the entity is an external parsed entity, and the processor is not
+attempting to <termref def="dt-valid">validate</termref> the XML document, the
+processor <termref def="dt-may">may</termref>, but need not, <termref
+def="dt-include">include</termref> the entity's content.</p>
+<p>This rule is based on the recognition that the automatic inclusion
+provided by the SGML and XML entity mechanism, primarily designed
+to support modularity in authoring, is not necessarily
+appropriate for other applications, in particular document browsing.
+Browsers, for example, when encountering an external parsed entity reference,
+might choose to provide a visual indication of the entity's
+presence and retrieve it for display only on demand.
+</p></item>
+</olist>
+</p>
+<p><termdef id="dt-escape" term="escape">Entity and character
+references can both be used to <term>escape</term> the left angle bracket,
+ampersand, and other delimiters. A set of general entities
+(&magicents;) is specified for this purpose.
+Numeric character references may also be used; they are
+expanded immediately when recognized, and must be treated as
+character data, so the numeric character references
+"<code>&amp;#60;</code>" and "<code>&amp;#38;</code>" may be used to
+escape <code>&lt;</code> and <code>&amp;</code> when they occur
+in character data.</termdef></p>
+</div3>
+<div3 id='PE-proc'>
+<head>Parameter Entity Processing</head>
+<p>Parameter-entity references are only recognized in the
+<termref def='dt-doctype'>DTD</termref>.
+Their processing, when they appear
+within the
+<termref def='dt-litentval'>literal entity value</termref>
+(<nt def='NT-EntityValue'>EntityValue</nt>)
+of an internal entity declaration,
+is discussed <titleref href='intern-replacement'>below</titleref>.
+They have these intended uses:
+<olist>
+<item><p>as a replacement for one or more complete markup declarations</p></item>
+<item><p>as a replacement for one or more complete "groups" in
+element declarations</p></item>
+<item><p>as a replacement for one or more complete "tokens" in
+markup declarations</p></item>
+</olist>
+</p>
+<p>The constraints requiring that PE replacement texts be properly nested
+with <titleref href='vc-PEinMarkupDecl'>markup declarations</titleref>
+and <titleref href='vc-PEinGroup'>content groups</titleref>
+govern the first two usages.</p>
+<p>To support the third intended usage,
+when an XML processor encounters a parameter-entity reference
+(outside of the
+<termref def='dt-litentval'>literal entity value</termref> in an entity
+declaration),
+it must <termref def="dt-include">include</termref>
+the named entity, but first expand its
+<termref def='dt-repltext'>replacement text</termref> by attaching
+space (#x20) characters to its beginning and the end, before
+processing it.</p>
+<p>The DTD text must match the relevant
+rules of this specification's grammar after all parameter-entity
+references have been expanded.
+<!-In addition, parameter entities referred to in specific
+contexts are required to satisfy certain constraints in their
+replacement text; for example, a parameter entity referred to within
+the internal DTD subset must match the rule for <nt
+def="NT-markupdecl">markupdecl</nt>. ->
+</p>
+</div3>
+-->
+</div2>
+<div2 id='intern-replacement'>
+<head>$BFbIt<BBN(B&replacement-text;$B$N9=C[(B</head>
+<p>$BFbIt<BBN$N<h07$$$N5,Dj$G!$<BBNCM$rFs$D$N7A<0$K6hJL$9$k$3$H$OLr$KN)$D!#(B<termdef id="dt-litentval" term='Literal Entity Value'><term>&literal;$B<BBNCM(B</term>$B$O!$<BBN@k8@Fb$K<B:]$KB8:_$9$k!$0zMQId$G0O$`(B&string;$B$H$9$k!#$3$l$O!$Hs=*C<5-9f(B<nt def='NT-EntityValue'>EntityValue</nt>$B$K(B&match;$B$9$k!#(B</termdef><termdef id='dt-repltext' term='Replacement Text'><term>&replacement-text;</term>$B$O!$J8;z;2>H5Z$S(B&parameter;$B<BBN;2>H$NCV49$(8e$K$*$1$k!$<BBN$NFbMF$H$9$k!#(B</termdef></p>
+
+<p>$BFbIt<BBN@k8@Fb$GM?$($k(B&literal;$B<BBNCM(B<!-- replacement text -->(<nt def='NT-EntityValue'>EntityValue</nt>)$B$O!$J8;z;2>H!$(B&parameter;$B<BBN;2>H5Z$S0lHL<BBN;2>H$r4^$s$G$h$$!#$3$l$i$N;2>H$O!$(B<!-- replacement text. -->&literal;$B<BBNCMFb$K40A4$K4^$^$l$F$$$J$1$l$P$J$i$J$$!#(B<termref def='dt-include'>$BE83+$9$k(B</termref>$B<B:]$N(B&replacement-text;($B@h$K<($7$?$b$N(B)$B$O!$;2>H$9$k(B&parameter;$B<BBN$N(B<emph>&replacement-text;</emph>$B$r4^$^$J$1$l$P$J$i$:!$(B&literal;$B<BBNCMFb$G$NJ8;z;2>H$NBe$o$j$K;2>H$7$?J8;z$r4^$^$J$1$l$P$J$i$J$$!#$7$+$7!$0lHL<BBN;2>H$O!$$=$N$^$^;D$7(B, $BE83+$7$F$O$J$i$J$$!#(B
+<!-- in the replacement text that is to be included. -->
+$BNc$($P!$<!$N@k8@$rM?$($?$H$9$k!#(B
+
+<eg><![CDATA[<!ENTITY % pub "&#xc9;ditions Gallimard" >
+<!ENTITY rights "All rights reserved" >
+<!ENTITY book "La Peste: Albert Camus,
+&#xA9; 1947 %pub;. &rights;" >]]></eg>
+$B<BBN$N(B&replacement-text;"<code>book</code>"$B$O!$<!$N$H$*$j$H$J$k!#(B
+<eg>La Peste: Albert Camus,
+&#169; 1947 &#201;ditions Gallimard. &amp;rights;</eg>
+$B;2>H(B"<code>&amp;book;</code>"$B$,!$J8=q$NFbMFKt$OB0@-CMFb$K=P8=$7$F$$$l$P!$0lHL<BBN;2>H(B"<code>&amp;rights;</code>"$B$O!$E83+$5$l$F$$$k!#(B</p>
+<p>$B$3$l$i$NC1=c$J5,B'$O!$J#9gAj8_:nMQ$r$b$D!#(B
+<!-- $BF|K\8lLu$K$D$$$F!'(B interaction = $BAj8_:nMQ!J6bK\!K(B-->
+$BFq$7$$Nc$K$D$$$F$N>\:Y$O!$(B<titleref href='sec-entexpand'>$B<BBN;2>H$NE83+$NIUO?(B</titleref>$B$r;2>H$N$3$H!#(B
+</p>
+<!-- Replaced by the above -TB
+<p>Implementors of XML processors need to know the rules for
+expansion of references in more detail. These rules only come into
+play when the replacement text for an internal entity itself contains
+other references.
+<olist>
+<item><p>In the replacement text of an internal entity, parameter-entity
+references and character references in the replacement text
+are recognized and resolved
+when the entity declaration is parsed,
+before the replacement text is stored in
+the processor's symbol table.
+General-entity references in the replacement text are not
+resolved when the entity declaration is parsed.</p></item>
+<item><p>In the document, when a general-entity reference is
+resolved, its replacement text is parsed. Character references
+encountered in the replacement text are
+resolved immediately; general-entity references encountered in the
+replacement text may be resolved or left unresolved, as described
+<titleref href="entproc">above</titleref>.
+Character and general-entity references must be
+contained entirely within the entity's replacement text.
+</p></item>
+</olist>
+</p>
+
+<p>Simple character references do not suffice to escape delimiters
+within the replacement text of an internal entity: they will be
+expanded when the entity declaration is parsed, before the replacement
+text is stored in the symbol table. When the entity itself is
+referred to, the replacement text will be parsed again, and the
+delimiters (no longer character references)
+will be recognized as delimiters. To escape the
+characters &magicents; in an entity replacement text, use
+a general-entity reference or a doubly-escaped character reference.
+See <titleref href='sec-entexpand'>the appendix on expansion
+of entity references</titleref>
+for detailed examples.</p>
+-->
+
+
+</div2>
+<div2 id='sec-predefined-ent'>
+<head>$BDj5A:Q$_<BBN(B</head>
+<p><termdef id="dt-escape" term="escape">
+$B<BBN;2>H5Z$SJ8;z;2>H$N$$$:$l$b!$(B&left-angle-bracket;$B!$%"%s%P%5%s%I5Z$SB>$N6h@Z$j;R$r(B<term>&escape;</term>$B$9$k$?$a$K;HMQ$G$-$k!#$$$/$D$+$N0lHL<BBN!J(B&magicents;$B!K$r!$$3$NL\E*$N$?$a$K;XDj$9$k!#?tCM$K$h$kJ8;z;2>H$b!$F1MM$NL\E*$N$?$a$K;HMQ$G$-$k!#J8;z;2>H$O!$G'<1$5$l$k$HD>$A$KE83+$5$l!$J8;z%G!<%?$H$7$F07$o$l$k$N$G!$?tCM$K$h$kJ8;z;2>H(B"<code>&amp;#60;</code>"$B5Z$S(B"<code>&amp;#38;</code>"$B$O!$J8;z%G!<%?Fb$K=P8=$9$k(B<code>&lt;</code>$B5Z$S(B<code>&amp;</code>$B$r(B&escape;$B$9$k$?$a$K;HMQ$G$-$k!#(B</termdef></p>
+<p>$B$9$Y$F$N(BXML&processor;$B$O!$@k8@$5$l$F$$$k$+$I$&$+$K4X78$J$/!$$3$l$i$N<BBN$rG'<1$7$J$/$F$O$J$i$J$$!#(B<termref def='dt-interop'>$BAj8_1?MQ@-$N$?$a(B</termref>$B!$(B&valid;$B$J(BXML$BJ8=q$O!$$3$l$i$N<BBN$r;HMQ$9$kA0$K!$B>$N<BBN$HF1MM$K!$@k8@$9$k$3$H$,K>$^$7$$!#<BBN$r@k8@$9$k>l9g$O!$(B&replacement-text;$B$r(B&escape;$B$9$k0lJ8;z$H$9$kFbIt<BBN$H$7$F!$<!$N$H$*$j$K@k8@$7$J$1$l$P$J$i$J$$!#(B
+<eg><![CDATA[<!ENTITY lt "&#38;#60;">
+<!ENTITY gt "&#62;">
+<!ENTITY amp "&#38;#38;">
+<!ENTITY apos "&#39;">
+<!ENTITY quot "&#34;">
+]]></eg>
+"<code>lt</code>"$B5Z$S(B"<code>amp</code>"$B@k8@Fb$N(B"<code>&lt;</code>"$B5Z$S(B"<code>&amp;</code>"$BJ8;z$O!$<BBN$NCV49%F%-%9%H$,!$(B&well-formed;$B$H$J$k$h$&$KFs=E$K(B&escape;$B$5$l$k$3$H$KCm0U!#(B
+</p>
+</div2>
+
+
+<div2 id='Notations'>
+<head>$B5-K!@k8@(B</head>
+
+
+<p>
+<termdef id="dt-notation" term="Notation">
+<term>$B5-K!(B</term>$B$O!$(B<termref def="dt-extent">&unparsed-entity;</termref>$B$N7A<0$r(B&identify;$BL>A0$+!$Kt$O(B<termref def="dt-pi">$B=hM}L?Na(B</termref>$B$NBP>]$H$9$k(B&application;$B$r(B&identify;$BL>A0$H$9$k!#(B</termdef></p>
+<p><termdef id="dt-notdecl" term="Notation Declaration">
+<term>$B5-K!@k8@(B</term>$B$O!$5-K!$NL>A05Z$S30It(B&identifier;$B$rDs6!$9$k!#$3$NL>A0$O!$<BBN5Z$SB0@-%j%9%H@k8@JB$S$KB0@-;XDj$KMQ$$$k!#30It(B&identifier;$B$O!$M?$($i$l$?5-K!$N%G!<%?$r=hM}$G$-$k%X%k%Q(B&application;$B$r!$(BXML&processor;$BKt$O%/%i%$%"%s%H%"%W%j%1!<%7%g%s$,C5$9$?$a$K!$MxMQ$G$-$k!#(B
+<scrap lang='ebnf'>
+<head>$B5-K!@k8@(B</head>
+<prod id='NT-NotationDecl'><lhs>NotationDecl</lhs>
+<rhs>'&lt;!NOTATION' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>
+(<nt def='NT-ExternalID'>ExternalID</nt> |
+<nt def='NT-PublicID'>PublicID</nt>)
+<nt def='NT-S'>S</nt>? '>'</rhs></prod>
+<prod id='NT-PublicID'><lhs>PublicID</lhs>
+<rhs>'PUBLIC' <nt def='NT-S'>S</nt>
+<nt def='NT-PubidLiteral'>PubidLiteral</nt>
+</rhs></prod>
+</scrap>
+</termdef></p>
+<p>$B@k8@$7!$B0@-CM!$B0@-Dj5AKt$O<BBN@k8@$G;2>H$9$k$9$Y$F$N5-K!$K$D$$$F!$(BXML&processor;$B$O!$5-K!$NL>A05Z$S30It(B&identifier;$B$r(B&application;$B$KDs6!$7$J$1$l$P$J$i$J$$!#$5$i$K!$30It(B&identifier;$B$r!$(B<termref def="dt-sysid">$B%7%9%F%`(B&identifier;</termref>$B!$%U%!%$%kL>Kt$O$=$NB>$N>pJs$KE83+$7$F$b$h$/!$$3$l$i$rMQ$$$F!$(B&application;$B$O!$$=$N5-K!$N%G!<%?$r=hM}$9$k(B&processor;$B$r5/F0$9$k!#(B($B$7$+$7!$(BXML&processor;$BKt$O(B&application;$B$,F0:n$9$k%7%9%F%`$G$OMxMQ$G$-$J$$5-K!$r!$(BXML$BJ8=q$,@k8@$7;2>H$7$F$b!$$3$l$O!$(B&error;$B$H$O$7$J$$!#!K(B</p>
+</div2>
+
+
+<div2 id='sec-doc-entity'>
+<head>$BJ8=q<BBN(B</head>
+
+<p><termdef id="dt-docent" term="Document Entity"><term>$BJ8=q<BBN(B</term>$B$O!$<BBN$N7A@.$9$kLZ9=B$$N(B&root;$B$G$"$C$F!$(B<termref def="dt-xml-proc">XML&processor;</termref>$B$,!$=hM}$r3+;O$9$kCOE@$H$9$k!#(B</termdef>$B$3$N(B&TR-or-Rec;$B$O!$(BXML&processor;$B$,!$J8=q<BBN$NB8:_$9$k>l=j$r$I$N$h$&$K8+$D$1$k$+$O!$5,Dj$7$J$$!#B>$N<BBN$H0[$J$j!$J8=q<BBN$OL>A0$r$b$?$:!$$$$+$J$k<1JL$b$J$7$K(B&processor;$B$X$NF~NO(B&stream;$B$K=P8=$7$F$b$h$$!#(B</p>
+</div2>
+
+
+</div1>
+<!-- &Conformance; -->
+<div1 id='sec-conformance'>
+<head>$BE,9g@-(B</head>
+
+<p>$BE,9g$9$k(B<termref def="dt-xml-proc">XML&processor;</termref>$B$O!$(B&validating;$B$b$N5Z$S(B&non-validating;$B$b$N$N!$Fs$D$KJ,N`$5$l$k!#(B</p>
+<p>&validating;$B%7%9%F%`5Z$S(B&non-validating;$B%7%9%F%`$O!$$3$N(B&TR-or-Rec;$B$,5,Dj$9$k(B&well-formed;$B@)Ls$X$N0cH?$rJs9p$7$J$1$l$P$J$i$J$$!#(B</p>
+<p><termdef id="dt-validating" term="Validating Processor"><term>&validating;&processor;</term>$B$O!$(B<termref def="dt-doctype">DTD</termref>$BFb$N@k8@$K$h$C$F<($5$l$?!$@)Ls$X$N0cH?$rJs9p$7$J$1$l$P$J$i$J$$!#$5$i$K!$$3$N(B&TR-or-Rec;$B$,5,Dj$9$k(B&validity;$B@)Ls$X$N0cH?$r!$$9$Y$FJs9p$7$J$1$l$P$J$i$J$$!#(B
+</termdef>
+</p>
+</div1>
+
+<div1 id='sec-notation'>
+<head>$B5-K!(B</head>
+
+<p>XML$B$N7A<0E*$JJ8K!$O!$4JC1$J3HD%(BBackus-Naur Form(EBNF)$B5-K!$K$h$C$FM?$($k!#J8K!$N3F5,B'$O!$<!$N7A<0$G!$5-9f$r0l$DDj5A$9$k!#(B
+<eg>symbol ::= expression</eg></p>
+<p>$B5-9f$O!$@55,I=8=$GDj5A$9$k$H$-$OBgJ8;z$G;O$a!$$=$&$G$J$1$l$P!$>.J8;z$G;O$a$k!#(B&string;&literal;$B$O!$0zMQId$G0O$`!#(B
+<!--* The distinction between symbols which can and cannot be
+recognized using simple regular expressions may be used to set the
+boundary between an implementation's lexical scanner and its parser,
+but this specification neither constrains the placement of that
+boundary nor presupposes that all implementations will have one. *-->
+</p>
+
+<p>$B5,B'$N1&B&$N<0Fb$G$O!$0l$DKt$OJ#?t$NJ8;z$+$i$J$k(B&string;$B$H(B&match;$B$9$k$?$a$K!$<!$N<0$r;HMQ$9$k!#(B
+<glist>
+<gitem>
+<label><code>#xN</code></label>
+<def><p>$B$3$3$G!$(B<code>N</code>$B$O(B16$B?J$N@0?t$H$9$k!#(BISO/IEC 10646$B$NJ8;z$G$"$C$F!$@55,7A(B(UCS-4)$B$N(B&code-value;$B$rId9f$J$7(B2$B?J?t$H$7$F2r<a$7$?$H$-!$;XDj$7$?CM$HEy$7$$$b$N$H(B&match;$B$9$k!#(B<code>#xN</code>$B7A<0$N@hF,$K%<%m$,$$$/$D$+8=$l$k$+$O!$0UL#$r$b$?$J$$!#(B&code-value;<!-- bit string -->$B$K$*$1$k@hF,$N%<%m$N?t$O!$J8;z$NId9f2=$K$h$C$F7hDj$5$l$k$N$G!$(BXML$B$K$H$C$F$O0UL#$,$J$$!#(B
+</p></def>
+</gitem>
+<gitem>
+<label><code>[a-zA-Z]</code>, <code>[#xN-#xN]</code></label>
+<def><p>$B;XDj$7$?HO0O$NCM(B($BN>C<$NCM$r4^$`!#!K$r$b$DG$0U$N(B<termref def='dt-character'>$BJ8;z(B</termref>$B$H(B&match;$B$9$k!#(B</p></def>
+</gitem>
+<gitem>
+<label><code>[^a-z]</code>, <code>[^#xN-#xN]</code></label>
+<def><p>$B;XDj$7$?HO0O(B<emph>$B30(B</emph>$B$NCM$r$b$DG$0U$N(B<termref def='dt-character'>$BJ8;z(B</termref>$B$H(B&match;$B$9$k!#(B</p></def>
+</gitem>
+<gitem>
+<label><code>[^abc]</code>, <code>[^#xN#xN#xN]</code></label>
+<def><p>$B;XDj$7$?J8;z0J30$NCM$r$b$DG$0U$N(B<termref def='dt-character'>$BJ8;z(B</termref>$B$H(B&match;$B$9$k!#(B</p></def>
+</gitem>
+<gitem>
+<label><code>"string"</code></label>
+<def><p>&double-quote;$B$G0O$`(B&string;&literal;$B$H(B<termref def="dt-match">&match;$B$7$F$$$k(B</termref>&string;&literal;$B$H(B&match;$B$9$k!#(B</p></def>
+</gitem>
+<gitem>
+<label><code>'string'</code></label>
+<def><p>&single-quote;$B$G0O$`(B&string;&literal;$B$H(B<termref def="dt-match">&match;$B$7$F$$$k(B</termref>&string;&literal;$B$H(B&match;$B$9$k!#(B</p></def>
+</gitem>
+</glist>
+$B$3$l$i$N5-9f$O!$<!$N7A<0$NAH9g$;$G;HMQ$9$k!#$3$3$G!$(B<code>A</code>$B5Z$S(B<code>B</code>$B$O!$C1=c$J<0$H$9$k!#(B
+<glist>
+<gitem>
+<label>(<code>expression</code>)</label>
+<def><p><code>expression</code>$B$O!$0l$D$N$^$H$^$j$H$7$F07$$!$$3$3$K<($9AH9g$;$G;H$C$F$b$h$$!#(B</p></def>
+</gitem>
+<gitem>
+<label><code>A?</code></label>
+<def><p><code>A</code>$BKt$O2?$b$J$7$H(B&match;$B$9$k(B($B%*%W%7%g%s$N(B<code>A</code>)$B!#(B</p></def>
+</gitem>
+<gitem>
+<label><code>A B</code></label>
+<def><p><code>A</code>$B$N<!$K(B<code>B</code>$B$,=P8=$9$k$b$N$H(B&match;$B$9$k!#(B
+</p></def>
+</gitem>
+<gitem>
+<label><code>A | B</code></label>
+<def><p><code>A</code>$BKt$O(B<code>B</code>$B!$$?$@$7!$N>J}$G$O$J$$!$$H(B&match;$B$9$k!#(B
+</p></def>
+</gitem>
+<gitem>
+<label><code>A - B</code></label>
+<def><p><code>A</code>$B$H(B&match;$B$9$k$,!$(B<code>B</code>$B$H$O(B&match;$B$7$J$$!$G$0U$N(B&string;$B$H(B&match;$B$9$k!#(B</p></def>
+</gitem>
+<gitem>
+<label><code>A+</code></label>
+<def><p><code>A</code>$B$N(B1$B2s0J>e$N7+JV$7$H(B&match;$B$9$k!#(B</p></def>
+</gitem>
+<gitem>
+<label><code>A*</code></label>
+<def><p><code>A</code>$B$N(B0$B2s0J>e$N7+JV$7$H(B&match;$B$9$k!#(B</p></def>
+</gitem>
+<!-- DEATH TO %'s
+<gitem>
+<label><code>%a</code></label>
+<def><p>specifies that <emph>in the external DTD subset</emph> a
+<termref def='dt-param-entity'>parameter entity</termref> may occur in the
+text at the position where <code>a</code> may occur; if so, its
+replacement text must match <code>S? a S?</code>. If
+the expression <code>a</code> is governed by a suffix operator, then
+the suffix operator determines both the maximum number of parameter-entity
+references allowed and the number of occurrences of <code>a</code>
+in the replacement text of the parameter entities: <code>%a*</code>
+means that <code>a</code> must occur zero or more times, and
+that some of its occurrences may be replaced by references to
+parameter entities whose replacement text must contain zero or
+more occurrences of <code>a</code>; it is thus a more compact way
+of writing <code>%(a*)*</code>.
+Similarly, <code>%a+</code> means that <code>a</code>
+must occur one or more times, and may be replaced by
+parameter entities with replacement text matching
+<code>S? (a S?)+</code>.
+The recognition of parameter entities in the internal subset is much more
+highly constrained.
+</p></def>
+</gitem>
+-->
+</glist>
+$B@8@.5,B'Fb$G;HMQ$9$kB>$N5-K!$r!$<!$K<($9!#(B
+<glist>
+<gitem>
+<label><code>/* ... */</code></label>
+<def><p>$B%3%a%s%H!#(B</p></def>
+</gitem>
+<gitem>
+<label><code>[ wfc: ... ]</code></label>
+<def><p>&well-formed;$B@)Ls!#@8@.5,B'$KIUM?$7$?!$(B<termref def="dt-wellformed">&well-formed;</termref>$B$NJ8=q$K4X$9$k@)Ls$r!$L>A0$K$h$C$F(B&identify;$B!#(B</p></def>
+</gitem>
+<gitem>
+<label><code>[ vc: ... ]</code></label>
+<def><p>&validity;$B@)Ls!#@8@.5,B'$KIUM?$7$?!$(B<termref def="dt-valid">&valid;</termref>$B$JJ8=q$K4X$9$k@)Ls$r!$L>A0$K$h$C$F(B&identify;$B!#(B
+</p></def>
+</gitem>
+</glist>
+</p></div1>
+
+</body>
+<back>
+<!-- &SGML; -->
+
+<!-- &Biblio; -->
+<div1 id='sec-bibliography'>
+
+<head>$B;29MJ88%(B</head>
+<div2 id='sec-existing-stds'>
+<head>&normative;$B;29MJ88%(B</head>
+<!--* <ulist><item>
+<p>Unicode and ISO/IEC 10646. This specification depends on the
+international standard ISO/IEC 10646 (with amendments AM 1 through AM 7)
+and the Unicode Standard, Version 2.0 <bibref ref='Unicode'/>,
+which define the encodings and meanings of
+the <termref def="dt-character">characters</termref> which
+make up XML <termref def="dt-text">text</termref>.
+All the characters in ISO/IEC 10646 are present, at the same code points,
+in Unicode.</p></item>
+<item><p>XXX XXX defines the syntax and semantics of
+Uniform Resource Identifiers, or URIs.</p></item>
+<item><p>IETF RFC 1766, with ISO 639 and 3166,
+describe the codes that may be used in the
+special <titleref href='sec-lang-tag'>xml:lang</titleref> attribute.</p>
+</item></ulist>
+*-->
+
+<blist>
+
+<bibl id='RFC1766' key='IETF RFC 1766'>
+IETF (Internet Engineering Task Force).
+<emph>RFC 1766: Tags for the Identification of Languages</emph>,
+ed. H. Alvestrand.
+1995.
+</bibl>
+
+<bibl id='ISO639' key='ISO 639'>
+(International Organization for Standardization).
+<emph>ISO 8879:1988 (E).
+Code for the representation of names of languages.</emph>
+[Geneva]: International Organization for
+Standardization, 1988.</bibl>
+
+<bibl id='ISO3166' key='ISO 3166'>
+(International Organization for Standardization).
+<emph>ISO 3166-1:1997 (E).
+Codes for the representation of names of countries and their subdivisions
+&mdash; Part 1: Country codes</emph>
+[Geneva]: International Organization for
+Standardization, 1997.</bibl>
+
+<bibl id='ISO10646' key='ISO/IEC 10646'>ISO
+(International Organization for Standardization).
+<emph>ISO/IEC 10646-1993 (E). Information technology &mdash; Universal
+Multiple-Octet Coded Character Set (UCS) &mdash; Part 1:
+Architecture and Basic Multilingual Plane.</emph>
+[Geneva]: International Organization for
+Standardization, 1993 (plus amendments AM 1 through AM 7).
+</bibl>
+
+<bibl id='Unicode' key='Unicode'>The Unicode Consortium.
+<emph>The Unicode Standard, Version 2.0.</emph>
+Reading, Mass.: Addison-Wesley Developers Press, 1996.</bibl>
+
+</blist>
+
+</div2>
+
+<div2><head>$BB>$N;29MJ88%(B</head>
+
+<blist>
+
+<bibl id='Aho' key='Aho/Ullman'>Aho, Alfred V.,
+Ravi Sethi, and Jeffrey D. Ullman.
+<emph>Compilers: Principles, Techniques, and Tools</emph>.
+Reading: Addison-Wesley, 1986, rpt. corr. 1988.</bibl>
+
+<bibl id="Berners-Lee" xml-link="simple" key="Berners-Lee et al.">
+Berners-Lee, T., R. Fielding, and L. Masinter.
+<emph>Uniform Resource Identifiers (URI): Generic Syntax and
+Semantics</emph>.
+1997.
+(Work in progress; see updates to RFC1738.)</bibl>
+
+<bibl id='ABK' key='Br&#252;ggemann-Klein'>Br&#252;ggemann-Klein, Anne.
+<emph>Regular Expressions into Finite Automata</emph>.
+Extended abstract in I. Simon, Hrsg., LATIN 1992,
+S. 97-98. Springer-Verlag, Berlin 1992.
+Full Version in Theoretical Computer Science 120: 197-213, 1993.
+<!--
+Universitat Freiburg, Institut fur Informatik,
+Bericht 33, Juli 1991.-->
+</bibl>
+
+<bibl id='ABKDW' key='Br&#252;ggemann-Klein and Wood'>Br&#252;ggemann-Klein, Anne,
+and Derick Wood.
+<emph>Deterministic Regular Languages</emph>.
+Universit&#228;t Freiburg, Institut f&#252;r Informatik,
+Bericht 38, Oktober 1991.
+</bibl>
+
+<bibl id="RFC1738" xml-link="simple" key="IETF RFC1738">
+IETF (Internet Engineering Task Force).
+<emph>RFC 1738: Uniform Resource Locators (URL)</emph>,
+ed. T. Berners-Lee, L. Masinter, M. McCahill.
+1994.
+</bibl>
+
+<bibl id="RFC1808" xml-link="simple" key="IETF RFC1808">
+IETF (Internet Engineering Task Force).
+<emph>RFC 1808: Relative Uniform Resource Locators</emph>,
+ed. R. Fielding.
+1995.
+</bibl>
+
+<bibl id="RFC2141" xml-link="simple" key="IETF RFC2141">
+IETF (Internet Engineering Task Force).
+<emph>RFC 2141: URN Syntax</emph>,
+ed. R. Moats.
+1997.
+</bibl>
+
+<bibl id='ISO8879' key='ISO/IEC 8879'>ISO
+(International Organization for Standardization).
+<emph>ISO/IEC 8879-1986 (E). Information processing &mdash; Text and Office
+Systems &mdash; Standard Generalized Markup Language (SGML).</emph> First
+edition &mdash; 1986-10-15. [Geneva]: International Organization for
+Standardization, 1986.
+</bibl>
+
+
+<bibl id='ISO10744' key='ISO/IEC 10744'>ISO
+(International Organization for Standardization).
+<emph>ISO/IEC 10744-1992 (E). Information technology &mdash;
+Hypermedia/Time-based Structuring Language (HyTime).
+</emph>
+[Geneva]: International Organization for
+Standardization, 1992.
+<emph>Extended Facilities Annexe.</emph>
+[Geneva]: International Organization for
+Standardization, 1996.
+</bibl>
+
+
+
+</blist>
+</div2>
+</div1>
+<div1 id='CharClasses'>
+<head>$BJ8;z%/%i%9(B</head>
+
+<p>Unicode$BI8=`$KDj5A$9$k(B&property;$B$K$7$?$,$C$F!$J8;z$O!$(B&base-character;(BaseChar)($B$3$l$i$O!$(B&diacritical-mark;$B$r=|$/%i%F%s%"%k%U%!%Y%C%H$N%"%k%U%!%Y%C%HJ8;z$r4^$`(B)$B!$(B&ideographic;(ideographic)$B5Z$S(B&combining-character;(CombiningChar)($B$3$N%/%i%9$O!$$[$H$s$I$N(B&diacritical-mark;$B$r4^$`(B)$B$K%/%i%9J,$1$9$k!#$3$l$i$N%/%i%9$O!$7k9g$7!$(B&letter;(Letter)$B$N%/%i%9$H$J$k!#(B10$B?J?tCM(B(Digit)$B5Z$S(B&extender;(Extender)$B$b6hJL$9$k!#(B
+<scrap lang="ebnf" id="CHARACTERS">
+<head>$BJ8;z(B</head>
+<prodgroup pcw3="3" pcw4="15">
+<prod id="NT-Letter"><lhs>Letter</lhs>
+<rhs><nt def="NT-BaseChar">BaseChar</nt>
+| <nt def="NT-Ideographic">Ideographic</nt></rhs> </prod>
+<prod id='NT-BaseChar'><lhs>BaseChar</lhs>
+<rhs>[#x0041-#x005A]
+|&nbsp;[#x0061-#x007A]
+|&nbsp;[#x00C0-#x00D6]
+|&nbsp;[#x00D8-#x00F6]
+|&nbsp;[#x00F8-#x00FF]
+|&nbsp;[#x0100-#x0131]
+|&nbsp;[#x0134-#x013E]
+|&nbsp;[#x0141-#x0148]
+|&nbsp;[#x014A-#x017E]
+|&nbsp;[#x0180-#x01C3]
+|&nbsp;[#x01CD-#x01F0]
+|&nbsp;[#x01F4-#x01F5]
+|&nbsp;[#x01FA-#x0217]
+|&nbsp;[#x0250-#x02A8]
+|&nbsp;[#x02BB-#x02C1]
+|&nbsp;#x0386
+|&nbsp;[#x0388-#x038A]
+|&nbsp;#x038C
+|&nbsp;[#x038E-#x03A1]
+|&nbsp;[#x03A3-#x03CE]
+|&nbsp;[#x03D0-#x03D6]
+|&nbsp;#x03DA
+|&nbsp;#x03DC
+|&nbsp;#x03DE
+|&nbsp;#x03E0
+|&nbsp;[#x03E2-#x03F3]
+|&nbsp;[#x0401-#x040C]
+|&nbsp;[#x040E-#x044F]
+|&nbsp;[#x0451-#x045C]
+|&nbsp;[#x045E-#x0481]
+|&nbsp;[#x0490-#x04C4]
+|&nbsp;[#x04C7-#x04C8]
+|&nbsp;[#x04CB-#x04CC]
+|&nbsp;[#x04D0-#x04EB]
+|&nbsp;[#x04EE-#x04F5]
+|&nbsp;[#x04F8-#x04F9]
+|&nbsp;[#x0531-#x0556]
+|&nbsp;#x0559
+|&nbsp;[#x0561-#x0586]
+|&nbsp;[#x05D0-#x05EA]
+|&nbsp;[#x05F0-#x05F2]
+|&nbsp;[#x0621-#x063A]
+|&nbsp;[#x0641-#x064A]
+|&nbsp;[#x0671-#x06B7]
+|&nbsp;[#x06BA-#x06BE]
+|&nbsp;[#x06C0-#x06CE]
+|&nbsp;[#x06D0-#x06D3]
+|&nbsp;#x06D5
+|&nbsp;[#x06E5-#x06E6]
+|&nbsp;[#x0905-#x0939]
+|&nbsp;#x093D
+|&nbsp;[#x0958-#x0961]
+|&nbsp;[#x0985-#x098C]
+|&nbsp;[#x098F-#x0990]
+|&nbsp;[#x0993-#x09A8]
+|&nbsp;[#x09AA-#x09B0]
+|&nbsp;#x09B2
+|&nbsp;[#x09B6-#x09B9]
+|&nbsp;[#x09DC-#x09DD]
+|&nbsp;[#x09DF-#x09E1]
+|&nbsp;[#x09F0-#x09F1]
+|&nbsp;[#x0A05-#x0A0A]
+|&nbsp;[#x0A0F-#x0A10]
+|&nbsp;[#x0A13-#x0A28]
+|&nbsp;[#x0A2A-#x0A30]
+|&nbsp;[#x0A32-#x0A33]
+|&nbsp;[#x0A35-#x0A36]
+|&nbsp;[#x0A38-#x0A39]
+|&nbsp;[#x0A59-#x0A5C]
+|&nbsp;#x0A5E
+|&nbsp;[#x0A72-#x0A74]
+|&nbsp;[#x0A85-#x0A8B]
+|&nbsp;#x0A8D
+|&nbsp;[#x0A8F-#x0A91]
+|&nbsp;[#x0A93-#x0AA8]
+|&nbsp;[#x0AAA-#x0AB0]
+|&nbsp;[#x0AB2-#x0AB3]
+|&nbsp;[#x0AB5-#x0AB9]
+|&nbsp;#x0ABD
+|&nbsp;#x0AE0
+|&nbsp;[#x0B05-#x0B0C]
+|&nbsp;[#x0B0F-#x0B10]
+|&nbsp;[#x0B13-#x0B28]
+|&nbsp;[#x0B2A-#x0B30]
+|&nbsp;[#x0B32-#x0B33]
+|&nbsp;[#x0B36-#x0B39]
+|&nbsp;#x0B3D
+|&nbsp;[#x0B5C-#x0B5D]
+|&nbsp;[#x0B5F-#x0B61]
+|&nbsp;[#x0B85-#x0B8A]
+|&nbsp;[#x0B8E-#x0B90]
+|&nbsp;[#x0B92-#x0B95]
+|&nbsp;[#x0B99-#x0B9A]
+|&nbsp;#x0B9C
+|&nbsp;[#x0B9E-#x0B9F]
+|&nbsp;[#x0BA3-#x0BA4]
+|&nbsp;[#x0BA8-#x0BAA]
+|&nbsp;[#x0BAE-#x0BB5]
+|&nbsp;[#x0BB7-#x0BB9]
+|&nbsp;[#x0C05-#x0C0C]
+|&nbsp;[#x0C0E-#x0C10]
+|&nbsp;[#x0C12-#x0C28]
+|&nbsp;[#x0C2A-#x0C33]
+|&nbsp;[#x0C35-#x0C39]
+|&nbsp;[#x0C60-#x0C61]
+|&nbsp;[#x0C85-#x0C8C]
+|&nbsp;[#x0C8E-#x0C90]
+|&nbsp;[#x0C92-#x0CA8]
+|&nbsp;[#x0CAA-#x0CB3]
+|&nbsp;[#x0CB5-#x0CB9]
+|&nbsp;#x0CDE
+|&nbsp;[#x0CE0-#x0CE1]
+|&nbsp;[#x0D05-#x0D0C]
+|&nbsp;[#x0D0E-#x0D10]
+|&nbsp;[#x0D12-#x0D28]
+|&nbsp;[#x0D2A-#x0D39]
+|&nbsp;[#x0D60-#x0D61]
+|&nbsp;[#x0E01-#x0E2E]
+|&nbsp;#x0E30
+|&nbsp;[#x0E32-#x0E33]
+|&nbsp;[#x0E40-#x0E45]
+|&nbsp;[#x0E81-#x0E82]
+|&nbsp;#x0E84
+|&nbsp;[#x0E87-#x0E88]
+|&nbsp;#x0E8A
+|&nbsp;#x0E8D
+|&nbsp;[#x0E94-#x0E97]
+|&nbsp;[#x0E99-#x0E9F]
+|&nbsp;[#x0EA1-#x0EA3]
+|&nbsp;#x0EA5
+|&nbsp;#x0EA7
+|&nbsp;[#x0EAA-#x0EAB]
+|&nbsp;[#x0EAD-#x0EAE]
+|&nbsp;#x0EB0
+|&nbsp;[#x0EB2-#x0EB3]
+|&nbsp;#x0EBD
+|&nbsp;[#x0EC0-#x0EC4]
+|&nbsp;[#x0F40-#x0F47]
+|&nbsp;[#x0F49-#x0F69]
+|&nbsp;[#x10A0-#x10C5]
+|&nbsp;[#x10D0-#x10F6]
+|&nbsp;#x1100
+|&nbsp;[#x1102-#x1103]
+|&nbsp;[#x1105-#x1107]
+|&nbsp;#x1109
+|&nbsp;[#x110B-#x110C]
+|&nbsp;[#x110E-#x1112]
+|&nbsp;#x113C
+|&nbsp;#x113E
+|&nbsp;#x1140
+|&nbsp;#x114C
+|&nbsp;#x114E
+|&nbsp;#x1150
+|&nbsp;[#x1154-#x1155]
+|&nbsp;#x1159
+|&nbsp;[#x115F-#x1161]
+|&nbsp;#x1163
+|&nbsp;#x1165
+|&nbsp;#x1167
+|&nbsp;#x1169
+|&nbsp;[#x116D-#x116E]
+|&nbsp;[#x1172-#x1173]
+|&nbsp;#x1175
+|&nbsp;#x119E
+|&nbsp;#x11A8
+|&nbsp;#x11AB
+|&nbsp;[#x11AE-#x11AF]
+|&nbsp;[#x11B7-#x11B8]
+|&nbsp;#x11BA
+|&nbsp;[#x11BC-#x11C2]
+|&nbsp;#x11EB
+|&nbsp;#x11F0
+|&nbsp;#x11F9
+|&nbsp;[#x1E00-#x1E9B]
+|&nbsp;[#x1EA0-#x1EF9]
+|&nbsp;[#x1F00-#x1F15]
+|&nbsp;[#x1F18-#x1F1D]
+|&nbsp;[#x1F20-#x1F45]
+|&nbsp;[#x1F48-#x1F4D]
+|&nbsp;[#x1F50-#x1F57]
+|&nbsp;#x1F59
+|&nbsp;#x1F5B
+|&nbsp;#x1F5D
+|&nbsp;[#x1F5F-#x1F7D]
+|&nbsp;[#x1F80-#x1FB4]
+|&nbsp;[#x1FB6-#x1FBC]
+|&nbsp;#x1FBE
+|&nbsp;[#x1FC2-#x1FC4]
+|&nbsp;[#x1FC6-#x1FCC]
+|&nbsp;[#x1FD0-#x1FD3]
+|&nbsp;[#x1FD6-#x1FDB]
+|&nbsp;[#x1FE0-#x1FEC]
+|&nbsp;[#x1FF2-#x1FF4]
+|&nbsp;[#x1FF6-#x1FFC]
+|&nbsp;#x2126
+|&nbsp;[#x212A-#x212B]
+|&nbsp;#x212E
+|&nbsp;[#x2180-#x2182]
+|&nbsp;[#x3041-#x3094]
+|&nbsp;[#x30A1-#x30FA]
+|&nbsp;[#x3105-#x312C]
+|&nbsp;[#xAC00-#xD7A3]
+</rhs></prod>
+<prod id='NT-Ideographic'><lhs>Ideographic</lhs>
+<rhs>[#x4E00-#x9FA5]
+|&nbsp;#x3007
+|&nbsp;[#x3021-#x3029]
+</rhs></prod>
+<prod id='NT-CombiningChar'><lhs>CombiningChar</lhs>
+<rhs>[#x0300-#x0345]
+|&nbsp;[#x0360-#x0361]
+|&nbsp;[#x0483-#x0486]
+|&nbsp;[#x0591-#x05A1]
+|&nbsp;[#x05A3-#x05B9]
+|&nbsp;#x05BB#x05BD
+|&nbsp;#x05BF
+|&nbsp;[#x05C1-#x05C2]
+|&nbsp;#x05C4
+|&nbsp;#x064B#x0652
+|&nbsp;#x0670
+|&nbsp;[#x06D6-#x06DC]
+|&nbsp;#x06DD#x06DF
+|&nbsp;[#x06E0-#x06E4]
+|&nbsp;[#x06E7-#x06E8]
+|&nbsp;[#x06EA-#x06ED]
+|&nbsp;[#x0901-#x0903]
+|&nbsp;#x093C
+|&nbsp;[#x093E-#x094C]
+|&nbsp;#x094D
+|&nbsp;[#x0951-#x0954]
+|&nbsp;[#x0962-#x0963]
+|&nbsp;[#x0981-#x0983]
+|&nbsp;#x09BC
+|&nbsp;#x09BE
+|&nbsp;#x09BF
+|&nbsp;[#x09C0-#x09C4]
+|&nbsp;[#x09C7-#x09C8]
+|&nbsp;[#x09CB-#x09CD]
+|&nbsp;#x09D7
+|&nbsp;[#x09E2-#x09E3]
+|&nbsp;#x0A02
+|&nbsp;#x0A3C
+|&nbsp;#x0A3E
+|&nbsp;#x0A3F
+|&nbsp;[#x0A40-#x0A42]
+|&nbsp;[#x0A47-#x0A48]
+|&nbsp;[#x0A4B-#x0A4D]
+|&nbsp;[#x0A70-#x0A71]
+|&nbsp;[#x0A81-#x0A83]
+|&nbsp;#x0ABC
+|&nbsp;[#x0ABE-#x0AC5]
+|&nbsp;[#x0AC7-#x0AC9]
+|&nbsp;[#x0ACB-#x0ACD]
+|&nbsp;[#x0B01-#x0B03]
+|&nbsp;#x0B3C
+|&nbsp;[#x0B3E-#x0B43]
+|&nbsp;[#x0B47-#x0B48]
+|&nbsp;[#x0B4B-#x0B4D]
+|&nbsp;[#x0B56-#x0B57]
+|&nbsp;[#x0B82-#x0B83]
+|&nbsp;[#x0BBE-#x0BC2]
+|&nbsp;[#x0BC6-#x0BC8]
+|&nbsp;[#x0BCA-#x0BCD]
+|&nbsp;#x0BD7
+|&nbsp;[#x0C01-#x0C03]
+|&nbsp;[#x0C3E-#x0C44]
+|&nbsp;[#x0C46-#x0C48]
+|&nbsp;[#x0C4A-#x0C4D]
+|&nbsp;[#x0C55-#x0C56]
+|&nbsp;[#x0C82-#x0C83]
+|&nbsp;[#x0CBE-#x0CC4]
+|&nbsp;[#x0CC6-#x0CC8]
+|&nbsp;[#x0CCA-#x0CCD]
+|&nbsp;[#x0CD5-#x0CD6]
+|&nbsp;[#x0D02-#x0D03]
+|&nbsp;[#x0D3E-#x0D43]
+|&nbsp;[#x0D46-#x0D48]
+|&nbsp;[#x0D4A-#x0D4D]
+|&nbsp;#x0D57
+|&nbsp;#x0E31
+|&nbsp;[#x0E34-#x0E3A]
+|&nbsp;[#x0E47-#x0E4E]
+|&nbsp;#x0EB1
+|&nbsp;[#x0EB4-#x0EB9]
+|&nbsp;[#x0EBB-#x0EBC]
+|&nbsp;[#x0EC8-#x0ECD]
+|&nbsp;[#x0F18-#x0F19]
+|&nbsp;#x0F35
+|&nbsp;#x0F37
+|&nbsp;#x0F39
+|&nbsp;#x0F3E
+|&nbsp;#x0F3F
+|&nbsp;[#x0F71-#x0F84]
+|&nbsp;[#x0F86-#x0F8B]
+|&nbsp;[#x0F90-#x0F95]
+|&nbsp;#x0F97
+|&nbsp;[#x0F99-#x0FAD]
+|&nbsp;[#x0FB1-#x0FB7]
+|&nbsp;#x0FB9
+|&nbsp;[#x20D0-#x20DC]
+|&nbsp;#x20E1
+|&nbsp;[#x302A-#x302F]
+|&nbsp;#x3099
+|&nbsp;#x309A
+</rhs></prod>
+<prod id='NT-Digit'><lhs>Digit</lhs>
+<rhs>[#x0030-#x0039]
+|&nbsp;[#x0660-#x0669]
+|&nbsp;[#x06F0-#x06F9]
+|&nbsp;[#x0966-#x096F]
+|&nbsp;[#x09E6-#x09EF]
+|&nbsp;[#x0A66-#x0A6F]
+|&nbsp;[#x0AE6-#x0AEF]
+|&nbsp;[#x0B66-#x0B6F]
+|&nbsp;[#x0BE7-#x0BEF]
+|&nbsp;[#x0C66-#x0C6F]
+|&nbsp;[#x0CE6-#x0CEF]
+|&nbsp;[#x0D66-#x0D6F]
+|&nbsp;[#x0E50-#x0E59]
+|&nbsp;[#x0ED0-#x0ED9]
+|&nbsp;[#x0F20-#x0F29]
+</rhs></prod>
+<prod id='NT-Extender'><lhs>Extender</lhs>
+<rhs>#x00B7
+|&nbsp;#x02D0
+|&nbsp;#x02D1
+|&nbsp;#x0387
+|&nbsp;#x0640
+|&nbsp;#x0E46
+|&nbsp;#x0EC6
+|&nbsp;#x3005
+|&nbsp;[#x3031-#x3035]
+|&nbsp;[#x309D-#x309E]
+|&nbsp;[#x30FC-#x30FE]
+</rhs></prod>
+
+</prodgroup>
+</scrap>
+</p>
+<p>$B$3$3$GDj5A$9$kJ8;z%/%i%9$O!$(BUnicode$BJ8;z%G!<%?%Y!<%9$+$i!$<!$N$H$*$j$KF@$k$3$H$,$G$-$k!#(B
+<ulist>
+<item>
+<p>a) $BL>A03+;OJ8;z$O!$(BLl, Lu, Lo, Lt, Nl$B%+%F%4%jFb$N0l$D$G$J$1$l$P$J$i$J$$!#(B</p>
+</item>
+<item>
+<p>b) $BL>A03+;OJ8;z0J30$NL>A0J8;z$O!$(BMc, Me, Mn, Lm, Nd$B%+%F%4%jFb$N0l$D$G$J$1$l$P$J$i$J$$!#(B</p>
+</item>
+<item>
+<p>c) &compatibility-area;$B$K$"$kJ8;z(B($BJ8;zId9f$G(B#xF900$B$h$jBg$-$/(B#xFFFE$B$h$j>.$5$$J8;z(B)$B$O!$(BXML$B$K$*$1$kL>A0$H$7$F$O!$5v$5$l$J$$!#(B</p>
+</item>
+<item>
+<p>d) &font-decomposition;$B$+(B&compatibility-decomposition;$B$r$b$DJ8;z(B($B$D$^$j!$%G!<%?%Y!<%9Fb$N#5HVL\$N%U%#!<%k%I$K(B"compatibility formatting tag"$B$,$"$k$b$N!#$3$l$O!$#5HVL\$N%U%#!<%k%I$,!$(B"&lt;"$B$G;O$^$k$3$H$K$h$C$F%^!<%/IU$1$5$l$k!#(B)$B$O!$5v$5$l$J$$!#(B</p>
+</item>
+<item>
+<p>e) $B<!$NJ8;z$O!$L>A03+;OJ8;z$H$7$F07$&!#$3$l$O!$(B&property-file;$B$,!$$3$l$i$NJ8;z$r%"%k%U%!%Y%C%H$KN`;w$9$k$H8+$J$9$3$H$K$h$k!#$=$l$i$O(B
+[#x02BB-#x02C1], #x0559, #x06E5, #x06E6$B$H$9$k!#(B</p>
+</item>
+<item>
+<p>f) $BJ8;zId9f$,(B#x20DD-#x20E0$B$NJ8;z$O!$(B(Unicode $B$N(B5.14$B$K$7$?$,$C$F(B)$B=|30$9$k!#(B</p>
+</item>
+<item>
+<p>g) $BJ8;zId9f$,(B#x00B7$B$NJ8;z$O!$(B&property-list;$B$K$7$?$,$C$F!$(B&extender;(extender)$B$KJ,N`$9$k!#(B</p>
+</item>
+<item>
+<p>h) $BJ8;z(B#x0387$B$O!$$3$l$KAjEv$9$k@55,7A$,(B#x00B7$B$J$N$G!$L>A0J8;z$KDI2C$9$k!#(B</p>
+</item>
+<item>
+<p>i) $BJ8;z(B':'$B5Z$S(B'_'$B$O!$L>A03+;OJ8;z$H$7$F5v$9!#(B</p>
+</item>
+<item>
+<p>j) $BJ8;z(B'-'$B5Z$S(B'.'$B$O!$L>A0J8;z$H$7$F5v$9!#(B</p>
+</item>
+</ulist>
+</p>
+</div1>
+<inform-div1 id="sec-xml-and-sgml">
+<head>XML$B5Z$S(BSGML</head>
+
+<p>XML$B$O!$(BSGML$B$N(B&subset;$B$H$7$F@_7W$5$l$F$$$k!#$9$J$o$A!$$9$Y$F$N(B<termref def="dt-valid">&valid;</termref>$B$J(BXML$BJ8=q$O!$5,3J$KE,9g$9$k(BSGML$BJ8=q$K$b$J$k!#(BSGML$B$,J8=q$K2]$9@)8B0J30$K!$(BXML$B$,$$$+$J$k@)8B$r2]$9$+$K4X$9$k>\:Y$O!$JL$N(B<loc href='http://www.w3.org/TR/NOTE-sgml-xml'>$B5,Dx(B</loc>$B$r;2>H$N$3$H!#$3$N5,Dx$O!$(BXML$B$N@)Ls>r7o$r<($9(BSGML$B@k8@$r4^$_!$$3$l$O!$(BSGML&parser;$B$K;HMQ$G$-$k!#(B
+</p>
+</inform-div1>
+<inform-div1 id="sec-entexpand">
+<head>$B<BBN;2>H5Z$SJ8;z;2>H$NE83+(B</head>
+<p>$B$3$NIUO?$O!$<BBN;2>H5Z$SJ8;z;2>H$rG'<1$7!$E83+$9$k!$0lO"$NN.$l$r!$Nc$K;H$C$F<($9!#(B</p>
+<p>
+DTD$B$,!$<!$N@k8@$r4^$`>l9g$r9M$($k!#(B
+<eg><![CDATA[<!ENTITY example "<p>An ampersand (&#38;#38;) may be escaped
+numerically (&#38;#38;#38;) or with a general entity
+(&amp;amp;).</p>" >
+]]></eg>
+XML&processor;$B$O!$<BBN$N@k8@$r9=J82r@O$7$?;~E@$GJ8;z;2>H$rG'<1$7!$$3$l$r2r7h$9$k!#<BBN(B"<code>example</code>"$B$NCM$H$7$F!$<!$N(B&string;$B$rJ]B8$9$k!#(B
+<eg><![CDATA[<p>An ampersand (&#38;) may be escaped
+numerically (&#38;#38;) or with a general entity
+(&amp;amp;).</p>
+]]></eg>
+$BJ8=qFb$G(B"<code>&amp;example;</code>"$B$r;2>H$9$k$H!$$3$N%F%-%9%H$O!$:F$S9=J82r@O$5$l$k!#$3$N$H$-!$MWAG(B"<code>p</code>"$B$N3+;O%?%05Z$S=*N;%?%0$rG'<1$7!$;0$D$N;2>H$rG'<1$7E83+$9$k!#$=$N7k2L!$MWAG(B"<code>p</code>"$B$O!$<!$NFbMF$r$b$D(B($B$9$Y$F%G!<%?$H$7!$6h@Z$j;RKt$O(B&markup;$B$OB8:_$7$J$$!#(B)$B!#(B
+<eg><![CDATA[An ampersand (&) may be escaped
+numerically (&#38;) or with a general entity
+(&amp;).
+]]></eg>
+</p>
+<p>$B5,B'5Z$S$=$N8z2L$r$h$j>\:Y$K<($9$?$a!$$5$i$KJ#;($JNc$r<($9!#<!$NNc$G!$9THV9f$O!$;2>H$NJX59$N$?$a$@$1$KIU$1$k!#(B
+<eg><![CDATA[1 <?xml version='1.0'?>
+2 <!DOCTYPE test [
+3 <!ELEMENT test (#PCDATA) >
+4 <!ENTITY % xx '&#37;zz;'>
+5 <!ENTITY % zz '&#60;!ENTITY tricky "error-prone" >' >
+6 %xx;
+7 ]>
+8 <test>This sample shows a &tricky; method.</test>
+]]></eg>
+$B$3$l$r=hM}$9$k$H!$<!$N$H$*$j$H$J$k!#(B
+<ulist spacing="compact">
+<item><p>a) 4$B9TL\$G!$(B37$BHVL\$NJ8;z$X$N;2>H$rD>$A$KE83+$7!$%Q%i%a%?<BBN(B"<code>xx</code>"$B$r!$%7%s%\%k%F!<%V%k$K(B"<code>%zz;</code>"$B$H$$$&CM$H$H$b$KJ]B8$9$k!#(B&replacement-text;$B$r:F$SAv::$9$k$3$H$O$J$$$N$G!$%Q%i%a%?<BBN(B"<code>zz</code>"$B$X$N;2>H$OG'<1$7$J$$(B("<code>zz</code>"$B$O!$$^$@@k8@$5$l$F$$$J$$$N$G!$Av::$5$l$l$P!$(B&error;$B$H$J$k!#(B)$B!#(B</p></item>
+<item><p>b) 5$B9TL\$G!$J8;z;2>H(B"<code>&amp;#60;</code>"$B$rD>$A$KE83+$7!$%Q%i%a%?<BBN(B"<code>zz</code>"$B$r(B"<code>&lt;!ENTITY tricky "error-prone" ></code>"$B$H$$$&(B&replacement-text;$B$H$H$b$KJ]B8$9$k!#$3$l$O!$(B&well-formed;$B$N<BBN@k8@$H$9$k!#(B</p></item>
+<item><p>c) 6$B9TL\$G!$(B"<code>xx</code>"$B$X$N;2>H$rG'<1$7!$(B"<code>xx</code>"$B$N(B&replacement-text;($B$9$J$o$A!$(B"<code>%zz;</code>")$B$r9=J82r@O$9$k!#(B"<code>zz</code>"$B$X$N;2>H$rB3$$$FG'<1$7!$(B&replacement-text;("<code>&lt;!ENTITY tricky "error-prone" ></code>")$B$r9=J82r@O$9$k!#0lHL<BBN(B"<code>tricky</code>"$B$O!$$3$N;~E@$G$O!$@k8@$5$l$F$*$j!$$=$N(B&replacement-text;$B$O!$(B"<code>error-prone</code>"$B$H$9$k!#(B </p></item>
+<item><p>d) 8$B9TL\$G!$0lHL<BBN(B"<code>tricky</code>"$B$X$N;2>H$rG'<1$7!$E83+$9$k!#MWAG(B"<code>test</code>"$B$N40A4$JFbMF$O!$<!$N(B($BFbMF$r$=$l<+BNI=8=$9$k!#(B)&string;$B$H$J$k!#$D$^$j!$(B<emph>This sample shows a error-prone method.</emph>
+</p></item>
+</ulist>
+</p>
+</inform-div1>
+<inform-div1 id="determinism">
+<head>$B7hDjE*FbMF%b%G%k(B</head>
+<p><termref def='dt-compat'>$B8_49@-$N$?$a(B</termref>$B!$MWAG@k8@$K$*$1$kFbMF%b%G%k$O!$7hDjE*$H$9$kI,MW$,$"$k!#(B
+</p>
+<!-- FINAL EDIT: WebSGML allows ambiguity? -->
+<p>SGML$B$O!$7hDjE*FbMF%b%G%k(B(SGML$B$G$O!$Hs$"$$$^$$$H8F$V!#(B)$B$rMW5a$9$k!#(BSGML$B%7%9%F%`$rMQ$$$F:n@.$7$?(BXML&processor;$B$O!$Hs7hDjE*FbMF%b%G%k$r(B&error;$B$H$7$F$b$h$$!#(B</p>
+<p>$BNc$($P!$FbMF%b%G%k(B<code>((b, c) | (b, d))</code>$B$OHs7hDjE*$H$J$k!#$3$l$O!$:G=i$K(B<code>b</code>$B$rM?$($?$H$-!$%b%G%kFb$N$$$:$l$N(B<code>b</code>$B$H(B&match;$B$9$k$N$,K>$^$7$$$+!$$=$N<!$NMWAG$r@hFI$_$9$k$3$H$J$7$K$O!$(B&parser;$B$OCN$k$3$H$,$G$-$J$$$3$H$K$h$k!#$3$N>l9g$O!$(B<code>b</code>$B$X$NFs$D$N;2>H$O!$0l$D$N;2>H$K$^$H$a$k$3$H$,$G$-!$%b%G%k$O!$(B<code>(b, (c | d))</code>$B$H$J$k!#$3$l$G!$:G=i$N(B<code>b</code>$B$,!$FbMF%b%G%kFb$N0l$D$NL>A0$H$@$1(B&match;$B$9$k$3$H$OL@$i$+$H$J$k!#(B&parser;$B$O!$@hFI$_$7$F!$<!$KMh$k$b$N$rCN$kI,MW$,$J$$!#(B<code>c</code>$B$b(B<code>d</code>$B$b!$<uM}$5$l$k!#(B</p>
+<p>$B7A<0E*$K<($9!#(BAho, Sethi, and Ullman <bibref ref='Aho'/>$B$N(B3.9$B$N%"%k%4%j%:%`(B3.5$B$NI8=`E*$J%"%k%4%j%:%`$rMQ$$$F!$FbMF%b%G%k$+$iM-8B%*!<%H%^%H%s$r9=@.$9$k$3$H$,$G$-$k!#$3$N<o$NB?$/$N%"%k%4%j%:%`$G$O!$@55,I=8=$K$*$1$k3F!9$N0LCV(B($B$D$^$j!$@55,I=8=$N9=J8LZ$K$*$1$k3F!9$NKvC<%N!<%I(B)$B$KBP$7$F!$(Bfollow set($B<!$K$I$N0LCV$K0\F02DG=$+$rI=$9$b$N(B)$B$r9=@.$9$k!#$"$k0LCV$KBP$9$k(Bfollow set$B$K$*$$$F!$J#?t$N0LCV$,F1$8MWAG7?L>$G%i%Y%kIU$1$5$l$F$$$l$P!$$=$NFbMF%b%G%k$O(B&error;$B$H$J$j!$(B&error;$B$rJV$9>l9g$b$"$k!#(B
+</p>
+<p>$B$9$Y$F$NHs7hDjE*FbMF%b%G%k$rEy2A$J7hDjE*FbMF%b%G%k$KJQ49$9$k$3$H$O$G$-$J$$$,!$B?$/$NHs7hDjE*FbMF%b%G%k$rJQ49$9$k%"%k%4%j%:%`$,B8:_$9$k!#(BBr&#252;ggemann-Klein 1991 <bibref ref='ABK'/>$B$r;2>H$N$3$H!#(B</p>
+</inform-div1>
+<inform-div1 id="sec-guessing">
+<head>$BJ8;zId9f2=$N<+F08!=P(B</head>
+<p>
+XML$B$NId9f2=@k8@$O!$3F<BBN$NFbIt%i%Y%k$H$7$F5!G=$7!$$I$NJ8;zId9f2=$r;HMQ$9$k$+$r<($9!#$7$+$7!$(BXML&processor;$B$O!$FbIt%i%Y%k$rFI$`A0$K!$$I$NJ8;zId9f2=$r;HMQ$9$k$+$rCN$kI,MW$,$"$j!$$3$l$,!$FbIt%i%Y%k$,<($=$&$H$9$k$3$H$K$J$k!#0lHLE*$K$O!$$3$l$O!$@dK>E*$J>uBV$H$J$k!#$7$+$7!$(BXML$B$K$*$$$F$O!$40A4$K$O@dK>E*$G$O$J$$!#$3$l$O!$(BXML$B$,!$<!$NFs$D$NE@$G0lHLE*$J>l9g$KBP$9$k@)8B$r2C$($k$3$H$K$h$k!#0l$D$N@)8B$O!$$I$N<BAu$bM-8B8D$NJ8;zId9f2=$@$1$N%5%]!<%H$rA[Dj$9$k$3$H$H$9$k!#B>$N0l$D$N@)8B$O!$3F<BBN$G;HMQ$9$kJ8;zId9f2=$r<+F08!=P2DG=$H$9$k!$(BXML$B$NId9f2=@k8@$N0LCV5Z$SFbMF$K4X$9$k@)8B$H$9$k!#B?$/$N>l9g$K!$(BXML$B$N%G!<%?%9%H%j!<%`$K2C$(!$B>$N>pJs$,MxMQ$G$-$k!#$3$3$G$O!$(BXML$B$N<BBN$,(B&processor;$B$KEO$5$l$k$H$-!$(B($B30It(B)$B>pJs$rH<$&$+$I$&$+$K$h$C$F!$Fs$D$N>l9g$KJ,$1$k!#$^$::G=i$N>l9g$r<($9!#(B</p>
+<p>
+UTF-8$B7A<0Kt$O(BUTF-16$B7A<0$G$O$J$$(BXML$B<BBN$O!$:G=i$NJ8;z$r!F(B<code>&lt;?xml</code>'$B$H$9$k(BXML$BId9f2=@k8@$G;O$^$i(B<emph>$B$J$1$l$P$J$i$J$$(B</emph>$B$N$G!$$I$NE,9g$7$?(B&processor;$B$b!$F~NO$K$"$k(B2$B%*%/%F%C%HKt$O(B4$B%*%/%F%C%H$rD4$Y$l$P!$<!$N$I$N>l9g$,$"$F$O$^$k$+$r8!=P$G$-$k!#$3$N%j%9%H$rFI$`:]$K$O!$(BUCS-4$B$N(B'&lt;'$B$,(B"<code>#x0000003C</code>"$B!$(B'?'$B$,(B"<code>#x0000003F</code>"$B!$5Z$S(BUTF-16$B$N%G!<%?(B&stream;$B$NI,MW$H$9$k(B&byte-order-mark;$B$,(B"<code>#xFEFF</code>"$B$H$$$&$3$H$rCN$C$F$*$/$HLrN)$D$+$b$7$l$J$$!#(B</p>
+<p>
+<ulist>
+<item>
+<p>a) <code>00 00 00 3C</code>: UCS-4, big-endian $B%^%7%s(B (1234$B=g(B)</p>
+</item>
+<item>
+<p>b) <code>3C 00 00 00</code>: UCS-4, little-endian $B%^%7%s(B (4321$B=g(B)</p>
+</item>
+<item>
+<p>c) <code>00 00 3C 00</code>: UCS-4, $BIaDL$G$O$J$$%*%/%F%C%H=g(B (2143)</p>
+</item>
+<item>
+<p>d) <code>00 3C 00 00</code>: UCS-4, $BIaDL$G$O$J$$%*%/%F%C%H=g(B (3412)</p>
+</item>
+<item>
+<p>e) <code>FE FF</code>: UTF-16, big-endian</p>
+</item>
+<item>
+<p>f) <code>FF FE</code>: UTF-16, little-endian</p>
+</item>
+<item>
+<p>g) <code>00 3C 00 3F</code>: UTF-16, big-endian, &byte-order-mark;$B$J$7(B($B$7$?$,$C$F!$87L)$K$$$($P!$(B&error;$B$H$9$k!#(B)$B!#(B</p>
+</item>
+<item>
+<p>h) <code>3C 00 3F 00</code>: UTF-16, little-endian, &byte-order-mark;$B$J$7(B($B$7$?$,$C$F!$87L)$K$$$($P!$(B&error;$B$H$9$k!#(B)$B!#(B</p>
+</item>
+<item>
+<p>i) <code>3C 3F 78 6D</code>: UTF-8, ISO 646, ASCII, ISO 8859$B$N3F%Q!<%H!$(BShift-JIS$B!$(BEUC$B!$JB$S$KG$0U$NB>$N(B7$B%S%C%H!$(B8$B%S%C%HKt$O:.:_I}$NId9f2=$G$"$C$F!$(BASCII$BJ8;z$rDL>o$N0LCV!$I}5Z$SCM$H$9$k$3$H$rJ]>Z$9$k$b$N!#$3$l$i$N$I$l$KBP1~$9$k$+$r8!=P$9$k$?$a$K$O!$<B:]$NId9f2=@k8@$rFI$_9~$^$J$1$l$P$J$i$J$$!#$7$+$7!$$3$l$i$9$Y$F$NId9f2=$O!$(BASCII$BJ8;z$KBP$7$FF1$8%S%C%H%Q%?!<%s$r;HMQ$9$k$N$G!$Id9f2=@k8@<+BN$O!$@53N$KFI9~$_2DG=$H$9$k!#(B
+</p>
+</item>
+<item>
+<p>j) <code>4C 6F A7 94</code>: EBCDIC ($BKt$O$=$NJQ<o!#$I$N%3!<%I%Z!<%8$r;HMQ$9$k$+$rCN$k$?$a$K$O!$Id9f2=@k8@A4BN$rFI$_9~$^$l$J$1$l$P$J$i$J$$!#(B)</p>
+</item>
+<item>
+<p>k) $B$=$NB>(B: $BId9f2=@k8@$J$7$N(BUTF-8$B!#$=$&$G$J$$$H$-$K$O!$%G!<%?(B&stream;$B$,2u$l$F$$$k$+!$CGJRE*$K$J$C$F$$$k$+!$2?$i$+$N7A<0$K$7$?$,$C$FKd$a9~$^$l$F$$$k!#(B</p>
+</item>
+</ulist>
+</p>
+<p>
+$B$3$NDxEY$N<+F0H=JL$G$b!$(BXML$B$NId9f2=@k8@$rFI$_9~$_!$J8;zId9f2=$N(B&identifier;$B$r2r@O$9$k$K$O==J,$H$9$k!#(B&identifier;$B$N2r@O$O!$N`;w$9$k3F!9$NId9f2=$N0l$D0l$D$r6hJL$9$k$?$a$KI,MW$H$9$k(B($BNc$($P!$(BUTF-8$B5Z$S(B8859$B$r6hJL$9$k$?$a!$(B8859$B$N3F%Q!<%H$r6hJL$9$k$?$a!$;HMQ$7$F$$$kFCDj$N(BEBCDIC$B%3!<%I%Z!<%8$r6hJL$9$k$?$a!$$J$I!#(B)$B!#(B
+</p>
+<p>
+$BId9f2=@k8@$NFbMF$r(BASCII$BJ8;z$K8BDj$7$F$$$k$N$G!$$I$NJ,N`$NId9f2=$r;HMQ$9$k$+$r8!=P$9$l$P!$(B&processor;$B$O!$Id9f2=@k8@A4BN$r@53N$KFI$_9~$`$3$H$,$G$-$k!#8=<BLdBj$H$7$F!$9-$/;HMQ$5$l$F$$$kJ8;zId9f2=$O!$>e$NJ,N`$N$$$:$l$+$K$"$F$O$^$k$N$G!$%*%Z%l!<%F%#%s%0%7%9%F%`Kt$OEAAw%W%m%H%3%k$,M?$($k30It>pJs$r?.MjIT2DG=$J$H$-$G$5$($b!$FbIt%i%Y%k$GJ8;zId9f2=$r$+$J$j@53N$K<($9$3$H$,!$(BXML$BId9f2=@k8@$K$h$C$F2DG=$H$J$k!#(B
+</p>
+<p>
+&processor;$B$,;HMQ$9$kJ8;zId9f2=$r8!=P$7$5$($9$l$P!$$=$l$>$l$N>l9g$KBP$7$FJL8D$NF~NO%k!<%A%s$r8F$S=P$9!$Kt$OF~NO$9$k3FJ8;z$KBP$7E,@Z$JJQ494X?t$r8F$S=P$9$3$H$K$h$C$F!$E,@Z$JF0:n$,2DG=$H$J$k!#(B</p>
+<p>
+$B<+J,<+BN$K%i%Y%kIU$1$r$9$k$$$+$J$k%7%9%F%`$G$bF1MM$@$,!$%=%U%H%&%'%"$,!$Id9f2=@k8@$r99?7$;$:$K<BBN$NJ8;z=89gKt$OId9f2=$rJQ$($?$J$i$P!$(BXML$B$NId9f2=@k8@$O!$5!G=$7$J$$!#J8;zId9f2=%k!<%A%s$N<BAu<T$O!$<BBN$N%i%Y%kIU$1$K;HMQ$9$kFbIt5Z$S30It$N>pJs$N@53N$5$NJ]>Z$KCm0U$9$k$N$,K>$^$7$$!#(B
+</p>
+<p>$B#2HVL\$N>l9g$O!$(BXML$B$N<BBN$NB>$K!$Id9f2=>pJs$,B8:_$9$k$H$-$G$"$C$F!$$$$/$D$+$N%U%!%$%k%7%9%F%`5Z$S%M%C%H%o!<%/%W%m%H%3%k$G$O!$$=$NId9f2=>pJs$,B8:_$9$k!#J#?t$N>pJs$,MxMQ$G$-$k$H$-!$(B<!-- (e.g. both the
+internal encoding declaration and an external label), -->$B$=$l$i$NAjBPE*$JM%@hEY5Z$S$=$l$i$,L7=b$7$?$H$-$NK>$^$7$$=hM}J}K!$O!$(BXML$B$NG[Aw$K;HMQ$9$k!$$h$j9b?e=`$N%W%m%H%3%k$N0lIt$H$7$F5,Dx$9$k$N$,$h$$!#Nc$($P!$FbIt%i%Y%k5Z$S30It(B&header;$B$KB8:_$9$k(BMIME$B7A<0$N%i%Y%k$NAjBPE*$JM%@hEY$KBP$9$k5,B'$O!$(Btext/xml$B5Z$S(Bapplication/xml$B$N(BMIME$B7?$rDj5A$9$k(BRFC$BJ8=q$N0lIt$H$J$kJ}$,$h$$!#$7$+$7!$Aj8_1?MQ@-$N$?$a$K!$<!$N5,B'$K=>$&$3$H$,K>$^$7$$!#(B
+<ulist>
+<item><p>a) XML$B$N<BBN$,%U%!%$%k$KB8:_$9$l$P!$(B&byte-order-mark;$B5Z$SId9f2=@k8@(BPI$B$O!$(B($BB8:_$9$l$P(B)$BJ8;zId9f2=$r7hDj$9$k$?$a$K;HMQ$9$k!#B>$N$9$Y$F$N(B&hueristics;$B5Z$S>pJs$O!$(B&error;$B2sI|$N$?$a$@$1$KMQ$$$k!#(B
+</p></item>
+<item><p>b) XML$B$N<BBN$r(BMIME$B7?(Btext/xml$B$GG[Aw$9$k$H$-$O!$$3$N(BMIME$B7?$N$b$D(Bcharset$B%Q%i%a%?$,J8;zId9f2=J}K!$r7hDj$9$k!#B>$N$9$Y$F$N(B&hueristics;$B5Z$S>pJs$O!$(B&error;$B2sI|$N$?$a$@$1$KMQ$$$k!#(B
+</p></item>
+<item><p>c) XML$B$N<BBN$r(B <!-- via the HTTP protocol -->MIME$B7?(Bapplication/xml$B$GG[Aw$9$k$H$-$O!$(B&byte-order-mark;$B5Z$SId9f2=@k8@(BPI$B$r(B($BB8:_$9$l$P(B)$BJ8;zId9f2=$N7hDj$N$?$a$K;HMQ$9$k!#B>$N$9$Y$F$N(B&hueristics;$B5Z$S>pJs$O(B&error;$B2sI|$N$?$a$@$1$KMQ$$$k!#(B
+</p></item>
+</ulist>
+$B$3$l$i$N5,B'$O!$%W%m%H%3%k$K$D$$$F$N;qNA$,$J$$$H$-$K$@$1MQ$$$k!#FC$K!$(BMIME$B7?(Btext/xml$B5Z$S(Bapplication/xml$B$rDj5A$7$?$i!$$3$l$i$r5,Dj$9$k(BRFC$B$KB8:_$9$k5,Dj$,!$$3$l$i$N5,B'$K<h$C$FBe$o$k!#(B
+</p>
+</inform-div1>
+<!--
+<div1 id='sec-trival-grammar'>
+<head>A Trivial Grammar for XML Documents</head>
+<p>The grammar given in the body of this specification is relatively
+simple, but for some purposes it is convenient to have an even simpler
+one.
+A very simple, though non-conforming, <termref def="dt-xml-proc">XML
+processor</termref> could parse a <termref
+def="dt-wellformed">well-formed</termref> XML document using the
+following simplified grammar, recognizing all element boundaries
+correctly, though not expanding entity references and not detecting
+all errors:
+
+<scrap lang="ebnf">
+<head>Trivial text grammar</head>
+<prodgroup pcw2="5.5" pcw4="17" pcw5="10">
+<prod id='NT-simpleDoc'><lhs>simpleDoc</lhs>
+<rhs>(<nt def='NT-SimpleData'>SimpleData</nt>
+| <nt def='NT-Markup'>Markup</nt>)*</rhs></prod>
+<prod id="NT-SimpleData"><lhs>SimpleData</lhs>
+<rhs>[^&lt;&amp;]*</rhs>
+<com>cf. PCData</com>
+</prod>
+<prod id="NT-SimpleLit"><lhs>SimpleLit</lhs>
+<rhs>('"' [^"]* '"')</rhs>
+<rhs>|&nbsp;("'" [^']* "'")</rhs>
+<com>cf. SkipLit</com>
+</prod>
+<prod id='NT-Markup'><lhs>Markup</lhs>
+<rhs>'&lt;' <nt def='NT-Name'>Name</nt>
+(<nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?
+<nt def='NT-SimpleLit'>SimpleLit</nt>)*
+<nt def='NT-S'>S</nt>? '&gt;'</rhs><com>start-tags </com>
+<rhs>| '&lt;' <nt def='NT-Name'>Name</nt>
+(<nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?
+<nt def='NT-SimpleLit'>SimpleLit</nt>)*
+<nt def='NT-S'>S</nt>? '/&gt;'</rhs><com>empty elements</com>
+<rhs>| '&lt;/'
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>? '&gt;'</rhs>
+<com>end-tags </com>
+<rhs>| '&amp;' <nt def='NT-Name'>Name</nt> ';'</rhs>
+<com>entity references </com>
+<rhs>| '&amp;#' [0-9]+ ';'</rhs>
+<com>decimal character references </com>
+<rhs>| '&hcro;' [0-9a-fA-F]+ ';'</rhs>
+<com>hexadecimal character references </com>
+<rhs>| '&lt;!&como;'
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*))
+'&comc;&gt;'</rhs>
+<com>comments </com>
+<rhs>| '&lt;?'
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*))
+'&pic;'</rhs>
+<com>processing instructions </com>
+<rhs>| '&lt;![CDATA['
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-Char'>Char</nt>*))
+']]&gt;'</rhs>
+<com>CDATA sections</com>
+<rhs>| '&lt;!DOCTYPE'
+(<nt def="NT-Char">Char</nt> - ('[' | ']'))+
+('['
+<nt def="NT-simpleDTD">simpleDTD</nt>*
+']')? '&gt;'</rhs>
+<com>doc type declaration</com>
+</prod>
+<prod id="NT-simpleDTD"><lhs>simpleDTD</lhs>
+<rhs>'&lt;!&como;'
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*))
+'&comc;&gt;'</rhs>
+<com>comment </com>
+<rhs>| '&lt;?'
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*))
+'&pic;'</rhs>
+<com>processing instruction </com>
+<rhs><nt def="NT-SimpleLit">SimpleLit</nt></rhs>
+<rhs>(<nt def="NT-Char">Char</nt> - (']' | '&lt;' | '"' | "'"))+
+</rhs>
+
+<rhs>'&lt;!' (<nt def="NT-Char">Char</nt> - ('-'))+</rhs>
+<com>declarations other than comment</com>
+</prod>
+</prodgroup>
+</scrap>
+Most processors will require the more complex
+grammar given in the body of this specification.
+
+</p>
+</div1>
+-->
+
+<inform-div1 id="sec-xml-wg">
+<head>&informative;W3C XML $B%o!<%-%s%0%0%k!<%W(B</head>
+
+<p>$B$3$N(B&TR-or-Rec;$B$O!$(BW3C XML $B%o!<%-%s%0%0%k!<%W(B(WG)$B$,=`Hw$7!$8x3+$r>5G'$7$?!#(BWG$B$,$3$N(B&TR-or-Rec;$B$r>5G'$9$k$H$$$&$3$H$O!$(BWG$B$N$9$Y$F$N0Q0w$,>5G'EjI<$r9T$C$?$H$$$&$3$H$rI,$:$7$b0UL#$7$J$$!#(BXML WG$B$N8=:_$N0Q0w5Z$S0JA0$N0Q0w$r<!$K<($9!#(B</p>
+
+<!-- parens and spaces removed from role elements by bosak 1997.11.07 -->
+<orglist>
+<member><name>Jon Bosak, Sun</name><role>Chair</role></member>
+<member><name>James Clark</name><role>Technical Lead</role></member>
+<member><name>Tim Bray, Textuality and Netscape</name><role>XML Co-editor</role></member>
+<member><name>Jean Paoli, Microsoft</name><role>XML Co-editor</role></member>
+<member><name>C. M. Sperberg-McQueen, U. of Ill.</name><role>XML Co-editor</role></member>
+<member><name>Dan Connolly, W3C</name></member>
+<member><name>Steve DeRose, INSO</name></member>
+<member><name>Dave Hollander, HP</name></member>
+<member><name>Eliot Kimber, Highland</name></member>
+<member><name>Eve Maler, ArborText</name></member>
+<member><name>Tom Magliery, NCSA</name></member>
+<member><name>Murray Maloney, Muzmo and Grif</name></member>
+<member><name>$BB<ED!!??!$IY;N%<%m%C%/%9>pJs%7%9%F%`(B($B3t(B)</name></member>
+<member><name>Joel Nava, Adobe</name></member>
+<member><name>Peter Sharpe, SoftQuad</name></member>
+<member><name>John Tigue, DataChannel</name></member>
+</orglist>
+
+</inform-div1>
+</back>
+</spec>
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+End:
+-->
+
+
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-little-endian.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-little-endian.xml
new file mode 100644
index 0000000000..c12e1a1217
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-little-endian.xml
Binary files differ
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-shift_jis.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-shift_jis.xml
new file mode 100644
index 0000000000..2d167b6475
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-shift_jis.xml
@@ -0,0 +1,3549 @@
+<?xml version="1.0" encoding="shift_jis"?>
+<!DOCTYPE spec SYSTEM "spec.dtd" [
+
+<!-- {タij -->
+
+<!ENTITY TR-or-Rec "dl">
+<!-- <!ENTITY TR-or-Rec "W(TR)"> -->
+<!ENTITY eTR-or-Rec "specification">
+<!-- <!ENTITY eTR-or-Rec "technical report(TR)"> -->
+<!ENTITY application "AvP[V">
+<!ENTITY error "G[">
+<!ENTITY fatal-error "vIG[">
+<!ENTITY parsed-data "f[^">
+<!ENTITY unparsed-data "f[^">
+<!ENTITY parsed-entity "タ">
+<!ENTITY parser "p[T">
+<!ENTITY unparsed-entity "Oタ">
+<!ENTITY well-formed "`ョ">
+<!ENTITY valid "">
+<!ENTITY validity "">
+<!ENTITY escape "">
+<!ENTITY prolog "">
+<!ENTITY surrogate-blocks "TQ[gubN">
+<!ENTITY letter "">
+<!ENTITY ideographic "">
+<!ENTITY markup "}[Nt">
+<!ENTITY left-angle-bracket "s()">
+<!ENTITY right-angle-bracket "s()">
+<!ENTITY string "">
+<!ENTITY char-string ""><!-- string of chararacters,
+ character strings, strings,
+ characters -->
+<!ENTITY replacement-text "ueLXg">
+<!ENTITY single-quote "dp">
+<!ENTITY double-quote "dp">
+<!ENTITY adaptations-annex "Kp">
+<!ENTITY root "[g">
+<!ENTITY base-character "">
+<!ENTITY diacritical-mark ""><!--(_CANeBJ}[N)o-->
+<!ENTITY composed-form "`ョ">
+<!ENTITY standalone "X^hA">
+<!ENTITY double-hyphen "AnCt">
+<!--<!ENTITY case-fold "">-->
+<!-- <!ENTITY case-fold "rC">-->
+<!ENTITY parameter "p^">
+<!ENTITY stream "Xg[">
+<!ENTITY validating "">
+<!ENTITY non-validating "">
+<!ENTITY user "[U">
+<!--<!ENTITY at-user-option "[UIvVw">-->
+<!ENTITY at-user-option "[UIvVw">
+<!ENTITY content-particle "efq">
+<!ENTITY processor "vZT">
+<!ENTITY default "ftHg">
+<!ENTITY default-value "ftHgl">
+<!ENTITY header "wb_">
+<!ENTITY target "^[Qbg">
+<!ENTITY mixed-content "e">
+<!ENTITY country-code "R[h">
+<!ENTITY language-code "R[h">
+<!ENTITY version ""> <!-- version 1.01.0 -->
+<!ENTITY match "}b`">
+<!ENTITY character-value "">
+<!ENTITY byte-order-mark "oCg}[N">
+<!ENTITY bypass "">
+<!ENTITY identifier "ッq">
+<!-- <!ENTITY identify "ッ"> -->
+<!ENTITY identify "">
+<!-- <!ENTITY identified "ッ"> -->
+<!ENTITY identified "">
+<!ENTITY combining-character "">
+<!ENTITY subset "TuZbg">
+<!ENTITY token "g[N">
+<!ENTITY literal "e">
+
+<!ENTITY parenthesis "">
+<!ENTITY left-parenthesis "J">
+<!ENTITY right-parenthesis "">
+
+<!-- C JIS X0221Kv -->
+
+<!ENTITY extender "GNXe_">
+<!ENTITY property "vpeB">
+<!ENTITY property-list "vpeBXg">
+<!ENTITY property-file "vpeBt@C">
+<!ENTITY font-decomposition "tHg">
+<!ENTITY compatibility-decomposition "">
+<!ENTITY compatibility-area "">
+
+<!ENTITY language-identification "ッ">
+
+<!ENTITY space-character "Xy[X">
+<!ENTITY space "Xy[X">
+<!ENTITY code-value "R[hl">
+<!ENTITY normative "K">
+<!ENTITY hueristics "q[XeBbN">
+<!ENTITY informative "">
+
+<!ENTITY WebSGML 'ISO 8879WebSGML&adaptations-annex;'>
+<!ENTITY XML.version "1.0">
+<!ENTITY doc.date "1997N128">
+<!ENTITY iso6.doc.date "971208">
+<!ENTITY w3c.doc.date "97N123">
+<!ENTITY draft.day '8'>
+<!ENTITY draft.month '12'>
+<!ENTITY draft.year '1997N'>
+
+<!-- {タij -->
+
+<!-- LAST TOUCHED BY: Tim Bray, 3 Dec 1997 -->
+
+<!-- The words 'FINAL EDIT' in comments mark places where changes
+need to be made after approval of the document by the ERB, before
+publication. -->
+
+<!ENTITY XML.version "1.0">
+<!ENTITY doc.date "8 December 1997">
+<!ENTITY iso6.doc.date "971208">
+<!ENTITY w3c.doc.date "03-Dec-97">
+<!ENTITY draft.day '8'>
+<!ENTITY draft.month 'December'>
+<!ENTITY draft.year '1997'>
+
+<!ENTITY WebSGML
+ 'WebSGML Adaptations Annex to ISO 8879'>
+
+<!ENTITY newline " ">
+<!-- old: <!ENTITY newline "&#8232;"> -->
+<!ENTITY lt "<">
+<!ENTITY gt ">">
+<!--<!ENTITY amp "&"> -->
+<!ENTITY xmlpio "'&lt;?xml'">
+<!ENTITY pic "'?>'">
+<!ENTITY br "\n">
+<!ENTITY cellback '#c0d9c0'>
+<!ENTITY mdash "--"> <!-- was: <!ENTITY mdash "&#38;#151;"> -->
+<!ENTITY com "--">
+<!ENTITY como "--">
+<!ENTITY comc "--">
+<!ENTITY hcro "&amp;#x">
+<!-- <!ENTITY nbsp ""> -->
+<!ENTITY nbsp "&#160;">
+<!ENTITY magicents "<code>amp</code>,
+<code>lt</code>,
+<code>gt</code>,
+<code>apos</code>,
+<code>quot</code>">
+
+<!--{: Rg|OBav -->
+<!-- audience and distribution status: for use at publication time -->
+<!-- -->
+<!ENTITY doc.audience "Jr[yc_">
+<!ENTITY doc.distribution "eLXgy@C
+ゥRzz">
+
+]>
+
+<!-- for Panorama *-->
+<?VERBATIM "eg" ?>
+
+<spec>
+<header>
+<title>g\&markup; (XML)</title>
+<version>1.0&version;</version>
+<w3c-designation>PR-xml-&iso6.doc.date;</w3c-designation>
+<w3c-doctype>World Wide Web Consortium</w3c-doctype>
+<pubdate><day>&draft.day;</day><month>&draft.month;</month><year>&draft.year;</year></pubdate>
+<notice><p>CXML WGyWメr[CJc_B
+<!-- FINAL EDIT: FIX --></p></notice>
+<publoc>
+<loc href="http://www.w3.org/TR/PR-xml-&iso6.doc.date;">
+http://www.w3.org/TR/PR-xml-&iso6.doc.date;</loc></publoc>
+<prevlocs>
+<loc href='http://www.w3.org/TR/WD-xml-961114'>
+http://www.w3.org/TR/WD-xml-961114</loc>
+<loc href='http://www.w3.org/TR/WD-xml-lang-970331'>
+http://www.w3.org/TR/WD-xml-lang-970331</loc>
+<loc href='http://www.w3.org/TR/WD-xml-lang-970630'>
+http://www.w3.org/TR/WD-xml-lang-970630</loc>
+<loc href='http://www.w3.org/TR/WD-xml-970807'>
+http://www.w3.org/TR/WD-xml-970807</loc>
+<loc href='http://www.w3.org/TR/WD-xml-971117'>
+http://www.w3.org/TR/WD-xml-971117</loc>
+</prevlocs>
+<authlist>
+<author><name>Tim Bray</name>
+<affiliation>Textuality and Netscape</affiliation>
+<email
+href="mailto:tbray@textuality.com">tbray@textuality.com</email></author>
+<author><name>Jean Paoli</name>
+<affiliation>Microsoft</affiliation>
+<email href="mailto:jeanpa@microsoft.com">jeanpa@microsoft.com</email></author>
+<author><name>C. M. Sperberg-McQueen</name>
+<affiliation>University of Illinois at Chicago</affiliation>
+<email href="mailto:cmsmcq@uic.edu">cmsmcq@uic.edu</email></author>
+</authlist>
+<status>
+ <p>&TR-or-Rec;, 1997N12World Wide Web Consortium
+\Extensible Markup Language version1.0|, Z
+pIeX&TR-or-Rec;BThis &eTR-or-Rec;
+is a translation of the XML proposed recommendation 1.0
+published by the World Wide Web Consortium in December 1997. It is
+intended that &eTR-or-Rec; is technically identical to the original.</p>
+
+<p>ALqヲBThe
+original copyright notice is shown below:</p>
+
+<p>XMLKCJr[yc_
+IBeLXgy@CゥR
+zzBThis version of the XML specification is for
+public review and discussion. It may be distributed freely,
+as long as all text and legal notices remain intact.</p>
+
+<p>&TR-or-Rec;XMLC1998N2World
+Wide Web Consortium\XMLu
+BWCXML]
+\BThe XML Proposed Recommendation is superseded
+by the XML Recommendation which was published by the World
+Wide Web Consortium in February 1998. It is intended that
+this &eTR-or-Rec; be revised accordingly in the near future.</p>
+
+<p>&TR-or-Rec;CCN<loc
+href='http://www.w3.org/XML'>XML</loc>CA
+BCLgpIeLXgW
+(W&markup;CStandard Generalized Markup Language, ISO
+8879:1986y)CWWWgp&subset;
+C&TR-or-Rec;CKBISO 8879@\
+&subset;cCC<loc
+href='http://www.w3.org/XML/#WG-decisions'>rp</loc>BXMLC
+iT|[gCXMLT|[g<loc
+href='http://www.w3.org/XML/#software'>t[EFA</loc>
+BXMLJ_cCIC<loc
+href='http://www.w3.org/XML/#discussion'></loc>BIt is a
+stable document derived from a series of working drafts produced over
+the last year as deliverables of the <loc
+href='http://www.w3.org/XML'>XML activity</loc>. It specifies a
+language created by subsetting an existing, widely used international
+text processing standard (Standard Generalized Markup Language, ISO
+8879:1986 as amended and corrected) for use on the World Wide Web.
+Details of the decisions regarding which features of ISO 8879 to
+retain in the subset <loc
+href='http://www.w3.org/XML/#WG-decisions'>are available
+separately</loc>. XML is already supported by some commercial
+products, and there are a growing number of <loc
+href='http://www.w3.org/XML/#software'>free implementations</loc>.
+Public discussions of XML <loc
+href='http://www.w3.org/XML/#discussion'>are accessible
+online</loc>.</p>
+
+<p>&TR-or-Rec;C<bibref ref="Berners-Lee"/>`
+URI(Uniform Resource Identifier)gpBURIis
+C<bibref ref="RFC1738"/>y<bibref ref="RFC1808"/>XV\
+BRFCCKURI
+QCURL(Uniform Resource Locator)QBThis
+specification uses the term URI, which is defined by <bibref
+ref="Berners-Lee"/>, a work in progress expected to update <bibref
+ref="RFC1738"/> and <bibref ref="RFC1808"/>. Should the work not be
+accepted as an RFC, the references to uniform resource identifiers
+(URIs) in this specification will become references to uniform
+resource locators (URLs).</p>
+
+ <p>XMLdlW3CTCg
+BThe normative version of the specification is
+the English version found at the W3C site.</p>
+
+ <p>WdlZpI}A
+|BAlthough this technical report is
+intended to be technically identical to the original, it may
+contain errors from the translation.</p>
+
+ <p>l: KKWA
+&TR-or-Rec;\yAK
+B&TR-or-Rec;WebAKHTML^OB
+</p>
+</status>
+<!-- out of date
+<statusp>This is a W3C Working Draft for review by W3C members and other
+interested parties. It is a draft document and may be updated,
+replaced, or obsoleted by other documents at any time. It is
+inappropriate to use W3C Working Drafts as reference material or to
+cite them as other than "work in progress". A list of current W3C
+working drafts can be found at
+<loc href="http://www.w3.org/TR">http://www.w3.org/TR</loc>.</statusp>
+<statusp><emph>Note:</emph> Since working drafts are subject to frequent
+change, you are advised to reference the above URL, rather than the
+URLs for working drafts themselves.</statusp>
+<statusp>This work is part of the W3C SGML Activity (for current
+status, see <loc href="http://www.w3.org/MarkUp/SGML/Activity"
+>http://www.w3.org/MarkUp/SGML/Activity</loc>).</statusp>
+<p>The current
+draft of this specification
+presupposes the successful completion of the current
+work on the &WebSGML;, being prepared by ISO/IEC JTC1
+at the time this draft specification was drafted.
+If it is not
+adopted in the expected form, some clauses of this specification
+may change, and some
+recommendations now labeled "<termref def="dt-interop">for
+interoperability</termref>" will become requirements labeled
+"<termref def="dt-compat">for compatibility</termref>".
+</p>
+<p>The current draft of this specification uses the term
+URI, which is defined by
+<bibref ref="Berners-Lee"/>,
+which is work in progress expected to update
+<bibref ref="RFC1738"/> and <bibref ref="RFC1808"/>.
+Should the work in this draft not be accepted as an RFC, the
+references to uniform resource identifiers (URIs) in this
+specification will become references to uniform resource
+locators (URLs).</p>
+</status> -->
+<abstract>
+<p>g\&markup;(XML)SGMLPC&TR-or-Rec;CKBXMLWCHTMLlCSGMLEFuzzCMyBXMLタeCSGMLyHTML^pvB</p>
+</abstract>
+<pubstmt>
+<p>Chicago, Vancouver, Mountain View, et al.:
+World-Wide Web Consortium, XMLO[v, 1996, 1997.</p>
+</pubstmt>
+<sourcedesc>
+<p>Created in electronic form.</p>
+</sourcedesc>
+<langusage>
+<language id='EN'>English</language>
+<language id='ebnf'>Extended Backus-Naur Form (formal grammar)</language>
+</langusage>
+<revisiondesc>
+<slist>
+<sitem>1997-12-03 : CMSMcQ : yet further changes</sitem>
+<sitem>1997-12-02 : TB : further changes (see TB to XML WG,
+2 December 1997)</sitem>
+<sitem>1997-12-02 : CMSMcQ : deal with as many corrections and
+comments from the proofreaders as possible:
+entify hard-coded document date in pubdate element,
+change expansion of entity WebSGML,
+update status description as per Dan Connolly (am not sure
+about refernece to Berners-Lee et al.),
+add 'The' to abstract as per WG decision,
+move Relationship to Existing Standards to back matter and
+combine with References,
+re-order back matter so normative appendices come first,
+re-tag back matter so informative appendices are tagged informdiv1,
+remove XXX XXX from list of 'normative' specs in prose,
+move some references from Other References to Normative References,
+add RFC 1738, 1808, and 2141 to Other References (they are not
+normative since we do not require the processor to enforce any
+rules based on them),
+add reference to 'Fielding draft' (Berners-Lee et al.),
+move notation section to end of body,
+drop URIchar non-terminal and use SkipLit instead,
+lose stray reference to defunct nonterminal 'markupdecls',
+move reference to Aho et al. into appendix (Tim's right),
+add prose note saying that hash marks and fragment identifiers are
+NOT part of the URI formally speaking, and are NOT legal in
+system identifiers (processor 'may' signal an error).
+Work through:
+Tim Bray reacting to James Clark,
+Tim Bray on his own,
+Eve Maler,
+
+NOT DONE YET:
+change binary / text to unparsed / parsed.
+handle James's suggestion about &lt; in attriubte values
+uppercase hex characters,
+namechar list,
+</sitem>
+<sitem>1997-12-01 : JB : add some column-width parameters</sitem>
+<sitem>1997-12-01 : CMSMcQ : begin round of changes to incorporate
+recent WG decisions and other corrections:
+binding sources of character encoding info (27 Aug / 3 Sept),
+correct wording of Faust quotation (restore dropped line),
+drop SDD from EncodingDecl,
+change text at version number 1.0,
+drop misleading (wrong!) sentence about ignorables and extenders,
+modify definition of PCData to make bar on msc grammatical,
+change grammar's handling of internal subset (drop non-terminal markupdecls),
+change definition of includeSect to allow conditional sections,
+add integral-declaration constraint on internal subset,
+drop misleading / dangerous sentence about relationship of
+entities with system storage objects,
+change table body tag to htbody as per EM change to DTD,
+add rule about space normalization in public identifiers,
+add description of how to generate our name-space rules from
+Unicode character database (needs further work!).
+</sitem>
+<sitem>1997-10-08 : TB : Removed %-constructs again, new rules
+for PE appearance.</sitem>
+<sitem>1997-10-01 : TB : Case-sensitive markup; cleaned up
+element-type defs, lotsa little edits for style</sitem>
+<sitem>1997-09-25 : TB : Change to elm's new DTD, with
+substantial detail cleanup as a side-effect</sitem>
+<sitem>1997-07-24 : CMSMcQ : correct error (lost *) in definition
+of ignoreSectContents (thanks to Makoto Murata)</sitem>
+<sitem>Allow all empty elements to have end-tags, consistent with
+SGML TC (as per JJC).</sitem>
+<sitem>1997-07-23 : CMSMcQ : pre-emptive strike on pending corrections:
+introduce the term 'empty-element tag', note that all empty elements
+may use it, and elements declared EMPTY must use it.
+Add WFC requiring encoding decl to come first in an entity.
+Redefine notations to point to PIs as well as binary entities.
+Change autodetection table by removing bytes 3 and 4 from
+examples with Byte Order Mark.
+Add content model as a term and clarify that it applies to both
+mixed and element content.
+</sitem>
+<sitem>1997-06-30 : CMSMcQ : change date, some cosmetic changes,
+changes to productions for choice, seq, Mixed, NotationType,
+Enumeration. Follow James Clark's suggestion and prohibit
+conditional sections in internal subset. TO DO: simplify
+production for ignored sections as a result, since we don't
+need to worry about parsers which don't expand PErefs finding
+a conditional section.</sitem>
+<sitem>1997-06-29 : TB : various edits</sitem>
+<sitem>1997-06-29 : CMSMcQ : further changes:
+Suppress old FINAL EDIT comments and some dead material.
+Revise occurrences of % in grammar to exploit Henry Thompson's pun,
+especially markupdecl and attdef.
+Remove RMD requirement relating to element content (?).
+</sitem>
+<sitem>1997-06-28 : CMSMcQ : Various changes for 1 July draft:
+Add text for draconian error handling (introduce
+the term Fatal Error).
+RE deleta est (changing wording from
+original announcement to restrict the requirement to validating
+parsers).
+Tag definition of validating processor and link to it.
+Add colon as name character.
+Change def of %operator.
+Change standard definitions of lt, gt, amp.
+Strip leading zeros from #x00nn forms.</sitem>
+<sitem>1997-04-02 : CMSMcQ : final corrections of editorial errors
+found in last night's proofreading. Reverse course once more on
+well-formed: Webster's Second hyphenates it, and that's enough
+for me.</sitem>
+<sitem>1997-04-01 : CMSMcQ : corrections from JJC, EM, HT, and self</sitem>
+<sitem>1997-03-31 : Tim Bray : many changes</sitem>
+<sitem>1997-03-29 : CMSMcQ : some Henry Thompson (on entity handling),
+some Charles Goldfarb, some ERB decisions (PE handling in miscellaneous
+declarations. Changed Ident element to accept def attribute.
+Allow normalization of Unicode characters. move def of systemliteral
+into section on literals.</sitem>
+<sitem>1997-03-28 : CMSMcQ : make as many corrections as possible, from
+Terry Allen, Norbert Mikula, James Clark, Jon Bosak, Henry Thompson,
+Paul Grosso, and self. Among other things: give in on "well formed"
+(Terry is right), tentatively rename QuotedCData as AttValue
+and Literal as EntityValue to be more informative, since attribute
+values are the <emph>only</emph> place QuotedCData was used, and
+vice versa for entity text and Literal. (I'd call it Entity Text,
+but 8879 uses that name for both internal and external entities.)</sitem>
+<sitem>1997-03-26 : CMSMcQ : resynch the two forks of this draft, reapply
+my changes dated 03-20 and 03-21. Normalize old 'may not' to 'must not'
+except in the one case where it meant 'may or may not'.</sitem>
+<sitem>1997-03-21 : TB : massive changes on plane flight from Chicago
+to Vancouver</sitem>
+<sitem>1997-03-21 : CMSMcQ : correct as many reported errors as possible.
+</sitem>
+<sitem>1997-03-20 : CMSMcQ : correct typos listed in CMSMcQ hand copy of spec.</sitem>
+<sitem>1997-03-20 : CMSMcQ : cosmetic changes preparatory to revision for
+WWW conference April 1997: restore some of the internal entity
+references (e.g. to docdate, etc.), change character xA0 to &amp;nbsp;
+and define nbsp as &amp;#160;, and refill a lot of paragraphs for
+legibility.</sitem>
+<sitem>1996-11-12 : CMSMcQ : revise using Tim's edits:
+Add list type of NUMBERED and change most lists either to
+BULLETS or to NUMBERED.
+Suppress QuotedNames, Names (not used).
+Correct trivial-grammar doc type decl.
+Rename 'marked section' as 'CDATA section' passim.
+Also edits from James Clark:
+Define the set of characters from which [^abc] subtracts.
+Charref should use just [0-9] not Digit.
+Location info needs cleaner treatment: remove? (ERB
+question).
+One example of a PI has wrong pic.
+Clarify discussion of encoding names.
+Encoding failure should lead to unspecified results; don't
+prescribe error recovery.
+Don't require exposure of entity boundaries.
+Ignore white space in element content.
+Reserve entity names of the form u-NNNN.
+Clarify relative URLs.
+And some of my own:
+Correct productions for content model: model cannot
+consist of a name, so "elements ::= cp" is no good.
+</sitem>
+<sitem>1996-11-11 : CMSMcQ : revise for style.
+Add new rhs to entity declaration, for parameter entities.</sitem>
+<sitem>1996-11-10 : CMSMcQ : revise for style.
+Fix / complete section on names, characters.
+Add sections on parameter entities, conditional sections.
+Still to do: Add compatibility note on deterministic content models.
+Finish stylistic revision.</sitem>
+<sitem>1996-10-31 : TB : Add Entity Handling section</sitem>
+<sitem>1996-10-30 : TB : Clean up term &amp; termdef. Slip in
+ERB decision re EMPTY.</sitem>
+<sitem>1996-10-28 : TB : Change DTD. Implement some of Michael's
+suggestions. Change comments back to //. Introduce language for
+XML namespace reservation. Add section on white-space handling.
+Lots more cleanup.</sitem>
+<sitem>1996-10-24 : CMSMcQ : quick tweaks, implement some ERB
+decisions. Characters are not integers. Comments are /* */ not //.
+Add bibliographic refs to 10646, HyTime, Unicode.
+Rename old Cdata as MsData since it's <emph>only</emph> seen
+in marked sections. Call them attribute-value pairs not
+name-value pairs, except once. Internal subset is optional, needs
+'?'. Implied attributes should be signaled to the app, not
+have values supplied by processor.</sitem>
+<sitem>1996-10-16 : TB : track down &amp; excise all DSD references;
+introduce some EBNF for entity declarations.</sitem>
+<sitem>1996-10-?? : TB : consistency check, fix up scraps so
+they all parse, get formatter working, correct a few productions.</sitem>
+<sitem>1996-10-10/11 : CMSMcQ : various maintenance, stylistic, and
+organizational changes:
+Replace a few literals with xmlpio and
+pic entities, to make them consistent and ensure we can change pic
+reliably when the ERB votes.
+Drop paragraph on recognizers from notation section.
+Add match, exact match to terminology.
+Move old 2.2 XML Processors and Apps into intro.
+Mention comments, PIs, and marked sections in discussion of
+delimiter escaping.
+Streamline discussion of doctype decl syntax.
+Drop old section of 'PI syntax' for doctype decl, and add
+section on partial-DTD summary PIs to end of Logical Structures
+section.
+Revise DSD syntax section to use Tim's subset-in-a-PI
+mechanism.</sitem>
+<sitem>1996-10-10 : TB : eliminate name recognizers (and more?)</sitem>
+<sitem>1996-10-09 : CMSMcQ : revise for style, consistency through 2.3
+(Characters)</sitem>
+<sitem>1996-10-09 : CMSMcQ : re-unite everything for convenience,
+at least temporarily, and revise quickly</sitem>
+<sitem>1996-10-08 : TB : first major homogenization pass</sitem>
+<sitem>1996-10-08 : TB : turn "current" attribute on div type into
+CDATA</sitem>
+<sitem>1996-10-02 : TB : remould into skeleton + entities</sitem>
+<sitem>1996-09-30 : CMSMcQ : add a few more sections prior to exchange
+ with Tim.</sitem>
+<sitem>1996-09-20 : CMSMcQ : finish transcribing notes.</sitem>
+<sitem>1996-09-19 : CMSMcQ : begin transcribing notes for draft.</sitem>
+<sitem>1996-09-13 : CMSMcQ : made outline from notes of 09-06,
+do some housekeeping</sitem>
+</slist>
+</revisiondesc>
+</header>
+<body>
+<div1 id='sec-intro'>
+<head></head>
+<!-- <div2 id='sec-scope'>
+ <head>Kp</head> -->
+<p>g\&markup;XML(eXtensible Markup Language)C<termref def="dt-xml-doc">XML</termref>f[^IuWFNgNXKCXMLvOKBXMLCSGML(W&markup;CStandard Generalized Markup Language)<bibref ref='ISO8879'/>&subset;B\CXMLCSGMLKiKB</p>
+<p>XMLC<termref def="dt-entity">タ</termref>LPCタC&parsed-data;&unparsed-data;B&parsed-data;C<termref def="dt-character"></termref>CC<termref def="dt-chardata">f[^</termref>\CC<termref def="dt-markup">&markup;</termref>\B&markup;CLCAEgy_\Lq\BXMLCLCAEgy_\Lq@\B</p>
+<p><termdef id="dt-xml-proc" term="XML&processor;"><term>XML&processor;</term>\tgEFAW[CXMLCey\ANZXpB </termdef> <termdef id="dt-app" term="&application;">XML&processor;CW[OCW[<term>&application;</term>B</termdef>&TR-or-Rec;CXML&processor;sUKBCXMLf[^@KC&application;KB</p>
+<!-- </div2> -->
+<div2 id='sec-origin-goals'>
+<head>oyW</head>
+<p>1996NWorld Wide Web Consortium(W3C)XMLO[v(OC SGMLWr[)CXMLJBO[vcCSun MicrosystemsJon BosakBW3CgDCOSGMLO[vXML SIG(Special Interest Group)CXMLQB
+<!--JIS? XMLO[vot^ヲB-->Dan ConnollyCO[vW3CAWB</p>
+<p>XMLvWCヲB<ulist>
+<item><p>a) XMLCInternetgpB</p></item>
+<item><p>b) XMLCL&application;xB</p></item>
+<item><p>c) XMLCSGMLB</p></item>
+<item><p>d) XMLvOCeB</p></item>
+<item><p>e) XMLCIvV@\CwB</p></item>
+<item><p>f) XMLClC\B</p></item>
+<item><p>g) XMLvCsB</p></item>
+<item><p>h) XMLvCyB</p></item>
+<item><p>i) XMLCeB</p></item>
+<item><p>j) XMLC&markup;CdvB</p></item></ulist>
+</p>
+<p>XML&XML.version;&version;CvZ@vO\C&TR-or-Rec;yAKi(pCUnicodeyISO/IEC 10646C<!--* XXX for Uniform Resource Identifiers, *-->&language-identification;^OpCC^lbg RFC 1766C&language-code;pCISO 639C&country-code;pCISO 3166)CヲB</p>
+<p>&version;XMLK<!-- (&doc.date;) -->CJr[yc_IBeLXgy@CゥRzzB</p>
+</div2>
+<div2 id='sec-terminology'>
+<head>`</head>
+<p>XMLKgppC&TR-or-Rec;`BヲCp`CyXML&processor;KgpB
+<glist>
+<gitem>
+<label>1.2.1 (may)</label>
+<def><p><termdef id="dt-may" term="">KXML&processor;CLqCKvB</termdef></p></def>
+</gitem>
+<gitem>
+<label>1.2.2 (must)</label>
+<def><p>KXML&processor;CLqvBC&error;B<!-- do NOT change this! this is what defines a violation ofa 'must' clause as 'an error'. -MSM -->
+</p></def>
+</gitem>
+<gitem>
+<label>1.2.3 &error;(error)</label>
+<def><p><termdef id="dt-error" term="&error;">&TR-or-Rec;KB`BK\tgEFAC&error;oC&error;B</termdef></p></def>
+</gitem>
+<gitem>
+<label>1.2.4 &fatal-error;(fatal error)</label>
+<def><p><termdef id="dt-fatal" term="&fatal-error;">K<termref def="dt-xml-proc">XML&processor;</termref>oC&application;&error;B&fatal-error;C&processor;C~&error;Tf[^sC&error;C&error;&application;B&error;T|[gC&processor;Cf[^(f[^y&markup;)oC&application;nBCxC&fatal-error;oC&processor;CsBC&processor;Cf[^y_\C@&application;nB</termdef></p></def>
+</gitem>
+<gitem>
+<label>1.2.5 &at-user-option;(at user option)</label>
+<def><p>K\tgEGACLqU(may)CU(must)(B)BUCLqUIi&user;B</p></def>
+</gitem>
+<gitem>
+<label>1.2.6 &validity;(validity constraint)</label>
+<def><p><termref def="dt-valid">&valid;</termref>XMLKpKB&validity;C&error;B&at-user-option;C<termref def="dt-validating">sXML&processor;</termref>C&error;B</p></def>
+</gitem>
+<gitem>
+<label>1.2.7 &well-formed;(well-formedness constraint)</label>
+<def><p><termref def="dt-wellformed">&well-formed;</termref>XMLKpKB&well-formed;C<termref def="dt-fatal">&fatal-error;</termref>B</p></def>
+</gitem>
+<gitem>
+<label>1.2.8 &match;(match)</label>
+<def><p>a) <termdef id="dt-match" term="&match;">&string;O&match;@r&string;OCBISO/IEC 10646C\\mC&composed-form;y+&diacritical-mark;(_CANeBJ}[N)`ョnC&string;\C&match;B&at-user-option;C&processor;CW`KBrAB<!-- Note that no processing of characters with respect to case is part of the matching process. -->&lt;BR>b) &string;@K&match;@KC&string;C&string;CK&match;B&lt;BR>c) eef&match;@vfC<titleref href='elementvalid'>vf&validity;</titleref>ヲKCvfC&match;B</termdef></p></def>
+</gitem>
+<gitem>
+<label>1.2.9 (for compatibility)</label>
+<def><p><termdef id="dt-compat" term="">XML@\CXMLSGMLB</termdef></p></def>
+</gitem>
+<gitem>
+<label>1.2.10 ^p(for interoperability)</label>
+<def><p><termdef id="dt-interop" term="^p">SB&WebSGML;OSGML&processor;CXML\B</termdef></p></def>
+</gitem>
+</glist>
+</p>
+</div2>
+</div1>
+<!-- &Docs; -->
+<div1 id='sec-documents'>
+<head></head>
+<p><termdef id="dt-xml-doc" term="XML">
+<!-- A textual object -->
+&TR-or-Rec;`C<termref def="dt-wellformed">&well-formed;</termref>f[^IuWFNgC<term>XML</term>B&well-formed;XMLCCC<termref def="dt-valid">&valid;</termref>XMLB
+</termdef></p>
+
+<!-- why this div? -TB
+<div2 id='sec-log-phys'>
+<head>Logical and Physical Structure</head> -->
+
+<p>XMLC_\y\BICC<termref def="dt-entity">タ</termref>PBタCタCタ<termref def="dt-entref">Q</termref>BCg[gh<termref def="dt-docent">タ</termref>nB_ICCCvfCRgCQyCCヲI&markup;ヲB_\y\C<titleref href="wf-entities">~</titleref>ヲCqB</p>
+
+<!--
+</div2> -->
+
+<div2 id='sec-well-formed'>
+<head>&well-formed;XML</head>
+<p><termdef id="dt-wellformed" term="&well-formed;">eLXgIuWFNgCCeLXgIuWFNg&well-formed;XMLB</termdef>
+<ulist>
+<item><p>a) SC<nt def='NT-document'>document</nt>xK&match;B</p></item>
+<item><p>b) &TR-or-Rec;`C&well-formed;]B</p>
+</item>
+<item><p>c) <termref def='dt-parsedent'>&parsed-entity;</termref>C<titleref href='wf-entities'>&well-formed;</titleref>B</p></item>
+</ulist></p>
+<p>
+<scrap lang='ebnf' id='document'>
+<head></head>
+<prod id='NT-document'><lhs>document</lhs>
+<rhs><nt def='NT-prolog'>prolog</nt>
+<nt def='NT-element'>element</nt>
+<nt def='NT-Misc'>Misc</nt>*</rhs></prod>
+</scrap>
+</p>
+<p><nt def="NT-document">document</nt>K&match;CB
+<ulist>
+<item><p>a) <termref def="dt-element">vf</termref>B</p>
+</item>
+
+<!--* N.B. some readers (notably JC) find the following
+paragraph awkward and redundant. I agree it's logically redundant:
+it *says* it is summarizing the logical implications of
+matching the grammar, and that means by definition it's
+logically redundant. I don't think it's rhetorically
+redundant or unnecessary, though, so I'm keeping it. It
+could however use some recasting when the editors are feeling
+stronger. -MSM *-->
+
+<item><p>b) <termdef id="dt-root" term="[gvf"><term>[g</term>vfvfCCvf<termref def="dt-content">e</termref>B</termdef>OvfCJn^OvfeCI^OvfeBCvfCJn^OyI^OCq\B
+</p></item>
+</ulist>
+</p>
+<p><termdef id="dt-parentchild" term="evf/qvf">C[gvf<code>C</code>Cvf<code>P</code>C<code>C</code>C<code>P</code>eC<code>P</code>evfBC<code>P</code><code>C</code><code>e</code>C<code>C</code><code>P</code><code>q</code>B</termdef></p>
+</div2>
+<div2 id="charsets">
+<head></head>
+<p>
+
+<!--The data stored in an XML <termref def="dt-entity">entity</termref> is
+either <termref def="dt-text">parsed</termref> or <termref
+def="dt-unparsed">unparsed</termref>. -->
+
+<termdef id="dt-text" term="eLXg">&parsed-entity;C<term>eLXg</term>(<termref def="dt-character"></termref>C&markup;f[^\B)B</termdef><termdef id="dt-character" term=""><term></term>CeLXgPCISO/IEC 10646<bibref ref="ISO10646"/>KB<!--Users may extend the ISO/IEC 10646 character repertoire by exploiting the private use areas. -->eC^uCsCAUnicodeyISO/IEC 10646e}`B</termdef>
+<scrap lang="ebnf" id="char32">
+<head></head>
+<prodgroup pcw2="4" pcw4="17.5" pcw5="11">
+<prod id="NT-Char"><lhs>Char</lhs>
+<rhs>#x9 | #xA | #xD | [#x20-#D7FF] | [#xE000-#xFFFD]
+| [#x10000-#x10FFFF]</rhs>
+<com>CUnicodeBC&surrogate-blocks;CFFFEyFFFFB</com>
+</prod>
+</prodgroup>
+</scrap>
+</p>
+<p>&character-value;rbgp^@\CタBXML&processor;CISO/IEC 10646UTF-8yUTF-16tBpヲ@\Cy@p@\C<titleref href='charencoding'></titleref>LqB</p>
+<p>@pWCISO/IEC 10646WCUCS-4&code-value;<!-- bit string. -->10i16iCQB</p>
+</div2>
+
+<div2 id='sec-common-syn'>
+<head>\\q</head>
+
+<p>2.3C@LgpL`B</p>
+<p><nt def="NT-S">S</nt> ()C&space-character;(#x20)CACs^uB
+
+<scrap lang="ebnf" id='white'>
+<head></head>
+<prodgroup pcw2="4" pcw4="17.5" pcw5="11">
+<prod id='NT-S'><lhs>S</lhs>
+<rhs>(#x20 | #x9 | #xD | #xA)+</rhs>
+</prod>
+</prodgroup>
+</scrap></p>
+<p>XCC&letter;CB&letter;CAt@xbgI\I{(&combining-character;CB)C&ideographic;B
+<!--
+Certain layout and format-control characters defined by ISO/IEC 10646
+should be ignored when recognizing identifiers; these are defined by the
+classes <nt def='NT-Ignorable'>Ignorable</nt> and <nt def='NT-
+Extender'>Extender</nt>.
+-->
+eNXタS`C<titleref href='CharClasses'>NX</titleref>t^KB</p>
+<p><termdef id="dt-name" term="Name"><term>Name</term>C&letter;nC&letter;CCnCtCCRsIh(OB)B</termdef>&string;"<code>xml</code>"<code>(('X'|'x') ('M'|'m') ('L'|'l'))</code>&match;C&string;nOC&TR-or-Rec;W\B
+</p>
+<note>
+<p>XMLORCOタ\BRC_WCCタIIRgpXVKv\BXMLpO@\CqタRgpBタCCOタOCXMLORgpBCXML&processor;CORt]B
+</p>
+</note>
+<p>
+<nt def='NT-Nmtoken'>Nmtoken</nt> (O&token;)CO\B
+<scrap lang='ebnf'>
+<head>Oy&token;</head>
+<!--
+<prod id='NT-MiscName'><lhs>MiscName</lhs>
+<rhs></rhs>
+</prod>-->
+<prod id='NT-NameChar'><lhs>NameChar</lhs>
+<rhs><nt def="NT-Letter">Letter</nt>
+| <nt def='NT-Digit'>Digit</nt>
+<!--| <nt def='NT-MiscName'>MiscName</nt>-->
+| '.' | '-' | '_' | ':'
+| <nt def='NT-CombiningChar'>CombiningChar</nt>
+<!-- | <nt def='NT-Ignorable'>Ignorable</nt> -->
+| <nt def='NT-Extender'>Extender</nt></rhs>
+</prod>
+<prod id='NT-Name'><lhs>Name</lhs>
+<rhs>(<nt def='NT-Letter'>Letter</nt> | '_' | ':')
+(<nt def='NT-NameChar'>NameChar</nt>)*</rhs></prod>
+<prod id='NT-Names'><lhs>Names</lhs>
+<rhs><nt def='NT-Name'>Name</nt>
+(<nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>)*</rhs></prod>
+<prod id='NT-Nmtoken'><lhs>Nmtoken</lhs>
+<rhs>(<nt def='NT-NameChar'>NameChar</nt>)+</rhs></prod>
+<prod id='NT-Nmtokens'><lhs>Nmtokens</lhs>
+<rhs><nt def='NT-Nmtoken'>Nmtoken</nt> (<nt def='NT-S'>S</nt> <nt
+def='NT-Nmtoken'>Nmtoken</nt>)*</rhs></prod>
+</scrap>
+</p>
+<p>&literal;f[^Cp&string;CqgppB&literal;Cタ(<nt def='NT-EntityValue'>EntityValue</nt>)Cl(<nt def='NT-AttValue'>AttValue</nt>)CO&identifier;(<nt def="NT-SystemLiteral">SystemLiteral</nt>)ewgpBIC&literal;SC&markup;sCXLbv(<nt def='NT-SkipLit'>SkipLit</nt>B)B
+<scrap lang='ebnf'>
+<head>&literal;</head>
+<!-- is marked section end legal in entity values etc.?
+James says yes. Handbook page 392, sec. 10.4 seems to me to say no.
+If James is right, leave as is. Otherwise, uncomment
+the next comment and ...
+-->
+<!--
+<prod id='NT-EntityValue'><lhs>EntityValue</lhs>
+<rhs>' " '
+(([^%&amp;"]
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-Reference'>Reference</nt>)*
+- (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-char'>Char</nt>*))
+' " '
+</rhs>
+<rhs>|&nbsp;
+" ' "
+(([^%&amp;']
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-Reference'>Reference</nt>)*
+- (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-char'>Char</nt>*))
+" ' "</rhs>
+</prod>
+<prod id='NT-AttValue'><lhs>AttValue</lhs>
+<rhs>'"'
+(([^&lt;&amp;"]
+| <nt def='NT-Reference'>Reference</nt>)*
+- (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-char'>Char</nt>*))
+' " '
+</rhs>
+<rhs>|&nbsp;
+" ' "
+(([^&lt;&amp;']
+| <nt def='NT-Reference'>Reference</nt>)*
+- (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-char'>Char</nt>*))
+" ' "</rhs>
+<wfc def="CleanAttrVals"/>
+</prod>
+-->
+<!-- ... and comment out the following, down to ... -->
+<prod id='NT-EntityValue'><lhs>EntityValue</lhs>
+<rhs>' " '
+([^%&amp;"]
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-Reference'>Reference</nt>)*
+' " '
+</rhs>
+<rhs>|&nbsp;
+" ' "
+([^%&amp;']
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-Reference'>Reference</nt>)*
+" ' "</rhs>
+</prod>
+<prod id='NT-AttValue'><lhs>AttValue</lhs>
+<rhs>' " '
+([^&lt;&amp;"]
+| <nt def='NT-Reference'>Reference</nt>)*
+' " '
+</rhs>
+<rhs>|&nbsp;
+" ' "
+([^&lt;&amp;']
+| <nt def='NT-Reference'>Reference</nt>)*
+" ' "</rhs>
+<!--<wfc def="WF-Attvaldelim"/>-->
+</prod>
+<!-- ... down to here. -->
+<prod id="NT-SystemLiteral"><lhs>SystemLiteral</lhs>
+<rhs><nt def='NT-SkipLit'>SkipLit</nt></rhs>
+</prod>
+<!-- <prod id="NT-URIchar"><lhs>URIchar</lhs>
+<rhs><com>See <loc href="http://www.w3.org/XXX">XXX</loc></com>
+</rhs></prod>
+-->
+<prod id="NT-PubidLiteral"><lhs>PubidLiteral</lhs>
+<rhs>' " ' <nt def='NT-PubidChar'>PubidChar</nt>*
+' " '
+| " ' " (<nt def='NT-PubidChar'>PubidChar</nt> - " ' ")* " ' "</rhs>
+</prod>
+<prod id="NT-PubidChar"><lhs>PubidChar</lhs>
+<rhs>#x20 | #xD | #xA
+|&nbsp;[a-zA-Z0-9]
+|&nbsp;[-'()+,./:=?]</rhs>
+</prod>
+<prod id="NT-SkipLit"><lhs>SkipLit</lhs>
+<rhs>(' " ' [^"]* ' " ')
+|&nbsp;(" ' " [^']* " ' ")</rhs>
+</prod>
+<!-- alternate form, making ms end illegal: -->
+<!--
+<prod id="NT-SkipLit"><lhs>SkipLit</lhs>
+<rhs>(' " ' ([^"]* - ([^"]* ']]&gt;' [^"]*)) ' " ')
+|&nbsp;(" ' " ([^']* - ([^']* ']]&gt;' [^']*)) " ' ")</rhs>
+</prod>
+-->
+</scrap>
+</p>
+<!--
+<wfcnote id="WF-Attvaldelim">
+<head>Delimiters in Attribute Values</head>
+<p>After the expansion of character and entity references,
+an attribute value must not contain a "<code>&lt;</code>"
+or "<code>&amp;</code>" character unless that character was
+introduced by the expansion of a character reference
+or one of the entities &magicents;.</p>
+</wfcnote>-->
+<!--
+This is not quite right: &lt; should be legal, should it not?
+Suppress this WFC until we get it right.
+-->
+<!-- Henry Thompson suggests (in substance, not form: the wording needs
+to be clarified):
+"Cooked Attribute values must not contain &lt; &amp; or the
+quote which closed their uncooked literal,
+unless arising from the expansion of a character reference or
+magic reference
+directly contained in their uncooked literal."
+I'm not sure I agree with this rule, but it's at least coherent,
+which is more than I can say for my attempt.
+-->
+</div2>
+
+<div2 id='syntax'>
+<head>f[^y&markup;</head>
+<p><termref def='dt-text'>eLXg</termref>C<termref def="dt-chardata">f[^</termref>y&markup;\B<termdef id="dt-markup" term="Markup"><term>&markup;</term>C<termref def="dt-stag">Jn^O</termref>C<termref def="dt-etag">I^O</termref>C<termref def="dt-empty">vf</termref>C<termref def="dt-entref">タQ</termref>C<termref def="dt-charref">Q</termref>C<termref def="dt-comment">Rg</termref>C<termref def="dt-cdsection">CDATAZNV</termref> qC<termref def="dt-doctype">^</termref>y<termref def="dt-pi"></termref>`B
+</termdef>
+</p>
+<p><termdef id="dt-chardata" term="Character Data">&markup;eLXgC<term>f[^</term>\B</termdef></p>
+<p>ApTh (&amp;)y&left-angle-bracket; (&lt;)C&markup;qC<termref def="dt-comment">Rg</termref>C<termref def="dt-pi"></termref><termref def="dt-cdsection">CDATAZNV</termref>gp<emph></emph>C`oBCタ<termref def='dt-litentval'>&literal;タl</termref>LqB C<titleref href='wf-entities'>&well-formed;タ</titleref>KQB<!-- FINAL EDIT: restore internal entity decl or leave it out. -->KvClQ&string;"<code>&amp;amp;</code>"y&string;"<code>&amp;lt;</code>"gpC<termref def="dt-escape">&escape;</termref>B&right-angle-bracket; (>) C&string;"<code>&amp;gt;</code>"gp\Be"<code>]]&gt;</code>"gpCC<termref def="dt-cdsection">CDATAZNV</termref>I&markup;C<termref def='dt-compat'></termref>C"<code>&amp;gt;</code>"QgpC&escape;B</p>
+
+<p>vfeCf[^C&markup;JnqC&char-string;BCDATAZNVCf[^CCDATAZNVIq"<code>]]&gt;</code>"C&char-string;B
+</p>
+<p>
+l&single-quote;y&double-quote;CA|XgtB&single-quote;(') C"<code>&amp;apos;</code>"\C&double-quote;(")C"<code>&amp;quot;</code>"\B
+<scrap lang="ebnf">
+<head>f[^</head>
+<prod id='NT-CharData'>
+<lhs>CharData</lhs>
+<rhs>[^&lt;&amp;]* - ([^&lt;&amp;]* ']]&gt;' [^&lt;&amp;]*)</rhs>
+</prod>
+</scrap>
+</p>
+</div2>
+
+<div2 id='sec-comments'>
+<head>Rg</head>
+
+<p><termdef id="dt-comment" term="Comment"><term>Rg</term>C<termref def='dt-markup'>&markup;</termref>OCBC^C@B
+<!-- TB
+except in a <termref def="dt-cdsection">CDATA section</termref>, i.e. within
+<termref def="dt-elemcontent">element content</termref>, in
+<termref def="dt-mixed">mixed content</termref>, or in the prolog. They must
+not occur within declarations or tags. -->
+RgC<termref def="dt-chardata">f[^</termref>BXML&processor;C&application;RgeLXgo\CB
+<termref def="dt-compat"></termref>C&string;"<code>--</code>" i&double-hyphen;jCRgB
+<scrap lang="ebnf">
+<head>Rg</head>
+<prod id='NT-Comment'><lhs>Comment</lhs>
+<rhs>'&lt;!--'
+((<nt def='NT-Char'>Char</nt> - '-')
+| ('-' (<nt def='NT-Char'>Char</nt> - '-')))*
+'-->'</rhs>
+<!--
+<rhs>'&lt;!&como;'
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*))
+'&comc;&gt;'</rhs> -->
+</prod>
+</scrap>
+</termdef></p>
+<p>RgヲB
+<eg>&lt;!&como; declarations for &lt;head> &amp; &lt;body> &comc;&gt;</eg>
+</p>
+</div2>
+
+<div2 id='sec-pi'>
+<head></head>
+
+<p><termdef id="dt-pi" term="Processing instruction"><term></term>(PI)C&application;B
+
+<scrap lang="ebnf">
+<head></head>
+<prod id='NT-PI'><lhs>PI</lhs>
+<rhs>'&lt;?' <nt def='NT-PITarget'>PITarget</nt>
+(<nt def='NT-S'>S</nt>
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*)))?
+&pic;</rhs></prod>
+<prod id='NT-PITarget'><lhs>PITarget</lhs>
+<rhs><nt def='NT-Name'>Name</nt> -
+(('X' | 'x') ('M' | 'm') ('L' | 'l'))</rhs>
+</prod>
+</scrap></termdef>
+PIC<termref def="dt-chardata">f[^</termref>C&application;nBPICn&application;&identify;gp&target; (<nt def='NT-PITarget'>PITarget</nt>) nB&target; "<code>XML</code>"C"<code>xml</code>"C&TR-or-Rec;Kip\BXML<termref def='dt-notation'>L@</termref>@\CPI&target;gpB
+</p>
+</div2>
+
+<div2 id='sec-cdata-sect'>
+<head>CDATAZNV</head>
+
+<p><termdef id="dt-cdsection" term="CDATA Section"><term>CDATAZNV</term>Cf[^oCoBCC&markup;FッCeLXg&escape;gpBCDATAZNVC&string;"<code>&lt;![CDATA[</code>"nC&string;
+"<code>]]&gt;</code>"IB
+<scrap lang="ebnf">
+<head>CDATAZNV</head>
+<prod id='NT-CDSect'><lhs>CDSect</lhs>
+<rhs><nt def='NT-CDStart'>CDStart</nt>
+<nt def='NT-CData'>CData</nt>
+<nt def='NT-CDEnd'>CDEnd</nt></rhs></prod>
+<prod id='NT-CDStart'><lhs>CDStart</lhs>
+<rhs>'&lt;![CDATA['</rhs>
+</prod>
+<prod id='NT-CData'><lhs>CData</lhs>
+
+<rhs>(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-Char'>Char</nt>*))
+</rhs>
+</prod>
+<prod id='NT-CDEnd'><lhs>CDEnd</lhs>
+<rhs>']]&gt;'</rhs>
+</prod>
+</scrap>
+
+CDATAZNVC<nt def='NT-CDEnd'>CDEnd</nt>&markup;FッC&left-angle-bracket;yApThC&literal;`ョoBC"<code>&amp;lt;</code>"y"<code>&amp;amp;</code>"gp&escape;KvBCDATAZNVCqB
+</termdef>
+</p>
+
+<p>"<code>&lt;greeting></code>"y"<code>&lt;/greeting></code>"C<termref def='dt-markup'>&markup;</termref>C<termref def='dt-chardata'>f[^</termref>FッCDATAZNVCヲB
+<eg>&lt;![CDATA[&lt;greeting>Hello, world!&lt;/greeting>]]&gt;</eg>
+</p>
+</div2>
+
+<div2 id='sec-prolog-dtd'>
+<head>&prolog;y^</head>
+
+<p><termdef id='dt-xmldecl' term='XML Declaration'>XMLCgpXML&version;w<term>XML</term>nC]B
+</termdef>
+</p>
+<p>&TR-or-Rec;&version;KヲC&version; "<code>1.0</code>" gpBC&TR-or-Rec;&version;KCl"<code>1.0</code>"gpC&error;B&TR-or-Rec;&version;"<code>1.0</code>"Olt^CXMLO[v}CXML&version;mヲCCtC@gpmヲB&version;\OCKvCゥI&version;Fッ\iC\qB&processor;CT|[g&version;xtC&error;mB
+</p>
+<p>XML&markup;@\CL\y_\LqCyl_\ABXMLC_\`Cy`LPgp@\C<termref def="dt-doctype">^</termref>B<!-- old
+The function of the markup in an XML document is to describe its
+storage and logical structures, and associate attribute-value pairs with the
+logical structure.
+XML provides a
+mechanism, the <termref def="dt-doctype">document type declaration</termref>,
+to
+define constraints on that logical structure and to support the use of
+predefined storage units. --><termdef id="dt-valid" term="Validity">XML<term>&valid;</term>C^C^ヲB
+</termdef></p>
+<p>^C<termref def="dt-element">vf</termref>OB
+<scrap lang="ebnf" id='xmldoc'>
+<head>&prolog;</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-prolog'><lhs>prolog</lhs>
+<rhs><nt def='NT-XMLDecl'>XMLDecl</nt>?
+<nt def='NT-Misc'>Misc</nt>*
+(<nt def='NT-doctypedecl'>doctypedecl</nt>
+<nt def='NT-Misc'>Misc</nt>*)?</rhs></prod>
+<prod id='NT-XMLDecl'><lhs>XMLDecl</lhs>
+<rhs>&xmlpio;
+<nt def='NT-VersionInfo'>VersionInfo</nt>
+<nt def='NT-EncodingDecl'>EncodingDecl</nt>?
+<nt def='NT-SDDecl'>SDDecl</nt>?
+<nt def="NT-S">S</nt>?
+&pic;</rhs>
+</prod>
+<prod id='NT-VersionInfo'><lhs>VersionInfo</lhs>
+<rhs><nt def="NT-S">S</nt> 'version' <nt def='NT-Eq'>Eq</nt>
+('"<nt def="NT-VersionNum">VersionNum</nt>"'
+| "'<nt def="NT-VersionNum">VersionNum</nt>'")</rhs>
+</prod>
+<prod id='NT-Eq'><lhs>Eq</lhs>
+<rhs><nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?</rhs></prod>
+<prod id="NT-VersionNum">
+<lhs>VersionNum</lhs>
+<rhs>([a-zA-Z0-9_.:] | '-')+</rhs>
+</prod>
+<prod id='NT-Misc'><lhs>Misc</lhs>
+<rhs><nt def='NT-Comment'>Comment</nt> | <nt def='NT-PI'>PI</nt> |
+<nt def='NT-S'>S</nt></rhs></prod>
+</prodgroup>
+</scrap></p>
+
+<p>
+CヲSXMLC<termref def="dt-wellformed">&well-formed;</termref><termref def="dt-valid">&valid;</termref>B
+<eg><![CDATA[<?xml version="1.0"?>
+<greeting>Hello, world!</greeting>
+]]></eg>
+lB
+<eg><![CDATA[<greeting>Hello, world!</greeting>
+]]></eg>
+</p>
+<p><termdef id="dt-doctype" term="Document Type Declaration">
+XML<term>^</term>CNX@<termref def='dt-markupdecl'>&markup;</termref>CQB@C^`<term>DTD</term>B^C&markup;O&subset;(<termref def='dt-extent'>Oタ</termref>)QC&subset;&markup;BC\BDTDC&subset;\B</termdef>
+</p>
+<p><termdef id="dt-markupdecl" term="markup declaration">
+<term>&markup;</term>C<termref def="dt-eldecl">vf^</termref>C <termref def="dt-attdecl">Xg</termref>C<termref def="dt-entdecl">タ</termref><termref def="dt-notdecl">L@</termref>B</termdef>ヲ&well-formed;y&validity;KCC<termref def='dt-PE'>&parameter;タ</termref>SBKC<titleref xml-link="simple" href="sec-physical-struct">\</titleref>KQB</p>
+<scrap lang="ebnf" id='dtd'>
+<head>^`</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-doctypedecl'><lhs>doctypedecl</lhs>
+<rhs>'&lt;!DOCTYPE' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt>
+<nt def='NT-ExternalID'>ExternalID</nt>)?
+<nt def='NT-S'>S</nt>? ('['
+(<nt def='NT-markupdecl'>markupdecl</nt>
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-S'>S</nt>)*
+']'
+<nt def='NT-S'>S</nt>?)? '>'</rhs>
+<vc def="vc-roottype"/>
+<!--<vc def="vc-nonnullDTD"/>-->
+</prod>
+<!--
+<prod id='NT-markupdecls'><lhs>markupdecls</lhs>
+<rhs>
+(<nt def='NT-S'>S</nt>?
+<nt def='NT-markupdecl'>markupdecl</nt>
+<nt def='NT-S'>S</nt>?)*
+</rhs></prod>
+-->
+<prod id='NT-markupdecl'><lhs>markupdecl</lhs>
+<rhs><nt def='NT-elementdecl'>elementdecl</nt>
+| <nt def='NT-AttlistDecl'>AttlistDecl</nt>
+| <nt def='NT-EntityDecl'>EntityDecl</nt>
+| <nt def='NT-NotationDecl'>NotationDecl</nt>
+| <nt def='NT-PI'>PI</nt>
+| <nt def='NT-Comment'>Comment</nt>
+<!--| <nt def='NT-InternalPERef'>InternalPERef</nt> --></rhs>
+<vc def='vc-PEinMarkupDecl'/>
+<wfc def="wfc-PEinInternalSubset"/>
+</prod>
+<!--
+<prod id="NT-InternalPERef"><lhs>InternalPERef</lhs>
+<rhs><nt def="NT-PEReference">PEReference</nt></rhs>
+<wfc def="wfc-integraldec"/>
+</prod>
+-->
+</prodgroup>
+</scrap>
+<vcnote id="vc-roottype">
+<head>&root;vf^</head>
+<p>
+^<nt def='NT-Name'>Name</nt>C&root;vf^&match;B
+</p>
+</vcnote>
+<!--
+<vcnote id="vc-nonnullDTD">
+<head>Non-null DTD</head>
+<p>
+The internal and external subsets of the DTD must not both
+be empty.
+</p>
+</vcnote>
+-->
+<vcnote id='vc-PEinMarkupDecl'>
+<head>y&parameter;タq</head>
+<p>&parameter;タ<termref def='dt-repltext'>&replacement-text;</termref>C&markup;CqBC&markup;(<nt def='NT-markupdecl'>markupdecl</nt>)C<termref def='dt-PERef'>&parameter;タQ</termref>&replacement-text;C&replacement-text;B</p>
+</vcnote>
+<wfcnote id="wfc-PEinInternalSubset">
+<head>&subset;&parameter;タ</head>
+<p>DTD&subset;C<termref def='dt-PERef'>&parameter;タQ</termref>C&markup;o\oB&markup;o(CO&parameter;タO&subset;QKpB)B
+</p>
+</wfcnote>
+<p>
+&subset;lCO&subset;yDTDQCO&parameter;タCI[L<nt def="NT-markupdecl">markupdecl</nt>^CAS&markup;\B&markup;C<termref def="dt-PERef">&parameter;タQ</termref>uBCO&subset;O&parameter;タeC<termref def="dt-cond-section">tZNV</termref>gpBTuZbgCB
+<!--In the external subset, however, parameter-entity references can
+be used to replace constructs prefixed by "<code>%</code>" in a production of
+the grammar, and <termref def="dt-cond-section">conditional sections</termref>
+may occur.
+In the internal subset, by contrast, conditional sections may not
+occur and the only parameter-entity references
+allowed are those which match the non-terminal
+<nt def="NT-InternalPERef">InternalPERef</nt>
+within the rule for <nt def="NT-doctypedecl">markupdecl</nt>.
+-->
+<scrap id="ext-Subset">
+<head>O&subset;</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-extSubset'><lhs>extSubset</lhs>
+<rhs>(
+<nt def='NT-markupdecl'>markupdecl</nt>
+| <nt def='NT-conditionalSect'>conditionalSect</nt>
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-S'>S</nt>
+)*</rhs>
+</prod>
+</prodgroup>
+</scrap></p>
+<p>O&subset;yO&parameter;タCC&parameter;タ&markup;<emph></emph>C&markup;<emph></emph>FッC_&subset;B
+</p>
+<p>^tXMLCヲB
+<eg><![CDATA[<?xml version="1.0"?>
+<!DOCTYPE greeting SYSTEM "hello.dtd">
+<greeting>Hello, world!</greeting>
+]]></eg>
+<termref def="dt-sysid">VXe&identifier;</termref> "<code>hello.dtd</code>"CDTDURIB</p>
+<p>CI^B
+<eg><![CDATA[<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE greeting [
+ <!ELEMENT greeting (#PCDATA)>
+]>
+<greeting>Hello, world!</greeting>
+]]></eg>
+O&subset;y&subset;gpC&subset;O&subset;oB<!--* 'is considered to'? boo. whazzat mean? -->C&subset;タyXgCO&subset;タyXgDB
+</p>
+</div2>
+
+<div2 id='sec-rmd'>
+<head>&standalone;</head>
+<p><termref def="dt-xml-proc">XML&processor;</termref>C&application;enC&markup;Cee^B&default-value;yタBXMLo&standalone;CC&markup;ewヲiC&markup;CBjB
+<scrap lang="ebnf" id='fulldtd'>
+<head>&standalone;</head>
+<prodgroup pcw2="4" pcw4="19.5" pcw5="9">
+<prod id='NT-SDDecl'><lhs>SDDecl</lhs>
+<rhs>
+<nt def="NT-S">S</nt>
+'standalone' <nt def='NT-Eq'>Eq</nt> "'" ('yes' | 'no') "'"
+</rhs>
+<rhs>
+| <nt def="NT-S">S</nt>
+'standalone' <nt def='NT-Eq'>Eq</nt> '"' ('yes' | 'no') '"'
+</rhs><vc def='vc-check-rmd'/></prod>
+</prodgroup>
+</scrap></p>
+<p>&standalone;, "<code>yes</code>"lC<termref def='dt-docent'>タ</termref>OiDTDO&subset;C&subset;QOp^タjCXML&processor;&application;ne&markup;B"<code>no</code>"lCO&markup;C\B&standalone;C<emph></emph>OヲBOタQCタIC&standalone;e^B</p>
+
+<p>O&markup;C&standalone;BO&markup;C&standalone;C<code>"no"</code> lB</p>
+<p>XML <code>standalone="no"</code> CASY&standalone;CClbg[NzM&application;]B</p>
+<vcnote id='vc-check-rmd'>
+<head>&standalone;</head>
+<p>&standalone;CO&markup;Cl "<code>no</code>" B
+<ulist>
+<item><p>a) <termref def="dt-default">&default;</termref>ltCKpvfClwB</p></item>
+<item><p>b) &magicents;OタCタ<termref def="dt-entref">Q</termref>oB</p>
+</item>
+<item><p>c) l<titleref href='AVNormalize'>K</titleref>CKlwB</p></item>
+<item>
+<p>d) <termref def="dt-elemcontent">vfe</termref>vf^Cvf^CX^XB
+</p></item>
+</ulist>
+</p>
+</vcnote>
+<p>&standalone;tXMLCヲB
+<eg>&lt;?xml version="&XML.version;" standalone='yes'?></eg></p>
+</div2>
+<div2 id='sec-white-space'>
+<head></head>
+<p>XMLWC&markup;Cgh(&space;C^uysB&TR-or-Rec;CI[L<nt def='NT-S'>S</nt>\)gBCzz&version;}BCghCzz&version;cBCy\[XR[hB</p>
+<p><termref def='dt-xml-proc'>XML&processor;</termref>C&markup;OCX&application;nB<termref def='dt-validating'>&validating;XML&processor;</termref>C<termref def="dt-elemcontent">vfe</termref>&markup;C&application;vfedv`B</p>
+<p>
+"<code>xml:space</code>"<termref def='dt-attr'></termref>}Cdv}ヲBKpvfCAvP[VdvvC}ヲB</p>
+<p>&valid;CgpC<termref def="dt-attdecl"></termref>BCl"<code>default</code>"y "<code>preserve</code>"<termref def='dt-enumerated'>^</termref>B
+</p>
+<p>l"<code>default</code>"C&application;&default;[hCvfKp\Bl"<code>preserve</code>"C&application;B}C"<code>xml:space</code>" wCvfevfKp゚B</p>
+<p><termref def='dt-root'>&root;vf</termref>ClwC&default-value;C&application;C}ヲ゚B</p>
+<p>ヲB
+<eg><![CDATA[ <!ATTLIST poem xml:space (default|preserve) 'preserve'>]]></eg>
+</p>
+</div2>
+<div2 id='sec-line-ends'>
+<head>s</head>
+<p>XML<termref def='dt-parsedent'>\&parsed-entity;</termref>CRs[^t@CCWXsBsCC<code>CR</code> (#xD)R[hy <code>LF</code> (#xA)R[hgB</p>
+<p><termref def='dt-app'>&application;</termref>PCO&parsed-entity;&parsed-entity;&literal;タlC"<code>#xD#xA</code>" QA&literal;<code>#xD</code>P&literal;C<termref def='dt-xml-proc'>XML&processor;</termref>C&application;P<code>#xA</code>n(CsR[h\OKCeタB)B</p>
+</div2>
+<div2 id='sec-lang-tag'>
+<head>&language-identification;</head>
+<p>CgゥR`ョヲCB<!--gpghtC"Espa&#x00F1;ol" y"EBNF"oヲB--><!-- x00F1: spanish's small ntilde--></p>
+<!--; ij\ヲCoE`fyeLXgubN`ey\B-->
+<p>XMLvfelgp<!--ゥR`ョ-->wC"<code>xml:lang</code>" O<termref def="dt-attr"></termref>C}B
+<!--; XMLKCXML&application;^p`B-->
+lC<bibref ref="RFC1766"/>gRFC1766F&language-identification;^OhK&language-identification;R[h]B
+<scrap lang='ebnf'>
+<head>&language-identification;</head>
+<prod id='NT-LanguageID'><lhs>LanguageID</lhs>
+<rhs><nt def='NT-Langcode'>Langcode</nt>
+('-' <nt def='NT-Subcode'>Subcode</nt>)*</rhs></prod>
+<prod id='NT-Langcode'><lhs>Langcode</lhs>
+<rhs><nt def='NT-ISO639Code'>ISO639Code</nt> |
+<nt def='NT-IanaCode'>IanaCode</nt> |
+<nt def='NT-UserCode'>UserCode</nt></rhs>
+</prod>
+<prod id='NT-ISO639Code'><lhs>ISO639Code</lhs>
+<rhs>([a-z] | [A-Z]) ([a-z] | [A-Z])</rhs></prod>
+<prod id='NT-IanaCode'><lhs>IanaCode</lhs>
+<rhs>('i' | 'I') '-' ([a-z] | [A-Z])+</rhs></prod>
+<prod id='NT-UserCode'><lhs>UserCode</lhs>
+<rhs>('x' | 'X') '-' ([a-z] | [A-Z])+</rhs></prod>
+<prod id='NT-Subcode'><lhs>Subcode</lhs>
+<rhs>([a-z] | [A-Z])+</rhs></prod>
+</scrap>
+<nt def='NT-Langcode'>Langcode</nt>CB
+<ulist>
+<item><p>a) <bibref ref="ISO639"/>gO\R[hhK2&language-code;</p></item>
+<item><p>b) Internet Assigned Numbers Authority (IANA)o^&language-code;BC "<code>i-</code>" ("<code>I-</code>")nB</p></item>
+<item><p>c) &user;&language-code;CIgpcR[hBCIANAWo^R[hC"<code>x-</code>" "<code>X-</code>" nB</p></item>
+</ulist></p>
+<p><nt def='NT-Subcode'>Subcode</nt>CgBTuR[hCeC<bibref ref="ISO3166"/>ISO3166g\R[h(R[h)hBTuR[h3C<nt def='NT-Langcode'>Langcode</nt>C"<code>x-</code>" "<code>X-</code>"nCwTuR[hCIANAo^B</p>
+<p>&language-code;C\LC&country-code;C()\LsBCXMLOClCyB</p>
+<p>ヲB
+<eg><![CDATA[<p xml:lang="en">The quick brown fox jumps over the lazy dog.</p>
+<p xml:lang="en-GB">What colour is it?</p>
+<p xml:lang="en-US">What color is it?</p>
+<sp who="Faust" desc='leise' xml:lang="de">
+ <l>Habe nun, ach! Philosophie,</l>
+ <l>Juristerei, und Medizin</l>
+ <l>und leider auch Theologie</l>
+ <l>]]><!-- x00DF german's es-zet; x00FC german's u-umlaut -->durchaus studiert mit hei&#223;em Bem&#252;h'n.<![CDATA[</l>
+ </sp>]]></eg></p>
+<!--<p>xml:lang lCvfey(&default-value;)t[eLXg(CDATA)lvflCKpB-->
+<p><code>xml:lang</code>}C<code>xml:lang</code>wCwvfevfKpB</p>
+<!--vf xml:lang lCDTD&default-value;Cvfxml:lang lCevflCpB <term>Op\vfCxml:langlCタClB
+
+ <p xml:lang="en">Here the keywords are
+ <term xml:lang="en">shift</term> and
+ <term>reduce</term>. ...</p>
+
+XML&processor;&application;ClpCB
+-->
+<p>
+&valid;C&TR-or-Rec;KCKBCC`B
+<eg>xml:lang NMTOKEN #IMPLIED</eg>
+KvC&default-value;^BpwptXWCypLqCxml:lang B
+<eg><![CDATA[ <!ATTLIST poem xml:lang NMTOKEN 'fr'>
+ <!ATTLIST gloss xml:lang NMTOKEN 'en'>
+ <!ATTLIST note xml:lang NMTOKEN 'en'>]]></eg>
+</p>
+<!--
+DTDvメCXNvg(yh)CXNvgyKClXNvgLpvBNvfCQN\[X(v)()\vf`]BC&application;C&TR-or-Rec;KOB-->
+</div2>
+</div1>
+<!-- &Elements; -->
+
+<div1 id='sec-logical-struct'>
+<head>_\</head>
+
+<p><termdef id="dt-element" term="Element"><termref def="dt-xml-doc">XML</termref>C<term>vf</term>BvfE, <termref def="dt-stag">Jn^O</termref>y<termref def="dt-etag">I^O</termref>Bvf<termref def="dt-empty"></termref>vfC<termref def="dt-eetag">vf^O</termref>ヲBeXvfC^Bvf^O(&identifier;(generic identifier)GIB)&identified;BvfCB</termdef>C<termref def="dt-attrname">O</termref>y<termref def="dt-attrval">l</termref>B</p>
+
+<scrap lang='ebnf'><head>vf</head>
+<prod id='NT-element'><lhs>element</lhs>
+<rhs><nt def='NT-EmptyElemTag'>EmptyElemTag</nt></rhs>
+<rhs>| <nt def='NT-STag'>STag</nt> <nt def='NT-content'>content</nt>
+<nt def='NT-ETag'>ETag</nt></rhs><wfc def='GIMatch'/></prod>
+</scrap>
+<p>&TR-or-Rec;Cvf^yCgp@C(\)O^BC<code>(('X'|'x')('M'|'m')('L'|'l'))</code>&match;OC&TR-or-Rec;W\B</p>
+
+<wfcnote id='GIMatch'><head>vf^&match;</head>
+<p>vfI^O<nt def='NT-Name'>O</nt>CvfJn^O^&match;B</p>
+</wfcnote>
+
+<div2 id='sec-starttags'>
+<head>Jn^OCI^Oyvf^O</head>
+<p><termdef id="dt-stag" term="Start-Tag">CXMLvfnC<term>Jn^O</term>&markup;B
+<scrap lang='ebnf'><head>Jn^O</head>
+<prodgroup pcw2="6" pcw4="15" pcw5="11.5">
+<prod id='NT-STag'><lhs>STag</lhs><rhs>'&lt;' <nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt> <nt def='NT-Attribute'>Attribute</nt>)* <nt def='NT-S'>S</nt>? '>'</rhs><wfc def="uniqattspec"/></prod>
+<prod id='NT-Attribute'><lhs>Attribute</lhs><rhs><nt def='NT-Name'>Name</nt> <nt def='NT-Eq'>Eq</nt> <nt def='NT-AttValue'>AttValue</nt></rhs><vc def='ValueType'/><wfc def='NoExternalRefs'/><wfc def='CleanAttrVals'/></prod>
+</prodgroup>
+</scrap>
+Jn^OyI^O<nt def='NT-Name'>Name</nt>Cvf<term>^</term>\B</termdef><termdef id="dt-attr" term="Attribute"><nt def='NT-Name'>Name</nt>y<nt def='NT-AttValue'>AttValue</nt>vf<term>w</term></termdef>C<termdef id="dt-attrname" term="Attribute Name">X<nt def='NT-Name'>Name</nt>C<term></term></termdef>y<termdef id="dt-attrval" term="Attribute Value"><nt def='NT-AttValue'>AttValue</nt>e(q<code>'</code><code>"</code>&string;)<term>l</term>B</termdef></p>
+
+<wfcnote id='uniqattspec'><head>w</head>
+<p>Jn^Ovf^OCQxoB</p></wfcnote>
+<vcnote id='ValueType'><head>l^</head>
+<p>Bl^C^(^C<titleref href='AttDecls'>Xg</titleref>KQB)B</p></vcnote>
+<wfcnote id='NoExternalRefs'><head>OタQ</head>
+<p>lCOタIIQB</p></wfcnote>
+<wfcnote id='CleanAttrVals'><head>l<code>&lt;</code></head>
+<p>lIIQタ(<code>&amp;lt;</code>B)<termref def='dt-repltext'>&replacement-text;</termref>C<code>&lt;</code>B</p></wfcnote>
+
+<p>Jn^OCヲB
+<eg>&lt;termdef id="dt-dog" term="dog"></eg></p>
+<p><termdef id="dt-etag" term="End Tag">Jn^OnvfIC<term>I^O</term>&markup;BI^OCJn^Ovf^OB
+<scrap lang='ebnf'><head>I^O</head><prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-ETag'><lhs>ETag</lhs><rhs>'&lt;/' <nt def='NT-Name'>Name</nt> <nt def='NT-S'>S</nt>? '>'</rhs></prod></prodgroup></scrap></termdef></p>
+<p>I^OCヲB
+<eg>&lt;/termdef></eg></p>
+
+<p><termdef id="dt-content" term="Content">vfJn^OI^O<termref def='dt-text'>eLXg</termref>Cvf<term>e</term>B
+<scrap lang='ebnf'><head>vfe</head>
+<prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-content'><lhs>content</lhs><rhs>(<nt def='NT-element'>element</nt> | <nt def='NT-CharData'>CharData</nt> | <nt def='NT-Reference'>Reference</nt> | <nt def='NT-CDSect'>CDSect</nt> | <nt def='NT-PI'>PI</nt> | <nt def='NT-Comment'>Comment</nt>)*</rhs></prod></prodgroup></scrap></termdef></p>
+
+<p><termdef id="dt-empty" term="Empty">vf<term></term>CvfCI^OJn^Ovf^O\B</termdef><termdef id="dt-eetag" term="empty-element tag"><term>vf^O</term>C`ョB
+<scrap lang='ebnf'><head>vf^O</head><prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-EmptyElemTag'><lhs>EmptyElemTag</lhs><rhs>'&lt;' <nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt> <nt def='NT-Attribute'>Attribute</nt>)* <nt def='NT-S'>S</nt>? '/&gt;'</rhs><wfc def="uniqattspec"/></prod></prodgroup></scrap></termdef></p>
+
+<!-- nFgvf^O(tags for empty elements)hgvf^O(empty-element tag)hvC -->
+
+<p>vf^OCeCvf\pBvf^O\vfCL[[h<kw>EMPTY</kw>pB</p>
+<p>vfCヲB
+<eg>&lt;IMG align="left" src="http://www.w3.org/Icons/WWW/w3c_home" />&lt;br>&lt;/br>&lt;br/></eg></p>
+</div2>
+
+<div2 id='elemdecls'><head>vf</head>
+<p><termref def="dt-valid">&validity;</termref>CvfyXgp<termref def="dt-xml-doc">XML</termref><termref def="dt-element">vf</termref>\CB</p>
+<p>vfCvf<termref def="dt-content">e</termref>B</p>
+<p>vfCvf<termref def="dt-parentchild">q</termref>o\vf^CB&at-user-option;Cvfvf^vfQCXML&processor;CxoBC&error;B</p>
+
+<p><termdef id="dt-eldecl" term="Element Type declaration"><term>vf^</term>C`ョB
+<scrap lang='ebnf'><head>vf^</head><prodgroup pcw2="5.5" pcw4="18" pcw5="9">
+<prod id='NT-elementdecl'><lhs>elementdecl</lhs>
+<rhs>'&lt;!ELEMENT' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>
+<nt def='NT-contentspec'>contentspec</nt>
+<nt def='NT-S'>S</nt>? '>'</rhs>
+<vc def='EDUnique'/></prod>
+<prod id='NT-contentspec'><lhs>contentspec</lhs>
+<rhs>'EMPTY'
+| 'ANY'
+| <nt def='NT-Mixed'>Mixed</nt>
+| <nt def='NT-children'>children</nt>
+</rhs>
+<vc def='elementvalid'/>
+</prod>
+</prodgroup>
+</scrap>
+C<nt def='NT-Name'>Name</nt>Cvf^B</termdef></p>
+
+<vcnote id='EDUnique'><head>vf</head>
+<p>vf^QxB</p></vcnote>
+
+<vcnote id='elementvalid'><head>vf&validity;</head>
+<p>vf<!-- said to be -->&valid;C<nt def='NT-elementdecl'>elementdecl</nt>&match;C<nt def='NT-Name'>Name</nt>vf^&match;CB<ulist>
+<item><p>a) <kw>EMPTY</kw>&match;Cvf<termref def='dt-content'>e</termref>B</p></item>
+<item><p>b) <nt def='NT-children'>children</nt>&match;Cvf<termref def="dt-parentchild">qvf</termref>CefK\B</p></item>
+<item><p>c) <nt def='NT-Mixed'>mixed</nt>&match;Cvfe<termref def='dt-chardata'>f[^</termref>y<termref def='dt-parentchild'>qvf</termref>Bqvfvf^CvfefoO&match;B</p></item>
+<item><p>d) <kw>ANY</kw>&match;C<termref def='dt-parentchild'>qvf</termref>vf^B</p></item></ulist>
+
+</p></vcnote>
+<!-- with the new VC, I don't think the next few paras add anything -TWB
+<p><termdef id="dt-model" term="content model">An element can declared using a <term>content model</term>, in which case its content can be categorized as <termref def="dt-elemcontent">element content</termref> or <termref def='dt-mixed'>mixed content</termref>, as explained below.</termdef></p>
+<p>An element whose type declared using the keyword <kw>EMPTY</kw> must be <termref def="dt-empty">empty</termref> and may be tagged using an <termref def="dt-eetag">empty-element tag</termref> when it appears in the document.</p>
+<p>If an element type is declared using the keyword <kw>ANY</kw>, then there are no validity constraints on its content: it may contain <termref def='dt-parentchild'>child elements</termref> of any type and number, interspersed with character data.</p> -->
+
+<p>vfCヲB
+<eg>
+&lt;!ELEMENT br EMPTY>
+&lt;!ELEMENT p (#PCDATA|emph)* >
+&lt;!ELEMENT %name.para; %content.para; >
+&lt;!ELEMENT container ANY>
+</eg></p>
+
+<div3 id='sec-element-content'><head>vfe</head>
+
+<p><termdef id='dt-elemcontent' term='Element content'>^vf<termref def='dt-parentchild'>q</termref>vf(f[^B)Cvf<termref def="dt-stag">^</termref>C<term>vfe</term>CB</termdef>CCefBefCqvf^yqvfoP@B@C&content-particle;(<nt def='NT-cp'>cp</nt>s)B&content-particle;COC&content-particle;IXg&content-particle;Xg\B
+<scrap lang='ebnf'><head>vfef</head><prodgroup pcw2="5.5" pcw4="16" pcw5="11">
+<prod id='NT-children'><lhs>children</lhs><rhs>(<nt def='NT-choice'>choice</nt> | <nt def='NT-seq'>seq</nt>) ('?' | '*' | '+')?</rhs></prod><prod id='NT-cp'><lhs>cp</lhs><rhs>(<nt def='NT-Name'>Name</nt> | <nt def='NT-choice'>choice</nt> | <nt def='NT-seq'>seq</nt>) ('?' | '*' | '+')?</rhs></prod>
+<prod id='NT-choice'><lhs>choice</lhs><rhs>'(' <nt def='NT-S'>S</nt>? cp ( <nt def='NT-S'>S</nt>? '|' <nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> )*<nt def='NT-S'>S</nt>? ')'</rhs><vc def='vc-PEinGroup'/></prod>
+<prod id='NT-seq'><lhs>seq</lhs><rhs>'(' <nt def='NT-S'>S</nt>? cp ( <nt def='NT-S'>S</nt>? ',' <nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> )*<nt def='NT-S'>S</nt>? ')'</rhs><vc def='vc-PEinGroup'/></prod>
+<!-- <prod id='NT-cps'><lhs>cps</lhs><rhs><nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> <nt def='NT-S'>S</nt>?</rhs></prod>
+<prod id='NT-choice'><lhs>choice</lhs><rhs>'(' <nt def='NT-S'>S</nt>? <nt def='NT-ctokplus'>ctokplus</nt> (<nt def='NT-S'>S</nt>? '|' <nt def='NT-S'>S</nt>? <nt def='NT-ctoks'>ctoks</nt>)* <nt def='NT-S'>S</nt>? ')'</rhs></prod>
+<prod id="NT-ctokplus"><lhs>ctokplus</lhs><rhs><nt def="NT-cps">cps</nt>('|' <nt def="NT-cps">cps</nt>)+</rhs></prod>
+<prod id="NT-ctoks"><lhs>ctoks</lhs><rhs><nt def="NT-cps">cps</nt>('|' <nt def="NT-cps">cps</nt>)*</rhs></prod>
+<prod id='NT-seq'><lhs>seq</lhs><rhs>'(' <nt def='NT-S'>S</nt>?<nt def='NT-stoks'>stoks</nt> (<nt def='NT-S'>S</nt>? ',' <nt def='NT-S'>S</nt>? <nt def='NT-stoks'>stoks</nt>)*<nt def='NT-S'>S</nt>? ')'</rhs></prod>
+<prod id="NT-stoks"><lhs>stoks</lhs><rhs><nt def="NT-cps">cps</nt>(',' <nt def="NT-cps">cps</nt>)*</rhs></prod>
+-->
+</prodgroup></scrap>
+C<nt def='NT-Name'>Name</nt>C<termref def="dt-parentchild">q</termref>ovf^ヲB@IXguCIXg&content-particle;<termref def="dt-elemcontent">vfe</termref>BXg&content-particle;CXgwC<termref def="dt-elemcontent">vfe</termref>BOXgoIvV<!-- nFcharacter -->CXgvf&content-particle;C1C(<code>+</code>)C0C(<code>*</code>)01(<code>?</code>)o\KBヲ\yC&TR-or-Rec;KpB</p>
+
+<!-- nFCgnamelisthglistoKhCnameoKBCKvlB -->
+
+<p>vfeef&match;CCIyJZqCevfefvf^&match;CefpXB<termref def='dt-compat'></termref>CvfCefvf^ou&match;C&error;BKC<titleref xml-link="simple" href="determinism">Ief</titleref>QB
+<!-- appendix <specref ref="determinism"/>. -->
+<!-- appendix on deterministic content models. -->
+</p>
+
+<vcnote id='vc-PEinGroup'>
+<head>O[vyp^タq</head>
+<p>p^タ<termref def='dt-repltext'>&replacement-text;</termref>C&parenthesis;O[vCq\BC<nt def='NT-choice'>I</nt>C<nt def='NT-seq'></nt><nt def='NT-Mixed'></nt>iC&left-parenthesis;&right-parenthesis;<termref def='dt-PERef'>p^タ</termref>&replacement-text;C&replacement-text;B</p>
+<p><termref def='dt-interop'>^p</termref>Cp^タQ<nt def='NT-choice'>I</nt>C<nt def='NT-seq'></nt><nt def='NT-Mixed'></nt>eC&replacement-text;]C&replacement-text;yCRlN^(<code>|</code><code>,</code>)B
+</p>
+</vcnote>
+<p>vfefCヲB
+<eg>&lt;!ELEMENT spec (front, body, back?)>
+&lt;!ELEMENT div1 (head, (p | list | note)*, div2*)>
+&lt;!ELEMENT dictionary-body (%div.mix; | %dict.mix;)*></eg></p>
+</div3>
+
+<div3 id='sec-mixed-content'>
+<head>&mixed-content;</head>
+
+<p><termdef id='dt-mixed' term='Mixed Content'>vf^vfC<termref def="dt-parentchild">q</termref>vff[^\Cvf<termref def='dt-stag'>^</termref>C<term>&mixed-content;</term>B</termdef>Cqvf^<!-- nFgmay be constrainedhPuvB -->CqvfoB
+<scrap lang='ebnf'>
+<head>&mixed-content;</head>
+<prodgroup pcw2="5.5" pcw4="16" pcw5="11">
+<prod id='NT-Mixed'><lhs>Mixed</lhs>
+<rhs>'(' <nt def='NT-S'>S</nt>?
+'#PCDATA'
+(<nt def='NT-S'>S</nt>?
+'|'
+<nt def='NT-S'>S</nt>?
+<nt def='NT-Name'>Name</nt>)*
+<nt def='NT-S'>S</nt>?
+')*' </rhs>
+<rhs>| '(' <nt def='NT-S'>S</nt>? '#PCDATA' <nt def='NT-S'>S</nt>? ')'
+</rhs><vc def='vc-PEinGroup'/>
+<vc def='vc-MixedChildrenUnique'/>
+</prod>
+<!--
+<prod id="NT-Mtoks"><lhs>Mtoks</lhs>
+<rhs><nt def="NT-Name">Name</nt>
+(<nt def='NT-S'>S</nt>?
+'|'
+<nt def='NT-S'>S</nt>?
+<nt def="NT-Name">Name</nt>)*
+</rhs>
+</prod>
+-->
+</prodgroup>
+</scrap>
+C<nt def='NT-Name'>Name</nt>Cqovf^ヲB
+</p>
+
+<vcnote id='vc-MixedChildrenUnique'>
+<head>vf^d~</head>
+<p>&mixed-content;COoB
+</p></vcnote>
+<p>&mixed-content;CヲB
+<eg>&lt;!ELEMENT p (#PCDATA|a|ul|b|i|em)*>
+&lt;!ELEMENT p (#PCDATA | %font; | %phrase; | %special; | %form;)* >
+&lt;!ELEMENT b (#PCDATA)></eg></p>
+</div3>
+</div2>
+
+
+<div2 id='attdecls'>
+<head>Xg</head>
+<p>
+<termref def="dt-attr"></termref>COyl<termref def="dt-element">vf</termref>AtpBwC<termref def="dt-stag">Jn^O</termref><termref def="dt-eetag">vf</termref>^O\BCFッKC<titleref href='sec-starttags'>Jn^O</titleref>KヲBXgCIpB
+<ulist>
+<item><p>a) vf^KpWKB</p></item>
+<item><p>b) ^B</p></item>
+<item><p>c) <termref def="dt-default">&default-value;</termref>KB</p></item>
+</ulist>
+</p>
+<p>
+<termdef id="dt-attdecl" term="Attribute-List Declaration">
+<term>Xg</term>Cvf^AteCOCf[^^y()&default-value;KB
+<scrap lang='ebnf'>
+<head>Xg</head>
+<prod id='NT-AttlistDecl'><lhs>AttlistDecl</lhs>
+<rhs>'&lt;!ATTLIST' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-AttDef'>AttDef</nt>*
+<nt def='NT-S'>S</nt>? '&gt;'</rhs>
+</prod>
+<prod id='NT-AttDef'><lhs>AttDef</lhs>
+<rhs><nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt> <nt def='NT-AttType'>AttType</nt>
+<nt def='NT-S'>S</nt> <nt def='NT-Default'>Default</nt></rhs>
+</prod>
+</scrap>
+
+<nt def='NT-AttlistDecl'>AttlistDecl</nt>K<nt def="NT-Name">Name</nt>Cvf^OB&at-user-option;Cvf^CXML&processor;CxoBC&error;B
+<nt def='NT-AttDef'>AttDef</nt>K<nt def='NT-Name'>Name</nt>COB
+</termdef>
+</p>
+<p>
+vfC<nt def='NT-AttlistDecl'>AttlistDecl</nt>^Ce}[WBvf^C`^CLCB<termref def='dt-interop'>^p</termref>CDTDメCvf^XXg^CX`^CyXg`^CIB^pCXML&processor;C&at-user-option;Cvf^Xg^C`^CxoBCC&error;B
+</p>
+
+<div3 id='sec-attribute-types'>
+<head>^</head>
+<p>
+XML^CRBC&string;^C&token;^y^B&string;^ClC&string;B&token;^CヲylXB
+
+<scrap lang='ebnf'>
+<head>Attribute Types</head>
+<prodgroup pcw4="14" pcw5="11.5">
+<prod id='NT-AttType'><lhs>AttType</lhs>
+<rhs><nt def='NT-StringType'>StringType</nt>
+| <nt def='NT-TokenizedType'>TokenizedType</nt>
+| <nt def='NT-EnumeratedType'>EnumeratedType</nt>
+</rhs>
+</prod>
+<prod id='NT-StringType'><lhs>StringType</lhs>
+<rhs>'CDATA'</rhs>
+</prod>
+<prod id='NT-TokenizedType'><lhs>TokenizedType</lhs>
+<rhs>'ID'</rhs>
+<vc def='id'/>
+<vc def='one-id-per-el'/>
+<vc def='id-default'/>
+<rhs>| 'IDREF'</rhs>
+<vc def='idref'/>
+<rhs>| 'IDREFS'</rhs>
+<vc def='idref'/>
+<rhs>| 'ENTITY'</rhs>
+<vc def='entname'/>
+<rhs>| 'ENTITIES'</rhs>
+<vc def='entname'/>
+<rhs>| 'NMTOKEN'</rhs>
+<vc def='nmtok'/>
+<rhs>| 'NMTOKENS'</rhs>
+<vc def='nmtok'/></prod>
+</prodgroup>
+</scrap>
+</p>
+
+<vcnote id='id' >
+<head>ID</head>
+<p>
+^lCK<code>Name</code>&match;BXMLCOC^lBCIDlCvf&identify;B
+</p>
+</vcnote>
+<vcnote id='one-id-per-el'>
+<head>1vf1ID</head>
+<p>
+vf^CIDlB
+</p>
+</vcnote>
+<vcnote id='id-default'>
+<head>ID&default;</head>
+<p>
+IDC&default;C<code>#IMPLIED</code><code>#REQUIRED</code>B
+</p>
+</vcnote>
+<vcnote id='idref'>
+<head>IDREF</head>
+<p>
+<kw>IDREF</kw>^lCK<nt def="NT-Name">Name</nt>&match;B<kw>IDREFS</kw>^lCK<nt def="NT-Names">Names</nt>&match;BeX<nt def='NT-Name'>Name</nt>CXMLvfIDl&match;BC<kw>IDREF</kw>lCIDl&match;B
+</p>
+</vcnote>
+<vcnote id='entname'>
+<head>タ</head>
+<p>
+<kw>ENTITY</kw>^lCK<nt def="NT-Name">Name</nt>&match;B<kw>ENTITIES</kw>^lCK<nt def="NT-Names">Names</nt>&match;BeX<nt def="NT-Name">Name</nt>C<termref def="dt-doctype">DTD</termref><termref def="dt-unparsed">&unparsed-entity;</termref>&match;B
+</p>
+</vcnote>
+<vcnote id='nmtok'>
+<head>O&token;</head>
+<p>
+<kw>NMTOKEN</kw>^lCI[L<termref def="NT-Nmtoken">Nmtoken</termref>&match;&string;\B<kw>NMTOKENS</kw>^lCI[L<termref def="NT-Nmtokens">Nmtokens</termref>&match;&string;\B
+</p>
+</vcnote>
+<p>
+XML&processor;C&application;lnOC<titleref href="AVNormalize">lK</titleref>KClKB
+</p>
+<p>
+<termdef id='dt-enumerated' term='Enumerated Attribute Values'><term>^</term>ClB</termdef>^C2B
+
+<scrap lang='ebnf'>
+<head>^</head>
+<prod id='NT-EnumeratedType'><lhs>EnumeratedType</lhs>
+<rhs><nt def='NT-NotationType'>NotationType</nt>
+| <nt def='NT-Enumeration'>Enumeration</nt>
+</rhs></prod>
+<prod id='NT-NotationType'><lhs>NotationType</lhs>
+<rhs>'NOTATION'
+<nt def='NT-S'>S</nt>
+'('
+<nt def='NT-S'>S</nt>?
+<nt def='NT-Name'>Name</nt>
+(<nt def='NT-S'>S</nt>? '|' <nt def='NT-Name'>Name</nt>)*
+<nt def='NT-S'>S</nt>? ')'
+</rhs>
+<vc def='notatn' /></prod>
+<prod id='NT-Enumeration'><lhs>Enumeration</lhs>
+<rhs>'(' <nt def='NT-S'>S</nt>?
+<nt def='NT-Nmtoken'>Nmtoken</nt>
+(<nt def='NT-S'>S</nt>? '|'
+<nt def='NT-S'>S</nt>?
+<nt def='NT-Nmtoken'>Nmtoken</nt>)*
+<nt def='NT-S'>S</nt>?
+')'</rhs>
+<vc def='enum'/></prod>
+</scrap>
+</p>
+
+<vcnote id='notatn'>
+<head>L@</head>
+<p>^lC<titleref href='Notations'>L@</titleref>O&match;BCL@CB
+</p>
+</vcnote>
+<vcnote id='enum'>
+<head></head>
+<p>
+^lC<nt def='NT-Nmtoken'>Nmtoken</nt>&token;&match;B
+</p>
+</vcnote>
+<p>
+<termref def='dt-interop'>^p</termref>C<nt def='NT-Nmtoken'>Nmtoken</nt>CPvf^^CB
+</p>
+</div3>
+
+<div3 id='sec-attr-defaults'>
+<head>&default;</head>
+
+<p>
+<termref def="dt-attdecl"></termref>CwK{^BK{CwCXML&processor;@^B
+
+<scrap lang='ebnf'>
+<head>&default;</head>
+<prodgroup pcw4="14" pcw5="11.5">
+<prod id='NT-Default'><lhs>Default</lhs>
+<rhs>'#REQUIRED'
+|&nbsp;'#IMPLIED' </rhs>
+<rhs>| (('#FIXED' S)? <nt def='NT-AttValue'>AttValue</nt>)</rhs>
+<vc def='defattrvalid'/>
+<wfc def="CleanAttrVals"/>
+</prod>
+</prodgroup>
+</scrap>
+<!-- improved by bosak
+<scrap lang='ebnf'>
+<head>Attribute Defaults</head>
+<prod id='NT-Default'><lhs>Default</lhs>
+<rhs>'#REQUIRED'
+|&nbsp;'#IMPLIED' </rhs>
+<vc def='defattrvalid'/>
+<wfc def="CleanAttrVals"/>
+<rhs>| (('#FIXED' S)? <nt def='NT-AttValue'>AttValue</nt>)</rhs>
+</prod>
+</scrap>-->
+</p>
+
+<vcnote id='defattrvalid'>
+<head>&default;</head>
+<p>
+&default-value;C^B
+</p>
+</vcnote>
+<p>
+<kw>#REQUIRED</kw>wCvf^<termref def="dt-stag">Jn^O</termref>Cl^XML&processor;C<termref def="dt-valid">&valid;</termref>B<kw>#IMPLIED</kw>wCCXML&processor;ClwAvP[V`BC&application;UB
+</p>
+<p>
+<termdef id="dt-default" term="Attribute Default">
+<kw>#REQUIRED</kw><kw>#IMPLIED</kw>C<nt def='NT-AttValue'>AttValue</nt>lC<term>&default-value;</term>B<kw>#FIXED</kw>C&default-value;lwCC<termref def="dt-valid">&valid;</termref>B&default-value;CC&default-value;lwCXML&processor;U]B
+</termdef></p>
+
+<p>XgCヲB
+
+<eg>&lt;!ATTLIST termdef
+ id ID #REQUIRED
+ name CDATA #IMPLIED>
+&lt;!ATTLIST list
+ type (bullets|ordered|glossary) "ordered">
+&lt;!ATTLIST form
+ method CDATA #FIXED "POST"></eg></p>
+</div3>
+
+<div3 id='AVNormalize'>
+<head>lK</head>
+<p>
+XML&processor;Cl&application;nOCKB
+
+<ulist>
+<item>
+<p>a) ClyタCssE(VXeR[hE)g&string;C&space-character;(#x20)u(u<titleref xml-link="simple" href="sec-line-ends">s</titleref>vQB)B
+</p></item>
+<item>
+<p>b) CQy&parsed-entity;QCWJBOタQC&error;B
+</p></item>
+<item>
+<p>c) C^<kw>CDATA</kw>C&string;C&space-character;(#x20)KCcCB
+</p></item>
+</ulist>
+
+&non-validating;&parser;CCC<kw>CDATA</kw>]B</p>
+</div3>
+</div2>
+
+<div2 id='sec-condition-sect'>
+<head>tZNV</head>
+<p>
+<termdef id='dt-cond-section' term='conditional section'>
+<term>tZNV</term>C<termref def='dt-doctype'>^O&subset;</termref>CL[[hwCDTD_\CB
+</termdef>
+
+<scrap lang='ebnf'>
+<head>tZNV</head>
+<prodgroup pcw2="9" pcw4="14.5">
+<prod id='NT-conditionalSect'><lhs>conditionalSect</lhs>
+<rhs><nt def='NT-includeSect'>includeSect</nt>
+| <nt def='NT-ignoreSect'>ignoreSect</nt>
+</rhs>
+</prod>
+<prod id='NT-includeSect'><lhs>includeSect</lhs>
+<rhs>'&lt;![' S? 'INCLUDE' S? '['
+<!-- (<nt def='NT-markupdecl'>markupdecl</nt>
+ | <nt def="NT-conditionalSect">conditionalSect</nt>
+ | <nt def="NT-S">S</nt>)*
+-->
+<nt def="NT-extSubset">extSubset</nt>
+']]&gt;'
+</rhs>
+</prod>
+<prod id='NT-ignoreSect'><lhs>ignoreSect</lhs>
+<rhs>'&lt;![' S? 'IGNORE' S? '['
+<nt def="NT-ignoreSectContents">ignoreSectContents</nt>*
+']]&gt;'</rhs>
+</prod>
+<prod id='NT-ignoreSectContents'><lhs>ignoreSectContents</lhs>
+<rhs><nt def='NT-Ignore'>Ignore</nt>
+('&lt;![' <nt def='NT-ignoreSectContents'>ignoreSectContents</nt>
+']]&gt;'
+<nt def='NT-Ignore'>Ignore</nt>)*</rhs></prod>
+<prod id='NT-Ignore'><lhs>Ignore</lhs>
+<rhs><nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* ('&lt;![' | ']]&gt;')
+<nt def='NT-Char'>Char</nt>*)
+</rhs></prod>
+<!--<rhs>
+((<nt def='NT-SkipLit'>SkipLit</nt>
+| <nt def='NT-Comment'>Comment</nt>
+| <nt def='NT-PI'>PI</nt>) -
+(<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-Char'>Char</nt>*))
+| ('&lt;![' <nt def='NT-ignoreSectContents'>ignoreSectContents</nt>*
+']]&gt;')
+</rhs>
+<rhs>
+| (<nt def='NT-Char'>Char</nt> - (']' | [&lt;'"]))
+</rhs>
+<rhs>
+| ('&lt;!' (<nt def='NT-Char'>Char</nt> - ('-' | '[')))
+</rhs>-->
+</prodgroup>
+</scrap>
+</p>
+
+<p>tZNVCDTD&subset;yO&subset;lCSCRgqtZNVCBCB
+</p>
+<p>
+tZNVL[[h<code>INCLUDE</code>CXML&processor;CtZNVeCBtZNVL[[h<code>IGNORE</code>CtZNVeCB\sCtZNV(IGNORE)CeBCqtZNVC()OtZNVoBL[[h<code>INCLUDE</code>tZNVCL[[h<code>IGNORE</code>tZNVCOytZNVB
+</p>
+<p>
+tZNVL[[hp^タQCXML&processor;tZNVfOCp^タWJB
+</p>
+
+<p>ヲB
+
+<eg>&lt;!ENTITY % draft 'INCLUDE' >
+&lt;!ENTITY % final 'IGNORE' >
+
+&lt;![%draft;[
+&lt;!ELEMENT book (comments*, title, body, supplements?)>
+]]&gt;
+&lt;![%final;[
+&lt;!ELEMENT book (title, body, supplements?)>
+]]&gt;
+</eg>
+</p>
+</div2>
+<!--
+<div2 id='sec-pass-to-app'>
+<head>XML Processor Treatment of Logical Structure</head>
+<p>When an XML processor encounters a start-tag, it must make
+at least the following information available to the application:
+<ulist>
+<item>
+<p>the element type's generic identifier</p>
+</item>
+<item>
+<p>the names of attributes known to apply to this element type
+(validating processors must make available names of all attributes
+declared for the element type; non-validating processors must
+make available at least the names of the attributes for which
+values are specified.
+</p>
+</item>
+</ulist>
+</p>
+</div2>
+-->
+
+</div1>
+<!-- &Entities; -->
+
+<div1 id='sec-physical-struct'>
+<head>\</head>
+
+<p>
+<termdef id="dt-entity" term="Entity">
+XMLCLP\BLPC<term>タ</term>BタC<term>e</term>Cタ(~Q)y<termref def='dt-doctype'>ODTD&subset;</termref>C<term>O</term>&identified;B
+</termdef>
+
+<!-- Added for CFG -->
+<!-- obscurity amputated by TWB -->
+<!-- entire sentence amputated by CMSMcQ: no one but NO ONE is
+ready for entities declared as
+<!ENTITY foo "http://www.foo.com/bar.xml#id">
+and it's pointless to suggest that it's possible
+under current circumstances. -->
+<!-- An entity may be stored in, -->
+<!--but need not be coterminous with, -->
+<!-- but need not comprise the whole of, -->
+<!-- a single physical storage object such as a file or -->
+<!-- database field. -->
+<!-- End sentence added for CFG -->eXMLC<termref def="dt-docent">タ</termref>タB<termref def="dt-xml-proc">XML&processor;</termref>CタJnBタCB</p>
+
+<p>タC&parsed-entity;&unparsed-entity;B<termdef id="dt-parsedent" term="Text Entity"><term>&parsed-entity;</term>eC&parsed-entity;<termref def='dt-repltext'>&replacement-text;</termref>B<termref def="dt-text">eLXg</termref>C{゚B
+</termdef>
+</p>
+
+<p>
+<termdef id="dt-unparsed" term="Unparsed Entity">
+<term>&unparsed-entity;</term>Ce<termref def='dt-text'>eLXg</termref>\[XBeLXgCXMLBe&unparsed-entity;C<termref def="dt-notation">L@</termref>AtCL@CO&identified;BL@OyAt&identifier;CXML&processor;&application;nvOCXMLC&unparsed-entity;eB
+</termdef>
+</p>
+
+<p>&parsed-entity;CタQOoB&unparsed-entity;C<kw>ENTITY</kw>^<kw>ENTITIES</kw>^lCOQB</p>
+
+<p>
+<termdef id='gen-entity' term='general entity'><term>タ</term>Cegp&parsed-entity;BC&TR-or-Rec;CタP<emph>タ</emph>B</termdef><termdef id='dt-PE' term='Parameter entity'>p^タCDTDgp&parsed-entity;B</termdef>QタCョQCFッB</p>
+
+<!--
+<div2 id='sec-synchro'>
+<head>Logical and Physical Structures</head>
+<p>The logical and physical structures (elements and entities)
+in an XML document must
+be properly nested.
+<termref def='dt-stag'>Tags</termref> and <termref def='dt-element'>elements</termref> must
+each begin and end in the same <termref def='dt-entity'>entity</termref>, but may
+refer to other
+entities internally; <termref def='dt-comment'>comments</termref>,
+<termref def='dt-pi'>processing instructions</termref>,
+<termref def='dt-charref'>character
+references</termref>, and
+<termref def='dt-entref'>entity references</termref> must each be contained entirely
+within a single entity. Entities must each contain an integral number
+of elements, comments, processing instructions, and references,
+possibly together with character data not contained within any element
+in the entity, or else they must contain non-textual data, which by
+definition contains no elements.</p></div2>
+-->
+
+<div2 id='sec-references'>
+<head>QyタQ</head>
+<p>
+<termdef id="dt-charref" term="Character Reference">
+<term>Q</term>CISO/IEC 10646WCC@s\QB
+
+<scrap lang='ebnf'>
+<head>Q</head>
+<prod id='NT-CharRef'><lhs>CharRef</lhs>
+<rhs>'&amp;#' [0-9]+ ';' </rhs>
+<rhs>| '&hcro;' [0-9a-fA-F]+ ';'</rhs>
+<wfc def="wf-Legalchar"/>
+</prod>
+</scrap>
+<wfcnote id="wf-Legalchar">
+<head></head>
+<p>QQCI[L<termref def="NT-Char">Char</termref>]B</p>
+</wfcnote>
+ "<code>&amp;#x</code>" nCI[ "<code>;</code>" yAt@xbgCISO/IEC 10646 R[h16i\B
+<!--{: letterAt@xbgB OD -->
+ "<code>&amp;#</code>" nCI[ "<code>;</code>" CR[h10i\B
+</termdef>
+</p>
+
+<p>
+<termdef id="dt-entref" term="Entity Reference">
+<term>タQ</term>COtタeQB</termdef><termdef id='dt-GERef' term='General Entity Reference'>タQCApTh(<code>&amp;</code>)yZ~R(<code>;</code>)qpB</termdef><termdef id='dt-PERef' term='Parameter-entity reference'><term>p^タ</term>QCp[ZgL(<code>%</code>)yZ~R(<code>;</code>)qpB
+</termdef>
+</p>
+
+<scrap lang="ebnf">
+<head>タQ</head>
+<prod id='NT-Reference'><lhs>Reference</lhs>
+<rhs><nt def='NT-EntityRef'>EntityRef</nt>
+| <nt def='NT-CharRef'>CharRef</nt></rhs></prod>
+<prod id='NT-EntityRef'><lhs>EntityRef</lhs>
+<rhs>'&amp;' <nt def='NT-Name'>Name</nt> ';'</rhs>
+<wfc def='wf-entdeclared'/>
+<vc def='vc-entdeclared'/>
+<wfc def='textent'/>
+<wfc def='norecursion'/>
+</prod>
+<prod id='NT-PEReference'><lhs>PEReference</lhs>
+<rhs>'%' <nt def='NT-Name'>Name</nt> ';'</rhs>
+<wfc def='wf-entdeclared'/>
+<vc def='vc-entdeclared'/>
+<wfc def='textent'/>
+<wfc def='norecursion'/>
+<wfc def='indtd'/>
+</prod>
+</scrap>
+
+<wfcnote id='wf-entdeclared'>
+<head>タ</head>
+<p>DTDCp^タQDTD&subset;C "<code>standalone='yes'</code>" CタQp <nt def='NT-Name'>Name</nt> Cタ^OC<termref def="dt-match">&match;</termref>BC&well-formed;Cタ&magicents; KvBp^タCCQsBlCタCXg&default-value;QCB</p>
+
+<p>O&subset;Op^タタC&non-validating;&processor;CC<titleref href='include-if-valid'>`</titleref>BCタKC&well-formed;B
+</p>
+</wfcnote>
+
+<vcnote id="vc-entdeclared">
+<head>タ</head>
+<p>
+O&subset;Op^タC"<code>standalone='no'</code>"CタQp <nt def='NT-Name'>Name</nt> Cタ^O<termref def="dt-match">&match;</termref>B^pC&valid;<titleref href="sec-escapes">`タK</titleref>wョCタ &magicents;]Bp^タCCQsBlCタCXg&default-value;QCB
+</p>
+</vcnote>
+
+<!-- FINAL EDIT: is this duplication too clumsy? -->
+
+<wfcnote id='textent'>
+<head>&parsed-entity;</head>
+<p>
+タQC<termref def="dt-unparsed">&unparsed-entity;</termref>OB&unparsed-entity;C<kw>ENTITY</kw>^<kw>ENTITIES</kw> ^<termref def="dt-attrval">l</termref>QB
+</p>
+</wfcnote>
+
+<wfcnote id='norecursion'>
+<head>A</head>
+<p>&parsed-entity;CゥQCB</p>
+</wfcnote>
+
+<wfcnote id='indtd'>
+<head>DTD</head>
+<p>
+p^タQC<termref def='dt-doctype'>DTD</termref>CoB
+<!--
+In the external DTD subset, a parameter-entity reference is
+recognized only at the locations where
+the nonterminal <nt def="NT-PEReference">PEReference</nt> or the
+special operator <code>%</code> appears in a production of the
+grammar. In the internal subset, parameter-entity references
+are recognized only when they match
+the <nt def="NT-InternalPERef">InternalPERef</nt> non-terminal
+in the production for <nt def="NT-markupdecl">markupdecl</nt>.
+-->
+</p>
+</wfcnote>
+
+<p>
+QyタQCヲB
+<eg>Type &lt;key>less-than&lt;/key> (&hcro;3C;) to save options.
+This document was prepared on &amp;docdate; and
+is classified &amp;security-level;.</eg>
+</p>
+
+<p>
+p^タQCヲB
+<eg>&lt;!ENTITY % ISOLat2
+ SYSTEM "http://www.xml.com/iso/isolat2-xml.entities" >
+%ISOLat2;
+</eg>
+</p>
+</div2>
+
+<div2 id='sec-entity-decl'>
+<head>タ</head>
+
+<p>
+<termdef id="dt-entdecl" term="entity declaration">
+タCB
+<scrap lang='ebnf'>
+<head>タ</head>
+<prodgroup pcw2="5" pcw4="18.5">
+<prod id='NT-EntityDecl'><lhs>EntityDecl</lhs>
+<rhs><nt def="NT-GEDecl">GEDecl</nt></rhs><com>タ</com>
+<rhs>| <nt def="NT-PEDecl">PEDecl</nt></rhs><com>p^タ</com>
+</prod>
+<prod id='NT-GEDecl'><lhs>GEDecl</lhs>
+<rhs>'&lt;!ENTITY' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt> <nt def='NT-EntityDef'>EntityDef</nt>
+<nt def='NT-S'>S</nt>? '&gt;'</rhs>
+</prod>
+<prod id='NT-PEDecl'><lhs>PEDecl</lhs>
+<rhs>| '&lt;!ENTITY' <nt def='NT-S'>S</nt> '%' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt> <nt def='NT-S'>S</nt>
+<nt def='NT-PEDef'>PEDef</nt> <nt def='NT-S'>S</nt>? '&gt;'</rhs>
+<com>p^タ</com>
+</prod>
+<prod id='NT-EntityDef'><lhs>EntityDef</lhs>
+<rhs><nt def='NT-EntityValue'>EntityValue</nt>
+</rhs>
+<!--<wfc def="WF-EntityValue"/>-->
+<rhs>| <nt def='NT-ExternalDef'>ExternalDef</nt></rhs>
+<!--<wfc def="WF-External"/>-->
+</prod>
+<!-- FINAL EDIT: what happened to WFs here? -->
+<prod id='NT-PEDef'><lhs>PEDef</lhs>
+<rhs><nt def='NT-EntityValue'>EntityValue</nt>
+| <nt def='NT-ExternalID'>ExternalID</nt></rhs></prod>
+</prodgroup>
+</scrap>
+
+<nt def='NT-Name'>Name</nt> C<termref def="dt-entref">タQ</termref>タ&identify;B&unparsed-entity;C<kw>ENTITY</kw> ^<kw>ENTITIES</kw>^lCタ&identify;BタCpB&at-user-option;CタCXML&processor;CxoB
+</termdef>
+</p>
+
+<!--
+<wfcnote id="WF-Entityvalue">
+<head>Well-Formed Internal Entity</head>
+<p>General entities defined by an <nt
+def="NT-EntityValue">EntityValue</nt> must be well-formed, as defined
+in section <specref ref="wf-entities"/>.
+</p>
+</wfcnote>
+<wfcnote id="WF-External">
+<head>Well-Formed External Entity</head>
+<p>General text entities defined by an <nt
+def="NT-ExternalDef">ExternalDef</nt>, must be well-formed, as defined
+in the section on <titleref xml-link="simple"
+href="wf-entities">well-formed entities.</titleref>.</p>
+</wfcnote>
+-->
+
+<div3 id='sec-internal-ent'>
+<head>タ</head>
+<p>
+<termdef id='dt-internent' term="Internal Entity Replacement Text">
+タ` <nt def='NT-EntityValue'>EntityValue</nt>C<term>タ</term>BCILPCタeC^B</termdef><termref def='dt-repltext'>&replacement-text;</termref>C<termref def='dt-litentval'>&literal;タl</termref>タQyQCKvBC<titleref href='intern-replacement'>タ&replacement-text;\z</titleref>QB
+
+<!-- redundant -TWB
+Within the <nt def="NT-EntityValue">EntityValue</nt>,
+parameter-entity references and character references are recognized
+and expanded immediately.
+General-entity references within the
+replacement text are not recognized
+at the time the entity declaration is parsed, though they may be
+recognized when the entity itself is referred to.
+-->
+
+</p>
+
+<p>
+タC<termref def="dt-parsedent">&parsed-entity;</termref>B
+</p>
+
+<p>タCヲB
+<eg>&lt;!ENTITY Pub-Status "This is a pre-release of the specification."></eg></p>
+</div3>
+
+<div3 id='sec-external-ent'>
+<head>Oタ</head>
+<p>
+<termdef id="dt-extent" term="External Entity">
+タタC<term>Oタ</term>CB
+
+<scrap lang='ebnf'>
+<head>Oタ</head>
+<prod id='NT-ExternalDef'><lhs>ExternalDef</lhs>
+<rhs><nt def='NT-ExternalID'>ExternalID</nt>
+<nt def='NT-NDataDecl'>NDataDecl</nt>?</rhs></prod>
+<prod id='NT-ExternalID'><lhs>ExternalID</lhs>
+<rhs>'SYSTEM' <nt def='NT-S'>S</nt>
+<nt def='NT-SystemLiteral'>SystemLiteral</nt></rhs>
+<rhs>| 'PUBLIC' <nt def='NT-S'>S</nt>
+<nt def='NT-PubidLiteral'>PubidLiteral</nt>
+<nt def='NT-S'>S</nt>
+<nt def='NT-SystemLiteral'>SystemLiteral</nt>
+</rhs>
+</prod>
+<prod id='NT-NDataDecl'><lhs>NDataDecl</lhs>
+<rhs><nt def='NT-S'>S</nt> 'NDATA' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt></rhs>
+<vc def='not-declared'/></prod>
+</scrap>
+
+<nt def='NT-NDataDecl'>NDataDecl</nt> CタC<termref def="dt-unparsed">&unparsed-entity;</termref>CC&parsed-entity;B</termdef>
+</p>
+
+<vcnote id='not-declared'>
+<head>L@</head>
+<p>
+<nt def='NT-Name'>Name</nt> C<termref def="dt-notation">L@</termref>O&match;B
+</p>
+</vcnote>
+
+<p>
+<termdef id="dt-sysid" term="System Identifier">
+L[[h <kw>SYSTEM</kw> <nt def='NT-SystemLiteral'>SystemLiteral</nt> Cタ<term>VXe&identifier;</term>BURICタeopB</termdef>URIgnbV("<code>#</code>")ytOg&identifier;CョCURIゥBtOg&identifier;CVXe&identifier;^CXML&processor;C&error;oB&TR-or-Rec;O(CDTDXMLvf&application;dl`)CIURICタuCCタt@CIBCDTD&subset;タIURICuIBO&subset;タIURICO&subset;t@CuIB
+</p>
+
+<p>
+<termdef id="dt-pubid" term="Public identifier">
+VXe&identifier;OCOタC<term>J&identifier;</term>B
+</termdef>
+タeoXML&processor;CJ&identifier;pCURIBXML&processor;クsCVXe&literal;wURIpB&match;OCJ&identifier;&string;CP&space-character;(#x20)KCOB
+</p>
+
+<p>OタCヲB
+<eg>&lt;!ENTITY open-hatch
+ SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml">
+&lt;!ENTITY open-hatch
+ PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN"
+ "http://www.textuality.com/boilerplate/OpenHatch.xml">
+&lt;!ENTITY hatch-pic
+ SYSTEM "../grafix/OpenHatch.gif"
+ NDATA gif ></eg></p>
+</div3>
+
+</div2>
+
+<div2 id='TextEntities'>
+<head>&parsed-entity;</head>
+<div3 id='sec-TextDecl'>
+<head>eLXg</head>
+<p>O&parsed-entity;C<term>eLXg</term>nB
+<scrap lang='ebnf'>
+<head>eLXg</head>
+<prodgroup pcw4="12.5" pcw5="13">
+<prod id='NT-TextDecl'><lhs>TextDecl</lhs>
+<rhs>&xmlpio;
+<nt def='NT-VersionInfo'>VersionInfo</nt>?
+<nt def='NT-EncodingDecl'>EncodingDecl</nt>
+<nt def='NT-S'>S</nt>? &pic;</rhs>
+<!-- <wfc def='wfc-xmldecliteral'/> -->
+<!-- <wfc def='wfc-no-nonleading-encdec'/> -->
+</prod>
+</prodgroup>
+</scrap>
+</p>
+<p>eLXgC`C&parsed-entity;QoRB</p>
+<p>O&parsed-entity;CeLXgCOuoB</p>
+</div3>
+<div3 id='wf-entities'>
+<head>&well-formed;&parsed-entity;</head>
+<p>x<nt def='NT-document'>document</nt>K&match;CタC&well-formed;Bx<nt def='NT-ExtParsedEnt'>ExtParsedEnt</nt>K&match;CO&parsed-entity;C&well-formed;Bx<nt def='NT-ExtPE'>ExtPE</nt>K&match;COp^タC&well-formed;B
+
+<scrap lang='ebnf'>
+<head>&well-formed;&parsed-entity;</head>
+<prod id='NT-ExtParsedEnt'><lhs>ExtParsedEnt</lhs>
+<rhs><nt def='NT-TextDecl'>TextDecl</nt>?
+<nt def='NT-content'>content</nt></rhs>
+</prod>
+<prod id='NT-ExtPE'><lhs>ExtPE</lhs>
+<rhs><nt def='NT-TextDecl'>TextDecl</nt>?
+<nt def='NT-extSubset'>extSubset</nt></rhs>
+</prod>
+</scrap>
+&replacement-text;Cx<nt def='NT-content'>content</nt>K&match;C&parsed-entity;C&well-formed;BDTDCmタBp^タC`&well-formed;B
+</p>
+<p>タ&well-formed;CXML_IyI\CqB<termref def='dt-stag'>Jn^O</termref>C<termref def='dt-etag'>I^O</termref>C<termref def="dt-empty">vf^O</termref>C<termref def='dt-element'>vf</termref>C<termref def='dt-comment'>Rg</termref>C<termref def='dt-pi'></termref>C<termref def='dt-charref'>Q</termref>y<termref def='dt-entref'>タQ</termref>CタJnCタIB</p>
+</div3>
+<div3 id='charencoding'>
+<head>タ</head>
+
+<p>XMLO&parsed-entity;CeXCョpBXML&processor;CUTF-8タCUTF-16タB
+<!--
+It is recognized that for some purposes, the use of additional
+ISO/IEC 10646 planes other than the Basic Multilingual Plane
+may be required.
+A facility for handling characters in these planes is therefore a
+desirable characteristic in XML processors and applications.
+-->
+</p>
+<p>UTF-16タCISO/IEC 10646t^EyUnicodet^BK&byte-order-mark;(ZERO WIDTH NO-BREAK SPACEC#xFEFF)nBCWッCXML&markup;Cf[^BXML&processor;CUTF-8UTF-16sCgp\B</p>
+<p>XML&processor;CUTF-8yUTF-16タK{CEpCpタXML&processor;]BUTF-8UTF-16Oョpi[&parsed-entity;C<titleref href='TextDecl'>eLXg</titleref>nB
+<scrap lang='ebnf'>
+<head></head>
+<prod id='NT-EncodingDecl'><lhs>EncodingDecl</lhs>
+<rhs><nt def="NT-S">S</nt>
+'encoding' <nt def='NT-Eq'>Eq</nt>
+'"' <nt def='NT-EncName'>EncName</nt> '"' | "'"
+<nt def='NT-EncName'>EncName</nt> "'"
+</rhs>
+</prod>
+<prod id='NT-EncName'><lhs>EncName</lhs>
+<rhs>[A-Za-z] ([A-Za-z0-9._] | '-')*</rhs>
+<com>e</com>
+</prod>
+</scrap>
+<termref def='dt-docent'>タ</termref>CC<termref def="dt-xmldecl">XML</termref>B<nt def="NT-EncName">EncName</nt>CgpョOB
+</p>
+<!-- FINAL EDIT: check name of IANA and charset names -->
+<p>Cl<code>UTF-8</code>C<code>UTF-16</code>C<code>ISO-10646-UCS-2</code>y<code>ISO-10646-UCS-4</code>CUnicodeyISO/IEC 10646epBl<code>ISO-8859-1</code><code>ISO-8859-9</code>CISO 8859p[gpBl<code>ISO-2022-JP</code>C<code>Shift_JIS</code>y<code>EUC-JP</code>CJIS X-0208-1997epBXML&processor;COョFッBInternet Assigned Numbers Authority (IANA)C(<emph>charset</emph>s)o^ョCOCo^OQ]Bo^OCE`Cr&processor;CE@]B</p>
+<p>XMLnnタCCヲOョCCOタOuoC<termref def="dt-error">&error;</termref>B
+</p>
+<p>&byte-order-mark;nタCUTF-8B</p>
+
+<p><!-- XML processors should make an effort to use all available
+information, internal and external, to aid in detecting an entity's correct
+encoding. Such information may include, but is not limited to:
+<ulist><item><p>An HTTP header</p></item>
+<item><p>A MIME header obtained other than through HTTP</p></item>
+<item><p>Metadata provided by the native OS file system or by document
+management software</p></item>
+<item><p>The bit patterns at the front of an entity, which may
+be analyzed to determine if
+the application of any known encoding yields a valid encoding
+declaration. See <titleref href='sec-guessing'>the appendix on
+autodetection of character sets</titleref>
+for a fuller description.</p></item></ulist> -->
+タXML&processor;C&application;タmC<termref def='dt-fatal'>&fatal-error;</termref>CIB
+<!--
+inform the application of this fact and
+may
+allow the application to
+request either that the entity should be treated as an <termref
+def="dt-unparsed">unparsed entity</termref>, or that processing should
+cease.-->
+</p>
+<p>CヲB
+<eg>&lt;?xml encoding='UTF-8'?>
+&lt;?xml encoding='EUC-JP'?></eg></p>
+</div3>
+</div2>
+<div2 id='entproc'>
+<head>XML&processor;タyQ</head>
+<p>\CQCタQy&unparsed-entity;oyeX<termref def='dt-xml-proc'>XML&processor;</termref>vUvBxCFッヲB
+<glist>
+<gitem><label>eQ</label>
+<def><p>vf<termref def='dt-stag'>Jn^O</termref>y<termref def='dt-etag'>I^O</termref>CQBI[L<nt def='NT-content'>content</nt>B</p></def>
+</gitem>
+<gitem>
+<label>lQ</label>
+<def><p><termref def='dt-stag'>Jn^O</termref>lC<termref def='dt-attdecl'></termref>&default-value;QBI[L<nt def='NT-AttValue'>AttValue</nt>B</p></def></gitem>
+<gitem>
+<label>lo</label>
+<def><p>QC<nt def='NT-Name'>Name</nt>oB<code>ENTITY</code>^lC<code>ENTITIES</code>^l&space;&token;oB</p>
+</def></gitem>
+<gitem><label>タlQ</label>
+<def><p>タCp^タ<termref def='dt-litentval'>&literal;タl</termref>QBI[L<nt def='NT-EntityValue'>EntityValue</nt>B</p></def></gitem>
+<gitem><label>DTDQ</label>
+<def><p><termref def='dt-doctype'>DTD</termref>&subset;O&subset;QBC<nt def='NT-EntityValue'>EntityValue</nt><nt def="NT-AttValue">AttValue</nt>OB</p></def>
+</gitem>
+</glist></p>
+<!-- border value changed by bosak -->
+<htable border='1' cellpadding='7' align='center'>
+<!-- tbody wrapper added by bosak -->
+<htbody>
+<tr><td bgcolor='&cellback;' rowspan='2' colspan='1'></td>
+<td bgcolor='&cellback;' align='center' valign='bottom' colspan='4'>タ^</td>
+<td bgcolor='&cellback;' rowspan='2' align='center'></td>
+</tr>
+<tr align='center' valign='bottom'>
+<td bgcolor='&cellback;'>p^</td>
+<td bgcolor='&cellback;'>&newline;</td>
+<td bgcolor='&cellback;'>O&newline;&parsed-entity;&newline;</td>
+<td bgcolor='&cellback;'>&unparsed-entity;</td>
+</tr>
+<tr align='center' valign='middle'>
+<!--<td bgcolor='&cellback;' rowspan='4'>Recognition
+Context</td>-->
+<td bgcolor='&cellback;' align='right'>e&newline;Q</td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>Fッ&newline;</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'></titleref></td>
+<td bgcolor='&cellback;'><titleref href='include-if-valid'></titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>~</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'></titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>l&newline;Q</td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>Fッ&newline;</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'></titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>~</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>~</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'></titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>l&newline;o</td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>Fッ&newline;</titleref></td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>~</titleref></td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>~</titleref></td>
+<td bgcolor='&cellback;'><titleref href='notify'>m</titleref></td>
+<td bgcolor='&cellback;'><titleref href='not recognized'>Fッ&newline;</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>タl&newline;Q</td>
+<td bgcolor='&cellback;'><titleref href='included'></titleref></td>
+<td bgcolor='&cellback;'><titleref href='bypass'>&bypass;</titleref></td>
+<td bgcolor='&cellback;'><titleref href='bypass'>&bypass;</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>~</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'></titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>DTD&newline;Q</td>
+<td bgcolor='&cellback;'><titleref href='as-PE'>PE&newline;</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>~</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>~</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>~</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>~</titleref></td>
+</tr>
+</htbody>
+</htable>
+<div3 id='not-recognized'>
+<head>gFッh</head>
+<p>DTDOC<code>%</code>CCBCDTDp^タQFッC<nt def='NT-content'>content</nt>&markup;FッBlCKlC&unparsed-entity;OCFッB
+</p>
+</div3>
+<div3 id='included'>
+<head>gh</head>
+<p><termdef id="dt-include" term="Include">タC<termref def='dt-repltext'>&replacement-text;</termref>oCCQゥCQuC<term></term>B&replacement-text;C<termref def='dt-chardata'>f[^</termref>y(p^タB)<termref def="dt-markup">&markup;</termref>CC@FッBC&markup;q&escape;pタ(&magicents;)&replacement-text;Cf[^(&string;"<code>AT&amp;amp;T;</code>"C"<code>AT&amp;T;</code>"WJCcApThCタQqFッB)BQCヲQゥC<term></term>B
+</termdef></p>
+</div3>
+<div3 id='include-if-valid'>
+<head>gh</head>
+<p>&validity;<termref def="dt-valid"></termref>CXML&processor;&parsed-entity;QFッC&replacement-text;<termref def="dt-include"></termref>BタOタCXML&validity;Cタ&replacement-text;<termref def="dt-may"></termref>CB</p>
+<p>CSGMLyXMLタ@\ゥ@\CW[IvC&application;(CuEY)CKKCFッBCuEUO&parsed-entity;QCタ\ヲsC\ヲvCeoB
+</p>
+</div3>
+<div3 id='forbidden'>
+<head>g~h</head>
+<p>~C<termref def='dt-fatal'>&fatal-error;</termref>B
+<ulist>
+<item><p>a) <termref def='dt-unparsed'>&unparsed-entity;</termref>QoB
+</p></item>
+<item><p>b) DTD<nt def='NT-EntityValue'>EntityValue</nt><nt def="NT-AttValue">AttValue</nt>OCQタQoB</p></item>
+<item><p>c) lOタQB</p>
+</item>
+</ulist>
+</p>
+</div3>
+<div3 id='notify'>
+<head>gmh</head>
+<p><termref def='dt-unparsed'>&unparsed-entity;</termref>OC<kw>ENTITY</kw><kw>ENTITIES</kw>l&token;C&processor;C&application;CAt<termref def="dt-notation">L@</termref>CL@<termref def='dt-sysid'>VXe</termref>&identifier;y()<termref def='dt-pubid'>J</termref>&identifier;mB</p>
+</div3>
+<div3 id='bypass'>
+<head>g&bypass;h</head>
+<p>タQCタ<nt def='NT-EntityValue'>EntityValue</nt>CCcB</p>
+</div3>
+<div3 id='as-PE'>
+<head>gPEh</head>
+<p>O&parsed-entity;lCp^タC&validity;<titleref href='include-if-valid'></titleref>KvBp^タQDTDFッC<termref def='dt-repltext'>&replacement-text;</termref>CO&space-character;(#x20)tLB}Cp^タ&replacement-text;CDTD@I&token;SCB
+</p>
+</div3>
+<!--
+<div3 id='gen-char-entproc'>
+<head>General and Character Entity Processing</head>
+<p>General-entity and character references are recognized in three
+contexts: wherever the nonterminal <nt def='NT-content'>content</nt> may
+appear, at any point within the nonterminal
+<nt def='NT-AttValue'>AttValue</nt>,
+and within the
+<termref def='dt-litentval'>literal entity value</termref>
+(<nt def='NT-EntityValue'>EntityValue</nt>)
+of an internal entity declaration.
+This section discusses the first two cases; the third
+is discussed <titleref href='intern-replacement'>below</titleref>.
+When an <termref def="dt-xml-proc">XML processor</termref> encounters
+such a reference, or the name of an unparsed entity as the value
+of an <kw>ENTITY</kw> or <kw>ENTITIES</kw> attribute, then:
+<olist>
+
+<item><p>In all cases, the XML processor may
+inform the application of the reference's occurrence and its identifier
+(for an entity reference, the name; for a character
+reference,
+the character number in decimal, hexadecimal, or binary form).</p></item>
+
+<item><p>For both character and entity references, the processor must
+remove the reference itself from the <termref def="dt-text">text</termref> data
+before passing the data to the application.
+</p></item>
+
+<item><p>For character references, the processor must
+pass the character indicated
+to the application in
+place of the reference.
+</p></item>
+
+<item><p>For an external entity, the processor must inform the
+application of the entity's <termref def="dt-sysid">system
+identifier</termref>, and <termref def="dt-pubid">public identifier</termref>
+if any.
+All strings
+of white space in the public identifier must be normalized to single space characters (#x20),
+and leading and trailing white space must be removed.</p></item>
+
+<item><p>If the external entity is binary, the processor must inform the
+application of the associated <termref def="dt-notation">notation</termref>
+name, and the notation's associated <termref def='dt-sysid'>system</termref>
+and <termref def='dt-pubid'>public</termref> (if any)
+identifiers.</p></item>
+
+<item><p><termdef id="dt-include" term="Include">For an internal
+(parsed) entity, the processor must <term>include</term> the
+entity; that is, retrieve its replacement text
+and process it as a part of the document
+(i.e. as <nt def="NT-content">content</nt> or <nt
+def="NT-AttValue">AttValue</nt>, whichever was being processed when
+the reference was recognized), passing the result to the application
+in place of the reference. The replacement text may contain both
+<termref def='dt-chardata'>character data</termref>
+and <termref def="dt-markup">markup</termref>, which must be recognized in
+the usual way, except that the replacement text of entities used to escape
+markup delimiters (the entities &magicents;) is always treated as
+data. (The string "<code>AT&amp;amp;T;</code>" expands to
+"<code>AT&amp;T;</code>" since the ampersand replacing "<code>&amp;amp;</code>"
+is not recognized
+as an entity-reference delimiter.) </termdef></p>
+<p>Since the entity may contain other entity references,
+an XML processor may have to repeat the inclusion process recursively.</p>
+</item>
+<item><p>If the entity is an external parsed entity, then in order to
+<termref def="dt-valid">validate</termref> the XML document, the processor must
+<termref def="dt-include">include</termref> the content of the
+entity.</p></item>
+
+<item><p>If the entity is an external parsed entity, and the processor is not
+attempting to <termref def="dt-valid">validate</termref> the XML document, the
+processor <termref def="dt-may">may</termref>, but need not, <termref
+def="dt-include">include</termref> the entity's content.</p>
+<p>This rule is based on the recognition that the automatic inclusion
+provided by the SGML and XML entity mechanism, primarily designed
+to support modularity in authoring, is not necessarily
+appropriate for other applications, in particular document browsing.
+Browsers, for example, when encountering an external parsed entity reference,
+might choose to provide a visual indication of the entity's
+presence and retrieve it for display only on demand.
+</p></item>
+</olist>
+</p>
+<p><termdef id="dt-escape" term="escape">Entity and character
+references can both be used to <term>escape</term> the left angle bracket,
+ampersand, and other delimiters. A set of general entities
+(&magicents;) is specified for this purpose.
+Numeric character references may also be used; they are
+expanded immediately when recognized, and must be treated as
+character data, so the numeric character references
+"<code>&amp;#60;</code>" and "<code>&amp;#38;</code>" may be used to
+escape <code>&lt;</code> and <code>&amp;</code> when they occur
+in character data.</termdef></p>
+</div3>
+<div3 id='PE-proc'>
+<head>Parameter Entity Processing</head>
+<p>Parameter-entity references are only recognized in the
+<termref def='dt-doctype'>DTD</termref>.
+Their processing, when they appear
+within the
+<termref def='dt-litentval'>literal entity value</termref>
+(<nt def='NT-EntityValue'>EntityValue</nt>)
+of an internal entity declaration,
+is discussed <titleref href='intern-replacement'>below</titleref>.
+They have these intended uses:
+<olist>
+<item><p>as a replacement for one or more complete markup declarations</p></item>
+<item><p>as a replacement for one or more complete "groups" in
+element declarations</p></item>
+<item><p>as a replacement for one or more complete "tokens" in
+markup declarations</p></item>
+</olist>
+</p>
+<p>The constraints requiring that PE replacement texts be properly nested
+with <titleref href='vc-PEinMarkupDecl'>markup declarations</titleref>
+and <titleref href='vc-PEinGroup'>content groups</titleref>
+govern the first two usages.</p>
+<p>To support the third intended usage,
+when an XML processor encounters a parameter-entity reference
+(outside of the
+<termref def='dt-litentval'>literal entity value</termref> in an entity
+declaration),
+it must <termref def="dt-include">include</termref>
+the named entity, but first expand its
+<termref def='dt-repltext'>replacement text</termref> by attaching
+space (#x20) characters to its beginning and the end, before
+processing it.</p>
+<p>The DTD text must match the relevant
+rules of this specification's grammar after all parameter-entity
+references have been expanded.
+<!-In addition, parameter entities referred to in specific
+contexts are required to satisfy certain constraints in their
+replacement text; for example, a parameter entity referred to within
+the internal DTD subset must match the rule for <nt
+def="NT-markupdecl">markupdecl</nt>. ->
+</p>
+</div3>
+-->
+</div2>
+<div2 id='intern-replacement'>
+<head>タ&replacement-text;\z</head>
+<p>タKCタl`ョB<termdef id="dt-litentval" term='Literal Entity Value'><term>&literal;タl</term>CタタCp&string;BCI[L<nt def='NT-EntityValue'>EntityValue</nt>&match;B</termdef><termdef id='dt-repltext' term='Replacement Text'><term>&replacement-text;</term>CQy&parameter;タQuCタeB</termdef></p>
+
+<p>タ^&literal;タl<!-- replacement text -->(<nt def='NT-EntityValue'>EntityValue</nt>)CQC&parameter;タQyタQBQC<!-- replacement text. -->&literal;タlSB<termref def='dt-include'>WJ</termref>タ&replacement-text;(ヲ)CQ&parameter;タ<emph>&replacement-text;</emph>C&literal;タlQQBCタQCc, WJB
+<!-- in the replacement text that is to be included. -->
+C^B
+
+<eg><![CDATA[<!ENTITY % pub "&#xc9;ditions Gallimard" >
+<!ENTITY rights "All rights reserved" >
+<!ENTITY book "La Peste: Albert Camus,
+&#xA9; 1947 %pub;. &rights;" >]]></eg>
+タ&replacement-text;"<code>book</code>"CB
+<eg>La Peste: Albert Camus,
+&#169; 1947 &#201;ditions Gallimard. &amp;rights;</eg>
+Q"<code>&amp;book;</code>"CeloCタQ"<code>&amp;rights;</code>"CWJB</p>
+<p>PKCpB
+<!-- {F interaction = pi{j-->
+C<titleref href='sec-entexpand'>タQWJt^</titleref>QB
+</p>
+<!-- Replaced by the above -TB
+<p>Implementors of XML processors need to know the rules for
+expansion of references in more detail. These rules only come into
+play when the replacement text for an internal entity itself contains
+other references.
+<olist>
+<item><p>In the replacement text of an internal entity, parameter-entity
+references and character references in the replacement text
+are recognized and resolved
+when the entity declaration is parsed,
+before the replacement text is stored in
+the processor's symbol table.
+General-entity references in the replacement text are not
+resolved when the entity declaration is parsed.</p></item>
+<item><p>In the document, when a general-entity reference is
+resolved, its replacement text is parsed. Character references
+encountered in the replacement text are
+resolved immediately; general-entity references encountered in the
+replacement text may be resolved or left unresolved, as described
+<titleref href="entproc">above</titleref>.
+Character and general-entity references must be
+contained entirely within the entity's replacement text.
+</p></item>
+</olist>
+</p>
+
+<p>Simple character references do not suffice to escape delimiters
+within the replacement text of an internal entity: they will be
+expanded when the entity declaration is parsed, before the replacement
+text is stored in the symbol table. When the entity itself is
+referred to, the replacement text will be parsed again, and the
+delimiters (no longer character references)
+will be recognized as delimiters. To escape the
+characters &magicents; in an entity replacement text, use
+a general-entity reference or a doubly-escaped character reference.
+See <titleref href='sec-entexpand'>the appendix on expansion
+of entity references</titleref>
+for detailed examples.</p>
+-->
+
+
+</div2>
+<div2 id='sec-predefined-ent'>
+<head>`タ</head>
+<p><termdef id="dt-escape" term="escape">
+タQyQC&left-angle-bracket;CAoThyq<term>&escape;</term>gpBタi&magicents;jCIwBlQClIgpBQCFッWJCf[^ClQ"<code>&amp;#60;</code>"y"<code>&amp;#38;</code>"Cf[^o<code>&lt;</code>y<code>&amp;</code>&escape;gpB</termdef></p>
+<p>XML&processor;CWCタFッB<termref def='dt-interop'>^p</termref>C&valid;XMLCタgpOCタlC]BタC&replacement-text;&escape;タCB
+<eg><![CDATA[<!ENTITY lt "&#38;#60;">
+<!ENTITY gt "&#62;">
+<!ENTITY amp "&#38;#38;">
+<!ENTITY apos "&#39;">
+<!ENTITY quot "&#34;">
+]]></eg>
+"<code>lt</code>"y"<code>amp</code>""<code>&lt;</code>"y"<code>&amp;</code>"CタueLXgC&well-formed;d&escape;B
+</p>
+</div2>
+
+
+<div2 id='Notations'>
+<head>L@</head>
+
+
+<p>
+<termdef id="dt-notation" term="Notation">
+<term>L@</term>C<termref def="dt-extent">&unparsed-entity;</termref>`ョ&identify;OC<termref def="dt-pi"></termref>&application;&identify;OB</termdef></p>
+<p><termdef id="dt-notdecl" term="Notation Declaration">
+<term>L@</term>CL@OyO&identifier;BOCタyXgwpBO&identifier;C^L@f[^wp&application;CXML&processor;NCAgAvP[VTCpB
+<scrap lang='ebnf'>
+<head>L@</head>
+<prod id='NT-NotationDecl'><lhs>NotationDecl</lhs>
+<rhs>'&lt;!NOTATION' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>
+(<nt def='NT-ExternalID'>ExternalID</nt> |
+<nt def='NT-PublicID'>PublicID</nt>)
+<nt def='NT-S'>S</nt>? '>'</rhs></prod>
+<prod id='NT-PublicID'><lhs>PublicID</lhs>
+<rhs>'PUBLIC' <nt def='NT-S'>S</nt>
+<nt def='NT-PubidLiteral'>PubidLiteral</nt>
+</rhs></prod>
+</scrap>
+</termdef></p>
+<p>ClC`タQL@CXML&processor;CL@OyO&identifier;&application;BCO&identifier;C<termref def="dt-sysid">VXe&identifier;</termref>Ct@CWJCpC&application;CL@f[^&processor;NB(CXML&processor;&application;VXepL@CXMLQCC&error;Bj</p>
+</div2>
+
+
+<div2 id='sec-doc-entity'>
+<head>タ</head>
+
+<p><termdef id="dt-docent" term="Document Entity"><term>タ</term>Cタ`\&root;C<termref def="dt-xml-proc">XML&processor;</termref>CJnn_B</termdef>&TR-or-Rec;CXML&processor;CタCKBタCタOCッ&processor;&stream;oB</p>
+</div2>
+
+
+</div1>
+<!-- &Conformance; -->
+<div1 id='sec-conformance'>
+<head>K</head>
+
+<p>K<termref def="dt-xml-proc">XML&processor;</termref>C&validating;y&non-validating;CB</p>
+<p>&validating;VXey&non-validating;VXeC&TR-or-Rec;K&well-formed;B</p>
+<p><termdef id="dt-validating" term="Validating Processor"><term>&validating;&processor;</term>C<termref def="dt-doctype">DTD</termref>ヲCBC&TR-or-Rec;K&validity;CB
+</termdef>
+</p>
+</div1>
+
+<div1 id='sec-notation'>
+<head>L@</head>
+
+<p>XML`ョI@CPgBackus-Naur Form(EBNF)L@^B@eKC`ョCL`B
+<eg>symbol ::= expression</eg></p>
+<p>LCK\`nCCnB&string;&literal;CpB
+<!--* The distinction between symbols which can and cannot be
+recognized using simple regular expressions may be used to set the
+boundary between an implementation's lexical scanner and its parser,
+but this specification neither constrains the placement of that
+boundary nor presupposes that all implementations will have one. *-->
+</p>
+
+<p>KEョC&string;&match;CョgpB
+<glist>
+<gitem>
+<label><code>#xN</code></label>
+<def><p>C<code>N</code>16iBISO/IEC 10646CK`(UCS-4)&code-value;2i゚Cwl&match;B<code>#xN</code>`ョ[CB&code-value;<!-- bit string -->[CCXMLB
+</p></def>
+</gitem>
+<gitem>
+<label><code>[a-zA-Z]</code>, <code>[#xN-#xN]</code></label>
+<def><p>wl([lBjC<termref def='dt-character'></termref>&match;B</p></def>
+</gitem>
+<gitem>
+<label><code>[^a-z]</code>, <code>[^#xN-#xN]</code></label>
+<def><p>w<emph>O</emph>lC<termref def='dt-character'></termref>&match;B</p></def>
+</gitem>
+<gitem>
+<label><code>[^abc]</code>, <code>[^#xN#xN#xN]</code></label>
+<def><p>wOlC<termref def='dt-character'></termref>&match;B</p></def>
+</gitem>
+<gitem>
+<label><code>"string"</code></label>
+<def><p>&double-quote;&string;&literal;<termref def="dt-match">&match;</termref>&string;&literal;&match;B</p></def>
+</gitem>
+<gitem>
+<label><code>'string'</code></label>
+<def><p>&single-quote;&string;&literal;<termref def="dt-match">&match;</termref>&string;&literal;&match;B</p></def>
+</gitem>
+</glist>
+LC`ョggpBC<code>A</code>y<code>B</code>CPョB
+<glist>
+<gitem>
+<label>(<code>expression</code>)</label>
+<def><p><code>expression</code>CCヲggB</p></def>
+</gitem>
+<gitem>
+<label><code>A?</code></label>
+<def><p><code>A</code>&match;(IvV<code>A</code>)B</p></def>
+</gitem>
+<gitem>
+<label><code>A B</code></label>
+<def><p><code>A</code><code>B</code>o&match;B
+</p></def>
+</gitem>
+<gitem>
+<label><code>A | B</code></label>
+<def><p><code>A</code><code>B</code>CCC&match;B
+</p></def>
+</gitem>
+<gitem>
+<label><code>A - B</code></label>
+<def><p><code>A</code>&match;C<code>B</code>&match;CC&string;&match;B</p></def>
+</gitem>
+<gitem>
+<label><code>A+</code></label>
+<def><p><code>A</code>1J&match;B</p></def>
+</gitem>
+<gitem>
+<label><code>A*</code></label>
+<def><p><code>A</code>0J&match;B</p></def>
+</gitem>
+<!-- DEATH TO %'s
+<gitem>
+<label><code>%a</code></label>
+<def><p>specifies that <emph>in the external DTD subset</emph> a
+<termref def='dt-param-entity'>parameter entity</termref> may occur in the
+text at the position where <code>a</code> may occur; if so, its
+replacement text must match <code>S? a S?</code>. If
+the expression <code>a</code> is governed by a suffix operator, then
+the suffix operator determines both the maximum number of parameter-entity
+references allowed and the number of occurrences of <code>a</code>
+in the replacement text of the parameter entities: <code>%a*</code>
+means that <code>a</code> must occur zero or more times, and
+that some of its occurrences may be replaced by references to
+parameter entities whose replacement text must contain zero or
+more occurrences of <code>a</code>; it is thus a more compact way
+of writing <code>%(a*)*</code>.
+Similarly, <code>%a+</code> means that <code>a</code>
+must occur one or more times, and may be replaced by
+parameter entities with replacement text matching
+<code>S? (a S?)+</code>.
+The recognition of parameter entities in the internal subset is much more
+highly constrained.
+</p></def>
+</gitem>
+-->
+</glist>
+KgpL@CヲB
+<glist>
+<gitem>
+<label><code>/* ... */</code></label>
+<def><p>RgB</p></def>
+</gitem>
+<gitem>
+<label><code>[ wfc: ... ]</code></label>
+<def><p>&well-formed;BKt^C<termref def="dt-wellformed">&well-formed;</termref>CO&identify;B</p></def>
+</gitem>
+<gitem>
+<label><code>[ vc: ... ]</code></label>
+<def><p>&validity;BKt^C<termref def="dt-valid">&valid;</termref>CO&identify;B
+</p></def>
+</gitem>
+</glist>
+</p></div1>
+
+</body>
+<back>
+<!-- &SGML; -->
+
+<!-- &Biblio; -->
+<div1 id='sec-bibliography'>
+
+<head>Ql</head>
+<div2 id='sec-existing-stds'>
+<head>&normative;Ql</head>
+<!--* <ulist><item>
+<p>Unicode and ISO/IEC 10646. This specification depends on the
+international standard ISO/IEC 10646 (with amendments AM 1 through AM 7)
+and the Unicode Standard, Version 2.0 <bibref ref='Unicode'/>,
+which define the encodings and meanings of
+the <termref def="dt-character">characters</termref> which
+make up XML <termref def="dt-text">text</termref>.
+All the characters in ISO/IEC 10646 are present, at the same code points,
+in Unicode.</p></item>
+<item><p>XXX XXX defines the syntax and semantics of
+Uniform Resource Identifiers, or URIs.</p></item>
+<item><p>IETF RFC 1766, with ISO 639 and 3166,
+describe the codes that may be used in the
+special <titleref href='sec-lang-tag'>xml:lang</titleref> attribute.</p>
+</item></ulist>
+*-->
+
+<blist>
+
+<bibl id='RFC1766' key='IETF RFC 1766'>
+IETF (Internet Engineering Task Force).
+<emph>RFC 1766: Tags for the Identification of Languages</emph>,
+ed. H. Alvestrand.
+1995.
+</bibl>
+
+<bibl id='ISO639' key='ISO 639'>
+(International Organization for Standardization).
+<emph>ISO 8879:1988 (E).
+Code for the representation of names of languages.</emph>
+[Geneva]: International Organization for
+Standardization, 1988.</bibl>
+
+<bibl id='ISO3166' key='ISO 3166'>
+(International Organization for Standardization).
+<emph>ISO 3166-1:1997 (E).
+Codes for the representation of names of countries and their subdivisions
+&mdash; Part 1: Country codes</emph>
+[Geneva]: International Organization for
+Standardization, 1997.</bibl>
+
+<bibl id='ISO10646' key='ISO/IEC 10646'>ISO
+(International Organization for Standardization).
+<emph>ISO/IEC 10646-1993 (E). Information technology &mdash; Universal
+Multiple-Octet Coded Character Set (UCS) &mdash; Part 1:
+Architecture and Basic Multilingual Plane.</emph>
+[Geneva]: International Organization for
+Standardization, 1993 (plus amendments AM 1 through AM 7).
+</bibl>
+
+<bibl id='Unicode' key='Unicode'>The Unicode Consortium.
+<emph>The Unicode Standard, Version 2.0.</emph>
+Reading, Mass.: Addison-Wesley Developers Press, 1996.</bibl>
+
+</blist>
+
+</div2>
+
+<div2><head>Ql</head>
+
+<blist>
+
+<bibl id='Aho' key='Aho/Ullman'>Aho, Alfred V.,
+Ravi Sethi, and Jeffrey D. Ullman.
+<emph>Compilers: Principles, Techniques, and Tools</emph>.
+Reading: Addison-Wesley, 1986, rpt. corr. 1988.</bibl>
+
+<bibl id="Berners-Lee" xml-link="simple" key="Berners-Lee et al.">
+Berners-Lee, T., R. Fielding, and L. Masinter.
+<emph>Uniform Resource Identifiers (URI): Generic Syntax and
+Semantics</emph>.
+1997.
+(Work in progress; see updates to RFC1738.)</bibl>
+
+<bibl id='ABK' key='Br&#252;ggemann-Klein'>Br&#252;ggemann-Klein, Anne.
+<emph>Regular Expressions into Finite Automata</emph>.
+Extended abstract in I. Simon, Hrsg., LATIN 1992,
+S. 97-98. Springer-Verlag, Berlin 1992.
+Full Version in Theoretical Computer Science 120: 197-213, 1993.
+<!--
+Universitat Freiburg, Institut fur Informatik,
+Bericht 33, Juli 1991.-->
+</bibl>
+
+<bibl id='ABKDW' key='Br&#252;ggemann-Klein and Wood'>Br&#252;ggemann-Klein, Anne,
+and Derick Wood.
+<emph>Deterministic Regular Languages</emph>.
+Universit&#228;t Freiburg, Institut f&#252;r Informatik,
+Bericht 38, Oktober 1991.
+</bibl>
+
+<bibl id="RFC1738" xml-link="simple" key="IETF RFC1738">
+IETF (Internet Engineering Task Force).
+<emph>RFC 1738: Uniform Resource Locators (URL)</emph>,
+ed. T. Berners-Lee, L. Masinter, M. McCahill.
+1994.
+</bibl>
+
+<bibl id="RFC1808" xml-link="simple" key="IETF RFC1808">
+IETF (Internet Engineering Task Force).
+<emph>RFC 1808: Relative Uniform Resource Locators</emph>,
+ed. R. Fielding.
+1995.
+</bibl>
+
+<bibl id="RFC2141" xml-link="simple" key="IETF RFC2141">
+IETF (Internet Engineering Task Force).
+<emph>RFC 2141: URN Syntax</emph>,
+ed. R. Moats.
+1997.
+</bibl>
+
+<bibl id='ISO8879' key='ISO/IEC 8879'>ISO
+(International Organization for Standardization).
+<emph>ISO/IEC 8879-1986 (E). Information processing &mdash; Text and Office
+Systems &mdash; Standard Generalized Markup Language (SGML).</emph> First
+edition &mdash; 1986-10-15. [Geneva]: International Organization for
+Standardization, 1986.
+</bibl>
+
+
+<bibl id='ISO10744' key='ISO/IEC 10744'>ISO
+(International Organization for Standardization).
+<emph>ISO/IEC 10744-1992 (E). Information technology &mdash;
+Hypermedia/Time-based Structuring Language (HyTime).
+</emph>
+[Geneva]: International Organization for
+Standardization, 1992.
+<emph>Extended Facilities Annexe.</emph>
+[Geneva]: International Organization for
+Standardization, 1996.
+</bibl>
+
+
+
+</blist>
+</div2>
+</div1>
+<div1 id='CharClasses'>
+<head>NX</head>
+
+<p>UnicodeW`&property;CC&base-character;(BaseChar)(C&diacritical-mark;eAt@xbgAt@xbg)C&ideographic;(ideographic)y&combining-character;(CombiningChar)(NXC&diacritical-mark;)NXBNXCC&letter;(Letter)NXB10il(Digit)y&extender;(Extender)B
+<scrap lang="ebnf" id="CHARACTERS">
+<head></head>
+<prodgroup pcw3="3" pcw4="15">
+<prod id="NT-Letter"><lhs>Letter</lhs>
+<rhs><nt def="NT-BaseChar">BaseChar</nt>
+| <nt def="NT-Ideographic">Ideographic</nt></rhs> </prod>
+<prod id='NT-BaseChar'><lhs>BaseChar</lhs>
+<rhs>[#x0041-#x005A]
+|&nbsp;[#x0061-#x007A]
+|&nbsp;[#x00C0-#x00D6]
+|&nbsp;[#x00D8-#x00F6]
+|&nbsp;[#x00F8-#x00FF]
+|&nbsp;[#x0100-#x0131]
+|&nbsp;[#x0134-#x013E]
+|&nbsp;[#x0141-#x0148]
+|&nbsp;[#x014A-#x017E]
+|&nbsp;[#x0180-#x01C3]
+|&nbsp;[#x01CD-#x01F0]
+|&nbsp;[#x01F4-#x01F5]
+|&nbsp;[#x01FA-#x0217]
+|&nbsp;[#x0250-#x02A8]
+|&nbsp;[#x02BB-#x02C1]
+|&nbsp;#x0386
+|&nbsp;[#x0388-#x038A]
+|&nbsp;#x038C
+|&nbsp;[#x038E-#x03A1]
+|&nbsp;[#x03A3-#x03CE]
+|&nbsp;[#x03D0-#x03D6]
+|&nbsp;#x03DA
+|&nbsp;#x03DC
+|&nbsp;#x03DE
+|&nbsp;#x03E0
+|&nbsp;[#x03E2-#x03F3]
+|&nbsp;[#x0401-#x040C]
+|&nbsp;[#x040E-#x044F]
+|&nbsp;[#x0451-#x045C]
+|&nbsp;[#x045E-#x0481]
+|&nbsp;[#x0490-#x04C4]
+|&nbsp;[#x04C7-#x04C8]
+|&nbsp;[#x04CB-#x04CC]
+|&nbsp;[#x04D0-#x04EB]
+|&nbsp;[#x04EE-#x04F5]
+|&nbsp;[#x04F8-#x04F9]
+|&nbsp;[#x0531-#x0556]
+|&nbsp;#x0559
+|&nbsp;[#x0561-#x0586]
+|&nbsp;[#x05D0-#x05EA]
+|&nbsp;[#x05F0-#x05F2]
+|&nbsp;[#x0621-#x063A]
+|&nbsp;[#x0641-#x064A]
+|&nbsp;[#x0671-#x06B7]
+|&nbsp;[#x06BA-#x06BE]
+|&nbsp;[#x06C0-#x06CE]
+|&nbsp;[#x06D0-#x06D3]
+|&nbsp;#x06D5
+|&nbsp;[#x06E5-#x06E6]
+|&nbsp;[#x0905-#x0939]
+|&nbsp;#x093D
+|&nbsp;[#x0958-#x0961]
+|&nbsp;[#x0985-#x098C]
+|&nbsp;[#x098F-#x0990]
+|&nbsp;[#x0993-#x09A8]
+|&nbsp;[#x09AA-#x09B0]
+|&nbsp;#x09B2
+|&nbsp;[#x09B6-#x09B9]
+|&nbsp;[#x09DC-#x09DD]
+|&nbsp;[#x09DF-#x09E1]
+|&nbsp;[#x09F0-#x09F1]
+|&nbsp;[#x0A05-#x0A0A]
+|&nbsp;[#x0A0F-#x0A10]
+|&nbsp;[#x0A13-#x0A28]
+|&nbsp;[#x0A2A-#x0A30]
+|&nbsp;[#x0A32-#x0A33]
+|&nbsp;[#x0A35-#x0A36]
+|&nbsp;[#x0A38-#x0A39]
+|&nbsp;[#x0A59-#x0A5C]
+|&nbsp;#x0A5E
+|&nbsp;[#x0A72-#x0A74]
+|&nbsp;[#x0A85-#x0A8B]
+|&nbsp;#x0A8D
+|&nbsp;[#x0A8F-#x0A91]
+|&nbsp;[#x0A93-#x0AA8]
+|&nbsp;[#x0AAA-#x0AB0]
+|&nbsp;[#x0AB2-#x0AB3]
+|&nbsp;[#x0AB5-#x0AB9]
+|&nbsp;#x0ABD
+|&nbsp;#x0AE0
+|&nbsp;[#x0B05-#x0B0C]
+|&nbsp;[#x0B0F-#x0B10]
+|&nbsp;[#x0B13-#x0B28]
+|&nbsp;[#x0B2A-#x0B30]
+|&nbsp;[#x0B32-#x0B33]
+|&nbsp;[#x0B36-#x0B39]
+|&nbsp;#x0B3D
+|&nbsp;[#x0B5C-#x0B5D]
+|&nbsp;[#x0B5F-#x0B61]
+|&nbsp;[#x0B85-#x0B8A]
+|&nbsp;[#x0B8E-#x0B90]
+|&nbsp;[#x0B92-#x0B95]
+|&nbsp;[#x0B99-#x0B9A]
+|&nbsp;#x0B9C
+|&nbsp;[#x0B9E-#x0B9F]
+|&nbsp;[#x0BA3-#x0BA4]
+|&nbsp;[#x0BA8-#x0BAA]
+|&nbsp;[#x0BAE-#x0BB5]
+|&nbsp;[#x0BB7-#x0BB9]
+|&nbsp;[#x0C05-#x0C0C]
+|&nbsp;[#x0C0E-#x0C10]
+|&nbsp;[#x0C12-#x0C28]
+|&nbsp;[#x0C2A-#x0C33]
+|&nbsp;[#x0C35-#x0C39]
+|&nbsp;[#x0C60-#x0C61]
+|&nbsp;[#x0C85-#x0C8C]
+|&nbsp;[#x0C8E-#x0C90]
+|&nbsp;[#x0C92-#x0CA8]
+|&nbsp;[#x0CAA-#x0CB3]
+|&nbsp;[#x0CB5-#x0CB9]
+|&nbsp;#x0CDE
+|&nbsp;[#x0CE0-#x0CE1]
+|&nbsp;[#x0D05-#x0D0C]
+|&nbsp;[#x0D0E-#x0D10]
+|&nbsp;[#x0D12-#x0D28]
+|&nbsp;[#x0D2A-#x0D39]
+|&nbsp;[#x0D60-#x0D61]
+|&nbsp;[#x0E01-#x0E2E]
+|&nbsp;#x0E30
+|&nbsp;[#x0E32-#x0E33]
+|&nbsp;[#x0E40-#x0E45]
+|&nbsp;[#x0E81-#x0E82]
+|&nbsp;#x0E84
+|&nbsp;[#x0E87-#x0E88]
+|&nbsp;#x0E8A
+|&nbsp;#x0E8D
+|&nbsp;[#x0E94-#x0E97]
+|&nbsp;[#x0E99-#x0E9F]
+|&nbsp;[#x0EA1-#x0EA3]
+|&nbsp;#x0EA5
+|&nbsp;#x0EA7
+|&nbsp;[#x0EAA-#x0EAB]
+|&nbsp;[#x0EAD-#x0EAE]
+|&nbsp;#x0EB0
+|&nbsp;[#x0EB2-#x0EB3]
+|&nbsp;#x0EBD
+|&nbsp;[#x0EC0-#x0EC4]
+|&nbsp;[#x0F40-#x0F47]
+|&nbsp;[#x0F49-#x0F69]
+|&nbsp;[#x10A0-#x10C5]
+|&nbsp;[#x10D0-#x10F6]
+|&nbsp;#x1100
+|&nbsp;[#x1102-#x1103]
+|&nbsp;[#x1105-#x1107]
+|&nbsp;#x1109
+|&nbsp;[#x110B-#x110C]
+|&nbsp;[#x110E-#x1112]
+|&nbsp;#x113C
+|&nbsp;#x113E
+|&nbsp;#x1140
+|&nbsp;#x114C
+|&nbsp;#x114E
+|&nbsp;#x1150
+|&nbsp;[#x1154-#x1155]
+|&nbsp;#x1159
+|&nbsp;[#x115F-#x1161]
+|&nbsp;#x1163
+|&nbsp;#x1165
+|&nbsp;#x1167
+|&nbsp;#x1169
+|&nbsp;[#x116D-#x116E]
+|&nbsp;[#x1172-#x1173]
+|&nbsp;#x1175
+|&nbsp;#x119E
+|&nbsp;#x11A8
+|&nbsp;#x11AB
+|&nbsp;[#x11AE-#x11AF]
+|&nbsp;[#x11B7-#x11B8]
+|&nbsp;#x11BA
+|&nbsp;[#x11BC-#x11C2]
+|&nbsp;#x11EB
+|&nbsp;#x11F0
+|&nbsp;#x11F9
+|&nbsp;[#x1E00-#x1E9B]
+|&nbsp;[#x1EA0-#x1EF9]
+|&nbsp;[#x1F00-#x1F15]
+|&nbsp;[#x1F18-#x1F1D]
+|&nbsp;[#x1F20-#x1F45]
+|&nbsp;[#x1F48-#x1F4D]
+|&nbsp;[#x1F50-#x1F57]
+|&nbsp;#x1F59
+|&nbsp;#x1F5B
+|&nbsp;#x1F5D
+|&nbsp;[#x1F5F-#x1F7D]
+|&nbsp;[#x1F80-#x1FB4]
+|&nbsp;[#x1FB6-#x1FBC]
+|&nbsp;#x1FBE
+|&nbsp;[#x1FC2-#x1FC4]
+|&nbsp;[#x1FC6-#x1FCC]
+|&nbsp;[#x1FD0-#x1FD3]
+|&nbsp;[#x1FD6-#x1FDB]
+|&nbsp;[#x1FE0-#x1FEC]
+|&nbsp;[#x1FF2-#x1FF4]
+|&nbsp;[#x1FF6-#x1FFC]
+|&nbsp;#x2126
+|&nbsp;[#x212A-#x212B]
+|&nbsp;#x212E
+|&nbsp;[#x2180-#x2182]
+|&nbsp;[#x3041-#x3094]
+|&nbsp;[#x30A1-#x30FA]
+|&nbsp;[#x3105-#x312C]
+|&nbsp;[#xAC00-#xD7A3]
+</rhs></prod>
+<prod id='NT-Ideographic'><lhs>Ideographic</lhs>
+<rhs>[#x4E00-#x9FA5]
+|&nbsp;#x3007
+|&nbsp;[#x3021-#x3029]
+</rhs></prod>
+<prod id='NT-CombiningChar'><lhs>CombiningChar</lhs>
+<rhs>[#x0300-#x0345]
+|&nbsp;[#x0360-#x0361]
+|&nbsp;[#x0483-#x0486]
+|&nbsp;[#x0591-#x05A1]
+|&nbsp;[#x05A3-#x05B9]
+|&nbsp;#x05BB#x05BD
+|&nbsp;#x05BF
+|&nbsp;[#x05C1-#x05C2]
+|&nbsp;#x05C4
+|&nbsp;#x064B#x0652
+|&nbsp;#x0670
+|&nbsp;[#x06D6-#x06DC]
+|&nbsp;#x06DD#x06DF
+|&nbsp;[#x06E0-#x06E4]
+|&nbsp;[#x06E7-#x06E8]
+|&nbsp;[#x06EA-#x06ED]
+|&nbsp;[#x0901-#x0903]
+|&nbsp;#x093C
+|&nbsp;[#x093E-#x094C]
+|&nbsp;#x094D
+|&nbsp;[#x0951-#x0954]
+|&nbsp;[#x0962-#x0963]
+|&nbsp;[#x0981-#x0983]
+|&nbsp;#x09BC
+|&nbsp;#x09BE
+|&nbsp;#x09BF
+|&nbsp;[#x09C0-#x09C4]
+|&nbsp;[#x09C7-#x09C8]
+|&nbsp;[#x09CB-#x09CD]
+|&nbsp;#x09D7
+|&nbsp;[#x09E2-#x09E3]
+|&nbsp;#x0A02
+|&nbsp;#x0A3C
+|&nbsp;#x0A3E
+|&nbsp;#x0A3F
+|&nbsp;[#x0A40-#x0A42]
+|&nbsp;[#x0A47-#x0A48]
+|&nbsp;[#x0A4B-#x0A4D]
+|&nbsp;[#x0A70-#x0A71]
+|&nbsp;[#x0A81-#x0A83]
+|&nbsp;#x0ABC
+|&nbsp;[#x0ABE-#x0AC5]
+|&nbsp;[#x0AC7-#x0AC9]
+|&nbsp;[#x0ACB-#x0ACD]
+|&nbsp;[#x0B01-#x0B03]
+|&nbsp;#x0B3C
+|&nbsp;[#x0B3E-#x0B43]
+|&nbsp;[#x0B47-#x0B48]
+|&nbsp;[#x0B4B-#x0B4D]
+|&nbsp;[#x0B56-#x0B57]
+|&nbsp;[#x0B82-#x0B83]
+|&nbsp;[#x0BBE-#x0BC2]
+|&nbsp;[#x0BC6-#x0BC8]
+|&nbsp;[#x0BCA-#x0BCD]
+|&nbsp;#x0BD7
+|&nbsp;[#x0C01-#x0C03]
+|&nbsp;[#x0C3E-#x0C44]
+|&nbsp;[#x0C46-#x0C48]
+|&nbsp;[#x0C4A-#x0C4D]
+|&nbsp;[#x0C55-#x0C56]
+|&nbsp;[#x0C82-#x0C83]
+|&nbsp;[#x0CBE-#x0CC4]
+|&nbsp;[#x0CC6-#x0CC8]
+|&nbsp;[#x0CCA-#x0CCD]
+|&nbsp;[#x0CD5-#x0CD6]
+|&nbsp;[#x0D02-#x0D03]
+|&nbsp;[#x0D3E-#x0D43]
+|&nbsp;[#x0D46-#x0D48]
+|&nbsp;[#x0D4A-#x0D4D]
+|&nbsp;#x0D57
+|&nbsp;#x0E31
+|&nbsp;[#x0E34-#x0E3A]
+|&nbsp;[#x0E47-#x0E4E]
+|&nbsp;#x0EB1
+|&nbsp;[#x0EB4-#x0EB9]
+|&nbsp;[#x0EBB-#x0EBC]
+|&nbsp;[#x0EC8-#x0ECD]
+|&nbsp;[#x0F18-#x0F19]
+|&nbsp;#x0F35
+|&nbsp;#x0F37
+|&nbsp;#x0F39
+|&nbsp;#x0F3E
+|&nbsp;#x0F3F
+|&nbsp;[#x0F71-#x0F84]
+|&nbsp;[#x0F86-#x0F8B]
+|&nbsp;[#x0F90-#x0F95]
+|&nbsp;#x0F97
+|&nbsp;[#x0F99-#x0FAD]
+|&nbsp;[#x0FB1-#x0FB7]
+|&nbsp;#x0FB9
+|&nbsp;[#x20D0-#x20DC]
+|&nbsp;#x20E1
+|&nbsp;[#x302A-#x302F]
+|&nbsp;#x3099
+|&nbsp;#x309A
+</rhs></prod>
+<prod id='NT-Digit'><lhs>Digit</lhs>
+<rhs>[#x0030-#x0039]
+|&nbsp;[#x0660-#x0669]
+|&nbsp;[#x06F0-#x06F9]
+|&nbsp;[#x0966-#x096F]
+|&nbsp;[#x09E6-#x09EF]
+|&nbsp;[#x0A66-#x0A6F]
+|&nbsp;[#x0AE6-#x0AEF]
+|&nbsp;[#x0B66-#x0B6F]
+|&nbsp;[#x0BE7-#x0BEF]
+|&nbsp;[#x0C66-#x0C6F]
+|&nbsp;[#x0CE6-#x0CEF]
+|&nbsp;[#x0D66-#x0D6F]
+|&nbsp;[#x0E50-#x0E59]
+|&nbsp;[#x0ED0-#x0ED9]
+|&nbsp;[#x0F20-#x0F29]
+</rhs></prod>
+<prod id='NT-Extender'><lhs>Extender</lhs>
+<rhs>#x00B7
+|&nbsp;#x02D0
+|&nbsp;#x02D1
+|&nbsp;#x0387
+|&nbsp;#x0640
+|&nbsp;#x0E46
+|&nbsp;#x0EC6
+|&nbsp;#x3005
+|&nbsp;[#x3031-#x3035]
+|&nbsp;[#x309D-#x309E]
+|&nbsp;[#x30FC-#x30FE]
+</rhs></prod>
+
+</prodgroup>
+</scrap>
+</p>
+<p>`NXCUnicodef[^x[XCB
+<ulist>
+<item>
+<p>a) OJnCLl, Lu, Lo, Lt, NlJeSB</p>
+</item>
+<item>
+<p>b) OJnOOCMc, Me, Mn, Lm, NdJeSB</p>
+</item>
+<item>
+<p>c) &compatibility-area;(#xF900#xFFFE)CXMLOCB</p>
+</item>
+<item>
+<p>d) &font-decomposition;&compatibility-decomposition;(Cf[^x[XTtB[h"compatibility formatting tag"BCTtB[hC"&lt;"n}[NtB)CB</p>
+</item>
+<item>
+<p>e) COJnBC&property-file;CAt@xbgB
+[#x02BB-#x02C1], #x0559, #x06E5, #x06E6B</p>
+</item>
+<item>
+<p>f) #x20DD-#x20E0C(Unicode 5.14)OB</p>
+</item>
+<item>
+<p>g) #x00B7C&property-list;C&extender;(extender)B</p>
+</item>
+<item>
+<p>h) #x0387CK`#x00B7COB</p>
+</item>
+<item>
+<p>i) ':'y'_'COJnB</p>
+</item>
+<item>
+<p>j) '-'y'.'COB</p>
+</item>
+</ulist>
+</p>
+</div1>
+<inform-div1 id="sec-xml-and-sgml">
+<head>XMLySGML</head>
+
+<p>XMLCSGML&subset;vBC<termref def="dt-valid">&valid;</termref>XMLCKiKSGMLBSGMLOCXMLC<loc href='http://www.w3.org/TR/NOTE-sgml-xml'>K</loc>QBKCXMLヲSGMLCCSGML&parser;gpB
+</p>
+</inform-div1>
+<inform-div1 id="sec-entexpand">
+<head>タQyQWJ</head>
+<p>t^CタQyQFッCWJCACgヲB</p>
+<p>
+DTDClB
+<eg><![CDATA[<!ENTITY example "<p>An ampersand (&#38;#38;) may be escaped
+numerically (&#38;#38;#38;) or with a general entity
+(&amp;amp;).</p>" >
+]]></eg>
+XML&processor;Cタ\_QFッCBタ"<code>example</code>"lC&string;B
+<eg><![CDATA[<p>An ampersand (&#38;) may be escaped
+numerically (&#38;#38;) or with a general entity
+(&amp;amp;).</p>
+]]></eg>
+"<code>&amp;example;</code>"QCeLXgC\BCvf"<code>p</code>"Jn^OyI^OFッCOQFッWJBCvf"<code>p</code>"Ce(f[^Cq&markup;B)B
+<eg><![CDATA[An ampersand (&) may be escaped
+numerically (&#38;) or with a general entity
+(&amp;).
+]]></eg>
+</p>
+<p>KyヲCGヲBCsCQXtB
+<eg><![CDATA[1 <?xml version='1.0'?>
+2 <!DOCTYPE test [
+3 <!ELEMENT test (#PCDATA) >
+4 <!ENTITY % xx '&#37;zz;'>
+5 <!ENTITY % zz '&#60;!ENTITY tricky "error-prone" >' >
+6 %xx;
+7 ]>
+8 <test>This sample shows a &tricky; method.</test>
+]]></eg>
+CB
+<ulist spacing="compact">
+<item><p>a) 4sC37QWJCp^タ"<code>xx</code>"CV{e[u"<code>%zz;</code>"lB&replacement-text;Cp^タ"<code>zz</code>"QFッ("<code>zz</code>"CCC&error;B)B</p></item>
+<item><p>b) 5sCQ"<code>&amp;#60;</code>"WJCp^タ"<code>zz</code>""<code>&lt;!ENTITY tricky "error-prone" ></code>"&replacement-text;BC&well-formed;タB</p></item>
+<item><p>c) 6sC"<code>xx</code>"QFッC"<code>xx</code>"&replacement-text;(C"<code>%zz;</code>")\B"<code>zz</code>"QFッC&replacement-text;("<code>&lt;!ENTITY tricky "error-prone" ></code>")\Bタ"<code>tricky</code>"C_CC&replacement-text;C"<code>error-prone</code>"B </p></item>
+<item><p>d) 8sCタ"<code>tricky</code>"QFッCWJBvf"<code>test</code>"SeC(eゥ\B)&string;BC<emph>This sample shows a error-prone method.</emph>
+</p></item>
+</ulist>
+</p>
+</inform-div1>
+<inform-div1 id="determinism">
+<head>Ief</head>
+<p><termref def='dt-compat'></termref>CvfefCIKvB
+</p>
+<!-- FINAL EDIT: WebSGML allows ambiguity? -->
+<p>SGMLCIef(SGMLCB)vBSGMLVXepXML&processor;CIef&error;B</p>
+<p>Cef<code>((b, c) | (b, d))</code>IBC<code>b</code>^Cf<code>b</code>&match;]CvfC&parser;mBC<code>b</code>QCQCfC<code>(b, (c | d))</code>BC<code>b</code>CefO&match;B&parser;CCmKvB<code>c</code><code>d</code>CB</p>
+<p>`ョIヲBAho, Sethi, and Ullman <bibref ref='Aho'/>3.9ASY3.5WIASYpCefLI[g}g\BASYCK\eXu(CK\\eX[m[h)Cfollow set(u\\)\Bufollow setCuvf^xtCef&error;C&error;B
+</p>
+<p>IefIefCIefASYBBr&#252;ggemann-Klein 1991 <bibref ref='ABK'/>QB</p>
+</inform-div1>
+<inform-div1 id="sec-guessing">
+<head>ゥo</head>
+<p>
+XMLCeタx@\CgpヲBCXML&processor;CxOCgpmKvCCxヲBICC]IBCXMLCS]IBCXMLC_IBCタLT|[gzBCeタgpゥo\CXMLuyeBCXMLf[^Xg[CpBCXMLタ&processor;nC(O)CBヲB</p>
+<p>
+UTF-8`ョUTF-16`ョXMLタCe<code>&lt;?xml</code>'XMLn<emph></emph>CK&processor;C2INebg4INebgCoBXgCUCS-4'&lt;'"<code>#x0000003C</code>"C'?'"<code>#x0000003F</code>"CyUTF-16f[^&stream;Kv&byte-order-mark;"<code>#xFEFF</code>"mB</p>
+<p>
+<ulist>
+<item>
+<p>a) <code>00 00 00 3C</code>: UCS-4, big-endian }V (1234)</p>
+</item>
+<item>
+<p>b) <code>3C 00 00 00</code>: UCS-4, little-endian }V (4321)</p>
+</item>
+<item>
+<p>c) <code>00 00 3C 00</code>: UCS-4, INebg (2143)</p>
+</item>
+<item>
+<p>d) <code>00 3C 00 00</code>: UCS-4, INebg (3412)</p>
+</item>
+<item>
+<p>e) <code>FE FF</code>: UTF-16, big-endian</p>
+</item>
+<item>
+<p>f) <code>FF FE</code>: UTF-16, little-endian</p>
+</item>
+<item>
+<p>g) <code>00 3C 00 3F</code>: UTF-16, big-endian, &byte-order-mark;(CC&error;B)B</p>
+</item>
+<item>
+<p>h) <code>3C 00 3F 00</code>: UTF-16, little-endian, &byte-order-mark;(CC&error;B)B</p>
+</item>
+<item>
+<p>i) <code>3C 3F 78 6D</code>: UTF-8, ISO 646, ASCII, ISO 8859ep[gCShift-JISCEUCCC7rbgC8rbgCASCIIuCylBoCタBCCASCIIrbgp^[gpCゥCm\B
+</p>
+</item>
+<item>
+<p>j) <code>4C 6F A7 94</code>: EBCDIC (BR[hy[WgpmCSB)</p>
+</item>
+<item>
+<p>k) : UTF-8BCf[^&stream;CfIC`ョB</p>
+</item>
+</ulist>
+</p>
+<p>
+xゥCXMLC&identifier;\B&identifier;CeXKv(CUTF-8y8859C8859ep[gCgpEBCDICR[hy[WCB)B
+</p>
+<p>
+eASCIICgpoC&processor;CSmBタCLgpCCIy[eBOVXe`vgR^OMs\CxmヲCXML\B
+</p>
+<p>
+&processor;gpoC[`oCeKoCK\B</p>
+<p>
+ゥゥxtVXelC\tgEFACXVタWCXMLC@\B[`タメCタxtgpyOm]B
+</p>
+<p>QCXMLタCCt@CVXeylbg[NvgRCBpC<!-- (e.g. both the
+internal encoding declaration and an external label), -->IDxy]@CXMLzgpCvgRKBCxyO&header;MIME`ョxIDxKCtext/xmlyapplication/xmlMIME^`RFCBC^pCK]]B
+<ulist>
+<item><p>a) XMLタt@CC&byte-order-mark;yPIC()gpB&hueristics;yC&error;pB
+</p></item>
+<item><p>b) XMLタMIME^text/xmlzCMIME^charsetp^@B&hueristics;yC&error;pB
+</p></item>
+<item><p>c) XMLタ <!-- via the HTTP protocol -->MIME^application/xmlzC&byte-order-mark;yPI()gpB&hueristics;y&error;pB
+</p></item>
+</ulist>
+KCvgRpBCMIME^text/xmlyapplication/xml`CKRFCKCKB
+</p>
+</inform-div1>
+<!--
+<div1 id='sec-trival-grammar'>
+<head>A Trivial Grammar for XML Documents</head>
+<p>The grammar given in the body of this specification is relatively
+simple, but for some purposes it is convenient to have an even simpler
+one.
+A very simple, though non-conforming, <termref def="dt-xml-proc">XML
+processor</termref> could parse a <termref
+def="dt-wellformed">well-formed</termref> XML document using the
+following simplified grammar, recognizing all element boundaries
+correctly, though not expanding entity references and not detecting
+all errors:
+
+<scrap lang="ebnf">
+<head>Trivial text grammar</head>
+<prodgroup pcw2="5.5" pcw4="17" pcw5="10">
+<prod id='NT-simpleDoc'><lhs>simpleDoc</lhs>
+<rhs>(<nt def='NT-SimpleData'>SimpleData</nt>
+| <nt def='NT-Markup'>Markup</nt>)*</rhs></prod>
+<prod id="NT-SimpleData"><lhs>SimpleData</lhs>
+<rhs>[^&lt;&amp;]*</rhs>
+<com>cf. PCData</com>
+</prod>
+<prod id="NT-SimpleLit"><lhs>SimpleLit</lhs>
+<rhs>('"' [^"]* '"')</rhs>
+<rhs>|&nbsp;("'" [^']* "'")</rhs>
+<com>cf. SkipLit</com>
+</prod>
+<prod id='NT-Markup'><lhs>Markup</lhs>
+<rhs>'&lt;' <nt def='NT-Name'>Name</nt>
+(<nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?
+<nt def='NT-SimpleLit'>SimpleLit</nt>)*
+<nt def='NT-S'>S</nt>? '&gt;'</rhs><com>start-tags </com>
+<rhs>| '&lt;' <nt def='NT-Name'>Name</nt>
+(<nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?
+<nt def='NT-SimpleLit'>SimpleLit</nt>)*
+<nt def='NT-S'>S</nt>? '/&gt;'</rhs><com>empty elements</com>
+<rhs>| '&lt;/'
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>? '&gt;'</rhs>
+<com>end-tags </com>
+<rhs>| '&amp;' <nt def='NT-Name'>Name</nt> ';'</rhs>
+<com>entity references </com>
+<rhs>| '&amp;#' [0-9]+ ';'</rhs>
+<com>decimal character references </com>
+<rhs>| '&hcro;' [0-9a-fA-F]+ ';'</rhs>
+<com>hexadecimal character references </com>
+<rhs>| '&lt;!&como;'
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*))
+'&comc;&gt;'</rhs>
+<com>comments </com>
+<rhs>| '&lt;?'
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*))
+'&pic;'</rhs>
+<com>processing instructions </com>
+<rhs>| '&lt;![CDATA['
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-Char'>Char</nt>*))
+']]&gt;'</rhs>
+<com>CDATA sections</com>
+<rhs>| '&lt;!DOCTYPE'
+(<nt def="NT-Char">Char</nt> - ('[' | ']'))+
+('['
+<nt def="NT-simpleDTD">simpleDTD</nt>*
+']')? '&gt;'</rhs>
+<com>doc type declaration</com>
+</prod>
+<prod id="NT-simpleDTD"><lhs>simpleDTD</lhs>
+<rhs>'&lt;!&como;'
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*))
+'&comc;&gt;'</rhs>
+<com>comment </com>
+<rhs>| '&lt;?'
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*))
+'&pic;'</rhs>
+<com>processing instruction </com>
+<rhs><nt def="NT-SimpleLit">SimpleLit</nt></rhs>
+<rhs>(<nt def="NT-Char">Char</nt> - (']' | '&lt;' | '"' | "'"))+
+</rhs>
+
+<rhs>'&lt;!' (<nt def="NT-Char">Char</nt> - ('-'))+</rhs>
+<com>declarations other than comment</com>
+</prod>
+</prodgroup>
+</scrap>
+Most processors will require the more complex
+grammar given in the body of this specification.
+
+</p>
+</div1>
+-->
+
+<inform-div1 id="sec-xml-wg">
+<head>&informative;W3C XML [LOO[v</head>
+
+<p>&TR-or-Rec;CW3C XML [LOO[v(WG)CJFBWG&TR-or-Rec;FCWGF[sKBXML WGyOヲB</p>
+
+<!-- parens and spaces removed from role elements by bosak 1997.11.07 -->
+<orglist>
+<member><name>Jon Bosak, Sun</name><role>Chair</role></member>
+<member><name>James Clark</name><role>Technical Lead</role></member>
+<member><name>Tim Bray, Textuality and Netscape</name><role>XML Co-editor</role></member>
+<member><name>Jean Paoli, Microsoft</name><role>XML Co-editor</role></member>
+<member><name>C. M. Sperberg-McQueen, U. of Ill.</name><role>XML Co-editor</role></member>
+<member><name>Dan Connolly, W3C</name></member>
+<member><name>Steve DeRose, INSO</name></member>
+<member><name>Dave Hollander, HP</name></member>
+<member><name>Eliot Kimber, Highland</name></member>
+<member><name>Eve Maler, ArborText</name></member>
+<member><name>Tom Magliery, NCSA</name></member>
+<member><name>Murray Maloney, Muzmo and Grif</name></member>
+<member><name>c@^Cxm[bNXVXe()</name></member>
+<member><name>Joel Nava, Adobe</name></member>
+<member><name>Peter Sharpe, SoftQuad</name></member>
+<member><name>John Tigue, DataChannel</name></member>
+</orglist>
+
+</inform-div1>
+</back>
+</spec>
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+End:
+-->
+
+
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-utf-16.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-utf-16.xml
new file mode 100644
index 0000000000..e45d113fd6
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-utf-16.xml
Binary files differ
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-utf-8.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-utf-8.xml
new file mode 100644
index 0000000000..d7f4415e72
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-utf-8.xml
@@ -0,0 +1,3548 @@
+<?xml version="1.0"?>
+<!DOCTYPE spec SYSTEM "spec.dtd" [
+
+<!-- ユ茯荐潟茹f絲乗院絎篏鐚鐚 -->
+
+<!ENTITY TR-or-Rec "篁罕">
+<!-- <!ENTITY TR-or-Rec "罔羣(TR)"> -->
+<!ENTITY eTR-or-Rec "specification">
+<!-- <!ENTITY eTR-or-Rec "technical report(TR)"> -->
+<!ENTITY application "≪宴若激с">
+<!ENTITY error "">
+<!ENTITY fatal-error "翫順">
+<!ENTITY parsed-data "茹f若">
+<!ENTITY unparsed-data "茹f若">
+<!ENTITY parsed-entity "茹f絲乗院絎篏">
+<!ENTITY parser "若">
+<!ENTITY unparsed-entity "茹f絲乗院紊絎篏">
+<!ENTITY well-formed "翫就綣">
+<!ENTITY valid "絋ュ">
+<!ENTITY validity "絋ュ">
+<!ENTITY escape "ユ宴">
+<!ENTITY prolog "吾">
+<!ENTITY surrogate-blocks "泣蚊若">
+<!ENTITY letter "絖">
+<!ENTITY ideographic "腟怨羲√">
+<!ENTITY markup "若篁">
+<!ENTITY left-angle-bracket "筝膈(絨)">
+<!ENTITY right-angle-bracket "筝膈(紊с)">
+<!ENTITY string "絖">
+<!ENTITY char-string "絖"><!-- string of chararacters,
+ character strings, strings,
+ characters 鴻絖 -->
+<!ENTITY replacement-text "臀鴻">
+<!ENTITY single-quote "筝綣膃">
+<!ENTITY double-quote "篋綣膃">
+<!ENTITY adaptations-annex "絮">
+<!ENTITY root "若">
+<!ENTITY base-character "阪絖">
+<!ENTITY diacritical-mark "咲括"><!--(ゃ≪c若)冴茖-->
+<!ENTITY composed-form "綵√">
+<!ENTITY standalone "鴻帥潟≪">
+<!ENTITY double-hyphen "篋cゃ">
+<!--<!ENTITY case-fold "紊ф絖絨絖吾腟延">-->
+<!-- <!ENTITY case-fold "罸莠鐚紊ф絖絨絖筝荀">-->
+<!ENTITY parameter "<">
+<!ENTITY stream "鴻若">
+<!ENTITY validating "絋ュс罎荐若">
+<!ENTITY non-validating "絋ュс罎荐若">
+<!ENTITY user "若">
+<!--<!ENTITY at-user-option "若吟激с潟絎">-->
+<!ENTITY at-user-option "若吟激с恰絎c">
+<!ENTITY content-particle "絎合絖">
+<!ENTITY processor "祉">
+<!ENTITY default "">
+<!ENTITY default-value "">
+<!ENTITY header "">
+<!ENTITY target "帥若蚊">
+<!ENTITY mixed-content "羞桁絎">
+<!ENTITY country-code "純潟若">
+<!ENTITY language-code "荐茯潟若">
+<!ENTITY version ""> <!-- version 1.0膃1.0 -->
+<!ENTITY match "">
+<!ENTITY character-value "絖">
+<!ENTITY byte-order-mark "ゃ若">
+<!ENTITY bypass "">
+<!ENTITY identifier "茘ュ">
+<!-- <!ENTITY identify "茘ャ"> -->
+<!ENTITY identify "劫">
+<!-- <!ENTITY identified "茘ャ"> -->
+<!ENTITY identified "劫">
+<!ENTITY combining-character "腟絖">
+<!ENTITY subset "泣祉">
+<!ENTITY token "若">
+<!ENTITY literal "">
+
+<!ENTITY parenthesis "c">
+<!ENTITY left-parenthesis "c">
+<!ENTITY right-parenthesis "c">
+
+<!-- фゃ JIS X0221荀綽荀 -->
+
+<!ENTITY extender "鴻潟">
+<!ENTITY property "">
+<!ENTITY property-list "c鴻">
+<!ENTITY property-file "c<ゃ">
+<!ENTITY font-decomposition "潟茹">
+<!ENTITY compatibility-decomposition "篋у茹">
+<!ENTITY compatibility-area "篋ч">
+
+<!ENTITY language-identification "荐茯茘">
+
+<!ENTITY space-character "鴻若号絖">
+<!ENTITY space "鴻若">
+<!ENTITY code-value "潟若">
+<!ENTITY normative "荀鎘">
+<!ENTITY hueristics "ャ若鴻c">
+<!ENTITY informative "">
+
+<!ENTITY WebSGML 'ISO 8879吾WebSGML&adaptations-annex;'>
+<!ENTITY XML.version "1.0">
+<!ENTITY doc.date "1997綛128">
+<!ENTITY iso6.doc.date "971208">
+<!ENTITY w3c.doc.date "97綛123">
+<!ENTITY draft.day '8'>
+<!ENTITY draft.month '12'>
+<!ENTITY draft.year '1997綛'>
+
+<!-- ユ茯荐潟茹f絲乗院絎篏鐚障э -->
+
+<!-- LAST TOUCHED BY: Tim Bray, 3 Dec 1997 -->
+
+<!-- The words 'FINAL EDIT' in comments mark places where changes
+need to be made after approval of the document by the ERB, before
+publication. -->
+
+<!ENTITY XML.version "1.0">
+<!ENTITY doc.date "8 December 1997">
+<!ENTITY iso6.doc.date "971208">
+<!ENTITY w3c.doc.date "03-Dec-97">
+<!ENTITY draft.day '8'>
+<!ENTITY draft.month 'December'>
+<!ENTITY draft.year '1997'>
+
+<!ENTITY WebSGML
+ 'WebSGML Adaptations Annex to ISO 8879'>
+
+<!ENTITY newline " ">
+<!-- old: <!ENTITY newline "&#8232;"> -->
+<!ENTITY gt ">">
+<!--<!ENTITY amp "&"> -->
+<!ENTITY xmlpio "'&lt;?xml'">
+<!ENTITY pic "'?>'">
+<!ENTITY br "\n">
+<!ENTITY cellback '#c0d9c0'>
+<!ENTITY mdash "--"> <!-- was: <!ENTITY mdash "&#38;#151;"> -->
+<!ENTITY com "--">
+<!ENTITY como "--">
+<!ENTITY comc "--">
+<!ENTITY hcro "&amp;#x">
+<!-- <!ENTITY nbsp ""> -->
+<!ENTITY nbsp "&#160;">
+<!ENTITY magicents "<code>amp</code>,
+<code>lt</code>,
+<code>gt</code>,
+<code>apos</code>,
+<code>quot</code>">
+
+<!--ユ茯荐潟ゃ: 潟<潟膺肢┳絲乗院紊障贋紊 -->
+<!-- audience and distribution status: for use at publication time -->
+<!-- -->
+<!ENTITY doc.audience "ャ弱活域">
+<!ENTITY doc.distribution "鴻恰緇筝羈劫鐚
+宴絽">
+
+]>
+
+<!-- for Panorama *-->
+<?VERBATIM "eg" ?>
+
+<spec>
+<header>
+<title>≦宍純&markup;荐茯 (XML)</title>
+<version>膃1.0&version;</version>
+<w3c-designation>PR-xml-&iso6.doc.date;</w3c-designation>
+<w3c-doctype>World Wide Web Consortium</w3c-doctype>
+<pubdate><day>&draft.day;</day><month>&draft.month;</month><year>&draft.year;</year></pubdate>
+<notice><p>罅鐚XML WG割≫ャ若сc鐚茘域с
+<!-- FINAL EDIT: FIX --></p></notice>
+<publoc>
+<loc href="http://www.w3.org/TR/PR-xml-&iso6.doc.date;">
+http://www.w3.org/TR/PR-xml-&iso6.doc.date;</loc></publoc>
+<prevlocs>
+<loc href='http://www.w3.org/TR/WD-xml-961114'>
+http://www.w3.org/TR/WD-xml-961114</loc>
+<loc href='http://www.w3.org/TR/WD-xml-lang-970331'>
+http://www.w3.org/TR/WD-xml-lang-970331</loc>
+<loc href='http://www.w3.org/TR/WD-xml-lang-970630'>
+http://www.w3.org/TR/WD-xml-lang-970630</loc>
+<loc href='http://www.w3.org/TR/WD-xml-970807'>
+http://www.w3.org/TR/WD-xml-970807</loc>
+<loc href='http://www.w3.org/TR/WD-xml-971117'>
+http://www.w3.org/TR/WD-xml-971117</loc>
+</prevlocs>
+<authlist>
+<author><name>Tim Bray</name>
+<affiliation>Textuality and Netscape</affiliation>
+<email
+href="mailto:tbray@textuality.com">tbray@textuality.com</email></author>
+<author><name>Jean Paoli</name>
+<affiliation>Microsoft</affiliation>
+<email href="mailto:jeanpa@microsoft.com">jeanpa@microsoft.com</email></author>
+<author><name>C. M. Sperberg-McQueen</name>
+<affiliation>University of Illinois at Chicago</affiliation>
+<email href="mailto:cmsmcq@uic.edu">cmsmcq@uic.edu</email></author>
+</authlist>
+<status>
+ <p>&TR-or-Rec;, 1997綛12World Wide Web Consortium
+茵у罅Extensible Markup Language version膃1.0膺肢┳,
+茵絎鴻紊眼鋎&TR-or-Rec;сThis &eTR-or-Rec;
+is a translation of the XML proposed recommendation 1.0
+published by the World Wide Web Consortium in December 1997. It is
+intended that &eTR-or-Rec; is technically identical to the original.</p>
+
+<p>篏罔≪荐菴違罨<腓冴The
+original copyright notice is shown below:</p>
+
+<p>XML荀鎘鐚ャ弱活域
+鴻恰緇筝羈劫鐚宴
+絽This version of the XML specification is for
+public review and discussion. It may be distributed freely,
+as long as all text and legal notices remain intact.</p>
+
+<p>&TR-or-Rec;cXMLу罅鐚1998綛2World
+Wide Web Consortium茵XMLуcс臀
+罔羣宴鐚XMLу緇c荐罩c
+篋絎The XML Proposed Recommendation is superseded
+by the XML Recommendation which was published by the World
+Wide Web Consortium in February 1998. It is intended that
+this &eTR-or-Rec; be revised accordingly in the near future.</p>
+
+<p>&TR-or-Rec;鐚絎絎сc鐚綛贋ャ<loc
+href='http://www.w3.org/XML'>XML羇糸</loc>篏鐚筝c篏
+罐罅憜鐚綺膀蚊篏睡初鴻罔
+羣(罔羣筝&markup;荐茯鐚Standard Generalized Markup Language, ISO
+8879:1986菴遵活罩c)鐚WWW筝с篏睡&subset;
+荐茯鐚&TR-or-Rec;鐚荀鎘ISO 8879罘純
+&subset;罧鐚羆阪ゃ荅括完鐚<loc
+href='http://www.w3.org/XML/#WG-decisions'>ラ</loc>XML鐚
+≪ゃс泣若鐚XML泣若<loc
+href='http://www.w3.org/XML/#software'>若с</loc>違紜
+XML≪茫茘違鐚潟ゃ潟<loc
+href='http://www.w3.org/XML/#discussion'>ユс</loc>It is a
+stable document derived from a series of working drafts produced over
+the last year as deliverables of the <loc
+href='http://www.w3.org/XML'>XML activity</loc>. It specifies a
+language created by subsetting an existing, widely used international
+text processing standard (Standard Generalized Markup Language, ISO
+8879:1986 as amended and corrected) for use on the World Wide Web.
+Details of the decisions regarding which features of ISO 8879 to
+retain in the subset <loc
+href='http://www.w3.org/XML/#WG-decisions'>are available
+separately</loc>. XML is already supported by some commercial
+products, and there are a growing number of <loc
+href='http://www.w3.org/XML/#software'>free implementations</loc>.
+Public discussions of XML <loc
+href='http://www.w3.org/XML/#discussion'>are accessible
+online</loc>.</p>
+
+<p>&TR-or-Rec;с鐚<bibref ref="Berners-Lee"/>絎臂
+URI(Uniform Resource Identifier)篏睡URI九篏罐画筝с
+鐚<bibref ref="RFC1738"/><bibref ref="RFC1808"/>贋違篋絎
+c篏罐RFCャ翫鐚荀霢URI
+吾с鐚URL(Uniform Resource Locator)吾с篁cThis
+specification uses the term URI, which is defined by <bibref
+ref="Berners-Lee"/>, a work in progress expected to update <bibref
+ref="RFC1738"/> and <bibref ref="RFC1808"/>. Should the work not be
+accepted as an RFC, the references to uniform resource identifiers
+(URIs) in this specification will become references to uniform
+resource locators (URLs).</p>
+
+ <p>XML篁罕羣堺W3C泣ゃ
+сThe normative version of the specification is
+the English version found at the W3C site.</p>
+
+ <p>罔羣宴篁罕茵筝с潟
+膺肢┳筝茯ゃ緇Although this technical report is
+intended to be technically identical to the original, it may
+contain errors from the translation.</p>
+
+ <p>: 荀鎘荀鎘膊絲上≫
+&TR-or-Rec;膀罕括垩荀鎘с篆絖
+&TR-or-Rec;Web荀鎘HTML帥違障鞘絖
+</p>
+</status>
+<!-- out of date
+<statusp>This is a W3C Working Draft for review by W3C members and other
+interested parties. It is a draft document and may be updated,
+replaced, or obsoleted by other documents at any time. It is
+inappropriate to use W3C Working Drafts as reference material or to
+cite them as other than "work in progress". A list of current W3C
+working drafts can be found at
+<loc href="http://www.w3.org/TR">http://www.w3.org/TR</loc>.</statusp>
+<statusp><emph>Note:</emph> Since working drafts are subject to frequent
+change, you are advised to reference the above URL, rather than the
+URLs for working drafts themselves.</statusp>
+<statusp>This work is part of the W3C SGML Activity (for current
+status, see <loc href="http://www.w3.org/MarkUp/SGML/Activity"
+>http://www.w3.org/MarkUp/SGML/Activity</loc>).</statusp>
+<p>The current
+draft of this specification
+presupposes the successful completion of the current
+work on the &WebSGML;, being prepared by ISO/IEC JTC1
+at the time this draft specification was drafted.
+If it is not
+adopted in the expected form, some clauses of this specification
+may change, and some
+recommendations now labeled "<termref def="dt-interop">for
+interoperability</termref>" will become requirements labeled
+"<termref def="dt-compat">for compatibility</termref>".
+</p>
+<p>The current draft of this specification uses the term
+URI, which is defined by
+<bibref ref="Berners-Lee"/>,
+which is work in progress expected to update
+<bibref ref="RFC1738"/> and <bibref ref="RFC1808"/>.
+Should the work in this draft not be accepted as an RFC, the
+references to uniform resource identifiers (URIs) in this
+specification will become references to uniform resource
+locators (URLs).</p>
+</status> -->
+<abstract>
+<p>≦宍純&markup;荐茯(XML)SGML膂≦壕сc鐚&TR-or-Rec;э鴻荀鎘XML罔鐚憜HTML罕鐚筝сSGMLс筝ч絽鐚篆≦喝сXML絎茖絎号сc鐚SGMLHTML<絲障娯с篆よ┃荐</p>
+</abstract>
+<pubstmt>
+<p>Chicago, Vancouver, Mountain View, et al.:
+World-Wide Web Consortium, XML篏罐違若, 1996, 1997.</p>
+</pubstmt>
+<sourcedesc>
+<p>Created in electronic form.</p>
+</sourcedesc>
+<langusage>
+<language id='EN'>English</language>
+<language id='ebnf'>Extended Backus-Naur Form (formal grammar)</language>
+</langusage>
+<revisiondesc>
+<slist>
+<sitem>1997-12-03 : CMSMcQ : yet further changes</sitem>
+<sitem>1997-12-02 : TB : further changes (see TB to XML WG,
+2 December 1997)</sitem>
+<sitem>1997-12-02 : CMSMcQ : deal with as many corrections and
+comments from the proofreaders as possible:
+entify hard-coded document date in pubdate element,
+change expansion of entity WebSGML,
+update status description as per Dan Connolly (am not sure
+about refernece to Berners-Lee et al.),
+add 'The' to abstract as per WG decision,
+move Relationship to Existing Standards to back matter and
+combine with References,
+re-order back matter so normative appendices come first,
+re-tag back matter so informative appendices are tagged informdiv1,
+remove XXX XXX from list of 'normative' specs in prose,
+move some references from Other References to Normative References,
+add RFC 1738, 1808, and 2141 to Other References (they are not
+normative since we do not require the processor to enforce any
+rules based on them),
+add reference to 'Fielding draft' (Berners-Lee et al.),
+move notation section to end of body,
+drop URIchar non-terminal and use SkipLit instead,
+lose stray reference to defunct nonterminal 'markupdecls',
+move reference to Aho et al. into appendix (Tim's right),
+add prose note saying that hash marks and fragment identifiers are
+NOT part of the URI formally speaking, and are NOT legal in
+system identifiers (processor 'may' signal an error).
+Work through:
+Tim Bray reacting to James Clark,
+Tim Bray on his own,
+Eve Maler,
+
+NOT DONE YET:
+change binary / text to unparsed / parsed.
+handle James's suggestion about &lt; in attriubte values
+uppercase hex characters,
+namechar list,
+</sitem>
+<sitem>1997-12-01 : JB : add some column-width parameters</sitem>
+<sitem>1997-12-01 : CMSMcQ : begin round of changes to incorporate
+recent WG decisions and other corrections:
+binding sources of character encoding info (27 Aug / 3 Sept),
+correct wording of Faust quotation (restore dropped line),
+drop SDD from EncodingDecl,
+change text at version number 1.0,
+drop misleading (wrong!) sentence about ignorables and extenders,
+modify definition of PCData to make bar on msc grammatical,
+change grammar's handling of internal subset (drop non-terminal markupdecls),
+change definition of includeSect to allow conditional sections,
+add integral-declaration constraint on internal subset,
+drop misleading / dangerous sentence about relationship of
+entities with system storage objects,
+change table body tag to htbody as per EM change to DTD,
+add rule about space normalization in public identifiers,
+add description of how to generate our name-space rules from
+Unicode character database (needs further work!).
+</sitem>
+<sitem>1997-10-08 : TB : Removed %-constructs again, new rules
+for PE appearance.</sitem>
+<sitem>1997-10-01 : TB : Case-sensitive markup; cleaned up
+element-type defs, lotsa little edits for style</sitem>
+<sitem>1997-09-25 : TB : Change to elm's new DTD, with
+substantial detail cleanup as a side-effect</sitem>
+<sitem>1997-07-24 : CMSMcQ : correct error (lost *) in definition
+of ignoreSectContents (thanks to Makoto Murata)</sitem>
+<sitem>Allow all empty elements to have end-tags, consistent with
+SGML TC (as per JJC).</sitem>
+<sitem>1997-07-23 : CMSMcQ : pre-emptive strike on pending corrections:
+introduce the term 'empty-element tag', note that all empty elements
+may use it, and elements declared EMPTY must use it.
+Add WFC requiring encoding decl to come first in an entity.
+Redefine notations to point to PIs as well as binary entities.
+Change autodetection table by removing bytes 3 and 4 from
+examples with Byte Order Mark.
+Add content model as a term and clarify that it applies to both
+mixed and element content.
+</sitem>
+<sitem>1997-06-30 : CMSMcQ : change date, some cosmetic changes,
+changes to productions for choice, seq, Mixed, NotationType,
+Enumeration. Follow James Clark's suggestion and prohibit
+conditional sections in internal subset. TO DO: simplify
+production for ignored sections as a result, since we don't
+need to worry about parsers which don't expand PErefs finding
+a conditional section.</sitem>
+<sitem>1997-06-29 : TB : various edits</sitem>
+<sitem>1997-06-29 : CMSMcQ : further changes:
+Suppress old FINAL EDIT comments and some dead material.
+Revise occurrences of % in grammar to exploit Henry Thompson's pun,
+especially markupdecl and attdef.
+Remove RMD requirement relating to element content (?).
+</sitem>
+<sitem>1997-06-28 : CMSMcQ : Various changes for 1 July draft:
+Add text for draconian error handling (introduce
+the term Fatal Error).
+RE deleta est (changing wording from
+original announcement to restrict the requirement to validating
+parsers).
+Tag definition of validating processor and link to it.
+Add colon as name character.
+Change def of %operator.
+Change standard definitions of lt, gt, amp.
+Strip leading zeros from #x00nn forms.</sitem>
+<sitem>1997-04-02 : CMSMcQ : final corrections of editorial errors
+found in last night's proofreading. Reverse course once more on
+well-formed: Webster's Second hyphenates it, and that's enough
+for me.</sitem>
+<sitem>1997-04-01 : CMSMcQ : corrections from JJC, EM, HT, and self</sitem>
+<sitem>1997-03-31 : Tim Bray : many changes</sitem>
+<sitem>1997-03-29 : CMSMcQ : some Henry Thompson (on entity handling),
+some Charles Goldfarb, some ERB decisions (PE handling in miscellaneous
+declarations. Changed Ident element to accept def attribute.
+Allow normalization of Unicode characters. move def of systemliteral
+into section on literals.</sitem>
+<sitem>1997-03-28 : CMSMcQ : make as many corrections as possible, from
+Terry Allen, Norbert Mikula, James Clark, Jon Bosak, Henry Thompson,
+Paul Grosso, and self. Among other things: give in on "well formed"
+(Terry is right), tentatively rename QuotedCData as AttValue
+and Literal as EntityValue to be more informative, since attribute
+values are the <emph>only</emph> place QuotedCData was used, and
+vice versa for entity text and Literal. (I'd call it Entity Text,
+but 8879 uses that name for both internal and external entities.)</sitem>
+<sitem>1997-03-26 : CMSMcQ : resynch the two forks of this draft, reapply
+my changes dated 03-20 and 03-21. Normalize old 'may not' to 'must not'
+except in the one case where it meant 'may or may not'.</sitem>
+<sitem>1997-03-21 : TB : massive changes on plane flight from Chicago
+to Vancouver</sitem>
+<sitem>1997-03-21 : CMSMcQ : correct as many reported errors as possible.
+</sitem>
+<sitem>1997-03-20 : CMSMcQ : correct typos listed in CMSMcQ hand copy of spec.</sitem>
+<sitem>1997-03-20 : CMSMcQ : cosmetic changes preparatory to revision for
+WWW conference April 1997: restore some of the internal entity
+references (e.g. to docdate, etc.), change character xA0 to &amp;nbsp;
+and define nbsp as &amp;#160;, and refill a lot of paragraphs for
+legibility.</sitem>
+<sitem>1996-11-12 : CMSMcQ : revise using Tim's edits:
+Add list type of NUMBERED and change most lists either to
+BULLETS or to NUMBERED.
+Suppress QuotedNames, Names (not used).
+Correct trivial-grammar doc type decl.
+Rename 'marked section' as 'CDATA section' passim.
+Also edits from James Clark:
+Define the set of characters from which [^abc] subtracts.
+Charref should use just [0-9] not Digit.
+Location info needs cleaner treatment: remove? (ERB
+question).
+One example of a PI has wrong pic.
+Clarify discussion of encoding names.
+Encoding failure should lead to unspecified results; don't
+prescribe error recovery.
+Don't require exposure of entity boundaries.
+Ignore white space in element content.
+Reserve entity names of the form u-NNNN.
+Clarify relative URLs.
+And some of my own:
+Correct productions for content model: model cannot
+consist of a name, so "elements ::= cp" is no good.
+</sitem>
+<sitem>1996-11-11 : CMSMcQ : revise for style.
+Add new rhs to entity declaration, for parameter entities.</sitem>
+<sitem>1996-11-10 : CMSMcQ : revise for style.
+Fix / complete section on names, characters.
+Add sections on parameter entities, conditional sections.
+Still to do: Add compatibility note on deterministic content models.
+Finish stylistic revision.</sitem>
+<sitem>1996-10-31 : TB : Add Entity Handling section</sitem>
+<sitem>1996-10-30 : TB : Clean up term &amp; termdef. Slip in
+ERB decision re EMPTY.</sitem>
+<sitem>1996-10-28 : TB : Change DTD. Implement some of Michael's
+suggestions. Change comments back to //. Introduce language for
+XML namespace reservation. Add section on white-space handling.
+Lots more cleanup.</sitem>
+<sitem>1996-10-24 : CMSMcQ : quick tweaks, implement some ERB
+decisions. Characters are not integers. Comments are /* */ not //.
+Add bibliographic refs to 10646, HyTime, Unicode.
+Rename old Cdata as MsData since it's <emph>only</emph> seen
+in marked sections. Call them attribute-value pairs not
+name-value pairs, except once. Internal subset is optional, needs
+'?'. Implied attributes should be signaled to the app, not
+have values supplied by processor.</sitem>
+<sitem>1996-10-16 : TB : track down &amp; excise all DSD references;
+introduce some EBNF for entity declarations.</sitem>
+<sitem>1996-10-?? : TB : consistency check, fix up scraps so
+they all parse, get formatter working, correct a few productions.</sitem>
+<sitem>1996-10-10/11 : CMSMcQ : various maintenance, stylistic, and
+organizational changes:
+Replace a few literals with xmlpio and
+pic entities, to make them consistent and ensure we can change pic
+reliably when the ERB votes.
+Drop paragraph on recognizers from notation section.
+Add match, exact match to terminology.
+Move old 2.2 XML Processors and Apps into intro.
+Mention comments, PIs, and marked sections in discussion of
+delimiter escaping.
+Streamline discussion of doctype decl syntax.
+Drop old section of 'PI syntax' for doctype decl, and add
+section on partial-DTD summary PIs to end of Logical Structures
+section.
+Revise DSD syntax section to use Tim's subset-in-a-PI
+mechanism.</sitem>
+<sitem>1996-10-10 : TB : eliminate name recognizers (and more?)</sitem>
+<sitem>1996-10-09 : CMSMcQ : revise for style, consistency through 2.3
+(Characters)</sitem>
+<sitem>1996-10-09 : CMSMcQ : re-unite everything for convenience,
+at least temporarily, and revise quickly</sitem>
+<sitem>1996-10-08 : TB : first major homogenization pass</sitem>
+<sitem>1996-10-08 : TB : turn "current" attribute on div type into
+CDATA</sitem>
+<sitem>1996-10-02 : TB : remould into skeleton + entities</sitem>
+<sitem>1996-09-30 : CMSMcQ : add a few more sections prior to exchange
+ with Tim.</sitem>
+<sitem>1996-09-20 : CMSMcQ : finish transcribing notes.</sitem>
+<sitem>1996-09-19 : CMSMcQ : begin transcribing notes for draft.</sitem>
+<sitem>1996-09-13 : CMSMcQ : made outline from notes of 09-06,
+do some housekeeping</sitem>
+</slist>
+</revisiondesc>
+</header>
+<body>
+<div1 id='sec-intro'>
+<head>筝篋</head>
+<!-- <div2 id='sec-scope'>
+ <head>膀</head> -->
+<p>≦宍純&markup;荐茯XML(eXtensible Markup Language)鐚<termref def="dt-xml-doc">XML</termref>若帥吾с鴻荀鎘鐚XML吾違篏筝荀鎘XML鐚SGML(罔羣筝&markup;荐茯鐚Standard Generalized Markup Language)<bibref ref='ISO8879'/>狗&subset;罕筝鐚XML吾鐚SGML荀若</p>
+<p>XML吾鐚<termref def="dt-entity">絎篏</termref>荐九篏鐚絎篏鐚&parsed-data;&unparsed-data;&parsed-data;鐚<termref def="dt-character">絖</termref>鐚筝鐚吾<termref def="dt-chardata">絖若</termref>罕鐚筝鐚<termref def="dt-markup">&markup;</termref>罕&markup;鐚吾荐吟ゃ≪活罕ゃ荐菴違茵膃垩XML鐚荐吟ゃ≪活罕ゃ句>散荐菴違罘罕箴</p>
+<p><termdef id="dt-xml-proc" term="XML&processor;"><term>XML&processor;</term>純с≪≪吾ャ若鐚XML吾茯粋昭随絎劫恰吾≪祉鴻箴 </termdef> <termdef id="dt-app" term="&application;">XML&processor;鐚篁≪吾ャ若篏鐚≪吾ャ若<term>&application;</term></termdef>&TR-or-Rec;鐚XML&processor;茵違荀鎘ゃ障鐚XML若帥茯莨若炊号荀鎘鐚&application;箴宴荀鎘</p>
+<!-- </div2> -->
+<div2 id='sec-origin-goals'>
+<head>腟膩括罔</head>
+<p>1996綛眼World Wide Web Consortium(W3C)筝荐腴XML篏罐違若(篁ュ鐚 SGML膩ャ弱>若違)鐚XML冴篏罐違若茘育激鐚Sun MicrosystemsJon BosakゃW3C腟膵鐚篁ュSGML篏罐違若若違XML SIG(Special Interest Group)鐚XML九絽吾羇紫冴祉
+<!--JISс? XML篏罐違若<潟篁蚊腓冴-->Dan Connolly鐚篏罐違若W3Cg機篆</p>
+<p>XML荐荐罔鐚罨<腓冴<ulist>
+<item><p>a) XML鐚Internet筝с障鞘戎с</p></item>
+<item><p>b) XML鐚綺膀蚊&application;叵</p></item>
+<item><p>c) XML鐚SGML篋сゃ</p></item>
+<item><p>d) XML吾違吾鐚絎号с違</p></item>
+<item><p>e) XMLс鐚激с潟罘純с絨鐚筝ゃ絖</p></item>
+<item><p>f) XML吾鐚篋咲c茯帥鐚茹c</p></item>
+<item><p>g) XML荐荐鐚帥茵違</p></item>
+<item><p>h) XML荐荐鐚ウ絲括亜羹с違</p></item>
+<item><p>i) XML吾鐚絎号篏с</p></item>
+<item><p>j) XMLс鐚&markup;違羝鐚荀с</p></item></ulist>
+</p>
+<p>XML膃&XML.version;&version;茹c鐚荐膊罘違吾宴鐚&TR-or-Rec;渇∫c荀(絖鐚UnicodeISO/IEC 10646鐚<!--* XXX for Uniform Resource Identifiers, *-->&language-identification;帥亥鐚ゃ潟帥 RFC 1766鐚&language-code;鐚ISO 639鐚筝潟&country-code;鐚ISO 3166)э鴻腓冴</p>
+<p>&version;XML荀鎘<!-- (&doc.date;) -->鐚ャ弱活域鴻恰緇筝羈劫鐚宴絽</p>
+</div2>
+<div2 id='sec-terminology'>
+<head>絎臂</head>
+<p>XML吾荀鎘篏睡茯鐚&TR-or-Rec;у臂罨<腓冴茯ャ鐚茯絎臂鐚XML&processor;荀鎘篏睡
+<glist>
+<gitem>
+<label>1.2.1 (may)</label>
+<def><p><termdef id="dt-may" term="">後XML&processor;鐚荐菴違篏鐚綽荀</termdef></p></def>
+</gitem>
+<gitem>
+<label>1.2.2 違(must)</label>
+<def><p>後XML&processor;鐚荐菴違篏荀羆с逸&error;<!-- do NOT change this! this is what defines a violation ofa 'must' clause as 'an error'. -MSM -->
+</p></def>
+</gitem>
+<gitem>
+<label>1.2.3 &error;(error)</label>
+<def><p><termdef id="dt-error" term="&error;">&TR-or-Rec;絎荀絲障腟絎臂純с≪鐚&error;罎冴怨鐚&error;緇</termdef></p></def>
+</gitem>
+<gitem>
+<label>1.2.4 &fatal-error;(fatal error)</label>
+<def><p><termdef id="dt-fatal" term="&fatal-error;"><termref def="dt-xml-proc">XML&processor;</termref>罎冴違鐚&application;怨違&error;&fatal-error;肴鐚&processor;鐚篁ラ&error;「若水膓茵鐚&error;肴翫鐚&error;&application;怨&error;荐罩c泣若鐚&processor;鐚若(絖若水&markup;羞桁)吾冴鐚&application;羝<鐚筝綺鐚&fatal-error;罎冴鐚&processor;鐚絽吾膓茵ゃ障鐚&processor;鐚絖若水恰吾茫罕ゃ宴鐚絽吾号&application;羝<膓</termdef></p></def>
+</gitem>
+<gitem>
+<label>1.2.5 &at-user-option;(at user option)</label>
+<def><p>純≪鐚荐菴違c(may)鐚(must)(腴筝荅)翫鐚荐菴違御罧泣&user;箴違</p></def>
+</gitem>
+<gitem>
+<label>1.2.6 &validity;句(validity constraint)</label>
+<def><p>鴻<termref def="dt-valid">&valid;</termref>XML吾荀&validity;句鐚&error;&at-user-option;鐚<termref def="dt-validating">罎荐若茵XML&processor;</termref>鐚&error;怨違</p></def>
+</gitem>
+<gitem>
+<label>1.2.7 &well-formed;句(well-formedness constraint)</label>
+<def><p>鴻<termref def="dt-wellformed">&well-formed;</termref>XML吾荀&well-formed;句鐚<termref def="dt-fatal">&fatal-error;</termref></p></def>
+</gitem>
+<gitem>
+<label>1.2.8 &match;(match)</label>
+<def><p>a) <termdef id="dt-match" term="&match;">&string;&match;罸莠篋ゃ&string;鐚筝с違ISO/IEC 10646鐚茲違茵憗純絖鐚私逸&composed-form;喝阪+&diacritical-mark;(ゃ≪c若)綵√鐚純鐚<&string;茵憗鐚&match;&at-user-option;鐚&processor;鐚絖罔羣綵≪罩h罸莠紊ф絖絨絖阪ャ<!-- Note that no processing of characters with respect to case is part of the matching process. -->&lt;BR>b) &string;羈筝荀&match;荀荐茯鐚&string;絮鐚&string;鐚荀&match;&lt;BR>c) 絎鴻絎鴻≪&match;荀膣鐚<titleref href='elementvalid'>荀膣&validity;</titleref>句腓冴潟ч鐚荀膣鐚絎h&match;</termdef></p></def>
+</gitem>
+<gitem>
+<label>1.2.9 篋с(for compatibility)</label>
+<def><p><termdef id="dt-compat" term="篋с">XML罘純сc鐚XMLSGML篋с篆荐若絨ャ</termdef></p></def>
+</gitem>
+<gitem>
+<label>1.2.10 娯с(for interoperability)</label>
+<def><p><termdef id="dt-interop" term="娯с">ィ絅篋&WebSGML;篁ュ絖SGML&processor;鐚XML吾с醇с蕭ャ</termdef></p></def>
+</gitem>
+</glist>
+</p>
+</div2>
+</div1>
+<!-- &Docs; -->
+<div1 id='sec-documents'>
+<head></head>
+<p><termdef id="dt-xml-doc" term="XML">
+<!-- A textual object -->
+&TR-or-Rec;у臂潟э<termref def="dt-wellformed">&well-formed;</termref>若帥吾с鐚<term>XML</term>&well-formed;XML吾鐚鐚句>散羣莇潟逸<termref def="dt-valid">&valid;</termref>XML吾
+</termdef></p>
+
+<!-- why this div? -TB
+<div2 id='sec-log-phys'>
+<head>Logical and Physical Structure</head> -->
+
+<p>XML吾鐚茫罕括罕ゃ鐚吾鐚<termref def="dt-entity">絎篏</termref>若九篏絎篏鐚後篁絎篏鐚篁絎篏<termref def="dt-entref"></termref>吾鐚若<termref def="dt-docent">後篏</termref>紮障茫鐚吾鐚絎h鐚荀膣鐚潟<潟鐚絖у喝巡擦随鴻鐚後ф腓榊&markup;c腓冴茫罕括罕鐚<titleref href="wf-entities">篁ラ</titleref>腓冴鐚ウ絲ャ絖c違</p>
+
+<!--
+</div2> -->
+
+<div2 id='sec-well-formed'>
+<head>&well-formed;XML</head>
+<p><termdef id="dt-wellformed" term="&well-formed;">鴻吾с鐚罨<鐚鴻吾с&well-formed;XML吾若吟</termdef>
+<ulist>
+<item><p>a) 篏鐚<nt def='NT-document'>document</nt>ょ荀&match;</p></item>
+<item><p>b) &TR-or-Rec;у臂鐚鴻&well-formed;句緇</p>
+</item>
+<item><p>c) <termref def='dt-parsedent'>&parsed-entity;</termref>鐚<titleref href='wf-entities'>&well-formed;</titleref></p></item>
+</ulist></p>
+<p>
+<scrap lang='ebnf' id='document'>
+<head></head>
+<prod id='NT-document'><lhs>document</lhs>
+<rhs><nt def='NT-prolog'>prolog</nt>
+<nt def='NT-element'>element</nt>
+<nt def='NT-Misc'>Misc</nt>*</rhs></prod>
+</scrap>
+</p>
+<p><nt def="NT-document">document</nt>荀&match;鐚罨<潟
+<ulist>
+<item><p>a) 筝や札筝<termref def="dt-element">荀膣</termref></p>
+</item>
+
+<!--* N.B. some readers (notably JC) find the following
+paragraph awkward and redundant. I agree it's logically redundant:
+it *says* it is summarizing the logical implications of
+matching the grammar, and that means by definition it's
+logically redundant. I don't think it's rhetorically
+redundant or unnecessary, though, so I'm keeping it. It
+could however use some recasting when the editors are feeling
+stronger. -MSM *-->
+
+<item><p>b) <termdef id="dt-root" term="若荀膣"><term>若</term>梧膣荀膣筝ゃ絖鐚鐚篁荀膣<termref def="dt-content">絎</termref>障</termdef>篁ュ鴻荀膣鐚紮帥違篁荀膣絎鴻障逸絲上腟篋帥違荀膣絎鴻障ゃ障鐚荀膣鐚紮帥医括篋帥違c阪鐚ャ絖罕
+</p></item>
+</ulist>
+</p>
+<p><termdef id="dt-parentchild" term="荀荀膣/絖荀膣">腟鐚後若荀膣<code>C</code>絲障鐚篁荀膣<code>P</code>絖鐚<code>C</code>鐚<code>P</code>絎鴻障鐚<code>P</code>絎鴻障篁荀膣障鐚<code>P</code><code>C</code><code>荀</code>鐚<code>C</code><code>P</code><code>絖</code></termdef></p>
+</div2>
+<div2 id="charsets">
+<head>絖</head>
+<p>
+
+<!--The data stored in an XML <termref def="dt-entity">entity</termref> is
+either <termref def="dt-text">parsed</termref> or <termref
+def="dt-unparsed">unparsed</termref>. -->
+
+<termdef id="dt-text" term="鴻">&parsed-entity;鐚<term>鴻</term>(<termref def="dt-character">絖</termref>筝潟сc鐚&markup;絖若帥茵)</termdef><termdef id="dt-character" term="絖"><term>絖</term>鐚鴻絨篏сc鐚ISO/IEC 10646<bibref ref="ISO10646"/>荀鎘<!--Users may extend the ISO/IEC 10646 character repertoire by exploiting the private use areas. -->荐怨鴻絖鐚帥鐚壕鐚緇絽遺研潟UnicodeISO/IEC 10646荐怨鴻喝就絖</termdef>
+<scrap lang="ebnf" id="char32">
+<head>絖膀</head>
+<prodgroup pcw2="4" pcw4="17.5" pcw5="11">
+<prod id="NT-Char"><lhs>Char</lhs>
+<rhs>#x9 | #xA | #xD | [#x20-#D7FF] | [#xE000-#xFFFD]
+| [#x10000-#x10FFFF]</rhs>
+<com>篁紙Unicode絖鐚&surrogate-blocks;鐚FFFEFFFFゃ</com>
+</prod>
+</prodgroup>
+</scrap>
+</p>
+<p>&character-value;帥潟膃垸罘罕鐚絎篏c鴻XML&processor;鐚ISO/IEC 10646UTF-8膃垸UTF-16膃垸篁違篋ゃ<腓冴罘罕鐚割膃垸号罘罕鐚<titleref href='charencoding'>絖膃垸</titleref>荐菴違</p>
+<p>膃垸号≫鐚ISO/IEC 10646絖鴻絖鐚UCS-4&code-value;<!-- bit string. -->膈箴<10我医16我違c鐚сс</p>
+</div2>
+
+<div2 id='sec-common-syn'>
+<head>演罕罕絖</head>
+
+<p>2.3с鐚羈у鋎睡ゃ荐垩絎臂</p>
+<p><nt def="NT-S">S</nt> (腥榊)鐚筝よャ茲違&space-character;(#x20)鐚緇絽逸壕帥
+
+<scrap lang="ebnf" id='white'>
+<head>腥榊</head>
+<prodgroup pcw2="4" pcw4="17.5" pcw5="11">
+<prod id='NT-S'><lhs>S</lhs>
+<rhs>(#x20 | #x9 | #xD | #xA)+</rhs>
+</prod>
+</prodgroup>
+</scrap></p>
+<p>箴水筝鐚絖鐚&letter;鐚医篁絖蕁&letter;鐚≪<茵括с堺絖(筝ゅ茲違&combining-character;鐚緇膓)鐚&ideographic;
+<!--
+Certain layout and format-control characters defined by ISO/IEC 10646
+should be ignored when recognizing identifiers; these are defined by the
+classes <nt def='NT-Ignorable'>Ignorable</nt> and <nt def='NT-
+Extender'>Extender</nt>.
+-->
+鴻絎絖ゃ絎絎臂鐚<titleref href='CharClasses'>絖</titleref>≪篁蚊荀鎘</p>
+<p><termdef id="dt-name" term="Name"><term>Name</term>鐚&letter;ゃ阪絖筝ゃу障鐚緇&letter;鐚医鐚ゃ鰹筝膩鐚潟喝膓(絖)</termdef>&string;"<code>xml</code>"<code>(('X'|'x') ('M'|'m') ('L'|'l'))</code>&match;篁紙&string;у障鐚&TR-or-Rec;憜絨ャс罔羣篋膣
+</p>
+<note>
+<p>XML筝潟潟鐚腥咲с絎薑篋膣潟潟潟鐚絨ャ鴻ф羣鐚鐚絎薑с潟潟篏睡吾贋違綽荀醇сXMLф。腥咲罘罕鐚阪絖絎潟潟篏睡篆荐若篋絎筝鐚鐚腥咲絎薑筝ゃ篁ュ鐚XML筝с潟潟篏睡祉潟鐚XML&processor;鐚絖潟潟篁障
+</p>
+</note>
+<p>
+<nt def='NT-Nmtoken'>Nmtoken</nt> (&token;)鐚絖ф
+<scrap lang='ebnf'>
+<head>&token;</head>
+<!--
+<prod id='NT-MiscName'><lhs>MiscName</lhs>
+<rhs></rhs>
+</prod>-->
+<prod id='NT-NameChar'><lhs>NameChar</lhs>
+<rhs><nt def="NT-Letter">Letter</nt>
+| <nt def='NT-Digit'>Digit</nt>
+<!--| <nt def='NT-MiscName'>MiscName</nt>-->
+| '.' | '-' | '_' | ':'
+| <nt def='NT-CombiningChar'>CombiningChar</nt>
+<!-- | <nt def='NT-Ignorable'>Ignorable</nt> -->
+| <nt def='NT-Extender'>Extender</nt></rhs>
+</prod>
+<prod id='NT-Name'><lhs>Name</lhs>
+<rhs>(<nt def='NT-Letter'>Letter</nt> | '_' | ':')
+(<nt def='NT-NameChar'>NameChar</nt>)*</rhs></prod>
+<prod id='NT-Names'><lhs>Names</lhs>
+<rhs><nt def='NT-Name'>Name</nt>
+(<nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>)*</rhs></prod>
+<prod id='NT-Nmtoken'><lhs>Nmtoken</lhs>
+<rhs>(<nt def='NT-NameChar'>NameChar</nt>)+</rhs></prod>
+<prod id='NT-Nmtokens'><lhs>Nmtokens</lhs>
+<rhs><nt def='NT-Nmtoken'>Nmtoken</nt> (<nt def='NT-S'>S</nt> <nt
+def='NT-Nmtoken'>Nmtoken</nt>)*</rhs></prod>
+</scrap>
+</p>
+<p>&literal;若帥鐚綣膃у蚊障&string;鐚阪絖篏睡綣膃障&literal;鐚絎篏(<nt def='NT-EntityValue'>EntityValue</nt>)鐚絮у(<nt def='NT-AttValue'>AttValue</nt>)鐚紊&identifier;(<nt def="NT-SystemLiteral">SystemLiteral</nt>)絎鴻絎篏睡c鐚&literal;篏鐚筝&markup;莎井祉茵鐚鴻(<nt def='NT-SkipLit'>SkipLit</nt>)
+<scrap lang='ebnf'>
+<head>&literal;</head>
+<!-- is marked section end legal in entity values etc.?
+James says yes. Handbook page 392, sec. 10.4 seems to me to say no.
+If James is right, leave as is. Otherwise, uncomment
+the next comment and ...
+-->
+<!--
+<prod id='NT-EntityValue'><lhs>EntityValue</lhs>
+<rhs>' " '
+(([^%&amp;"]
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-Reference'>Reference</nt>)*
+- (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-char'>Char</nt>*))
+' " '
+</rhs>
+<rhs>|&nbsp;
+" ' "
+(([^%&amp;']
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-Reference'>Reference</nt>)*
+- (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-char'>Char</nt>*))
+" ' "</rhs>
+</prod>
+<prod id='NT-AttValue'><lhs>AttValue</lhs>
+<rhs>'"'
+(([^&lt;&amp;"]
+| <nt def='NT-Reference'>Reference</nt>)*
+- (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-char'>Char</nt>*))
+' " '
+</rhs>
+<rhs>|&nbsp;
+" ' "
+(([^&lt;&amp;']
+| <nt def='NT-Reference'>Reference</nt>)*
+- (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-char'>Char</nt>*))
+" ' "</rhs>
+<wfc def="CleanAttrVals"/>
+</prod>
+-->
+<!-- ... and comment out the following, down to ... -->
+<prod id='NT-EntityValue'><lhs>EntityValue</lhs>
+<rhs>' " '
+([^%&amp;"]
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-Reference'>Reference</nt>)*
+' " '
+</rhs>
+<rhs>|&nbsp;
+" ' "
+([^%&amp;']
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-Reference'>Reference</nt>)*
+" ' "</rhs>
+</prod>
+<prod id='NT-AttValue'><lhs>AttValue</lhs>
+<rhs>' " '
+([^&lt;&amp;"]
+| <nt def='NT-Reference'>Reference</nt>)*
+' " '
+</rhs>
+<rhs>|&nbsp;
+" ' "
+([^&lt;&amp;']
+| <nt def='NT-Reference'>Reference</nt>)*
+" ' "</rhs>
+<!--<wfc def="WF-Attvaldelim"/>-->
+</prod>
+<!-- ... down to here. -->
+<prod id="NT-SystemLiteral"><lhs>SystemLiteral</lhs>
+<rhs><nt def='NT-SkipLit'>SkipLit</nt></rhs>
+</prod>
+<!-- <prod id="NT-URIchar"><lhs>URIchar</lhs>
+<rhs><com>See <loc href="http://www.w3.org/XXX">XXX</loc></com>
+</rhs></prod>
+-->
+<prod id="NT-PubidLiteral"><lhs>PubidLiteral</lhs>
+<rhs>' " ' <nt def='NT-PubidChar'>PubidChar</nt>*
+' " '
+| " ' " (<nt def='NT-PubidChar'>PubidChar</nt> - " ' ")* " ' "</rhs>
+</prod>
+<prod id="NT-PubidChar"><lhs>PubidChar</lhs>
+<rhs>#x20 | #xD | #xA
+|&nbsp;[a-zA-Z0-9]
+|&nbsp;[-'()+,./:=?]</rhs>
+</prod>
+<prod id="NT-SkipLit"><lhs>SkipLit</lhs>
+<rhs>(' " ' [^"]* ' " ')
+|&nbsp;(" ' " [^']* " ' ")</rhs>
+</prod>
+<!-- alternate form, making ms end illegal: -->
+<!--
+<prod id="NT-SkipLit"><lhs>SkipLit</lhs>
+<rhs>(' " ' ([^"]* - ([^"]* ']]&gt;' [^"]*)) ' " ')
+|&nbsp;(" ' " ([^']* - ([^']* ']]&gt;' [^']*)) " ' ")</rhs>
+</prod>
+-->
+</scrap>
+</p>
+<!--
+<wfcnote id="WF-Attvaldelim">
+<head>Delimiters in Attribute Values</head>
+<p>After the expansion of character and entity references,
+an attribute value must not contain a "<code>&lt;</code>"
+or "<code>&amp;</code>" character unless that character was
+introduced by the expansion of a character reference
+or one of the entities &magicents;.</p>
+</wfcnote>-->
+<!--
+This is not quite right: &lt; should be legal, should it not?
+Suppress this WFC until we get it right.
+-->
+<!-- Henry Thompson suggests (in substance, not form: the wording needs
+to be clarified):
+"Cooked Attribute values must not contain &lt; &amp; or the
+quote which closed their uncooked literal,
+unless arising from the expansion of a character reference or
+magic reference
+directly contained in their uncooked literal."
+I'm not sure I agree with this rule, but it's at least coherent,
+which is more than I can say for my attempt.
+-->
+</div2>
+
+<div2 id='syntax'>
+<head>絖若水&markup;</head>
+<p><termref def='dt-text'>鴻</termref>鐚<termref def="dt-chardata">絖若</termref>&markup;羞桁罕<termdef id="dt-markup" term="Markup"><term>&markup;</term>鐚<termref def="dt-stag">紮帥</termref>鐚<termref def="dt-etag">腟篋帥</termref>鐚<termref def="dt-empty">腥肴膣</termref>鐚<termref def="dt-entref">絎篏</termref>鐚<termref def="dt-charref">絖</termref>鐚<termref def="dt-comment">潟<潟</termref>鐚<termref def="dt-cdsection">CDATA祉激с</termref> 阪絖鐚<termref def="dt-doctype">後絎h</termref><termref def="dt-pi">巡擦</termref>綵≪
+</termdef>
+</p>
+<p><termdef id="dt-chardata" term="Character Data">&markup;с鴻鴻鐚吾<term>絖若</term>罕</termdef></p>
+<p>≪潟泣潟絖 (&amp;)&left-angle-bracket; (&lt;)鐚&markup;阪絖鐚<termref def="dt-comment">潟<潟</termref>鐚<termref def="dt-pi">巡擦</termref>ャ<termref def="dt-cdsection">CDATA祉激с</termref>т戎翫<emph></emph>鐚障障綵≪у榊憗絖鐚絎篏絎h<termref def='dt-litentval'>&literal;絎篏</termref>荐菴違 荅潟鐚<titleref href='wf-entities'>&well-formed;絎篏</titleref>≪荀鎘с<!-- FINAL EDIT: restore internal entity decl or leave it out. -->絖篁у荀翫鐚医ゃ絖у&string;"<code>&amp;amp;</code>"&string;"<code>&amp;lt;</code>"篏睡鐚<termref def="dt-escape">&escape;</termref>違&right-angle-bracket; (>) 鐚&string;"<code>&amp;gt;</code>"篏睡茵憗絎鴻筝у"<code>]]&gt;</code>"篏睡鐚鐚<termref def="dt-cdsection">CDATA祉激с</termref>腟篋&markup;鐚<termref def='dt-compat'>篋с</termref>鐚"<code>&amp;gt;</code>"絖с篏睡鐚&escape;違</p>
+
+<p>荀膣絎鴻с鐚絖若帥鐚&markup;紮阪絖障篁紙&char-string;CDATA祉激с潟с鐚絖若帥鐚CDATA祉激с潟腟篋阪絖"<code>]]&gt;</code>"障篁紙&char-string;
+</p>
+<p>
+絮уゃ&single-quote;&double-quote;鐚≪鴻e&single-quote;(') 鐚"<code>&amp;apos;</code>"茵憗鐚&double-quote;(")鐚"<code>&amp;quot;</code>"茵憗
+<scrap lang="ebnf">
+<head>絖若</head>
+<prod id='NT-CharData'>
+<lhs>CharData</lhs>
+<rhs>[^&lt;&amp;]* - ([^&lt;&amp;]* ']]&gt;' [^&lt;&amp;]*)</rhs>
+</prod>
+</scrap>
+</p>
+</div2>
+
+<div2 id='sec-comments'>
+<head>潟<潟</head>
+
+<p><termdef id="dt-comment" term="Comment"><term>潟<潟</term>鐚篁<termref def='dt-markup'>&markup;</termref>紊逸吾憗鐚後絎hэ羈荐宴贋憗
+<!-- TB
+except in a <termref def="dt-cdsection">CDATA section</termref>, i.e. within
+<termref def="dt-elemcontent">element content</termref>, in
+<termref def="dt-mixed">mixed content</termref>, or in the prolog. They must
+not occur within declarations or tags. -->
+潟<潟鐚吾<termref def="dt-chardata">絖若</termref>筝сXML&processor;鐚&application;潟<潟鴻冴純鐚
+<termref def="dt-compat">篋с</termref>鐚&string;"<code>--</code>" 鐚&double-hyphen;鐚鐚潟<潟х憗
+<scrap lang="ebnf">
+<head>潟<潟</head>
+<prod id='NT-Comment'><lhs>Comment</lhs>
+<rhs>'&lt;!--'
+((<nt def='NT-Char'>Char</nt> - '-')
+| ('-' (<nt def='NT-Char'>Char</nt> - '-')))*
+'-->'</rhs>
+<!--
+<rhs>'&lt;!&como;'
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*))
+'&comc;&gt;'</rhs> -->
+</prod>
+</scrap>
+</termdef></p>
+<p>潟<潟箴罨<腓冴
+<eg>&lt;!&como; declarations for &lt;head> &amp; &lt;body> &comc;&gt;</eg>
+</p>
+</div2>
+
+<div2 id='sec-pi'>
+<head>巡擦</head>
+
+<p><termdef id="dt-pi" term="Processing instruction"><term>巡擦</term>(PI)c鐚&application;巡擦吾ャс
+
+<scrap lang="ebnf">
+<head>巡擦</head>
+<prod id='NT-PI'><lhs>PI</lhs>
+<rhs>'&lt;?' <nt def='NT-PITarget'>PITarget</nt>
+(<nt def='NT-S'>S</nt>
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*)))?
+&pic;</rhs></prod>
+<prod id='NT-PITarget'><lhs>PITarget</lhs>
+<rhs><nt def='NT-Name'>Name</nt> -
+(('X' | 'x') ('M' | 'm') ('L' | 'l'))</rhs>
+</prod>
+</scrap></termdef>
+PI鐚吾<termref def="dt-chardata">絖若</termref>筝с鐚&application;羝<違PI鐚巡擦羝<&application;&identify;篏睡&target; (<nt def='NT-PITarget'>PITarget</nt>) у障&target; "<code>XML</code>"鐚"<code>xml</code>"鐚&TR-or-Rec;憜絨ャ荀弱篋膣XML<termref def='dt-notation'>荐羈</termref>罘罕鐚PI&target;絎h篏睡
+</p>
+</div2>
+
+<div2 id='sec-cdata-sect'>
+<head>CDATA祉激с</head>
+
+<p><termdef id="dt-cdsection" term="CDATA Section"><term>CDATA祉激с</term>鐚絖若帥榊憗с逸榊憗鐚с逸&markup;茯茘絖鐚鴻榊祉&escape;篏睡CDATA祉激с潟鐚&string;"<code>&lt;![CDATA[</code>"у障鐚&string;
+"<code>]]&gt;</code>"х
+<scrap lang="ebnf">
+<head>CDATA祉激с</head>
+<prod id='NT-CDSect'><lhs>CDSect</lhs>
+<rhs><nt def='NT-CDStart'>CDStart</nt>
+<nt def='NT-CData'>CData</nt>
+<nt def='NT-CDEnd'>CDEnd</nt></rhs></prod>
+<prod id='NT-CDStart'><lhs>CDStart</lhs>
+<rhs>'&lt;![CDATA['</rhs>
+</prod>
+<prod id='NT-CData'><lhs>CData</lhs>
+
+<rhs>(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-Char'>Char</nt>*))
+</rhs>
+</prod>
+<prod id='NT-CDEnd'><lhs>CDEnd</lhs>
+<rhs>']]&gt;'</rhs>
+</prod>
+</scrap>
+
+CDATA祉激с喝с鐚<nt def='NT-CDEnd'>CDEnd</nt>&markup;茯茘э&left-angle-bracket;潟≪潟泣潟鐚&literal;綵√у榊憗鐚"<code>&amp;lt;</code>""<code>&amp;amp;</code>"篏睡&escape;綽荀CDATA祉激с潟鐚ャ絖с
+</termdef>
+</p>
+
+<p>"<code>&lt;greeting></code>""<code>&lt;/greeting></code>"鐚<termref def='dt-markup'>&markup;</termref>с鐚<termref def='dt-chardata'>絖若</termref>茯茘CDATA祉激с潟箴鐚罨<腓冴
+<eg>&lt;![CDATA[&lt;greeting>Hello, world!&lt;/greeting>]]&gt;</eg>
+</p>
+</div2>
+
+<div2 id='sec-prolog-dtd'>
+<head>&prolog;恰後絎h</head>
+
+<p><termdef id='dt-xmldecl' term='XML Declaration'>XML吾鐚篏睡XML&version;絎<term>XML絎h</term>у鐚障
+</termdef>
+</p>
+<p>&TR-or-Rec;&version;腓冴鐚&version; "<code>1.0</code>" 篏睡違吾鐚&TR-or-Rec;&version;鐚"<code>1.0</code>"篏睡鐚&error;&TR-or-Rec;篁緇&version;"<code>1.0</code>"篁ュゃ篁筝鐚XML篏罐違若潟鐚XML絨ャ&version;篏腆榊腓冴с鐚篏鐚垬ゃ鐚劫号篏睡腆榊腓冴с絨ャ&version;醇сゅэ綽荀翫鐚&version;茯茘純罧泣鐚罕絖箴&processor;鐚泣若&version;с篁吾c鐚&error;ャ
+</p>
+<p>XML後&markup;罘純鐚荐倶活罕荐菴違鐚筝潟絮у喝уゃ絲障茫罕∫cャXML鐚茫罕ゃ句>散絎臂鐚潟絎臂荐九篏篏睡с罘罕鐚<termref def="dt-doctype">後絎h</termref>箴<!-- old
+The function of the markup in an XML document is to describe its
+storage and logical structures, and associate attribute-value pairs with the
+logical structure.
+XML provides a
+mechanism, the <termref def="dt-doctype">document type declaration</termref>,
+to
+define constraints on that logical structure and to support the use of
+predefined storage units. --><termdef id="dt-valid" term="Validity">XML吾<term>&valid;</term>鐚後絎h¥後絎h腓冴句>散羣
+</termdef></p>
+<p>後絎h鐚吾<termref def="dt-element">荀膣</termref>憗違
+<scrap lang="ebnf" id='xmldoc'>
+<head>&prolog;</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-prolog'><lhs>prolog</lhs>
+<rhs><nt def='NT-XMLDecl'>XMLDecl</nt>?
+<nt def='NT-Misc'>Misc</nt>*
+(<nt def='NT-doctypedecl'>doctypedecl</nt>
+<nt def='NT-Misc'>Misc</nt>*)?</rhs></prod>
+<prod id='NT-XMLDecl'><lhs>XMLDecl</lhs>
+<rhs>&xmlpio;
+<nt def='NT-VersionInfo'>VersionInfo</nt>
+<nt def='NT-EncodingDecl'>EncodingDecl</nt>?
+<nt def='NT-SDDecl'>SDDecl</nt>?
+<nt def="NT-S">S</nt>?
+&pic;</rhs>
+</prod>
+<prod id='NT-VersionInfo'><lhs>VersionInfo</lhs>
+<rhs><nt def="NT-S">S</nt> 'version' <nt def='NT-Eq'>Eq</nt>
+('"<nt def="NT-VersionNum">VersionNum</nt>"'
+| "'<nt def="NT-VersionNum">VersionNum</nt>'")</rhs>
+</prod>
+<prod id='NT-Eq'><lhs>Eq</lhs>
+<rhs><nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?</rhs></prod>
+<prod id="NT-VersionNum">
+<lhs>VersionNum</lhs>
+<rhs>([a-zA-Z0-9_.:] | '-')+</rhs>
+</prod>
+<prod id='NT-Misc'><lhs>Misc</lhs>
+<rhs><nt def='NT-Comment'>Comment</nt> | <nt def='NT-PI'>PI</nt> |
+<nt def='NT-S'>S</nt></rhs></prod>
+</prodgroup>
+</scrap></p>
+
+<p>
+箴逸罨<腓冴絎XML吾鐚<termref def="dt-wellformed">&well-formed;</termref>с<termref def="dt-valid">&valid;</termref>с
+<eg><![CDATA[<?xml version="1.0"?>
+<greeting>Hello, world!</greeting>
+]]></eg>
+罨<吾罕
+<eg><![CDATA[<greeting>Hello, world!</greeting>
+]]></eg>
+</p>
+<p><termdef id="dt-doctype" term="Document Type Declaration">
+XML<term>後絎h</term>鐚吾鴻羈箴<termref def='dt-markupdecl'>&markup;絎h</termref>鐚с羈鐚後絎臂<term>DTD</term>後絎h鐚&markup;絎h紊&subset;(劫ャ腮蕁<termref def='dt-extent'>紊絎篏</termref>)сс鐚&subset;贋・&markup;絎hс鐚筝≧鴻純吾DTD鐚筝≧鴻&subset;障罕</termdef>
+</p>
+<p><termdef id="dt-markupdecl" term="markup declaration">
+<term>&markup;絎h</term>鐚<termref def="dt-eldecl">荀膣絎h</termref>鐚 <termref def="dt-attdecl">絮с鴻絎h</termref>鐚<termref def="dt-entdecl">絎篏絎h</termref><termref def="dt-notdecl">荐羈絎h</termref></termdef>罨<腓冴&well-formed;句&validity;句荀鎘鐚絎h鐚<termref def='dt-PE'>&parameter;絎篏</termref>篏筝障荅潟荀鎘鐚<titleref xml-link="simple" href="sec-physical-struct">罕</titleref>≪荀鎘с</p>
+<scrap lang="ebnf" id='dtd'>
+<head>後絎臂</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-doctypedecl'><lhs>doctypedecl</lhs>
+<rhs>'&lt;!DOCTYPE' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt>
+<nt def='NT-ExternalID'>ExternalID</nt>)?
+<nt def='NT-S'>S</nt>? ('['
+(<nt def='NT-markupdecl'>markupdecl</nt>
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-S'>S</nt>)*
+']'
+<nt def='NT-S'>S</nt>?)? '>'</rhs>
+<vc def="vc-roottype"/>
+<!--<vc def="vc-nonnullDTD"/>-->
+</prod>
+<!--
+<prod id='NT-markupdecls'><lhs>markupdecls</lhs>
+<rhs>
+(<nt def='NT-S'>S</nt>?
+<nt def='NT-markupdecl'>markupdecl</nt>
+<nt def='NT-S'>S</nt>?)*
+</rhs></prod>
+-->
+<prod id='NT-markupdecl'><lhs>markupdecl</lhs>
+<rhs><nt def='NT-elementdecl'>elementdecl</nt>
+| <nt def='NT-AttlistDecl'>AttlistDecl</nt>
+| <nt def='NT-EntityDecl'>EntityDecl</nt>
+| <nt def='NT-NotationDecl'>NotationDecl</nt>
+| <nt def='NT-PI'>PI</nt>
+| <nt def='NT-Comment'>Comment</nt>
+<!--| <nt def='NT-InternalPERef'>InternalPERef</nt> --></rhs>
+<vc def='vc-PEinMarkupDecl'/>
+<wfc def="wfc-PEinInternalSubset"/>
+</prod>
+<!--
+<prod id="NT-InternalPERef"><lhs>InternalPERef</lhs>
+<rhs><nt def="NT-PEReference">PEReference</nt></rhs>
+<wfc def="wfc-integraldec"/>
+</prod>
+-->
+</prodgroup>
+</scrap>
+<vcnote id="vc-roottype">
+<head>&root;荀膣</head>
+<p>
+後絎h<nt def='NT-Name'>Name</nt>鐚&root;荀膣&match;違
+</p>
+</vcnote>
+<!--
+<vcnote id="vc-nonnullDTD">
+<head>Non-null DTD</head>
+<p>
+The internal and external subsets of the DTD must not both
+be empty.
+</p>
+</vcnote>
+-->
+<vcnote id='vc-PEinMarkupDecl'>
+<head>絎h&parameter;絎篏ウ絲ャ絖</head>
+<p>&parameter;絎篏<termref def='dt-repltext'>&replacement-text;</termref>鐚&markup;絎h鐚ウ絲ャ絖c違ゃ障鐚&markup;絎h(<nt def='NT-markupdecl'>markupdecl</nt>)緇絖鐚<termref def='dt-PERef'>&parameter;絎篏</termref>絲乗院&replacement-text;障逸筝≧鴻&replacement-text;障違</p>
+</vcnote>
+<wfcnote id="wfc-PEinInternalSubset">
+<head>&subset;&parameter;絎篏</head>
+<p>DTD&subset;с鐚<termref def='dt-PERef'>&parameter;絎篏</termref>鐚&markup;絎h榊憜純贋榊憗с&markup;絎h榊憗с(句鐚紊&parameter;絎篏紊&subset;сс)
+</p>
+</wfcnote>
+<p>
+&subset;罕鐚紊&subset;DTDс篁紙紊&parameter;絎篏鐚腟腴荐<nt def="NT-markupdecl">markupdecl</nt>c荐宴鐚筝c絎&markup;絎hф違&markup;絎h鐚腥榊遵<termref def="dt-PERef">&parameter;絎篏</termref>臀鐚紊&subset;紊&parameter;絎篏絎鴻筝鐚<termref def="dt-cond-section">>散篁祉激с</termref>篏睡∴泣祉с鐚荐宴
+<!--In the external subset, however, parameter-entity references can
+be used to replace constructs prefixed by "<code>%</code>" in a production of
+the grammar, and <termref def="dt-cond-section">conditional sections</termref>
+may occur.
+In the internal subset, by contrast, conditional sections may not
+occur and the only parameter-entity references
+allowed are those which match the non-terminal
+<nt def="NT-InternalPERef">InternalPERef</nt>
+within the rule for <nt def="NT-doctypedecl">markupdecl</nt>.
+-->
+<scrap id="ext-Subset">
+<head>紊&subset;</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-extSubset'><lhs>extSubset</lhs>
+<rhs>(
+<nt def='NT-markupdecl'>markupdecl</nt>
+| <nt def='NT-conditionalSect'>conditionalSect</nt>
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-S'>S</nt>
+)*</rhs>
+</prod>
+</prodgroup>
+</scrap></p>
+<p>紊&subset;喝&parameter;絎篏鐚с鐚&parameter;絎篏&markup;絎h<emph></emph>с鐚&markup;絎h<emph></emph>с茯茘鐚鴻с&subset;違
+</p>
+<p>後絎h篁XML吾箴鐚罨<腓冴
+<eg><![CDATA[<?xml version="1.0"?>
+<!DOCTYPE greeting SYSTEM "hello.dtd">
+<greeting>Hello, world!</greeting>
+]]></eg>
+<termref def="dt-sysid">激鴻&identifier;</termref> "<code>hello.dtd</code>"鐚吾DTDURI</p>
+<p>罨<箴鐚絎h絮筝с
+<eg><![CDATA[<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE greeting [
+ <!ELEMENT greeting (#PCDATA)>
+]>
+<greeting>Hello, world!</greeting>
+]]></eg>
+紊&subset;喝&subset;筝≧鴻篏睡鐚&subset;紊&subset;榊憗荀<!--* 'is considered to'? boo. whazzat mean? -->鐚&subset;絎篏喝с鴻絎h鐚紊&subset;絎篏喝с鴻絎h号
+</p>
+</div2>
+
+<div2 id='sec-rmd'>
+<head>&standalone;後h</head>
+<p><termref def="dt-xml-proc">XML&processor;</termref>鐚&application;吾絎鴻羝<鐚&markup;絎h鐚絎鴻綵演帥筝絮с&default-value;喝篏絎h箴XML絎h筝榊憗с&standalone;後h鐚吾鐚&markup;絎h絖c綵演帥腓冴鐚鐚&markup;絎h絖鐚鐚
+<scrap lang="ebnf" id='fulldtd'>
+<head>&standalone;後h</head>
+<prodgroup pcw2="4" pcw4="19.5" pcw5="9">
+<prod id='NT-SDDecl'><lhs>SDDecl</lhs>
+<rhs>
+<nt def="NT-S">S</nt>
+'standalone' <nt def='NT-Eq'>Eq</nt> "'" ('yes' | 'no') "'"
+</rhs>
+<rhs>
+| <nt def="NT-S">S</nt>
+'standalone' <nt def='NT-Eq'>Eq</nt> '"' ('yes' | 'no') '"'
+</rhs><vc def='vc-check-rmd'/></prod>
+</prodgroup>
+</scrap></p>
+<p>&standalone;後h, "<code>yes</code>"ゃ鐚<termref def='dt-docent'>後篏</termref>紊鐚DTD紊&subset;鐚&subset;с紊<水篏鐚鐚XML&processor;&application;吾羝<宴綵演帥&markup;絎h絖潟"<code>no</code>"ゃ鐚紊&markup;絎h絖鐚絖醇с潟&standalone;後h鐚<emph>絎h</emph>後絖腓冴羈紊絎篏吾с後絖鐚絎篏絎h鐚吾&standalone;倶綵演帥筝</p>
+
+<p>紊&markup;絎h絖逸&standalone;後h潟紊&markup;絎h絖鐚&standalone;後h絖翫鐚<code>"no"</code> ゃ荐絎篁絎</p>
+<p>XML吾 <code>standalone="no"</code> 荐絎鐚≪眼冴&standalone;吾紊с鐚吾鐚若篆&application;c障</p>
+<vcnote id='vc-check-rmd'>
+<head>&standalone;後h</head>
+<p>&standalone;後h鐚篏紊&markup;絎h罨<絎h鐚 "<code>no</code>" 違
+<ulist>
+<item><p>a) <termref def="dt-default">&default;</termref>や絮ссc鐚絮с荀膣鐚絮уゃ絎後憗</p></item>
+<item><p>b) &magicents;篁ュ絎篏сc鐚絎篏絲障<termref def="dt-entref"></termref>後榊憗</p>
+</item>
+<item><p>c) ゃ<titleref href='AVNormalize'>罩h</titleref>絲乗院絮ссc鐚罩h腟紊ゃ後ус絎</p></item>
+<item>
+<p>d) <termref def="dt-elemcontent">荀膣絎</termref>よ膣сc鐚腥榊純荀膣ゃ潟鴻帥潟劫贋・憗
+</p></item>
+</ulist>
+</p>
+</vcnote>
+<p>&standalone;後h篁XML絎h箴鐚罨<腓冴
+<eg>&lt;?xml version="&XML.version;" standalone='yes'?></eg></p>
+</div2>
+<div2 id='sec-white-space'>
+<head>腥榊純宴</head>
+<p>XML吾膩鐚&markup;腴茯帥鐚腥榊盾(&space;鐚帥括榊処&TR-or-Rec;с鐚腟腴荐垩<nt def='NT-S'>S</nt>ц;)篏帥箴水紊腥榊純鐚絽&version;吾筝潟鐚潟腥榊純сc鐚絽&version;罧違紊箴逸荅潟純若鴻潟若腥榊純</p>
+<p><termref def='dt-xml-proc'>XML&processor;</termref>鐚後&markup;篁ュ鴻絖鐚障上眼&application;羝<違<termref def='dt-validating'>&validating;XML&processor;</termref>鐚<termref def="dt-elemcontent">荀膣絎</termref>筝腥榊純篁&markup;絖阪ャ鐚&application;眼荀膣絎鴻筝腥榊純荀с篌違</p>
+<p>
+"<code>xml:space</code>"劫ャ<termref def='dt-attr'>絮</termref>吾水ャc鐚腥榊純荀潟腓冴絮с荀膣憗腥榊純鐚≪宴若激с潟荀宴荀羆鐚潟腓冴</p>
+<p>&valid;吾с鐚絮с篏睡翫鐚篁絮с<termref def="dt-attdecl">絎h</termref>違絎h鐚緇ゃ"<code>default</code>" "<code>preserve</code>"<termref def='dt-enumerated'></termref>с違
+</p>
+<p>"<code>default</code>"鐚&application;&default;腥榊遵≪若鐚荀膣純潟"<code>preserve</code>"鐚&application;鴻腥榊純篆絖潟絎h潟鐚"<code>xml:space</code>" 絮сャ絎т吾鐚荀膣絎鴻憗鴻荀膣茹i</p>
+<p>吾<termref def='dt-root'>&root;荀膣</termref>ゃ鐚絮сゃ絎鐚絮с&default-value;翫ゃ鐚&application;腥榊純宴ゃ鐚潟腓冴茹i</p>
+<p>箴罨<腓冴
+<eg><![CDATA[ <!ATTLIST poem xml:space (default|preserve) 'preserve'>]]></eg>
+</p>
+</div2>
+<div2 id='sec-line-ends'>
+<head>茵宴</head>
+<p>XML<termref def='dt-parsedent'>罕&parsed-entity;</termref>鐚絽吾潟潟ャ若帥<ゃ篆絖鐚膩箴水茲違茵紊茵鐚鐚<code>CR</code> (#xD)潟若 <code>LF</code> (#xA)潟若篏腟c</p>
+<p><termref def='dt-app'>&application;</termref>膂≦鐚紊&parsed-entity;&parsed-entity;&literal;絎篏ゃ鐚"<code>#xD#xA</code>" 鐚絖g&literal;<code>#xD</code>&literal;翫鐚<termref def='dt-xml-proc'>XML&processor;</termref>鐚&application;筝絖<code>#xA</code>羝<違(鐚ュ絖壕潟若罕茹f罩hc鐚絎号絎憗с)</p>
+</div2>
+<div2 id='sec-lang-tag'>
+<head>&language-identification;</head>
+<p>後鐚吾筝荳区茯綵√頥茯ф吾腓冴鐚綵鴻腴ゃ紊<!--т戎荐茯荐潟鐚"Espa&#x00F1;ol" "EBNF"鴻т腓冴潟--><!-- x00F1: spanish's small ntilde--></p>
+<!--; 宴鐚箴逸吾絖茵腓削筝潟掩遵冴茯綛鴻糸就膣茹f潟鴻翫就綵演帥若醇с-->
+<p>XML後荀膣ゅ絎劫絮уゃ篏睡<!--九綵√-->荐茯絎鐚"<code>xml:lang</code>" 劫ャ<termref def="dt-attr">絮</termref>鐚後水ャ
+<!--; 絮сXML荀鎘筝鐚茲違XML&application;娯с蕭絎臂-->
+絮сゃ鐚<bibref ref="RFC1766"/>RFC1766鐚&language-identification;帥謂c荀鎘&language-identification;潟若緇
+<scrap lang='ebnf'>
+<head>&language-identification;</head>
+<prod id='NT-LanguageID'><lhs>LanguageID</lhs>
+<rhs><nt def='NT-Langcode'>Langcode</nt>
+('-' <nt def='NT-Subcode'>Subcode</nt>)*</rhs></prod>
+<prod id='NT-Langcode'><lhs>Langcode</lhs>
+<rhs><nt def='NT-ISO639Code'>ISO639Code</nt> |
+<nt def='NT-IanaCode'>IanaCode</nt> |
+<nt def='NT-UserCode'>UserCode</nt></rhs>
+</prod>
+<prod id='NT-ISO639Code'><lhs>ISO639Code</lhs>
+<rhs>([a-z] | [A-Z]) ([a-z] | [A-Z])</rhs></prod>
+<prod id='NT-IanaCode'><lhs>IanaCode</lhs>
+<rhs>('i' | 'I') '-' ([a-z] | [A-Z])+</rhs></prod>
+<prod id='NT-UserCode'><lhs>UserCode</lhs>
+<rhs>('x' | 'X') '-' ([a-z] | [A-Z])+</rhs></prod>
+<prod id='NT-Subcode'><lhs>Subcode</lhs>
+<rhs>([a-z] | [A-Z])+</rhs></prod>
+</scrap>
+<nt def='NT-Langcode'>Langcode</nt>鐚罨<с
+<ulist>
+<item><p>a) <bibref ref="ISO639"/>荐茯茵憗潟若ц鎘2絖&language-code;</p></item>
+<item><p>b) Internet Assigned Numbers Authority (IANA)х脂蚊&language-code;鐚 "<code>i-</code>" ("<code>I-</code>")у障</p></item>
+<item><p>c) &user;c絎&language-code;鐚腱篏睡茲違d羆冴潟若鐚篁緇IANA罔羣脂蚊潟若腴九帥鐚"<code>x-</code>" "<code>X-</code>" у</p></item>
+</ulist></p>
+<p><nt def='NT-Subcode'>Subcode</nt>鐚茲医篏帥c泣潟若絖鐚絎鴻篋ゃ絖鐚<bibref ref="ISO3166"/>ISO3166遵茵潟若(純潟若)с違泣潟若3絖篁ヤ鐚<nt def='NT-Langcode'>Langcode</nt>鐚"<code>x-</code>" "<code>X-</code>"у障鐚絎荐茯絲障泣潟若鐚IANA脂蚊с違</p>
+<p>&language-code;鐚絨絖с茵荐鐚&country-code;鐚(絖)紊ф絖с茵荐h鐚XML後篁違鐚ゃゃ鐚紊ф絖喝絖阪ャ羈</p>
+<p>箴罨<腓冴
+<eg><![CDATA[<p xml:lang="en">The quick brown fox jumps over the lazy dog.</p>
+<p xml:lang="en-GB">What colour is it?</p>
+<p xml:lang="en-US">What color is it?</p>
+<sp who="Faust" desc='leise' xml:lang="de">
+ <l>Habe nun, ach! Philosophie,</l>
+ <l>Juristerei, und Medizin</l>
+ <l>und leider auch Theologie</l>
+ <l>]]><!-- x00DF german's es-zet; x00FC german's u-umlaut -->durchaus studiert mit hei&#223;em Bem&#252;h'n.<![CDATA[</l>
+ </sp>]]></eg></p>
+<!--<p>xml:lang ゃ鐚荀膣絎劫(絮с&default-value;у)若鴻(CDATA)ゃゃ荀膣吾鴻絮сゃゃ鐚筝≧鴻-->
+<p><code>xml:lang</code>уh潟鐚<code>xml:lang</code>ャ絎т吾鐚絎荀膣絎鴻鴻荀膣</p>
+<!--荀膣 xml:lang 絮сゃ絎鐚DTD&default-value;絎翫鐚荀膣xml:lang 絮сゃ鐚荀荀膣сゃ絖翫鐚綣膓 罨<箴篋ゃ<term>絨茯茵荀膣鐚xml:langゃ≪鐚絎筝鐚ゃゃ
+
+ <p xml:lang="en">Here the keywords are
+ <term xml:lang="en">shift</term> and
+ <term>reduce</term>. ...</p>
+
+XML&processor;с&application;鐚絮уゃ膓帥ゃ莢篁祉ゃ
+-->
+<p>
+&valid;吾鐚&TR-or-Rec;篁贋ц鎘鐚絮с綽絎h違絽醐絎h鐚罨<綵≪
+<eg>xml:lang NMTOKEN #IMPLIED</eg>
+綽荀逸劫&default-value;筝沿罸茯絖潟壕荅с鐚茯恰絵沿ц菴違逸xml:lang 絮с罨<絎h
+<eg><![CDATA[ <!ATTLIST poem xml:lang NMTOKEN 'fr'>
+ <!ATTLIST gloss xml:lang NMTOKEN 'en'>
+ <!ATTLIST note xml:lang NMTOKEN 'en'>]]></eg>
+</p>
+<!--
+DTD荐荐鐚鴻荐茯(潟羇丞篏)宴с鐚鴻活茯罨≦ф宴綵翫鐚荐茯絮с罕鴻絮с絖井潟荀膣鐚с潟純若鴻(筝肢)荐茯(翫c茲)茵荀膣絎臂障鐚&application;鐚&TR-or-Rec;荀鎘膀峨-->
+</div2>
+</div1>
+<!-- &Elements; -->
+
+<div1 id='sec-logical-struct'>
+<head>茫罕</head>
+
+<p><termdef id="dt-element" term="Element"><termref def="dt-xml-doc">XML</termref>鐚筝や札筝<term>荀膣</term>荀膣紜, <termref def="dt-stag">紮帥</termref><termref def="dt-etag">腟篋帥</termref>c阪荀膣<termref def="dt-empty">腥</termref>荀膣鐚<termref def="dt-eetag">腥肴膣帥</termref>хず荀膣鐚ゃ荀膣(演&identifier;(generic identifier)GI若吟)c&identified;荀膣鐚ゃ絮сゃс</termdef>絮с鐚<termref def="dt-attrname"></termref><termref def="dt-attrval"></termref>ゃ</p>
+
+<scrap lang='ebnf'><head>荀膣</head>
+<prod id='NT-element'><lhs>element</lhs>
+<rhs><nt def='NT-EmptyElemTag'>EmptyElemTag</nt></rhs>
+<rhs>| <nt def='NT-STag'>STag</nt> <nt def='NT-content'>content</nt>
+<nt def='NT-ETag'>ETag</nt></rhs><wfc def='GIMatch'/></prod>
+</scrap>
+<p>&TR-or-Rec;鐚荀膣喝с鰹篏睡号鐚(罕≪ゃ)句筝鐚<code>(('X'|'x')('M'|'m')('L'|'l'))</code>&match;鐚篁緇&TR-or-Rec;с罔羣篋膣</p>
+
+<wfcnote id='GIMatch'><head>荀膣&match;</head>
+<p>荀膣腟篋帥違<nt def='NT-Name'></nt>鐚荀膣紮帥違&match;違</p>
+</wfcnote>
+
+<div2 id='sec-starttags'>
+<head>紮帥逸腟篋帥医括肴膣帥</head>
+<p><termdef id="dt-stag" term="Start-Tag">腥冴с篁紙XML荀膣紮障鐚<term>紮帥</term>c&markup;
+<scrap lang='ebnf'><head>紮帥</head>
+<prodgroup pcw2="6" pcw4="15" pcw5="11.5">
+<prod id='NT-STag'><lhs>STag</lhs><rhs>'&lt;' <nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt> <nt def='NT-Attribute'>Attribute</nt>)* <nt def='NT-S'>S</nt>? '>'</rhs><wfc def="uniqattspec"/></prod>
+<prod id='NT-Attribute'><lhs>Attribute</lhs><rhs><nt def='NT-Name'>Name</nt> <nt def='NT-Eq'>Eq</nt> <nt def='NT-AttValue'>AttValue</nt></rhs><vc def='ValueType'/><wfc def='NoExternalRefs'/><wfc def='CleanAttrVals'/></prod>
+</prodgroup>
+</scrap>
+紮帥医括篋帥医<nt def='NT-Name'>Name</nt>鐚荀膣<term></term>茵</termdef><termdef id="dt-attr" term="Attribute"><nt def='NT-Name'>Name</nt><nt def='NT-AttValue'>AttValue</nt>絲障荀膣<term>絮ф絎</term></termdef>鐚<termdef id="dt-attrname" term="Attribute Name">絲障<nt def='NT-Name'>Name</nt>鐚<term>絮у</term></termdef><termdef id="dt-attrval" term="Attribute Value"><nt def='NT-AttValue'>AttValue</nt>絎(阪絖<code>'</code><code>"</code>&string;)<term>絮у</term></termdef></p>
+
+<wfcnote id='uniqattspec'><head>絮ф絎筝</head>
+<p>紮帥医腥肴膣帥違с鐚筝絮у鐚綺篁ヤ榊憗</p></wfcnote>
+<vcnote id='ValueType'><head>絮уゃ</head>
+<p>絮с絎h違絮уゃ鐚絮с絲障絎hс違(絮сゃ鐚<titleref href='AttDecls'>絮с鴻絎h</titleref>ゃ荀鎘с)</p></vcnote>
+<wfcnote id='NoExternalRefs'><head>紊絎篏吾с</head>
+<p>絮уゃ鐚紊絎篏吾贋・・сс</p></wfcnote>
+<wfcnote id='CleanAttrVals'><head>絮уゃ<code>&lt;</code>障</head>
+<p>絮уゅх贋・・с絎篏(<code>&amp;lt;</code>ゃ)<termref def='dt-repltext'>&replacement-text;</termref>鐚<code>&lt;</code>с</p></wfcnote>
+
+<p>紮帥違箴鐚罨<腓冴
+<eg>&lt;termdef id="dt-dog" term="dog"></eg></p>
+<p><termdef id="dt-etag" term="End Tag">紮帥違у障荀膣腟鐚<term>腟篋帥</term>&markup;違腟篋帥違鐚絲上紮帥違荀膣ゃ
+<scrap lang='ebnf'><head>腟篋帥</head><prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-ETag'><lhs>ETag</lhs><rhs>'&lt;/' <nt def='NT-Name'>Name</nt> <nt def='NT-S'>S</nt>? '>'</rhs></prod></prodgroup></scrap></termdef></p>
+<p>腟篋帥違箴鐚罨<腓冴
+<eg>&lt;/termdef></eg></p>
+
+<p><termdef id="dt-content" term="Content">荀膣紮帥違腟篋帥違<termref def='dt-text'>鴻</termref>鐚荀膣<term>絎</term>
+<scrap lang='ebnf'><head>荀膣絎</head>
+<prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-content'><lhs>content</lhs><rhs>(<nt def='NT-element'>element</nt> | <nt def='NT-CharData'>CharData</nt> | <nt def='NT-Reference'>Reference</nt> | <nt def='NT-CDSect'>CDSect</nt> | <nt def='NT-PI'>PI</nt> | <nt def='NT-Comment'>Comment</nt>)*</rhs></prod></prodgroup></scrap></termdef></p>
+
+<p><termdef id="dt-empty" term="Empty">荀膣<term>腥</term>鐚荀膣鐚翫腟篋帥違ら紮帥医腥肴膣帥違ц;憗違</termdef><termdef id="dt-eetag" term="empty-element tag"><term>腥肴膣帥</term>鐚罨<劫ャ綵√
+<scrap lang='ebnf'><head>腥肴膣帥</head><prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-EmptyElemTag'><lhs>EmptyElemTag</lhs><rhs>'&lt;' <nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt> <nt def='NT-Attribute'>Attribute</nt>)* <nt def='NT-S'>S</nt>? '/&gt;'</rhs><wfc def="uniqattspec"/></prod></prodgroup></scrap></termdef></p>
+
+<!-- 薤鐚筝腥肴膣帥(tags for empty elements)腥肴膣帥(empty-element tag)鴻障鐚с -->
+
+<p>腥肴膣帥違鐚絎鴻篁紙荀膣茵憗с腥肴膣帥違ц;憗荀膣鐚若若<kw>EMPTY</kw>絎h</p>
+<p>腥肴膣箴鐚罨<腓冴
+<eg>&lt;IMG align="left" src="http://www.w3.org/Icons/WWW/w3c_home" />&lt;br>&lt;/br>&lt;br/></eg></p>
+</div2>
+
+<div2 id='elemdecls'><head>荀膣絎h</head>
+<p><termref def="dt-valid">&validity;</termref>篆荐若鐚荀膣絎h喝с鴻絎h<termref def="dt-xml-doc">XML</termref><termref def="dt-element">荀膣</termref>罕鐚句с</p>
+<p>荀膣絎h鐚荀膣<termref def="dt-content">絎</termref>ゃ句</p>
+<p>荀膣絎h鐚荀膣<termref def="dt-parentchild">絖</termref>榊憜純荀膣ゃ鐚句紊&at-user-option;鐚荀膣絎h荀膣篁荀膣絎hcс逸XML&processor;鐚茘冴鐚&error;</p>
+
+<p><termdef id="dt-eldecl" term="Element Type declaration"><term>荀膣絎h</term>鐚罨<綵√
+<scrap lang='ebnf'><head>荀膣絎h</head><prodgroup pcw2="5.5" pcw4="18" pcw5="9">
+<prod id='NT-elementdecl'><lhs>elementdecl</lhs>
+<rhs>'&lt;!ELEMENT' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>
+<nt def='NT-contentspec'>contentspec</nt>
+<nt def='NT-S'>S</nt>? '>'</rhs>
+<vc def='EDUnique'/></prod>
+<prod id='NT-contentspec'><lhs>contentspec</lhs>
+<rhs>'EMPTY'
+| 'ANY'
+| <nt def='NT-Mixed'>Mixed</nt>
+| <nt def='NT-children'>children</nt>
+</rhs>
+<vc def='elementvalid'/>
+</prod>
+</prodgroup>
+</scrap>
+э<nt def='NT-Name'>Name</nt>鐚絎h荀膣</termdef></p>
+
+<vcnote id='EDUnique'><head>荀膣絎h筝</head>
+<p>荀膣鐚綺篁ヤ絎hс</p></vcnote>
+
+<vcnote id='elementvalid'><head>荀膣&validity;</head>
+<p>荀膣<!-- said to be -->&valid;鐚<nt def='NT-elementdecl'>elementdecl</nt>&match;絎hсc鐚<nt def='NT-Name'>Name</nt>荀膣&match;鐚罨<>散羣翫<ulist>
+<item><p>a) 絎h<kw>EMPTY</kw>&match;鐚荀膣<termref def='dt-content'>絎</termref></p></item>
+<item><p>b) 絎h<nt def='NT-children'>children</nt>&match;鐚荀膣<termref def="dt-parentchild">絖荀膣</termref>筝潟鐚絎鴻≪罩h頫憗c荐茯絮</p></item>
+<item><p>c) 絎h<nt def='NT-Mixed'>mixed</nt>&match;鐚荀膣絎鴻<termref def='dt-chardata'>絖若</termref><termref def='dt-parentchild'>絖荀膣</termref>絖荀膣荀膣鐚荀膣絎鴻≪榊憗&match;</p></item>
+<item><p>d) 絎h<kw>ANY</kw>&match;鐚<termref def='dt-parentchild'>絖荀膣</termref>荀膣絎h</p></item></ulist>
+
+</p></vcnote>
+<!-- with the new VC, I don't think the next few paras add anything -TWB
+<p><termdef id="dt-model" term="content model">An element can declared using a <term>content model</term>, in which case its content can be categorized as <termref def="dt-elemcontent">element content</termref> or <termref def='dt-mixed'>mixed content</termref>, as explained below.</termdef></p>
+<p>An element whose type declared using the keyword <kw>EMPTY</kw> must be <termref def="dt-empty">empty</termref> and may be tagged using an <termref def="dt-eetag">empty-element tag</termref> when it appears in the document.</p>
+<p>If an element type is declared using the keyword <kw>ANY</kw>, then there are no validity constraints on its content: it may contain <termref def='dt-parentchild'>child elements</termref> of any type and number, interspersed with character data.</p> -->
+
+<p>荀膣絎h箴鐚罨<腓冴
+<eg>
+&lt;!ELEMENT br EMPTY>
+&lt;!ELEMENT p (#PCDATA|emph)* >
+&lt;!ELEMENT %name.para; %content.para; >
+&lt;!ELEMENT container ANY>
+</eg></p>
+
+<div3 id='sec-element-content'><head>荀膣絎</head>
+
+<p><termdef id='dt-elemcontent' term='Element content'>荀膣<termref def='dt-parentchild'>絖</termref>荀膣(絖若帥障)鐚荀膣<termref def="dt-stag"></termref>鐚<term>荀膣絎</term>わ</termdef>翫鐚句鐚絎鴻≪絎鴻≪鐚絖荀膣喝荀膣榊憥綺九勝膂≦羈羈鐚&content-particle;(<nt def='NT-cp'>cp</nt>s)&content-particle;鐚鐚&content-particle;御鴻&content-particle;鴻罕
+<scrap lang='ebnf'><head>荀膣絎鴻≪</head><prodgroup pcw2="5.5" pcw4="16" pcw5="11">
+<prod id='NT-children'><lhs>children</lhs><rhs>(<nt def='NT-choice'>choice</nt> | <nt def='NT-seq'>seq</nt>) ('?' | '*' | '+')?</rhs></prod><prod id='NT-cp'><lhs>cp</lhs><rhs>(<nt def='NT-Name'>Name</nt> | <nt def='NT-choice'>choice</nt> | <nt def='NT-seq'>seq</nt>) ('?' | '*' | '+')?</rhs></prod>
+<prod id='NT-choice'><lhs>choice</lhs><rhs>'(' <nt def='NT-S'>S</nt>? cp ( <nt def='NT-S'>S</nt>? '|' <nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> )*<nt def='NT-S'>S</nt>? ')'</rhs><vc def='vc-PEinGroup'/></prod>
+<prod id='NT-seq'><lhs>seq</lhs><rhs>'(' <nt def='NT-S'>S</nt>? cp ( <nt def='NT-S'>S</nt>? ',' <nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> )*<nt def='NT-S'>S</nt>? ')'</rhs><vc def='vc-PEinGroup'/></prod>
+<!-- <prod id='NT-cps'><lhs>cps</lhs><rhs><nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> <nt def='NT-S'>S</nt>?</rhs></prod>
+<prod id='NT-choice'><lhs>choice</lhs><rhs>'(' <nt def='NT-S'>S</nt>? <nt def='NT-ctokplus'>ctokplus</nt> (<nt def='NT-S'>S</nt>? '|' <nt def='NT-S'>S</nt>? <nt def='NT-ctoks'>ctoks</nt>)* <nt def='NT-S'>S</nt>? ')'</rhs></prod>
+<prod id="NT-ctokplus"><lhs>ctokplus</lhs><rhs><nt def="NT-cps">cps</nt>('|' <nt def="NT-cps">cps</nt>)+</rhs></prod>
+<prod id="NT-ctoks"><lhs>ctoks</lhs><rhs><nt def="NT-cps">cps</nt>('|' <nt def="NT-cps">cps</nt>)*</rhs></prod>
+<prod id='NT-seq'><lhs>seq</lhs><rhs>'(' <nt def='NT-S'>S</nt>?<nt def='NT-stoks'>stoks</nt> (<nt def='NT-S'>S</nt>? ',' <nt def='NT-S'>S</nt>? <nt def='NT-stoks'>stoks</nt>)*<nt def='NT-S'>S</nt>? ')'</rhs></prod>
+<prod id="NT-stoks"><lhs>stoks</lhs><rhs><nt def="NT-cps">cps</nt>(',' <nt def="NT-cps">cps</nt>)*</rhs></prod>
+-->
+</prodgroup></scrap>
+э<nt def='NT-Name'>Name</nt>鐚<termref def="dt-parentchild">絖</termref>榊憗荀膣腓冴羈ч御鴻憗篏臀с鐚御鴻&content-particle;<termref def="dt-elemcontent">荀膣絎</termref>筝憗鴻憗&content-particle;鐚鴻ф絎鐚<termref def="dt-elemcontent">荀膣絎</termref>憗違鴻緇榊憗激с潟絖<!-- 薤鐚character絖荐潟障 -->鐚鴻荀膣&content-particle;鐚1篁ヤ篁紙(<code>+</code>)鐚0篁ヤ篁紙(<code>*</code>)0ャ1(<code>?</code>)榊憜純荀鎘хず罕恰潟鐚&TR-or-Rec;荀х筝</p>
+
+<!-- 薤鐚筝с鐚namelist緇膓絖list榊憗荀鎘c鐚name榊憗荀鎘吾障篆罩c綽荀障 -->
+
+<p>荀膣絎鴻絎鴻≪&match;鐚鐚御括弘菴羲膊絖c鐚絎鴻筝荀膣絎鴻≪荀膣&match;鐚絎鴻≪筝ゃ鴻<termref def='dt-compat'>篋с</termref>鐚後荀膣鐚絎鴻≪荀膣茲違榊憘臀&match;鐚&error;荅括完荀鎘ゃ鐚絮吾<titleref xml-link="simple" href="determinism">羆阪絎鴻≪</titleref>с
+<!-- appendix <specref ref="determinism"/>. -->
+<!-- appendix on deterministic content models. -->
+</p>
+
+<vcnote id='vc-PEinGroup'>
+<head>違若潟<水篏ウ絲ャ絖</head>
+<p><水篏<termref def='dt-repltext'>&replacement-text;</termref>鐚&parenthesis;у蚊障違若c鐚ウ絲ャ絖罕違ゃ障鐚<nt def='NT-choice'>御</nt>鐚<nt def='NT-seq'></nt><nt def='NT-Mixed'>羞桁</nt>鐚&left-parenthesis;&right-parenthesis;筝鴻<termref def='dt-PERef'><水篏</termref>&replacement-text;逸篁鴻&replacement-text;障違</p>
+<p><termref def='dt-interop'>娯с</termref>鐚<水篏с<nt def='NT-choice'>御</nt>鐚<nt def='NT-seq'></nt><nt def='NT-Mixed'>羞桁</nt>絎鴻障逸&replacement-text;腥冴с障鐚&replacement-text;恰絨障腥榊純с絖鐚潟(<code>|</code><code>,</code>)с鴻
+</p>
+</vcnote>
+<p>荀膣絎鴻≪ゃ箴鐚罨<腓冴
+<eg>&lt;!ELEMENT spec (front, body, back?)>
+&lt;!ELEMENT div1 (head, (p | list | note)*, div2*)>
+&lt;!ELEMENT dictionary-body (%div.mix; | %dict.mix;)*></eg></p>
+</div3>
+
+<div3 id='sec-mixed-content'>
+<head>&mixed-content;</head>
+
+<p><termdef id='dt-mixed' term='Mixed Content'>荀膣荀膣鐚<termref def="dt-parentchild">絖</termref>荀膣羞桁絖若帥障醇с鐚荀膣<termref def='dt-stag'></termref>鐚<term>&mixed-content;</term>ゃ</termdef>翫鐚絖荀膣ゃ句絖<!-- 薤鐚may be constrained句荐潟障 -->鐚絖荀膣綺榊憜違ゃ句
+<scrap lang='ebnf'>
+<head>&mixed-content;絎h</head>
+<prodgroup pcw2="5.5" pcw4="16" pcw5="11">
+<prod id='NT-Mixed'><lhs>Mixed</lhs>
+<rhs>'(' <nt def='NT-S'>S</nt>?
+'#PCDATA'
+(<nt def='NT-S'>S</nt>?
+'|'
+<nt def='NT-S'>S</nt>?
+<nt def='NT-Name'>Name</nt>)*
+<nt def='NT-S'>S</nt>?
+')*' </rhs>
+<rhs>| '(' <nt def='NT-S'>S</nt>? '#PCDATA' <nt def='NT-S'>S</nt>? ')'
+</rhs><vc def='vc-PEinGroup'/>
+<vc def='vc-MixedChildrenUnique'/>
+</prod>
+<!--
+<prod id="NT-Mtoks"><lhs>Mtoks</lhs>
+<rhs><nt def="NT-Name">Name</nt>
+(<nt def='NT-S'>S</nt>?
+'|'
+<nt def='NT-S'>S</nt>?
+<nt def="NT-Name">Name</nt>)*
+</rhs>
+</prod>
+-->
+</prodgroup>
+</scrap>
+э<nt def='NT-Name'>Name</nt>鐚絖榊憗荀膣腓冴
+</p>
+
+<vcnote id='vc-MixedChildrenUnique'>
+<head>荀膣茲胼罩</head>
+<p>筝ゃ&mixed-content;絎h鐚茲医榊憗
+</p></vcnote>
+<p>&mixed-content;絎h箴鐚罨<腓冴
+<eg>&lt;!ELEMENT p (#PCDATA|a|ul|b|i|em)*>
+&lt;!ELEMENT p (#PCDATA | %font; | %phrase; | %special; | %form;)* >
+&lt;!ELEMENT b (#PCDATA)></eg></p>
+</div3>
+</div2>
+
+
+<div2 id='attdecls'>
+<head>絮с鴻絎h</head>
+<p>
+<termref def="dt-attr">絮</termref>鐚喝ゃ絲障<termref def="dt-element">荀膣</termref>∫d絮ф絎鐚<termref def="dt-stag">紮帥</termref><termref def="dt-eetag">腥肴膣</termref>帥医с純c鐚絮с茯茘荀鐚<titleref href='sec-starttags'>紮帥</titleref>ゃ荀鎘хず絮с鴻絎h鐚罨<х
+<ulist>
+<item><p>a) 荀膣絮с荀鎘</p></item>
+<item><p>b) 絮с吾句荐絎</p></item>
+<item><p>c) 絮с<termref def="dt-default">&default-value;</termref>荀鎘</p></item>
+</ulist>
+</p>
+<p>
+<termdef id="dt-attdecl" term="Attribute-List Declaration">
+<term>絮с鴻絎h</term>鐚荀膣∫d絮с絲障鐚鐚若水(絖)&default-value;荀鎘
+<scrap lang='ebnf'>
+<head>絮с鴻絎h</head>
+<prod id='NT-AttlistDecl'><lhs>AttlistDecl</lhs>
+<rhs>'&lt;!ATTLIST' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-AttDef'>AttDef</nt>*
+<nt def='NT-S'>S</nt>? '&gt;'</rhs>
+</prod>
+<prod id='NT-AttDef'><lhs>AttDef</lhs>
+<rhs><nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt> <nt def='NT-AttType'>AttType</nt>
+<nt def='NT-S'>S</nt> <nt def='NT-Default'>Default</nt></rhs>
+</prod>
+</scrap>
+
+<nt def='NT-AttlistDecl'>AttlistDecl</nt>荀絖<nt def="NT-Name">Name</nt>鐚荀膣&at-user-option;鐚絎h荀膣絲障絮с絎h逸XML&processor;鐚茘冴鐚&error;
+<nt def='NT-AttDef'>AttDef</nt>荀<nt def='NT-Name'>Name</nt>鐚絮с
+</termdef>
+</p>
+<p>
+荀膣絲障鐚茲違<nt def='NT-AttlistDecl'>AttlistDecl</nt>筝翫鐚鴻絎鴻若吾荀膣絮с鐚茲違絎臂筝翫鐚絎h鴻鐚篁絎h∴<termref def='dt-interop'>娯с</termref>鐚DTD篏鐚荀膣蕭筝ゃ絮с鴻絎h筝鐚絮у蕭筝ゃ絮у臂筝鐚潟鴻絮с鴻絎h絨筝ゃ絮у臂筝鐚御娯с鐚XML&processor;鐚&at-user-option;鐚荀膣茲違絮с鴻絎h筝鐚絮с茲違絮у臂筝鐚茘冴鐚鐚&error;
+</p>
+
+<div3 id='sec-attribute-types'>
+<head>絮с</head>
+<p>
+XML絮с鐚鐚腮蕁鐚&string;鐚&token;喝&string;鐚ゃ篁紙&string;&token;鐚罨<腓冴絖ュ恰潟≪罕句ゃ
+
+<scrap lang='ebnf'>
+<head>Attribute Types</head>
+<prodgroup pcw4="14" pcw5="11.5">
+<prod id='NT-AttType'><lhs>AttType</lhs>
+<rhs><nt def='NT-StringType'>StringType</nt>
+| <nt def='NT-TokenizedType'>TokenizedType</nt>
+| <nt def='NT-EnumeratedType'>EnumeratedType</nt>
+</rhs>
+</prod>
+<prod id='NT-StringType'><lhs>StringType</lhs>
+<rhs>'CDATA'</rhs>
+</prod>
+<prod id='NT-TokenizedType'><lhs>TokenizedType</lhs>
+<rhs>'ID'</rhs>
+<vc def='id'/>
+<vc def='one-id-per-el'/>
+<vc def='id-default'/>
+<rhs>| 'IDREF'</rhs>
+<vc def='idref'/>
+<rhs>| 'IDREFS'</rhs>
+<vc def='idref'/>
+<rhs>| 'ENTITY'</rhs>
+<vc def='entname'/>
+<rhs>| 'ENTITIES'</rhs>
+<vc def='entname'/>
+<rhs>| 'NMTOKEN'</rhs>
+<vc def='nmtok'/>
+<rhs>| 'NMTOKENS'</rhs>
+<vc def='nmtok'/></prod>
+</prodgroup>
+</scrap>
+</p>
+
+<vcnote id='id' >
+<head>ID</head>
+<p>
+ゃ鐚荀<code>Name</code>&match;違筝ゃXML後с鐚筝ゃ鐚ゃ茲医憗ゃ障鐚IDゃ鐚荀膣筝&identify;違
+</p>
+</vcnote>
+<vcnote id='one-id-per-el'>
+<head>1荀膣1ID</head>
+<p>
+荀膣鐚茲違ID絮уゃc
+</p>
+</vcnote>
+<vcnote id='id-default'>
+<head>ID絮с&default;</head>
+<p>
+ID絮с鐚&default;鐚<code>#IMPLIED</code><code>#REQUIRED</code>絎h違
+</p>
+</vcnote>
+<vcnote id='idref'>
+<head>IDREF</head>
+<p>
+<kw>IDREF</kw>ゃ鐚荀<nt def="NT-Name">Name</nt>&match;違<kw>IDREFS</kw>ゃ鐚荀<nt def="NT-Names">Names</nt>&match;違<nt def='NT-Name'>Name</nt>鐚XML後絖荀膣ID絮сゃ&match;違ゃ障鐚<kw>IDREF</kw>ゃ鐚ID絮сゃ&match;違
+</p>
+</vcnote>
+<vcnote id='entname'>
+<head>絎篏</head>
+<p>
+<kw>ENTITY</kw>ゃ鐚荀<nt def="NT-Name">Name</nt>&match;違<kw>ENTITIES</kw>ゃ鐚荀<nt def="NT-Names">Names</nt>&match;違<nt def="NT-Name">Name</nt>鐚<termref def="dt-doctype">DTD</termref>уh<termref def="dt-unparsed">&unparsed-entity;</termref>&match;違
+</p>
+</vcnote>
+<vcnote id='nmtok'>
+<head>&token;</head>
+<p>
+<kw>NMTOKEN</kw>ゃ鐚腟腴荐<termref def="NT-Nmtoken">Nmtoken</termref>&match;&string;罕違<kw>NMTOKENS</kw>ゃ鐚腟腴荐<termref def="NT-Nmtokens">Nmtokens</termref>&match;&string;罕違
+</p>
+</vcnote>
+<p>
+XML&processor;鐚&application;絮уゃ羝<鐚<titleref href="AVNormalize">絮уゃ罩h</titleref>ц鎘鐚絮уゃ罩h違
+</p>
+<p>
+<termdef id='dt-enumerated' term='Enumerated Attribute Values'><term>絮</term>鐚絎hゃ筝ゃс</termdef>鐚2腮蕁
+
+<scrap lang='ebnf'>
+<head>絮с</head>
+<prod id='NT-EnumeratedType'><lhs>EnumeratedType</lhs>
+<rhs><nt def='NT-NotationType'>NotationType</nt>
+| <nt def='NT-Enumeration'>Enumeration</nt>
+</rhs></prod>
+<prod id='NT-NotationType'><lhs>NotationType</lhs>
+<rhs>'NOTATION'
+<nt def='NT-S'>S</nt>
+'('
+<nt def='NT-S'>S</nt>?
+<nt def='NT-Name'>Name</nt>
+(<nt def='NT-S'>S</nt>? '|' <nt def='NT-Name'>Name</nt>)*
+<nt def='NT-S'>S</nt>? ')'
+</rhs>
+<vc def='notatn' /></prod>
+<prod id='NT-Enumeration'><lhs>Enumeration</lhs>
+<rhs>'(' <nt def='NT-S'>S</nt>?
+<nt def='NT-Nmtoken'>Nmtoken</nt>
+(<nt def='NT-S'>S</nt>? '|'
+<nt def='NT-S'>S</nt>?
+<nt def='NT-Nmtoken'>Nmtoken</nt>)*
+<nt def='NT-S'>S</nt>?
+')'</rhs>
+<vc def='enum'/></prod>
+</scrap>
+</p>
+
+<vcnote id='notatn'>
+<head>荐羈絮</head>
+<p>ゃ鐚絎h<titleref href='Notations'>荐羈</titleref>筝ゃ&match;違ゃ障鐚絎h絖荐羈鐚鴻絎h違
+</p>
+</vcnote>
+<vcnote id='enum'>
+<head></head>
+<p>
+ゃ鐚絎h絖<nt def='NT-Nmtoken'>Nmtoken</nt>&token;筝ゃ&match;違
+</p>
+</vcnote>
+<p>
+<termref def='dt-interop'>娯с</termref>鐚<nt def='NT-Nmtoken'>Nmtoken</nt>鐚筝荀膣絮с鐚茲医憗鴻
+</p>
+</div3>
+
+<div3 id='sec-attr-defaults'>
+<head>絮с&default;</head>
+
+<p>
+<termref def="dt-attdecl">絮уh</termref>鐚絮с絎綽ゃ宴筝綽с翫鐚後ус絎鐚XML&processor;号宴筝
+
+<scrap lang='ebnf'>
+<head>絮с&default;</head>
+<prodgroup pcw4="14" pcw5="11.5">
+<prod id='NT-Default'><lhs>Default</lhs>
+<rhs>'#REQUIRED'
+|&nbsp;'#IMPLIED' </rhs>
+<rhs>| (('#FIXED' S)? <nt def='NT-AttValue'>AttValue</nt>)</rhs>
+<vc def='defattrvalid'/>
+<wfc def="CleanAttrVals"/>
+</prod>
+</prodgroup>
+</scrap>
+<!-- improved by bosak
+<scrap lang='ebnf'>
+<head>Attribute Defaults</head>
+<prod id='NT-Default'><lhs>Default</lhs>
+<rhs>'#REQUIRED'
+|&nbsp;'#IMPLIED' </rhs>
+<vc def='defattrvalid'/>
+<wfc def="CleanAttrVals"/>
+<rhs>| (('#FIXED' S)? <nt def='NT-AttValue'>AttValue</nt>)</rhs>
+</prod>
+</scrap>-->
+</p>
+
+<vcnote id='defattrvalid'>
+<head>絮&default;罩c</head>
+<p>
+絎h&default-value;鐚絎h絮у絖ュ句羣違
+</p>
+</vcnote>
+<p>
+<kw>#REQUIRED</kw>絎鐚荀膣<termref def="dt-stag">紮帥</termref>сc鐚絮сゃ筝XML&processor;荀ゃ逸吾<termref def="dt-valid">&valid;</termref><kw>#IMPLIED</kw>絎鐚絮сャ鐚XML&processor;鐚絮уゃ絎≪宴若激с潟篌違鐚&application;ゃ句
+</p>
+<p>
+<termdef id="dt-default" term="Attribute Default">
+絮с<kw>#REQUIRED</kw>с<kw>#IMPLIED</kw>с鐚<nt def='NT-AttValue'>AttValue</nt>ゃ鐚<term>&default-value;</term><kw>#FIXED</kw>翫鐚&default-value;違ゃ絎逸吾鐚<termref def="dt-valid">&valid;</termref>&default-value;絎h翫鐚絮сャ荀ゃ鐚絎h&default-value;絮уゃ絎鐚XML&processor;障
+</termdef></p>
+
+<p>絮с鴻絎h箴鐚罨<腓冴
+
+<eg>&lt;!ATTLIST termdef
+ id ID #REQUIRED
+ name CDATA #IMPLIED>
+&lt;!ATTLIST list
+ type (bullets|ordered|glossary) "ordered">
+&lt;!ATTLIST form
+ method CDATA #FIXED "POST"></eg></p>
+</div3>
+
+<div3 id='AVNormalize'>
+<head>絮уゃ罩h</head>
+<p>
+XML&processor;鐚絮уゃ&application;羝<鐚罨<罩h違
+
+<ulist>
+<item>
+<p>a) 障鐚絮уゅ潟筝絎篏э茵茵紜(激鴻c潟若紜)篏帥&string;鐚&space-character;(#x20)筝ゃ臀違(<titleref xml-link="simple" href="sec-line-ends">茵宴</titleref>с)
+</p></item>
+<item>
+<p>b) 罨<鐚絖у喝&parsed-entity;吾с鐚絮違紊絎篏吾с鐚&error;
+</p></item>
+<item>
+<p>c) 緇鐚絮с<kw>CDATA</kw>с逸腥榊&string;鐚鴻&space-character;(#x20)筝ゃ罩h鐚罧腥榊醇絖鐚ゃ違
+</p></item>
+</ulist>
+
+&non-validating;&parser;鐚絎h荀ゃ絮с鐚鴻鐚<kw>CDATA</kw>絎h宴障</p>
+</div3>
+</div2>
+
+<div2 id='sec-condition-sect'>
+<head>>散篁祉激с</head>
+<p>
+<termdef id='dt-cond-section' term='conditional section'>
+<term>>散篁祉激с</term>鐚<termref def='dt-doctype'>後絎h紊&subset;</termref>筝鐚九勝若若絎c鐚DTD茫罕鐚ゃ
+</termdef>
+
+<scrap lang='ebnf'>
+<head>>散篁祉激с</head>
+<prodgroup pcw2="9" pcw4="14.5">
+<prod id='NT-conditionalSect'><lhs>conditionalSect</lhs>
+<rhs><nt def='NT-includeSect'>includeSect</nt>
+| <nt def='NT-ignoreSect'>ignoreSect</nt>
+</rhs>
+</prod>
+<prod id='NT-includeSect'><lhs>includeSect</lhs>
+<rhs>'&lt;![' S? 'INCLUDE' S? '['
+<!-- (<nt def='NT-markupdecl'>markupdecl</nt>
+ | <nt def="NT-conditionalSect">conditionalSect</nt>
+ | <nt def="NT-S">S</nt>)*
+-->
+<nt def="NT-extSubset">extSubset</nt>
+']]&gt;'
+</rhs>
+</prod>
+<prod id='NT-ignoreSect'><lhs>ignoreSect</lhs>
+<rhs>'&lt;![' S? 'IGNORE' S? '['
+<nt def="NT-ignoreSectContents">ignoreSectContents</nt>*
+']]&gt;'</rhs>
+</prod>
+<prod id='NT-ignoreSectContents'><lhs>ignoreSectContents</lhs>
+<rhs><nt def='NT-Ignore'>Ignore</nt>
+('&lt;![' <nt def='NT-ignoreSectContents'>ignoreSectContents</nt>
+']]&gt;'
+<nt def='NT-Ignore'>Ignore</nt>)*</rhs></prod>
+<prod id='NT-Ignore'><lhs>Ignore</lhs>
+<rhs><nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* ('&lt;![' | ']]&gt;')
+<nt def='NT-Char'>Char</nt>*)
+</rhs></prod>
+<!--<rhs>
+((<nt def='NT-SkipLit'>SkipLit</nt>
+| <nt def='NT-Comment'>Comment</nt>
+| <nt def='NT-PI'>PI</nt>) -
+(<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-Char'>Char</nt>*))
+| ('&lt;![' <nt def='NT-ignoreSectContents'>ignoreSectContents</nt>*
+']]&gt;')
+</rhs>
+<rhs>
+| (<nt def='NT-Char'>Char</nt> - (']' | [&lt;'"]))
+</rhs>
+<rhs>
+| ('&lt;!' (<nt def='NT-Char'>Char</nt> - ('-' | '[')))
+</rhs>-->
+</prodgroup>
+</scrap>
+</p>
+
+<p>>散篁祉激с潟鐚DTD&subset;喝&subset;罕鐚絎絎h鐚潟<潟ャ絖c>散篁祉激с潟鐚ゃс鐚腥榊純憗
+</p>
+<p>
+>散篁祉激с潟若若<code>INCLUDE</code>逸XML&processor;鐚>散篁祉激с潟絎鴻鐚吾筝宴違>散篁祉激с潟若若<code>IGNORE</code>逸>散篁祉激с潟絎鴻鐚吾筝宴罕茹f罩c頫鐚∴>散篁祉激с(IGNORE)≪鐚絎鴻茯障違羈鐚ャ絖c>散篁祉激с潟荀ゃ鐚(∴)紊眼>散篁祉激с潟罩c閌冴若若<code>INCLUDE</code>絨>散篁祉激с潟鐚若若<code>IGNORE</code>紊с>散篁祉激с潟障逸紊翫喝眼>散篁祉激с潟筝≧鴻∴
+</p>
+<p>
+>散篁祉激с潟若若<水篏с逸XML&processor;>散篁祉激с潟宴ゆ鐚<水篏絮違
+</p>
+
+<p>箴罨<腓冴
+
+<eg>&lt;!ENTITY % draft 'INCLUDE' >
+&lt;!ENTITY % final 'IGNORE' >
+
+&lt;![%draft;[
+&lt;!ELEMENT book (comments*, title, body, supplements?)>
+]]&gt;
+&lt;![%final;[
+&lt;!ELEMENT book (title, body, supplements?)>
+]]&gt;
+</eg>
+</p>
+</div2>
+<!--
+<div2 id='sec-pass-to-app'>
+<head>XML Processor Treatment of Logical Structure</head>
+<p>When an XML processor encounters a start-tag, it must make
+at least the following information available to the application:
+<ulist>
+<item>
+<p>the element type's generic identifier</p>
+</item>
+<item>
+<p>the names of attributes known to apply to this element type
+(validating processors must make available names of all attributes
+declared for the element type; non-validating processors must
+make available at least the names of the attributes for which
+values are specified.
+</p>
+</item>
+</ulist>
+</p>
+</div2>
+-->
+
+</div1>
+<!-- &Entities; -->
+
+<div1 id='sec-physical-struct'>
+<head>罕</head>
+
+<p>
+<termdef id="dt-entity" term="Entity">
+XML吾鐚筝や札筝荐九篏罕荐九篏鐚<term>絎篏</term>絎篏鐚<term>絎</term>¥後篏(篁ラ)<termref def='dt-doctype'>紊DTD&subset;</termref>ゃ鐚<term></term>&identified;
+</termdef>
+
+<!-- Added for CFG -->
+<!-- obscurity amputated by TWB -->
+<!-- entire sentence amputated by CMSMcQ: no one but NO ONE is
+ready for entities declared as
+<!ENTITY foo "http://www.foo.com/bar.xml#id">
+and it's pointless to suggest that it's possible
+under current circumstances. -->
+<!-- An entity may be stored in, -->
+<!--but need not be coterminous with, -->
+<!-- but need not comprise the whole of, -->
+<!-- a single physical storage object such as a file or -->
+<!-- database field. -->
+<!-- End sentence added for CFG -->XML吾鐚<termref def="dt-docent">後篏</termref>若九篏筝ゃゃ<termref def="dt-xml-proc">XML&processor;</termref>鐚後篏紮後篏鐚吾鴻с</p>
+
+<p>絎篏鐚&parsed-entity;&unparsed-entity;<termdef id="dt-parsedent" term="Text Entity"><term>&parsed-entity;</term>絎鴻鐚&parsed-entity;<termref def='dt-repltext'>&replacement-text;</termref>若吟<termref def="dt-text">鴻</termref>鐚吾篏筝茹i
+</termdef>
+</p>
+
+<p>
+<termdef id="dt-unparsed" term="Unparsed Entity">
+<term>&unparsed-entity;</term>鐚絎鴻<termref def='dt-text'>鴻</termref>сс純若鴻鴻翫鐚XMLс&unparsed-entity;鐚<termref def="dt-notation">荐羈</termref>∫d鐚荐羈鐚&identified;荐羈渇∫d&identifier;鐚XML&processor;&application;羝<荀篁銀札紊鐚XML鐚&unparsed-entity;絎鴻狗
+</termdef>
+</p>
+
+<p>&parsed-entity;鐚絎篏сcу若喝冴&unparsed-entity;鐚<kw>ENTITY</kw><kw>ENTITIES</kw>絮сゃ鐚ус</p>
+
+<p>
+<termdef id='gen-entity' term='general entity'><term>筝絎篏</term>鐚後絎鴻筝т戎&parsed-entity;障鐚&TR-or-Rec;с鐚筝絎篏<emph>絎篏</emph>若吟</termdef><termdef id='dt-PE' term='Parameter entity'><水篏鐚DTDт戎&parsed-entity;</termdef>鐚腮蕁絎篏鐚違後ус鐚違ц茘</p>
+
+<!--
+<div2 id='sec-synchro'>
+<head>Logical and Physical Structures</head>
+<p>The logical and physical structures (elements and entities)
+in an XML document must
+be properly nested.
+<termref def='dt-stag'>Tags</termref> and <termref def='dt-element'>elements</termref> must
+each begin and end in the same <termref def='dt-entity'>entity</termref>, but may
+refer to other
+entities internally; <termref def='dt-comment'>comments</termref>,
+<termref def='dt-pi'>processing instructions</termref>,
+<termref def='dt-charref'>character
+references</termref>, and
+<termref def='dt-entref'>entity references</termref> must each be contained entirely
+within a single entity. Entities must each contain an integral number
+of elements, comments, processing instructions, and references,
+possibly together with character data not contained within any element
+in the entity, or else they must contain non-textual data, which by
+definition contains no elements.</p></div2>
+-->
+
+<div2 id='sec-references'>
+<head>絖у喝篏</head>
+<p>
+<termdef id="dt-charref" term="Character Reference">
+<term>絖</term>鐚ISO/IEC 10646絖劫絖鐚箴逸ュ罘贋・ュ筝純絖с
+
+<scrap lang='ebnf'>
+<head>絖</head>
+<prod id='NT-CharRef'><lhs>CharRef</lhs>
+<rhs>'&amp;#' [0-9]+ ';' </rhs>
+<rhs>| '&hcro;' [0-9a-fA-F]+ ';'</rhs>
+<wfc def="wf-Legalchar"/>
+</prod>
+</scrap>
+<wfcnote id="wf-Legalchar">
+<head>罩e絖</head>
+<p>絖сус絖鐚腟腴荐<termref def="NT-Char">Char</termref>緇違</p>
+</wfcnote>
+絖 "<code>&amp;#x</code>" у障逸腟腴 "<code>;</code>" 障с医潟≪<鐚ISO/IEC 10646 絖潟若16我域;憗
+<!--ユ茯荐潟ゃ: letter≪<荐潟 筝絅 -->
+絖 "<code>&amp;#</code>" у障逸腟腴 "<code>;</code>" 障с医鐚絖潟若10我域;憗
+</termdef>
+</p>
+
+<p>
+<termdef id="dt-entref" term="Entity Reference">
+<term>絎篏</term>鐚篁絎篏絎鴻с</termdef><termdef id='dt-GERef' term='General Entity Reference'>筝絎篏吾с鐚≪潟泣潟(<code>&amp;</code>)潟祉潟(<code>;</code>)阪絖</termdef><termdef id='dt-PERef' term='Parameter-entity reference'><term><水篏</term>吾с鐚若祉潟荐(<code>%</code>)潟祉潟(<code>;</code>)阪絖
+</termdef>
+</p>
+
+<scrap lang="ebnf">
+<head>絎篏</head>
+<prod id='NT-Reference'><lhs>Reference</lhs>
+<rhs><nt def='NT-EntityRef'>EntityRef</nt>
+| <nt def='NT-CharRef'>CharRef</nt></rhs></prod>
+<prod id='NT-EntityRef'><lhs>EntityRef</lhs>
+<rhs>'&amp;' <nt def='NT-Name'>Name</nt> ';'</rhs>
+<wfc def='wf-entdeclared'/>
+<vc def='vc-entdeclared'/>
+<wfc def='textent'/>
+<wfc def='norecursion'/>
+</prod>
+<prod id='NT-PEReference'><lhs>PEReference</lhs>
+<rhs>'%' <nt def='NT-Name'>Name</nt> ';'</rhs>
+<wfc def='wf-entdeclared'/>
+<vc def='vc-entdeclared'/>
+<wfc def='textent'/>
+<wfc def='norecursion'/>
+<wfc def='indtd'/>
+</prod>
+</scrap>
+
+<wfcnote id='wf-entdeclared'>
+<head>絎篏絎h</head>
+<p>DTD醐<水篏с障DTD&subset;ゆ醐 "<code>standalone='yes'</code>" ゆ吾鐚絎篏сх <nt def='NT-Name'>Name</nt> 鐚絎篏絎hт鐚<termref def="dt-match">&match;</termref>違鐚&well-formed;吾鐚絎篏&magicents; 絎h綽荀<水篏翫鐚絎h鐚с茵違罕鐚筝絎篏翫鐚絮с鴻絎h&default-value;сс鐚絎h憗違</p>
+
+<p>紊&subset;紊<水篏у篏絎h鐚&non-validating;&processor;鐚絎h茯随<titleref href='include-if-valid'>臂ャ</titleref>吾с鐚絎篏絎h違荀鐚&well-formed;句с
+</p>
+</wfcnote>
+
+<vcnote id="vc-entdeclared">
+<head>絎篏絎h</head>
+<p>
+紊&subset;紊<水篏c鐚"<code>standalone='no'</code>"ゆ吾鐚絎篏сх <nt def='NT-Name'>Name</nt> 鐚絎篏絎hт<termref def="dt-match">&match;</termref>違娯с鐚&valid;吾<titleref href="sec-escapes">絎臂絎篏荀鎘</titleref>ф絎後c鐚絎篏 &magicents;絎h障<水篏翫鐚絎h鐚с茵違罕鐚筝絎篏翫鐚絮с鴻絎h&default-value;сс鐚絎h憗違
+</p>
+</vcnote>
+
+<!-- FINAL EDIT: is this duplication too clumsy? -->
+
+<wfcnote id='textent'>
+<head>&parsed-entity;</head>
+<p>
+絎篏с鐚<termref def="dt-unparsed">&unparsed-entity;</termref>с&unparsed-entity;鐚<kw>ENTITY</kw><kw>ENTITIES</kw> 絎h<termref def="dt-attrval">絮у</termref>сс
+</p>
+</wfcnote>
+
+<wfcnote id='norecursion'>
+<head>絽違</head>
+<p>&parsed-entity;鐚篏吾с鐚贋・・с</p>
+</wfcnote>
+
+<wfcnote id='indtd'>
+<head>DTD筝</head>
+<p>
+<水篏с鐚<termref def='dt-doctype'>DTD</termref>鐚榊憗
+<!--
+In the external DTD subset, a parameter-entity reference is
+recognized only at the locations where
+the nonterminal <nt def="NT-PEReference">PEReference</nt> or the
+special operator <code>%</code> appears in a production of the
+grammar. In the internal subset, parameter-entity references
+are recognized only when they match
+the <nt def="NT-InternalPERef">InternalPERef</nt> non-terminal
+in the production for <nt def="NT-markupdecl">markupdecl</nt>.
+-->
+</p>
+</wfcnote>
+
+<p>
+絖у喝篏с箴鐚罨<腓冴
+<eg>Type &lt;key>less-than&lt;/key> (&hcro;3C;) to save options.
+This document was prepared on &amp;docdate; and
+is classified &amp;security-level;.</eg>
+</p>
+
+<p>
+<水篏с箴鐚罨<腓冴
+<eg>&lt;!ENTITY % ISOLat2
+ SYSTEM "http://www.xml.com/iso/isolat2-xml.entities" >
+%ISOLat2;
+</eg>
+</p>
+</div2>
+
+<div2 id='sec-entity-decl'>
+<head>絎篏絎h</head>
+
+<p>
+<termdef id="dt-entdecl" term="entity declaration">
+絎篏鐚罨<絎h
+<scrap lang='ebnf'>
+<head>絎篏絎h</head>
+<prodgroup pcw2="5" pcw4="18.5">
+<prod id='NT-EntityDecl'><lhs>EntityDecl</lhs>
+<rhs><nt def="NT-GEDecl">GEDecl</nt></rhs><com>筝絎篏</com>
+<rhs>| <nt def="NT-PEDecl">PEDecl</nt></rhs><com><水篏</com>
+</prod>
+<prod id='NT-GEDecl'><lhs>GEDecl</lhs>
+<rhs>'&lt;!ENTITY' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt> <nt def='NT-EntityDef'>EntityDef</nt>
+<nt def='NT-S'>S</nt>? '&gt;'</rhs>
+</prod>
+<prod id='NT-PEDecl'><lhs>PEDecl</lhs>
+<rhs>| '&lt;!ENTITY' <nt def='NT-S'>S</nt> '%' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt> <nt def='NT-S'>S</nt>
+<nt def='NT-PEDef'>PEDef</nt> <nt def='NT-S'>S</nt>? '&gt;'</rhs>
+<com><水篏</com>
+</prod>
+<prod id='NT-EntityDef'><lhs>EntityDef</lhs>
+<rhs><nt def='NT-EntityValue'>EntityValue</nt>
+</rhs>
+<!--<wfc def="WF-EntityValue"/>-->
+<rhs>| <nt def='NT-ExternalDef'>ExternalDef</nt></rhs>
+<!--<wfc def="WF-External"/>-->
+</prod>
+<!-- FINAL EDIT: what happened to WFs here? -->
+<prod id='NT-PEDef'><lhs>PEDef</lhs>
+<rhs><nt def='NT-EntityValue'>EntityValue</nt>
+| <nt def='NT-ExternalID'>ExternalID</nt></rhs></prod>
+</prodgroup>
+</scrap>
+
+<nt def='NT-Name'>Name</nt> 鐚<termref def="dt-entref">絎篏</termref>絎篏&identify;&unparsed-entity;逸<kw>ENTITY</kw> <kw>ENTITIES</kw>絮уゅэ絎篏&identify;筝絎篏筝篁ヤ絎h逸絎h&at-user-option;鐚茲医絎h絎篏≪鐚XML&processor;鐚茘冴
+</termdef>
+</p>
+
+<!--
+<wfcnote id="WF-Entityvalue">
+<head>Well-Formed Internal Entity</head>
+<p>General entities defined by an <nt
+def="NT-EntityValue">EntityValue</nt> must be well-formed, as defined
+in section <specref ref="wf-entities"/>.
+</p>
+</wfcnote>
+<wfcnote id="WF-External">
+<head>Well-Formed External Entity</head>
+<p>General text entities defined by an <nt
+def="NT-ExternalDef">ExternalDef</nt>, must be well-formed, as defined
+in the section on <titleref xml-link="simple"
+href="wf-entities">well-formed entities.</titleref>.</p>
+</wfcnote>
+-->
+
+<div3 id='sec-internal-ent'>
+<head>絎篏</head>
+<p>
+<termdef id='dt-internent' term="Internal Entity Replacement Text">
+絎篏絎臂 <nt def='NT-EntityValue'>EntityValue</nt>鐚<term>絎篏</term>鐚ュ荐九篏鐚絎篏絎鴻鐚絎hт</termdef>罩c<termref def='dt-repltext'>&replacement-text;</termref>鐚<termref def='dt-litentval'>&literal;絎篏</termref>с絎篏у恰絖с鐚綽荀羈荅括完鐚<titleref href='intern-replacement'>絎篏&replacement-text;罕膀</titleref>с
+
+<!-- redundant -TWB
+Within the <nt def="NT-EntityValue">EntityValue</nt>,
+parameter-entity references and character references are recognized
+and expanded immediately.
+General-entity references within the
+replacement text are not recognized
+at the time the entity declaration is parsed, though they may be
+recognized when the entity itself is referred to.
+-->
+
+</p>
+
+<p>
+絎篏鐚<termref def="dt-parsedent">&parsed-entity;</termref>
+</p>
+
+<p>絎篏絎h箴鐚罨<腓冴
+<eg>&lt;!ENTITY Pub-Status "This is a pre-release of the specification."></eg></p>
+</div3>
+
+<div3 id='sec-external-ent'>
+<head>紊絎篏</head>
+<p>
+<termdef id="dt-extent" term="External Entity">
+絎篏絎篏с逸<term>紊絎篏</term>鐚罨<絎h
+
+<scrap lang='ebnf'>
+<head>紊絎篏絎h</head>
+<prod id='NT-ExternalDef'><lhs>ExternalDef</lhs>
+<rhs><nt def='NT-ExternalID'>ExternalID</nt>
+<nt def='NT-NDataDecl'>NDataDecl</nt>?</rhs></prod>
+<prod id='NT-ExternalID'><lhs>ExternalID</lhs>
+<rhs>'SYSTEM' <nt def='NT-S'>S</nt>
+<nt def='NT-SystemLiteral'>SystemLiteral</nt></rhs>
+<rhs>| 'PUBLIC' <nt def='NT-S'>S</nt>
+<nt def='NT-PubidLiteral'>PubidLiteral</nt>
+<nt def='NT-S'>S</nt>
+<nt def='NT-SystemLiteral'>SystemLiteral</nt>
+</rhs>
+</prod>
+<prod id='NT-NDataDecl'><lhs>NDataDecl</lhs>
+<rhs><nt def='NT-S'>S</nt> 'NDATA' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt></rhs>
+<vc def='not-declared'/></prod>
+</scrap>
+
+<nt def='NT-NDataDecl'>NDataDecl</nt> 絖逸絎篏鐚<termref def="dt-unparsed">&unparsed-entity;</termref>鐚с逸&parsed-entity;</termdef>
+</p>
+
+<vcnote id='not-declared'>
+<head>荐羈絎h</head>
+<p>
+<nt def='NT-Name'>Name</nt> 鐚絎h<termref def="dt-notation">荐羈</termref>&match;違
+</p>
+</vcnote>
+
+<p>
+<termdef id="dt-sysid" term="System Identifier">
+若若 <kw>SYSTEM</kw> 緇 <nt def='NT-SystemLiteral'>SystemLiteral</nt> 鐚絎篏<term>激鴻&identifier;</term>若吟URI鐚絎篏絎鴻冴</termdef>URI宴篏帥紊激("<code>#</code>")潟違<潟&identifier;鐚罩e鐚URI篏筝違<潟&identifier;鐚激鴻&identifier;筝翫鐚XML&processor;鐚&error;冴&TR-or-Rec;膀峨(箴逸劫DTD劫ャXML荀膣劫&application;篁罕c絎臂巡擦)c筝吾鐚後丞URI鐚絎篏篏臀鐚¥絎篏絎h<ゃ後丞c鐚DTD&subset;絎篏絎hс後丞URI鐚吾篏臀ゃ後丞紊&subset;絎篏絎hс後丞URI鐚紊&subset;<ゃ篏臀後丞
+</p>
+
+<p>
+<termdef id="dt-pubid" term="Public identifier">
+激鴻&identifier;篁ュ鐚紊絎篏鐚<term>&identifier;</term>с
+</termdef>
+絎篏絎鴻冴XML&processor;鐚&identifier;鐚篁cURI荅帥XML&processor;紊掩翫鐚激鴻&literal;絎URI違&match;鐚&identifier;腥榊醇絖&string;鐚鴻筝&space-character;(#x20)罩h違鐚緇腥榊醇絖ゃ違
+</p>
+
+<p>紊絎篏絎h箴鐚罨<腓冴
+<eg>&lt;!ENTITY open-hatch
+ SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml">
+&lt;!ENTITY open-hatch
+ PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN"
+ "http://www.textuality.com/boilerplate/OpenHatch.xml">
+&lt;!ENTITY hatch-pic
+ SYSTEM "../grafix/OpenHatch.gif"
+ NDATA gif ></eg></p>
+</div3>
+
+</div2>
+
+<div2 id='TextEntities'>
+<head>&parsed-entity;</head>
+<div3 id='sec-TextDecl'>
+<head>鴻絎h</head>
+<p>紊&parsed-entity;鐚<term>鴻絎h</term>у障c
+<scrap lang='ebnf'>
+<head>鴻絎h</head>
+<prodgroup pcw4="12.5" pcw5="13">
+<prod id='NT-TextDecl'><lhs>TextDecl</lhs>
+<rhs>&xmlpio;
+<nt def='NT-VersionInfo'>VersionInfo</nt>?
+<nt def='NT-EncodingDecl'>EncodingDecl</nt>
+<nt def='NT-S'>S</nt>? &pic;</rhs>
+<!-- <wfc def='wfc-xmldecliteral'/> -->
+<!-- <wfc def='wfc-no-nonleading-encdec'/> -->
+</prod>
+</prodgroup>
+</scrap>
+</p>
+<p>鴻絎h鐚障障綵≪х憗違鐚&parsed-entity;吾с腟宴羈</p>
+<p>紊&parsed-entity;鐚鴻絎h鐚篁ュ篏臀榊憗</p>
+</div3>
+<div3 id='wf-entities'>
+<head>&well-formed;&parsed-entity;</head>
+<p><nt def='NT-document'>document</nt>ょ荀&match;逸後篏鐚&well-formed;<nt def='NT-ExtParsedEnt'>ExtParsedEnt</nt>ょ荀&match;逸紊筝&parsed-entity;鐚&well-formed;<nt def='NT-ExtPE'>ExtPE</nt>ょ荀&match;逸紊<水篏鐚&well-formed;
+
+<scrap lang='ebnf'>
+<head>&well-formed;&parsed-entity;</head>
+<prod id='NT-ExtParsedEnt'><lhs>ExtParsedEnt</lhs>
+<rhs><nt def='NT-TextDecl'>TextDecl</nt>?
+<nt def='NT-content'>content</nt></rhs>
+</prod>
+<prod id='NT-ExtPE'><lhs>ExtPE</lhs>
+<rhs><nt def='NT-TextDecl'>TextDecl</nt>?
+<nt def='NT-extSubset'>extSubset</nt></rhs>
+</prod>
+</scrap>
+&replacement-text;鐚<nt def='NT-content'>content</nt>ょ荀&match;逸筝&parsed-entity;鐚&well-formed;DTD緇障ц粋昭障鐚腆阪ゅс羈鴻<水篏鐚絎臂c&well-formed;
+</p>
+<p>絎篏&well-formed;腟鐚XML吾茫括罕鐚罩cャ絖<termref def='dt-stag'>紮帥</termref>鐚<termref def='dt-etag'>腟篋帥</termref>鐚<termref def="dt-empty">腥肴膣帥</termref>鐚<termref def='dt-element'>荀膣</termref>鐚<termref def='dt-comment'>潟<潟</termref>鐚<termref def='dt-pi'>巡擦</termref>鐚<termref def='dt-charref'>絖</termref><termref def='dt-entref'>絎篏</termref>鐚筝ゃ絎篏ч紮鐚ャ絎篏х篋</p>
+</div3>
+<div3 id='charencoding'>
+<head>絎篏絖膃垸</head>
+
+<p>XML後紊&parsed-entity;鐚鐚ャ絖膃垸劫鴻XML&processor;鐚UTF-8х垸絎篏鐚UTF-16х垸絎篏с違
+<!--
+It is recognized that for some purposes, the use of additional
+ISO/IEC 10646 planes other than the Basic Multilingual Plane
+may be required.
+A facility for handling characters in these planes is therefore a
+desirable characteristic in XML processors and applications.
+-->
+</p>
+<p>UTF-16х垸絎篏鐚ISO/IEC 10646篁EUnicode篁Bц鎘&byte-order-mark;(ZERO WIDTH NO-BREAK SPACE絖鐚#xFEFF)у障違鐚膃垸罔茘сc鐚XML吾&markup;筝с鐚絖若帥筝сXML&processor;鐚UTF-8х垸吾UTF-16х垸吾阪ャ茵鐚絖篏睡純с違</p>
+<p>XML&processor;鐚UTF-8UTF-16х垸絎篏茯綽鐚篁膃垸筝с鐚膃垸絎篏XML&processor;с障UTF-8UTF-16篁ュ膃垸劫主&parsed-entity;鐚膃垸絎h<titleref href='TextDecl'>鴻絎h</titleref>у違
+<scrap lang='ebnf'>
+<head>膃垸絎h</head>
+<prod id='NT-EncodingDecl'><lhs>EncodingDecl</lhs>
+<rhs><nt def="NT-S">S</nt>
+'encoding' <nt def='NT-Eq'>Eq</nt>
+'"' <nt def='NT-EncName'>EncName</nt> '"' | "'"
+<nt def='NT-EncName'>EncName</nt> "'"
+</rhs>
+</prod>
+<prod id='NT-EncName'><lhs>EncName</lhs>
+<rhs>[A-Za-z] ([A-Za-z0-9._] | '-')*</rhs>
+<com>恰絖膃垸</com>
+</prod>
+</scrap>
+<termref def='dt-docent'>後篏</termref>с鐚膃垸絎h鐚<termref def="dt-xmldecl">XML絎h</termref>筝<nt def="NT-EncName">EncName</nt>鐚篏睡膃垸劫
+</p>
+<!-- FINAL EDIT: check name of IANA and charset names -->
+<p>膃垸絎hс鐚<code>UTF-8</code>鐚<code>UTF-16</code>鐚<code>ISO-10646-UCS-2</code><code>ISO-10646-UCS-4</code>鐚UnicodeISO/IEC 10646腮膃垸<code>ISO-8859-1</code><code>ISO-8859-9</code>障с鐚ISO 8859絲上若<code>ISO-2022-JP</code>鐚<code>Shift_JIS</code><code>EUC-JP</code>鐚JIS X-0208-1997腮膃垸XML&processor;鐚篁ュ膃垸劫茯茘Internet Assigned Numbers Authority (IANA)鐚(<emph>charset</emph>s)脂蚊絖膃垸劫ゃ鐚篁ュゃ鐚脂蚊ус障脂蚊鐚紊ф絖糸絖阪ャ絎臂э絲障罸莠荅帥&processor;鐚紊ф絖糸絖阪ャ号障羈</p>
+<p>XML膤祉羝<絎篏鐚膃垸絎h鐚絎hхず篁ュ劫х垸鐚膃垸絎h鐚紊絎篏篁ュ篏臀榊憗逸<termref def="dt-error">&error;</termref>
+</p>
+<p>&byte-order-mark;с膃垸絎hс紮障絎篏鐚UTF-8膃垸с違</p>
+
+<p><!-- XML processors should make an effort to use all available
+information, internal and external, to aid in detecting an entity's correct
+encoding. Such information may include, but is not limited to:
+<ulist><item><p>An HTTP header</p></item>
+<item><p>A MIME header obtained other than through HTTP</p></item>
+<item><p>Metadata provided by the native OS file system or by document
+management software</p></item>
+<item><p>The bit patterns at the front of an entity, which may
+be analyzed to determine if
+the application of any known encoding yields a valid encoding
+declaration. See <titleref href='sec-guessing'>the appendix on
+autodetection of character sets</titleref>
+for a fuller description.</p></item></ulist> -->
+с膃垸c絎篏XML&processor;肴鐚&application;篋絎ャ鐚<termref def='dt-fatal'>&fatal-error;</termref>鐚腟篋違
+<!--
+inform the application of this fact and
+may
+allow the application to
+request either that the entity should be treated as an <termref
+def="dt-unparsed">unparsed entity</termref>, or that processing should
+cease.-->
+</p>
+<p>膃垸絎h箴鐚罨<腓冴
+<eg>&lt;?xml encoding='UTF-8'?>
+&lt;?xml encoding='EUC-JP'?></eg></p>
+</div3>
+</div2>
+<div2 id='entproc'>
+<head>XML&processor;絎篏喝с宴</head>
+<p>罨<茵鐚絖э絎篏у&unparsed-entity;弱冴憗喝翫<termref def='dt-xml-proc'>XML&processor;</termref>荀羆荀膣筝綏鐚茯茘腓冴
+<glist>
+<gitem><label>絎鴻</label>
+<def><p>荀膣<termref def='dt-stag'>紮帥</termref><termref def='dt-etag'>腟篋帥</termref>篁紙贋сс腟腴荐<nt def='NT-content'>content</nt>絲上</p></def>
+</gitem>
+<gitem>
+<label>絮уゃ</label>
+<def><p><termref def='dt-stag'>紮帥</termref>絮сわ<termref def='dt-attdecl'>絮уh</termref>&default-value;сс腟腴荐<nt def='NT-AttValue'>AttValue</nt>絲上</p></def></gitem>
+<gitem>
+<label>絮уゃ榊</label>
+<def><p>сс鐚<nt def='NT-Name'>Name</nt>榊憗<code>ENTITY</code>絎h絮сわ<code>ENTITIES</code>絎h絮сゃ&space;у阪&token;筝ゃ榊憗</p>
+</def></gitem>
+<gitem><label>絎篏ゃ</label>
+<def><p>絎篏絎h鐚<水絎篏<termref def='dt-litentval'>&literal;絎篏</termref>с腟腴荐<nt def='NT-EntityValue'>EntityValue</nt>絲上</p></def></gitem>
+<gitem><label>DTD</label>
+<def><p><termref def='dt-doctype'>DTD</termref>&subset;紊&subset;сс鐚<nt def='NT-EntityValue'>EntityValue</nt><nt def="NT-AttValue">AttValue</nt>紊眼</p></def>
+</gitem>
+</glist></p>
+<!-- border value changed by bosak -->
+<htable border='1' cellpadding='7' align='center'>
+<!-- tbody wrapper added by bosak -->
+<htbody>
+<tr><td bgcolor='&cellback;' rowspan='2' colspan='1'></td>
+<td bgcolor='&cellback;' align='center' valign='bottom' colspan='4'>絎篏</td>
+<td bgcolor='&cellback;' rowspan='2' align='center'>絖</td>
+</tr>
+<tr align='center' valign='bottom'>
+<td bgcolor='&cellback;'><</td>
+<td bgcolor='&cellback;'>&newline;筝</td>
+<td bgcolor='&cellback;'>紊&newline;&parsed-entity;&newline;筝</td>
+<td bgcolor='&cellback;'>&unparsed-entity;</td>
+</tr>
+<tr align='center' valign='middle'>
+<!--<td bgcolor='&cellback;' rowspan='4'>Recognition
+Context</td>-->
+<td bgcolor='&cellback;' align='right'>絎鴻с&newline;</td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>茯茘&newline;</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>莨若</titleref></td>
+<td bgcolor='&cellback;'><titleref href='include-if-valid'>罎荐若莨若</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>胼罩</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>莨若</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>絮уゃс&newline;</td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>茯茘&newline;</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>莨若</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>胼罩</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>胼罩</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>莨若</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>絮уゃ&newline;榊</td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>茯茘&newline;</titleref></td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>胼罩</titleref></td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>胼罩</titleref></td>
+<td bgcolor='&cellback;'><titleref href='notify'></titleref></td>
+<td bgcolor='&cellback;'><titleref href='not recognized'>茯茘&newline;</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>絎篏ゃс&newline;</td>
+<td bgcolor='&cellback;'><titleref href='included'>莨若</titleref></td>
+<td bgcolor='&cellback;'><titleref href='bypass'>&bypass;</titleref></td>
+<td bgcolor='&cellback;'><titleref href='bypass'>&bypass;</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>胼罩</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>莨若</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>DTDс&newline;</td>
+<td bgcolor='&cellback;'><titleref href='as-PE'>PE&newline;莨若</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>胼罩</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>胼罩</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>胼罩</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>胼罩</titleref></td>
+</tr>
+</htbody>
+</htable>
+<div3 id='not-recognized'>
+<head>茯茘</head>
+<p>DTD紊с鐚<code>%</code>絖鐚劫潟鐚c鐚DTDс<水篏с茯茘сc鐚<nt def='NT-content'>content</nt>с&markup;茯茘罕鐚絎h絮сゃ筝憗翫ゃ鐚&unparsed-entity;鐚茯茘
+</p>
+</div3>
+<div3 id='included'>
+<head>莨若垂</head>
+<p><termdef id="dt-include" term="Include">絎篏鐚<termref def='dt-repltext'>&replacement-text;</termref>冴鐚鐚ц篏篁c鐚сc篏臀э吾筝障<term>莨若障</term>&replacement-text;鐚<termref def='dt-chardata'>絖若</termref>(<水篏ゃ)<termref def="dt-markup">&markup;</termref>с鐚鐚絽吾号ц茘違鐚&markup;阪絖&escape;絎篏(&magicents;)&replacement-text;鐚絽吾若帥宴(&string;"<code>AT&amp;amp;T;</code>"鐚"<code>AT&amp;T;</code>"絮鐚罧≪潟泣潟鐚絎篏с阪絖茯茘)絖с鐚腓冴絖ц篏篁c鐚<term>莨若障</term>
+</termdef></p>
+</div3>
+<div3 id='include-if-valid'>
+<head>罎荐若莨若垂</head>
+<p>吾&validity;<termref def="dt-valid">罎荐</termref>鐚XML&processor;&parsed-entity;吾с茯茘鐚&replacement-text;<termref def="dt-include">莨若</termref>違絎篏紊絎篏сc鐚XML吾&validity;罎荐若逸絎篏&replacement-text;莨若с<termref def="dt-may"></termref>鐚</p>
+<p>羆冴鐚SGMLXML絎篏罘罕箴莨若炊純鐚娯≪吾ャ若筝祉荐荐鐚篁&application;(鴻鐚吾)鐚綽с鐚茯茘箴逸吟紊&parsed-entity;吾с荀ゃ鐚絎篏絖茵腓冴茵鐚茵腓冴荀羆鐚絎鴻冴
+</p>
+</div3>
+<div3 id='forbidden'>
+<head>胼罩≒</head>
+<p>罨<胼罩≪鐚<termref def='dt-fatal'>&fatal-error;</termref>
+<ulist>
+<item><p>a) <termref def='dt-unparsed'>&unparsed-entity;</termref>吾с榊憗
+</p></item>
+<item><p>b) DTD<nt def='NT-EntityValue'>EntityValue</nt><nt def="NT-AttValue">AttValue</nt>篁ュ鐚絖у筝絎篏吾с榊憗</p></item>
+<item><p>c) 絮уゅ紊絎篏吾с</p>
+</item>
+</ulist>
+</p>
+</div3>
+<div3 id='notify'>
+<head>モ</head>
+<p><termref def='dt-unparsed'>&unparsed-entity;</termref>鐚<kw>ENTITY</kw><kw>ENTITIES</kw>絮сゃ&token;憗鐚&processor;鐚&application;絲障鐚∫d<termref def="dt-notation">荐羈</termref>鐚荐羈絲障<termref def='dt-sysid'>激鴻</termref>&identifier;(絖)<termref def='dt-pubid'></termref>&identifier;ャ違</p>
+</div3>
+<div3 id='bypass'>
+<head>&bypass;</head>
+<p>筝絎篏с鐚絎篏絎h<nt def='NT-EntityValue'>EntityValue</nt>憗鐚∴鐚障丈</p>
+</div3>
+<div3 id='as-PE'>
+<head>PE莨若垂</head>
+<p>紊&parsed-entity;翫罕鐚<水篏鐚&validity;<titleref href='include-if-valid'>罎荐若莨若障</titleref>綽荀<水篏сDTD茯茘莨若鐚<termref def='dt-repltext'>&replacement-text;</termref>鐚緇筝ゃ&space-character;(#x20)篁c綣篌吾違潟鐚<水篏&replacement-text;鐚DTDゃ羈&token;絎鐚句
+</p>
+</div3>
+<!--
+<div3 id='gen-char-entproc'>
+<head>General and Character Entity Processing</head>
+<p>General-entity and character references are recognized in three
+contexts: wherever the nonterminal <nt def='NT-content'>content</nt> may
+appear, at any point within the nonterminal
+<nt def='NT-AttValue'>AttValue</nt>,
+and within the
+<termref def='dt-litentval'>literal entity value</termref>
+(<nt def='NT-EntityValue'>EntityValue</nt>)
+of an internal entity declaration.
+This section discusses the first two cases; the third
+is discussed <titleref href='intern-replacement'>below</titleref>.
+When an <termref def="dt-xml-proc">XML processor</termref> encounters
+such a reference, or the name of an unparsed entity as the value
+of an <kw>ENTITY</kw> or <kw>ENTITIES</kw> attribute, then:
+<olist>
+
+<item><p>In all cases, the XML processor may
+inform the application of the reference's occurrence and its identifier
+(for an entity reference, the name; for a character
+reference,
+the character number in decimal, hexadecimal, or binary form).</p></item>
+
+<item><p>For both character and entity references, the processor must
+remove the reference itself from the <termref def="dt-text">text</termref> data
+before passing the data to the application.
+</p></item>
+
+<item><p>For character references, the processor must
+pass the character indicated
+to the application in
+place of the reference.
+</p></item>
+
+<item><p>For an external entity, the processor must inform the
+application of the entity's <termref def="dt-sysid">system
+identifier</termref>, and <termref def="dt-pubid">public identifier</termref>
+if any.
+All strings
+of white space in the public identifier must be normalized to single space characters (#x20),
+and leading and trailing white space must be removed.</p></item>
+
+<item><p>If the external entity is binary, the processor must inform the
+application of the associated <termref def="dt-notation">notation</termref>
+name, and the notation's associated <termref def='dt-sysid'>system</termref>
+and <termref def='dt-pubid'>public</termref> (if any)
+identifiers.</p></item>
+
+<item><p><termdef id="dt-include" term="Include">For an internal
+(parsed) entity, the processor must <term>include</term> the
+entity; that is, retrieve its replacement text
+and process it as a part of the document
+(i.e. as <nt def="NT-content">content</nt> or <nt
+def="NT-AttValue">AttValue</nt>, whichever was being processed when
+the reference was recognized), passing the result to the application
+in place of the reference. The replacement text may contain both
+<termref def='dt-chardata'>character data</termref>
+and <termref def="dt-markup">markup</termref>, which must be recognized in
+the usual way, except that the replacement text of entities used to escape
+markup delimiters (the entities &magicents;) is always treated as
+data. (The string "<code>AT&amp;amp;T;</code>" expands to
+"<code>AT&amp;T;</code>" since the ampersand replacing "<code>&amp;amp;</code>"
+is not recognized
+as an entity-reference delimiter.) </termdef></p>
+<p>Since the entity may contain other entity references,
+an XML processor may have to repeat the inclusion process recursively.</p>
+</item>
+<item><p>If the entity is an external parsed entity, then in order to
+<termref def="dt-valid">validate</termref> the XML document, the processor must
+<termref def="dt-include">include</termref> the content of the
+entity.</p></item>
+
+<item><p>If the entity is an external parsed entity, and the processor is not
+attempting to <termref def="dt-valid">validate</termref> the XML document, the
+processor <termref def="dt-may">may</termref>, but need not, <termref
+def="dt-include">include</termref> the entity's content.</p>
+<p>This rule is based on the recognition that the automatic inclusion
+provided by the SGML and XML entity mechanism, primarily designed
+to support modularity in authoring, is not necessarily
+appropriate for other applications, in particular document browsing.
+Browsers, for example, when encountering an external parsed entity reference,
+might choose to provide a visual indication of the entity's
+presence and retrieve it for display only on demand.
+</p></item>
+</olist>
+</p>
+<p><termdef id="dt-escape" term="escape">Entity and character
+references can both be used to <term>escape</term> the left angle bracket,
+ampersand, and other delimiters. A set of general entities
+(&magicents;) is specified for this purpose.
+Numeric character references may also be used; they are
+expanded immediately when recognized, and must be treated as
+character data, so the numeric character references
+"<code>&amp;#60;</code>" and "<code>&amp;#38;</code>" may be used to
+escape <code>&lt;</code> and <code>&amp;</code> when they occur
+in character data.</termdef></p>
+</div3>
+<div3 id='PE-proc'>
+<head>Parameter Entity Processing</head>
+<p>Parameter-entity references are only recognized in the
+<termref def='dt-doctype'>DTD</termref>.
+Their processing, when they appear
+within the
+<termref def='dt-litentval'>literal entity value</termref>
+(<nt def='NT-EntityValue'>EntityValue</nt>)
+of an internal entity declaration,
+is discussed <titleref href='intern-replacement'>below</titleref>.
+They have these intended uses:
+<olist>
+<item><p>as a replacement for one or more complete markup declarations</p></item>
+<item><p>as a replacement for one or more complete "groups" in
+element declarations</p></item>
+<item><p>as a replacement for one or more complete "tokens" in
+markup declarations</p></item>
+</olist>
+</p>
+<p>The constraints requiring that PE replacement texts be properly nested
+with <titleref href='vc-PEinMarkupDecl'>markup declarations</titleref>
+and <titleref href='vc-PEinGroup'>content groups</titleref>
+govern the first two usages.</p>
+<p>To support the third intended usage,
+when an XML processor encounters a parameter-entity reference
+(outside of the
+<termref def='dt-litentval'>literal entity value</termref> in an entity
+declaration),
+it must <termref def="dt-include">include</termref>
+the named entity, but first expand its
+<termref def='dt-repltext'>replacement text</termref> by attaching
+space (#x20) characters to its beginning and the end, before
+processing it.</p>
+<p>The DTD text must match the relevant
+rules of this specification's grammar after all parameter-entity
+references have been expanded.
+<!-In addition, parameter entities referred to in specific
+contexts are required to satisfy certain constraints in their
+replacement text; for example, a parameter entity referred to within
+the internal DTD subset must match the rule for <nt
+def="NT-markupdecl">markupdecl</nt>. ->
+</p>
+</div3>
+-->
+</div2>
+<div2 id='intern-replacement'>
+<head>絎篏&replacement-text;罕膀</head>
+<p>絎篏宴荀鎘э絎篏ゃ篋ゃ綵√阪ャ綵鴻腴ゃ<termdef id="dt-litentval" term='Literal Entity Value'><term>&literal;絎篏</term>鐚絎篏絎h絎絖鐚綣膃у蚊&string;鐚腟腴荐<nt def='NT-EntityValue'>EntityValue</nt>&match;</termdef><termdef id='dt-repltext' term='Replacement Text'><term>&replacement-text;</term>鐚絖у&parameter;絎篏с臀緇鐚絎篏絎鴻</termdef></p>
+
+<p>絎篏絎hт&literal;絎篏<!-- replacement text -->(<nt def='NT-EntityValue'>EntityValue</nt>)鐚絖э&parameter;絎篏у割絎篏ссс鐚<!-- replacement text. -->&literal;絎篏ゅ絎障違<termref def='dt-include'>絮</termref>絎&replacement-text;(腓冴)鐚с&parameter;絎篏<emph>&replacement-text;</emph>障違鐚&literal;絎篏ゅс絖с篁cс絖障違鐚筝絎篏с鐚障丈, 絮
+<!-- in the replacement text that is to be included. -->
+箴逸罨<絎h筝
+
+<eg><![CDATA[<!ENTITY % pub "&#xc9;ditions Gallimard" >
+<!ENTITY rights "All rights reserved" >
+<!ENTITY book "La Peste: Albert Camus,
+&#xA9; 1947 %pub;. &rights;" >]]></eg>
+絎篏&replacement-text;"<code>book</code>"鐚罨<
+<eg>La Peste: Albert Camus,
+&#169; 1947 &#201;ditions Gallimard. &amp;rights;</eg>
+"<code>&amp;book;</code>"鐚吾絎劫絮уゅ榊憗逸筝絎篏"<code>&amp;rights;</code>"鐚絮</p>
+<p>膣荀鐚茲娯篏ゃ
+<!-- ユ茯荐潟ゃ鐚 interaction = 娯篏鐚鐚-->
+c箴ゃ荅括完鐚<titleref href='sec-entexpand'>絎篏с絮篁</titleref>с
+</p>
+<!-- Replaced by the above -TB
+<p>Implementors of XML processors need to know the rules for
+expansion of references in more detail. These rules only come into
+play when the replacement text for an internal entity itself contains
+other references.
+<olist>
+<item><p>In the replacement text of an internal entity, parameter-entity
+references and character references in the replacement text
+are recognized and resolved
+when the entity declaration is parsed,
+before the replacement text is stored in
+the processor's symbol table.
+General-entity references in the replacement text are not
+resolved when the entity declaration is parsed.</p></item>
+<item><p>In the document, when a general-entity reference is
+resolved, its replacement text is parsed. Character references
+encountered in the replacement text are
+resolved immediately; general-entity references encountered in the
+replacement text may be resolved or left unresolved, as described
+<titleref href="entproc">above</titleref>.
+Character and general-entity references must be
+contained entirely within the entity's replacement text.
+</p></item>
+</olist>
+</p>
+
+<p>Simple character references do not suffice to escape delimiters
+within the replacement text of an internal entity: they will be
+expanded when the entity declaration is parsed, before the replacement
+text is stored in the symbol table. When the entity itself is
+referred to, the replacement text will be parsed again, and the
+delimiters (no longer character references)
+will be recognized as delimiters. To escape the
+characters &magicents; in an entity replacement text, use
+a general-entity reference or a doubly-escaped character reference.
+See <titleref href='sec-entexpand'>the appendix on expansion
+of entity references</titleref>
+for detailed examples.</p>
+-->
+
+
+</div2>
+<div2 id='sec-predefined-ent'>
+<head>絎臂羝水篏</head>
+<p><termdef id="dt-escape" term="escape">
+絎篏у恰絖с鐚&left-angle-bracket;鐚≪潟泣潟割阪絖<term>&escape;</term>篏睡сゃ筝絎篏鐚&magicents;鐚鐚絎医ゃ絖с鐚罕篏睡с絖с鐚茯茘眼<絮鐚絖若帥宴э医ゃ絖"<code>&amp;#60;</code>""<code>&amp;#38;</code>"鐚絖若水榊憗<code>&lt;</code><code>&amp;</code>&escape;篏睡с</termdef></p>
+<p>鴻XML&processor;鐚絎h≫鐚絎篏茯茘<termref def='dt-interop'>娯с</termref>鐚&valid;XML吾鐚絎篏篏睡鐚篁絎篏罕鐚絎h障絎篏絎h翫鐚&replacement-text;&escape;筝絖絎篏鐚罨<絎h違
+<eg><![CDATA[<!ENTITY lt "&#38;#60;">
+<!ENTITY gt "&#62;">
+<!ENTITY amp "&#38;#38;">
+<!ENTITY apos "&#39;">
+<!ENTITY quot "&#34;">
+]]></eg>
+"<code>lt</code>""<code>amp</code>"絎h"<code>&lt;</code>""<code>&amp;</code>"絖鐚絎篏臀鴻鐚&well-formed;篋&escape;羈
+</p>
+</div2>
+
+
+<div2 id='Notations'>
+<head>荐羈絎h</head>
+
+
+<p>
+<termdef id="dt-notation" term="Notation">
+<term>荐羈</term>鐚<termref def="dt-extent">&unparsed-entity;</termref>綵√&identify;鐚<termref def="dt-pi">巡擦</termref>絲乗院&application;&identify;</termdef></p>
+<p><termdef id="dt-notdecl" term="Notation Declaration">
+<term>荐羈絎h</term>鐚荐羈喝&identifier;箴鐚絎篏喝с鴻絎h筝潟絮ф絎紊&identifier;鐚筝荐羈若帥с&application;鐚XML&processor;ゃ≪潟≪宴若激с潟「鐚с
+<scrap lang='ebnf'>
+<head>荐羈絎h</head>
+<prod id='NT-NotationDecl'><lhs>NotationDecl</lhs>
+<rhs>'&lt;!NOTATION' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>
+(<nt def='NT-ExternalID'>ExternalID</nt> |
+<nt def='NT-PublicID'>PublicID</nt>)
+<nt def='NT-S'>S</nt>? '>'</rhs></prod>
+<prod id='NT-PublicID'><lhs>PublicID</lhs>
+<rhs>'PUBLIC' <nt def='NT-S'>S</nt>
+<nt def='NT-PubidLiteral'>PubidLiteral</nt>
+</rhs></prod>
+</scrap>
+</termdef></p>
+<p>絎h鐚絮уわ絮у臂絎篏絎hус鴻荐羈ゃ鐚XML&processor;鐚荐羈喝&identifier;&application;箴違鐚紊&identifier;鐚<termref def="dt-sysid">激鴻&identifier;</termref>鐚<ゃ篁宴絮鐚鐚&application;鐚荐羈若帥&processor;莎桁(鐚XML&processor;&application;篏激鴻сс荐羈鐚XML吾絎hс鐚鐚&error;鐚</p>
+</div2>
+
+
+<div2 id='sec-doc-entity'>
+<head>後篏</head>
+
+<p><termdef id="dt-docent" term="Document Entity"><term>後篏</term>鐚絎篏綵∽罕&root;сc鐚<termref def="dt-xml-proc">XML&processor;</termref>鐚紮亥鴻</termdef>&TR-or-Rec;鐚XML&processor;鐚後篏絖贋荀ゃ鐚荀鎘篁絎篏違鐚後篏鐚茘ャ&processor;吾ュ&stream;榊憗</p>
+</div2>
+
+
+</div1>
+<!-- &Conformance; -->
+<div1 id='sec-conformance'>
+<head></head>
+
+<p><termref def="dt-xml-proc">XML&processor;</termref>鐚&validating;&non-validating;鐚篋ゃ蕁</p>
+<p>&validating;激鴻&non-validating;激鴻鐚&TR-or-Rec;荀鎘&well-formed;句吾怨違</p>
+<p><termdef id="dt-validating" term="Validating Processor"><term>&validating;&processor;</term>鐚<termref def="dt-doctype">DTD</termref>絎hc腓冴鐚句吾怨違鐚&TR-or-Rec;荀鎘&validity;句吾鐚鴻怨違
+</termdef>
+</p>
+</div1>
+
+<div1 id='sec-notation'>
+<head>荐羈</head>
+
+<p>XML綵√羈鐚膂≦≦宍Backus-Naur Form(EBNF)荐羈c筝羈荀鐚罨<綵√э荐垩筝ゅ臂
+<eg>symbol ::= expression</eg></p>
+<p>荐垩鐚罩h頫憗у臂紊ф絖у鐚с逸絨絖у&string;&literal;鐚綣膃у蚊
+<!--* The distinction between symbols which can and cannot be
+recognized using simple regular expressions may be used to set the
+boundary between an implementation's lexical scanner and its parser,
+but this specification neither constrains the placement of that
+boundary nor presupposes that all implementations will have one. *-->
+</p>
+
+<p>荀勀眼綣с鐚筝ゅ茲違絖&string;&match;鐚罨<綣篏睡
+<glist>
+<gitem>
+<label><code>#xN</code></label>
+<def><p>э<code>N</code>16蚊贋違ISO/IEC 10646絖сc鐚罩h鏄(UCS-4)&code-value;膃垩2我違茹i鐚絎ゃ膈&match;<code>#xN</code>綵√若ゃ憗鐚潟&code-value;<!-- bit string -->若違鐚絖膃垸c羆阪эXMLc潟
+</p></def>
+</gitem>
+<gitem>
+<label><code>[a-zA-Z]</code>, <code>[#xN-#xN]</code></label>
+<def><p>絎膀蚊(筝∞ゃ鐚や算<termref def='dt-character'>絖</termref>&match;</p></def>
+</gitem>
+<gitem>
+<label><code>[^a-z]</code>, <code>[^#xN-#xN]</code></label>
+<def><p>絎膀<emph>紊</emph>ゃや算<termref def='dt-character'>絖</termref>&match;</p></def>
+</gitem>
+<gitem>
+<label><code>[^abc]</code>, <code>[^#xN#xN#xN]</code></label>
+<def><p>絎絖篁ュゃや算<termref def='dt-character'>絖</termref>&match;</p></def>
+</gitem>
+<gitem>
+<label><code>"string"</code></label>
+<def><p>&double-quote;у蚊&string;&literal;<termref def="dt-match">&match;</termref>&string;&literal;&match;</p></def>
+</gitem>
+<gitem>
+<label><code>'string'</code></label>
+<def><p>&single-quote;у蚊&string;&literal;<termref def="dt-match">&match;</termref>&string;&literal;&match;</p></def>
+</gitem>
+</glist>
+荐垩鐚罨<綵√腟т戎э<code>A</code><code>B</code>鐚膣綣
+<glist>
+<gitem>
+<label>(<code>expression</code>)</label>
+<def><p><code>expression</code>鐚筝ゃ障障宴鐚腓冴腟т戎c</p></def>
+</gitem>
+<gitem>
+<label><code>A?</code></label>
+<def><p><code>A</code>篏&match;(激с潟<code>A</code>)</p></def>
+</gitem>
+<gitem>
+<label><code>A B</code></label>
+<def><p><code>A</code>罨<<code>B</code>榊憗&match;
+</p></def>
+</gitem>
+<gitem>
+<label><code>A | B</code></label>
+<def><p><code>A</code><code>B</code>鐚鐚筝≧鴻с鐚&match;
+</p></def>
+</gitem>
+<gitem>
+<label><code>A - B</code></label>
+<def><p><code>A</code>&match;鐚<code>B</code>&match;鐚篁紙&string;&match;</p></def>
+</gitem>
+<gitem>
+<label><code>A+</code></label>
+<def><p><code>A</code>1篁ヤ膵域&match;</p></def>
+</gitem>
+<gitem>
+<label><code>A*</code></label>
+<def><p><code>A</code>0篁ヤ膵域&match;</p></def>
+</gitem>
+<!-- DEATH TO %'s
+<gitem>
+<label><code>%a</code></label>
+<def><p>specifies that <emph>in the external DTD subset</emph> a
+<termref def='dt-param-entity'>parameter entity</termref> may occur in the
+text at the position where <code>a</code> may occur; if so, its
+replacement text must match <code>S? a S?</code>. If
+the expression <code>a</code> is governed by a suffix operator, then
+the suffix operator determines both the maximum number of parameter-entity
+references allowed and the number of occurrences of <code>a</code>
+in the replacement text of the parameter entities: <code>%a*</code>
+means that <code>a</code> must occur zero or more times, and
+that some of its occurrences may be replaced by references to
+parameter entities whose replacement text must contain zero or
+more occurrences of <code>a</code>; it is thus a more compact way
+of writing <code>%(a*)*</code>.
+Similarly, <code>%a+</code> means that <code>a</code>
+must occur one or more times, and may be replaced by
+parameter entities with replacement text matching
+<code>S? (a S?)+</code>.
+The recognition of parameter entities in the internal subset is much more
+highly constrained.
+</p></def>
+</gitem>
+-->
+</glist>
+荀т戎篁荐羈鐚罨<腓冴
+<glist>
+<gitem>
+<label><code>/* ... */</code></label>
+<def><p>潟<潟</p></def>
+</gitem>
+<gitem>
+<label><code>[ wfc: ... ]</code></label>
+<def><p>&well-formed;句荀篁筝鐚<termref def="dt-wellformed">&well-formed;</termref>吾≪句鐚c&identify;</p></def>
+</gitem>
+<gitem>
+<label><code>[ vc: ... ]</code></label>
+<def><p>&validity;句荀篁筝鐚<termref def="dt-valid">&valid;</termref>吾≪句鐚c&identify;
+</p></def>
+</gitem>
+</glist>
+</p></div1>
+
+</body>
+<back>
+<!-- &SGML; -->
+
+<!-- &Biblio; -->
+<div1 id='sec-bibliography'>
+
+<head></head>
+<div2 id='sec-existing-stds'>
+<head>&normative;</head>
+<!--* <ulist><item>
+<p>Unicode and ISO/IEC 10646. This specification depends on the
+international standard ISO/IEC 10646 (with amendments AM 1 through AM 7)
+and the Unicode Standard, Version 2.0 <bibref ref='Unicode'/>,
+which define the encodings and meanings of
+the <termref def="dt-character">characters</termref> which
+make up XML <termref def="dt-text">text</termref>.
+All the characters in ISO/IEC 10646 are present, at the same code points,
+in Unicode.</p></item>
+<item><p>XXX XXX defines the syntax and semantics of
+Uniform Resource Identifiers, or URIs.</p></item>
+<item><p>IETF RFC 1766, with ISO 639 and 3166,
+describe the codes that may be used in the
+special <titleref href='sec-lang-tag'>xml:lang</titleref> attribute.</p>
+</item></ulist>
+*-->
+
+<blist>
+
+<bibl id='RFC1766' key='IETF RFC 1766'>
+IETF (Internet Engineering Task Force).
+<emph>RFC 1766: Tags for the Identification of Languages</emph>,
+ed. H. Alvestrand.
+1995.
+</bibl>
+
+<bibl id='ISO639' key='ISO 639'>
+(International Organization for Standardization).
+<emph>ISO 8879:1988 (E).
+Code for the representation of names of languages.</emph>
+[Geneva]: International Organization for
+Standardization, 1988.</bibl>
+
+<bibl id='ISO3166' key='ISO 3166'>
+(International Organization for Standardization).
+<emph>ISO 3166-1:1997 (E).
+Codes for the representation of names of countries and their subdivisions
+&mdash; Part 1: Country codes</emph>
+[Geneva]: International Organization for
+Standardization, 1997.</bibl>
+
+<bibl id='ISO10646' key='ISO/IEC 10646'>ISO
+(International Organization for Standardization).
+<emph>ISO/IEC 10646-1993 (E). Information technology &mdash; Universal
+Multiple-Octet Coded Character Set (UCS) &mdash; Part 1:
+Architecture and Basic Multilingual Plane.</emph>
+[Geneva]: International Organization for
+Standardization, 1993 (plus amendments AM 1 through AM 7).
+</bibl>
+
+<bibl id='Unicode' key='Unicode'>The Unicode Consortium.
+<emph>The Unicode Standard, Version 2.0.</emph>
+Reading, Mass.: Addison-Wesley Developers Press, 1996.</bibl>
+
+</blist>
+
+</div2>
+
+<div2><head>篁</head>
+
+<blist>
+
+<bibl id='Aho' key='Aho/Ullman'>Aho, Alfred V.,
+Ravi Sethi, and Jeffrey D. Ullman.
+<emph>Compilers: Principles, Techniques, and Tools</emph>.
+Reading: Addison-Wesley, 1986, rpt. corr. 1988.</bibl>
+
+<bibl id="Berners-Lee" xml-link="simple" key="Berners-Lee et al.">
+Berners-Lee, T., R. Fielding, and L. Masinter.
+<emph>Uniform Resource Identifiers (URI): Generic Syntax and
+Semantics</emph>.
+1997.
+(Work in progress; see updates to RFC1738.)</bibl>
+
+<bibl id='ABK' key='Br&#252;ggemann-Klein'>Br&#252;ggemann-Klein, Anne.
+<emph>Regular Expressions into Finite Automata</emph>.
+Extended abstract in I. Simon, Hrsg., LATIN 1992,
+S. 97-98. Springer-Verlag, Berlin 1992.
+Full Version in Theoretical Computer Science 120: 197-213, 1993.
+<!--
+Universitat Freiburg, Institut fur Informatik,
+Bericht 33, Juli 1991.-->
+</bibl>
+
+<bibl id='ABKDW' key='Br&#252;ggemann-Klein and Wood'>Br&#252;ggemann-Klein, Anne,
+and Derick Wood.
+<emph>Deterministic Regular Languages</emph>.
+Universit&#228;t Freiburg, Institut f&#252;r Informatik,
+Bericht 38, Oktober 1991.
+</bibl>
+
+<bibl id="RFC1738" xml-link="simple" key="IETF RFC1738">
+IETF (Internet Engineering Task Force).
+<emph>RFC 1738: Uniform Resource Locators (URL)</emph>,
+ed. T. Berners-Lee, L. Masinter, M. McCahill.
+1994.
+</bibl>
+
+<bibl id="RFC1808" xml-link="simple" key="IETF RFC1808">
+IETF (Internet Engineering Task Force).
+<emph>RFC 1808: Relative Uniform Resource Locators</emph>,
+ed. R. Fielding.
+1995.
+</bibl>
+
+<bibl id="RFC2141" xml-link="simple" key="IETF RFC2141">
+IETF (Internet Engineering Task Force).
+<emph>RFC 2141: URN Syntax</emph>,
+ed. R. Moats.
+1997.
+</bibl>
+
+<bibl id='ISO8879' key='ISO/IEC 8879'>ISO
+(International Organization for Standardization).
+<emph>ISO/IEC 8879-1986 (E). Information processing &mdash; Text and Office
+Systems &mdash; Standard Generalized Markup Language (SGML).</emph> First
+edition &mdash; 1986-10-15. [Geneva]: International Organization for
+Standardization, 1986.
+</bibl>
+
+
+<bibl id='ISO10744' key='ISO/IEC 10744'>ISO
+(International Organization for Standardization).
+<emph>ISO/IEC 10744-1992 (E). Information technology &mdash;
+Hypermedia/Time-based Structuring Language (HyTime).
+</emph>
+[Geneva]: International Organization for
+Standardization, 1992.
+<emph>Extended Facilities Annexe.</emph>
+[Geneva]: International Organization for
+Standardization, 1996.
+</bibl>
+
+
+
+</blist>
+</div2>
+</div1>
+<div1 id='CharClasses'>
+<head>絖</head>
+
+<p>Unicode罔羣絎臂&property;c鐚絖鐚&base-character;(BaseChar)(鐚&diacritical-mark;ゃ潟≪<≪<絖)鐚&ideographic;(ideographic)&combining-character;(CombiningChar)(鴻鐚祉&diacritical-mark;)劫鴻鐚腟鐚&letter;(Letter)鴻10我医(Digit)&extender;(Extender)阪ャ
+<scrap lang="ebnf" id="CHARACTERS">
+<head>絖</head>
+<prodgroup pcw3="3" pcw4="15">
+<prod id="NT-Letter"><lhs>Letter</lhs>
+<rhs><nt def="NT-BaseChar">BaseChar</nt>
+| <nt def="NT-Ideographic">Ideographic</nt></rhs> </prod>
+<prod id='NT-BaseChar'><lhs>BaseChar</lhs>
+<rhs>[#x0041-#x005A]
+|&nbsp;[#x0061-#x007A]
+|&nbsp;[#x00C0-#x00D6]
+|&nbsp;[#x00D8-#x00F6]
+|&nbsp;[#x00F8-#x00FF]
+|&nbsp;[#x0100-#x0131]
+|&nbsp;[#x0134-#x013E]
+|&nbsp;[#x0141-#x0148]
+|&nbsp;[#x014A-#x017E]
+|&nbsp;[#x0180-#x01C3]
+|&nbsp;[#x01CD-#x01F0]
+|&nbsp;[#x01F4-#x01F5]
+|&nbsp;[#x01FA-#x0217]
+|&nbsp;[#x0250-#x02A8]
+|&nbsp;[#x02BB-#x02C1]
+|&nbsp;#x0386
+|&nbsp;[#x0388-#x038A]
+|&nbsp;#x038C
+|&nbsp;[#x038E-#x03A1]
+|&nbsp;[#x03A3-#x03CE]
+|&nbsp;[#x03D0-#x03D6]
+|&nbsp;#x03DA
+|&nbsp;#x03DC
+|&nbsp;#x03DE
+|&nbsp;#x03E0
+|&nbsp;[#x03E2-#x03F3]
+|&nbsp;[#x0401-#x040C]
+|&nbsp;[#x040E-#x044F]
+|&nbsp;[#x0451-#x045C]
+|&nbsp;[#x045E-#x0481]
+|&nbsp;[#x0490-#x04C4]
+|&nbsp;[#x04C7-#x04C8]
+|&nbsp;[#x04CB-#x04CC]
+|&nbsp;[#x04D0-#x04EB]
+|&nbsp;[#x04EE-#x04F5]
+|&nbsp;[#x04F8-#x04F9]
+|&nbsp;[#x0531-#x0556]
+|&nbsp;#x0559
+|&nbsp;[#x0561-#x0586]
+|&nbsp;[#x05D0-#x05EA]
+|&nbsp;[#x05F0-#x05F2]
+|&nbsp;[#x0621-#x063A]
+|&nbsp;[#x0641-#x064A]
+|&nbsp;[#x0671-#x06B7]
+|&nbsp;[#x06BA-#x06BE]
+|&nbsp;[#x06C0-#x06CE]
+|&nbsp;[#x06D0-#x06D3]
+|&nbsp;#x06D5
+|&nbsp;[#x06E5-#x06E6]
+|&nbsp;[#x0905-#x0939]
+|&nbsp;#x093D
+|&nbsp;[#x0958-#x0961]
+|&nbsp;[#x0985-#x098C]
+|&nbsp;[#x098F-#x0990]
+|&nbsp;[#x0993-#x09A8]
+|&nbsp;[#x09AA-#x09B0]
+|&nbsp;#x09B2
+|&nbsp;[#x09B6-#x09B9]
+|&nbsp;[#x09DC-#x09DD]
+|&nbsp;[#x09DF-#x09E1]
+|&nbsp;[#x09F0-#x09F1]
+|&nbsp;[#x0A05-#x0A0A]
+|&nbsp;[#x0A0F-#x0A10]
+|&nbsp;[#x0A13-#x0A28]
+|&nbsp;[#x0A2A-#x0A30]
+|&nbsp;[#x0A32-#x0A33]
+|&nbsp;[#x0A35-#x0A36]
+|&nbsp;[#x0A38-#x0A39]
+|&nbsp;[#x0A59-#x0A5C]
+|&nbsp;#x0A5E
+|&nbsp;[#x0A72-#x0A74]
+|&nbsp;[#x0A85-#x0A8B]
+|&nbsp;#x0A8D
+|&nbsp;[#x0A8F-#x0A91]
+|&nbsp;[#x0A93-#x0AA8]
+|&nbsp;[#x0AAA-#x0AB0]
+|&nbsp;[#x0AB2-#x0AB3]
+|&nbsp;[#x0AB5-#x0AB9]
+|&nbsp;#x0ABD
+|&nbsp;#x0AE0
+|&nbsp;[#x0B05-#x0B0C]
+|&nbsp;[#x0B0F-#x0B10]
+|&nbsp;[#x0B13-#x0B28]
+|&nbsp;[#x0B2A-#x0B30]
+|&nbsp;[#x0B32-#x0B33]
+|&nbsp;[#x0B36-#x0B39]
+|&nbsp;#x0B3D
+|&nbsp;[#x0B5C-#x0B5D]
+|&nbsp;[#x0B5F-#x0B61]
+|&nbsp;[#x0B85-#x0B8A]
+|&nbsp;[#x0B8E-#x0B90]
+|&nbsp;[#x0B92-#x0B95]
+|&nbsp;[#x0B99-#x0B9A]
+|&nbsp;#x0B9C
+|&nbsp;[#x0B9E-#x0B9F]
+|&nbsp;[#x0BA3-#x0BA4]
+|&nbsp;[#x0BA8-#x0BAA]
+|&nbsp;[#x0BAE-#x0BB5]
+|&nbsp;[#x0BB7-#x0BB9]
+|&nbsp;[#x0C05-#x0C0C]
+|&nbsp;[#x0C0E-#x0C10]
+|&nbsp;[#x0C12-#x0C28]
+|&nbsp;[#x0C2A-#x0C33]
+|&nbsp;[#x0C35-#x0C39]
+|&nbsp;[#x0C60-#x0C61]
+|&nbsp;[#x0C85-#x0C8C]
+|&nbsp;[#x0C8E-#x0C90]
+|&nbsp;[#x0C92-#x0CA8]
+|&nbsp;[#x0CAA-#x0CB3]
+|&nbsp;[#x0CB5-#x0CB9]
+|&nbsp;#x0CDE
+|&nbsp;[#x0CE0-#x0CE1]
+|&nbsp;[#x0D05-#x0D0C]
+|&nbsp;[#x0D0E-#x0D10]
+|&nbsp;[#x0D12-#x0D28]
+|&nbsp;[#x0D2A-#x0D39]
+|&nbsp;[#x0D60-#x0D61]
+|&nbsp;[#x0E01-#x0E2E]
+|&nbsp;#x0E30
+|&nbsp;[#x0E32-#x0E33]
+|&nbsp;[#x0E40-#x0E45]
+|&nbsp;[#x0E81-#x0E82]
+|&nbsp;#x0E84
+|&nbsp;[#x0E87-#x0E88]
+|&nbsp;#x0E8A
+|&nbsp;#x0E8D
+|&nbsp;[#x0E94-#x0E97]
+|&nbsp;[#x0E99-#x0E9F]
+|&nbsp;[#x0EA1-#x0EA3]
+|&nbsp;#x0EA5
+|&nbsp;#x0EA7
+|&nbsp;[#x0EAA-#x0EAB]
+|&nbsp;[#x0EAD-#x0EAE]
+|&nbsp;#x0EB0
+|&nbsp;[#x0EB2-#x0EB3]
+|&nbsp;#x0EBD
+|&nbsp;[#x0EC0-#x0EC4]
+|&nbsp;[#x0F40-#x0F47]
+|&nbsp;[#x0F49-#x0F69]
+|&nbsp;[#x10A0-#x10C5]
+|&nbsp;[#x10D0-#x10F6]
+|&nbsp;#x1100
+|&nbsp;[#x1102-#x1103]
+|&nbsp;[#x1105-#x1107]
+|&nbsp;#x1109
+|&nbsp;[#x110B-#x110C]
+|&nbsp;[#x110E-#x1112]
+|&nbsp;#x113C
+|&nbsp;#x113E
+|&nbsp;#x1140
+|&nbsp;#x114C
+|&nbsp;#x114E
+|&nbsp;#x1150
+|&nbsp;[#x1154-#x1155]
+|&nbsp;#x1159
+|&nbsp;[#x115F-#x1161]
+|&nbsp;#x1163
+|&nbsp;#x1165
+|&nbsp;#x1167
+|&nbsp;#x1169
+|&nbsp;[#x116D-#x116E]
+|&nbsp;[#x1172-#x1173]
+|&nbsp;#x1175
+|&nbsp;#x119E
+|&nbsp;#x11A8
+|&nbsp;#x11AB
+|&nbsp;[#x11AE-#x11AF]
+|&nbsp;[#x11B7-#x11B8]
+|&nbsp;#x11BA
+|&nbsp;[#x11BC-#x11C2]
+|&nbsp;#x11EB
+|&nbsp;#x11F0
+|&nbsp;#x11F9
+|&nbsp;[#x1E00-#x1E9B]
+|&nbsp;[#x1EA0-#x1EF9]
+|&nbsp;[#x1F00-#x1F15]
+|&nbsp;[#x1F18-#x1F1D]
+|&nbsp;[#x1F20-#x1F45]
+|&nbsp;[#x1F48-#x1F4D]
+|&nbsp;[#x1F50-#x1F57]
+|&nbsp;#x1F59
+|&nbsp;#x1F5B
+|&nbsp;#x1F5D
+|&nbsp;[#x1F5F-#x1F7D]
+|&nbsp;[#x1F80-#x1FB4]
+|&nbsp;[#x1FB6-#x1FBC]
+|&nbsp;#x1FBE
+|&nbsp;[#x1FC2-#x1FC4]
+|&nbsp;[#x1FC6-#x1FCC]
+|&nbsp;[#x1FD0-#x1FD3]
+|&nbsp;[#x1FD6-#x1FDB]
+|&nbsp;[#x1FE0-#x1FEC]
+|&nbsp;[#x1FF2-#x1FF4]
+|&nbsp;[#x1FF6-#x1FFC]
+|&nbsp;#x2126
+|&nbsp;[#x212A-#x212B]
+|&nbsp;#x212E
+|&nbsp;[#x2180-#x2182]
+|&nbsp;[#x3041-#x3094]
+|&nbsp;[#x30A1-#x30FA]
+|&nbsp;[#x3105-#x312C]
+|&nbsp;[#xAC00-#xD7A3]
+</rhs></prod>
+<prod id='NT-Ideographic'><lhs>Ideographic</lhs>
+<rhs>[#x4E00-#x9FA5]
+|&nbsp;#x3007
+|&nbsp;[#x3021-#x3029]
+</rhs></prod>
+<prod id='NT-CombiningChar'><lhs>CombiningChar</lhs>
+<rhs>[#x0300-#x0345]
+|&nbsp;[#x0360-#x0361]
+|&nbsp;[#x0483-#x0486]
+|&nbsp;[#x0591-#x05A1]
+|&nbsp;[#x05A3-#x05B9]
+|&nbsp;#x05BB#x05BD
+|&nbsp;#x05BF
+|&nbsp;[#x05C1-#x05C2]
+|&nbsp;#x05C4
+|&nbsp;#x064B#x0652
+|&nbsp;#x0670
+|&nbsp;[#x06D6-#x06DC]
+|&nbsp;#x06DD#x06DF
+|&nbsp;[#x06E0-#x06E4]
+|&nbsp;[#x06E7-#x06E8]
+|&nbsp;[#x06EA-#x06ED]
+|&nbsp;[#x0901-#x0903]
+|&nbsp;#x093C
+|&nbsp;[#x093E-#x094C]
+|&nbsp;#x094D
+|&nbsp;[#x0951-#x0954]
+|&nbsp;[#x0962-#x0963]
+|&nbsp;[#x0981-#x0983]
+|&nbsp;#x09BC
+|&nbsp;#x09BE
+|&nbsp;#x09BF
+|&nbsp;[#x09C0-#x09C4]
+|&nbsp;[#x09C7-#x09C8]
+|&nbsp;[#x09CB-#x09CD]
+|&nbsp;#x09D7
+|&nbsp;[#x09E2-#x09E3]
+|&nbsp;#x0A02
+|&nbsp;#x0A3C
+|&nbsp;#x0A3E
+|&nbsp;#x0A3F
+|&nbsp;[#x0A40-#x0A42]
+|&nbsp;[#x0A47-#x0A48]
+|&nbsp;[#x0A4B-#x0A4D]
+|&nbsp;[#x0A70-#x0A71]
+|&nbsp;[#x0A81-#x0A83]
+|&nbsp;#x0ABC
+|&nbsp;[#x0ABE-#x0AC5]
+|&nbsp;[#x0AC7-#x0AC9]
+|&nbsp;[#x0ACB-#x0ACD]
+|&nbsp;[#x0B01-#x0B03]
+|&nbsp;#x0B3C
+|&nbsp;[#x0B3E-#x0B43]
+|&nbsp;[#x0B47-#x0B48]
+|&nbsp;[#x0B4B-#x0B4D]
+|&nbsp;[#x0B56-#x0B57]
+|&nbsp;[#x0B82-#x0B83]
+|&nbsp;[#x0BBE-#x0BC2]
+|&nbsp;[#x0BC6-#x0BC8]
+|&nbsp;[#x0BCA-#x0BCD]
+|&nbsp;#x0BD7
+|&nbsp;[#x0C01-#x0C03]
+|&nbsp;[#x0C3E-#x0C44]
+|&nbsp;[#x0C46-#x0C48]
+|&nbsp;[#x0C4A-#x0C4D]
+|&nbsp;[#x0C55-#x0C56]
+|&nbsp;[#x0C82-#x0C83]
+|&nbsp;[#x0CBE-#x0CC4]
+|&nbsp;[#x0CC6-#x0CC8]
+|&nbsp;[#x0CCA-#x0CCD]
+|&nbsp;[#x0CD5-#x0CD6]
+|&nbsp;[#x0D02-#x0D03]
+|&nbsp;[#x0D3E-#x0D43]
+|&nbsp;[#x0D46-#x0D48]
+|&nbsp;[#x0D4A-#x0D4D]
+|&nbsp;#x0D57
+|&nbsp;#x0E31
+|&nbsp;[#x0E34-#x0E3A]
+|&nbsp;[#x0E47-#x0E4E]
+|&nbsp;#x0EB1
+|&nbsp;[#x0EB4-#x0EB9]
+|&nbsp;[#x0EBB-#x0EBC]
+|&nbsp;[#x0EC8-#x0ECD]
+|&nbsp;[#x0F18-#x0F19]
+|&nbsp;#x0F35
+|&nbsp;#x0F37
+|&nbsp;#x0F39
+|&nbsp;#x0F3E
+|&nbsp;#x0F3F
+|&nbsp;[#x0F71-#x0F84]
+|&nbsp;[#x0F86-#x0F8B]
+|&nbsp;[#x0F90-#x0F95]
+|&nbsp;#x0F97
+|&nbsp;[#x0F99-#x0FAD]
+|&nbsp;[#x0FB1-#x0FB7]
+|&nbsp;#x0FB9
+|&nbsp;[#x20D0-#x20DC]
+|&nbsp;#x20E1
+|&nbsp;[#x302A-#x302F]
+|&nbsp;#x3099
+|&nbsp;#x309A
+</rhs></prod>
+<prod id='NT-Digit'><lhs>Digit</lhs>
+<rhs>[#x0030-#x0039]
+|&nbsp;[#x0660-#x0669]
+|&nbsp;[#x06F0-#x06F9]
+|&nbsp;[#x0966-#x096F]
+|&nbsp;[#x09E6-#x09EF]
+|&nbsp;[#x0A66-#x0A6F]
+|&nbsp;[#x0AE6-#x0AEF]
+|&nbsp;[#x0B66-#x0B6F]
+|&nbsp;[#x0BE7-#x0BEF]
+|&nbsp;[#x0C66-#x0C6F]
+|&nbsp;[#x0CE6-#x0CEF]
+|&nbsp;[#x0D66-#x0D6F]
+|&nbsp;[#x0E50-#x0E59]
+|&nbsp;[#x0ED0-#x0ED9]
+|&nbsp;[#x0F20-#x0F29]
+</rhs></prod>
+<prod id='NT-Extender'><lhs>Extender</lhs>
+<rhs>#x00B7
+|&nbsp;#x02D0
+|&nbsp;#x02D1
+|&nbsp;#x0387
+|&nbsp;#x0640
+|&nbsp;#x0E46
+|&nbsp;#x0EC6
+|&nbsp;#x3005
+|&nbsp;[#x3031-#x3035]
+|&nbsp;[#x309D-#x309E]
+|&nbsp;[#x30FC-#x30FE]
+</rhs></prod>
+
+</prodgroup>
+</scrap>
+</p>
+<p>у臂絖鴻鐚Unicode絖若帥若鴻鐚罨<緇с
+<ulist>
+<item>
+<p>a) 紮絖鐚Ll, Lu, Lo, Lt, Nl眼筝ゃс違</p>
+</item>
+<item>
+<p>b) 紮絖篁ュ絖鐚Mc, Me, Mn, Lm, Nd眼筝ゃс違</p>
+</item>
+<item>
+<p>c) &compatibility-area;絖(絖膃垩#xF900紊с#xFFFE絨絖)鐚XML鐚荐宴</p>
+</item>
+<item>
+<p>d) &font-decomposition;&compatibility-decomposition;ゆ絖(ゃ障鐚若帥若劫鐚c若"compatibility formatting tag"鐚鐚c若鐚"&lt;"у障c若篁)鐚荐宴</p>
+</item>
+<item>
+<p>e) 罨<絖鐚紮絖宴鐚&property-file;鐚絖≪<蕁篌若荀
+[#x02BB-#x02C1], #x0559, #x06E5, #x06E6</p>
+</item>
+<item>
+<p>f) 絖膃垩#x20DD-#x20E0絖鐚(Unicode 5.14c)ゅ</p>
+</item>
+<item>
+<p>g) 絖膃垩#x00B7絖鐚&property-list;c鐚&extender;(extender)蕁</p>
+</item>
+<item>
+<p>h) 絖#x0387鐚後罩h鏄≪#x00B7э絖菴遵</p>
+</item>
+<item>
+<p>i) 絖':''_'鐚紮絖荐宴</p>
+</item>
+<item>
+<p>j) 絖'-''.'鐚絖荐宴</p>
+</item>
+</ulist>
+</p>
+</div1>
+<inform-div1 id="sec-xml-and-sgml">
+<head>XMLSGML</head>
+
+<p>XML鐚SGML&subset;荐荐¥鴻<termref def="dt-valid">&valid;</termref>XML吾鐚荀若SGML吾SGML吾茯蚊狗篁ュ鐚XML狗茯蚊≪荅括完鐚ャ<loc href='http://www.w3.org/TR/NOTE-sgml-xml'>荀霢</loc>с荀霢鐚XML句>散腓冴SGML絎h随鐚SGML&parser;篏睡с
+</p>
+</inform-div1>
+<inform-div1 id="sec-entexpand">
+<head>絎篏у恰絖с絮</head>
+<p>篁蚊鐚絎篏у恰絖с茯茘鐚絮鐚筝c羌鐚箴篏帥c腓冴</p>
+<p>
+DTD鐚罨<絎h翫
+<eg><![CDATA[<!ENTITY example "<p>An ampersand (&#38;#38;) may be escaped
+numerically (&#38;#38;#38;) or with a general entity
+(&amp;amp;).</p>" >
+]]></eg>
+XML&processor;鐚絎篏絎h罕茹f鴻ф絖с茯茘鐚茹f浦絎篏"<code>example</code>"ゃ鐚罨<&string;篆絖
+<eg><![CDATA[<p>An ampersand (&#38;) may be escaped
+numerically (&#38;#38;) or with a general entity
+(&amp;amp;).</p>
+]]></eg>
+後"<code>&amp;example;</code>"с鐚鴻鐚恰茹f鐚荀膣"<code>p</code>"紮帥医括篋帥違茯茘鐚筝ゃс茯茘絮腟鐚荀膣"<code>p</code>"鐚罨<絎鴻(鴻若帥鐚阪絖&markup;絖)
+<eg><![CDATA[An ampersand (&) may be escaped
+numerically (&#38;) or with a general entity
+(&amp;).
+]]></eg>
+</p>
+<p>荀潟号荅括完腓冴鐚茲箴腓冴罨<箴э茵垩鐚с箴水篁
+<eg><![CDATA[1 <?xml version='1.0'?>
+2 <!DOCTYPE test [
+3 <!ELEMENT test (#PCDATA) >
+4 <!ENTITY % xx '&#37;zz;'>
+5 <!ENTITY % zz '&#60;!ENTITY tricky "error-prone" >' >
+6 %xx;
+7 ]>
+8 <test>This sample shows a &tricky; method.</test>
+]]></eg>
+鐚罨<
+<ulist spacing="compact">
+<item><p>a) 4茵э37絖吾с眼<絮鐚<水篏"<code>xx</code>"鐚激潟若"<code>%zz;</code>"ゃ篆絖&replacement-text;活軌祉э<水篏"<code>zz</code>"吾с茯茘("<code>zz</code>"鐚障絎hэ莎井祉逸&error;)</p></item>
+<item><p>b) 5茵э絖"<code>&amp;#60;</code>"眼<絮鐚<水篏"<code>zz</code>""<code>&lt;!ENTITY tricky "error-prone" ></code>"&replacement-text;篆絖鐚&well-formed;絎篏絎h</p></item>
+<item><p>c) 6茵э"<code>xx</code>"吾с茯茘鐚"<code>xx</code>"&replacement-text;(¥"<code>%zz;</code>")罕茹f"<code>zz</code>"吾с膓茯茘鐚&replacement-text;("<code>&lt;!ENTITY tricky "error-prone" ></code>")罕茹f筝絎篏"<code>tricky</code>"鐚鴻с鐚絎h鐚&replacement-text;鐚"<code>error-prone</code>" </p></item>
+<item><p>d) 8茵э筝絎篏"<code>tricky</code>"吾с茯茘鐚絮荀膣"<code>test</code>"絎絎鴻鐚罨<(絎鴻篏茵憗)&string;ゃ障鐚<emph>This sample shows a error-prone method.</emph>
+</p></item>
+</ulist>
+</p>
+</inform-div1>
+<inform-div1 id="determinism">
+<head>羆阪絎鴻≪</head>
+<p><termref def='dt-compat'>篋с</termref>鐚荀膣絎h絎鴻≪鐚羆阪綽荀
+</p>
+<!-- FINAL EDIT: WebSGML allows ambiguity? -->
+<p>SGML鐚羆阪絎鴻≪(SGMLс鐚障若吟)荀羆SGML激鴻篏XML&processor;鐚羆阪絎鴻≪&error;</p>
+<p>箴逸絎鴻≪<code>((b, c) | (b, d))</code>羆阪鐚<code>b</code>筝鐚≪<code>b</code>&match;障鐚罨<荀膣茯帥鐚&parser;ャс翫鐚<code>b</code>吾篋ゃс鐚筝ゃс障с鐚≪鐚<code>(b, (c | d))</code>э<code>b</code>鐚絎鴻≪筝ゃ&match;&parser;鐚茯帥鐚罨<ャャ綽荀<code>c</code><code>d</code>鐚</p>
+<p>綵√腓冴Aho, Sethi, and Ullman <bibref ref='Aho'/>3.9≪眼冴3.5罔羣≪眼冴鐚絎鴻≪若潟罕с腮紊≪眼冴с鐚罩h頫憗篏臀(ゃ障鐚罩h頫憗罕腴若)絲障鐚follow set(罨<篏臀腱糸純茵)罕篏臀絲障follow set鐚茲違篏臀荀膣с篁逸絎鴻≪&error;鐚&error;菴翫
+</p>
+<p>鴻羆阪絎鴻≪膈箴<羆阪絎鴻≪紊с鐚紊羆阪絎鴻≪紊≪眼冴絖Br&#252;ggemann-Klein 1991 <bibref ref='ABK'/>с</p>
+</inform-div1>
+<inform-div1 id="sec-guessing">
+<head>絖膃垸罎</head>
+<p>
+XML膃垸絎h鐚絎篏罘純鐚絖膃垸篏睡腓冴鐚XML&processor;鐚茯鐚絖膃垸篏睡ャ綽荀鐚鐚腓冴筝鐚鐚腟倶倶鐚XML鐚絎腟倶с鐚XML鐚罨<篋ゃ鴻т翫絲障狗筝ゃ狗鐚絎茖絖膃垸泣若喝篁筝ゃ狗鐚絎篏т戎絖膃垸罎阪純鐚XML膃垸絎h篏臀喝絎鴻≪狗紊翫鐚XML若帥鴻若鐚篁宴сс鐚XML絎篏&processor;羝<鐚(紊)宴篌眼c鐚篋ゃ翫障翫腓冴</p>
+<p>
+UTF-8綵√UTF-16綵√сXML絎篏鐚絖<code>&lt;?xml</code>'XML膃垸絎hу障<emph>違</emph>э&processor;鐚ュ24茯帥鴻逸罨<翫障罎冴с鴻茯鐚UCS-4'&lt;'"<code>#x0000003C</code>"鐚'?'"<code>#x0000003F</code>"鐚UTF-16若&stream;綽荀&byte-order-mark;"<code>#xFEFF</code>"ャc綵合ゃ</p>
+<p>
+<ulist>
+<item>
+<p>a) <code>00 00 00 3C</code>: UCS-4, big-endian 激 (1234)</p>
+</item>
+<item>
+<p>b) <code>3C 00 00 00</code>: UCS-4, little-endian 激 (4321)</p>
+</item>
+<item>
+<p>c) <code>00 00 3C 00</code>: UCS-4, с (2143)</p>
+</item>
+<item>
+<p>d) <code>00 3C 00 00</code>: UCS-4, с (3412)</p>
+</item>
+<item>
+<p>e) <code>FE FF</code>: UTF-16, big-endian</p>
+</item>
+<item>
+<p>f) <code>FF FE</code>: UTF-16, little-endian</p>
+</item>
+<item>
+<p>g) <code>00 3C 00 3F</code>: UTF-16, big-endian, &byte-order-mark;(c鐚ウ絲逸&error;)</p>
+</item>
+<item>
+<p>h) <code>3C 00 3F 00</code>: UTF-16, little-endian, &byte-order-mark;(c鐚ウ絲逸&error;)</p>
+</item>
+<item>
+<p>i) <code>3C 3F 78 6D</code>: UTF-8, ISO 646, ASCII, ISO 8859若鐚Shift-JIS鐚EUC鐚筝潟篁紙篁7鐚8羞桁綛膃垸сc鐚ASCII絖絽吾篏臀鐚綛喝ゃ篆荐若絲上罎冴鐚絎膃垸絎h茯粋昭障違鐚鴻膃垸鐚ASCII絖絲障帥若潟篏睡э膃垸絎h篏鐚罩g∈茯莨若水純
+</p>
+</item>
+<item>
+<p>j) <code>4C 6F A7 94</code>: EBCDIC (紊腮潟若若吾篏睡ャ鐚膃垸絎h篏茯粋昭障違)</p>
+</item>
+<item>
+<p>k) 篁: 膃垸絎hUTF-8с鐚若&stream;紕鐚c鐚篏綵√c莨若障</p>
+</item>
+</ulist>
+</p>
+<p>
+腮綺ゅャс鐚XML膃垸絎h茯粋昭随絖膃垸&identifier;茹f&identifier;茹f鐚蕁篌若膃垸筝やゃ阪ャ綽荀(箴逸UTF-88859阪ャ鐚8859若阪ャ鐚篏睡劫EBCDIC潟若若吾阪ャ鐚)
+</p>
+<p>
+膃垸絎h絎鴻ASCII絖絎э蕁膃垸篏睡罎冴逸&processor;鐚膃垸絎h篏罩g∈茯粋昭с憜馹鐚綺鋎睡絖膃垸鐚筝蕁障э若c潟違激鴻篌潟筝紊宴篆♂寂純с鐚ф絖膃垸罩g∈腓冴鐚XML膃垸絎hc純
+</p>
+<p>
+&processor;篏睡絖膃垸罎冴逸翫絲障ュュ若潟若喝冴鐚ュ絖絲障紊∽違若喝冴c鐚篏純</p>
+<p>
+篏篁激鴻с罕鐚純с≪鐚膃垸絎h贋違絎篏絖膃垸紊逸XML膃垸絎h鐚罘純絖膃垸若潟絎茖鐚絎篏篁篏睡喝宴罩g∈篆荐若羈障
+</p>
+<p>鐚翫鐚XML絎篏篁鐚膃垸宴絖сc鐚ゃ<ゃ激鴻潟若潟с鐚膃垸宴絖茲違宴с鐚<!-- (e.g. both the
+internal encoding declaration and an external label), -->後丞綺潟障障号鐚XML篏睡鐚蕭羂贋潟筝荀霢箴逸喝&header;絖MIME綵√後丞綺絲障荀鐚text/xmlapplication/xmlMIME絎臂RFC吾筝鴻鐚娯с鐚罨<荀緇障
+<ulist>
+<item><p>a) XML絎篏<ゃ絖逸&byte-order-mark;括垸絎hPI鐚(絖)絖膃垸羆阪篏睡篁鴻&hueristics;恰宴鐚&error;緇
+</p></item>
+<item><p>b) XML絎篏MIMEtext/xmlч鐚MIMEcharset<帥絖膃垸号羆阪篁鴻&hueristics;恰宴鐚&error;緇
+</p></item>
+<item><p>c) XML絎篏 <!-- via the HTTP protocol -->MIMEapplication/xmlч鐚&byte-order-mark;括垸絎hPI(絖)絖膃垸羆阪篏睡篁鴻&hueristics;恰宴&error;緇
+</p></item>
+</ulist>
+荀鐚潟ゃ莖鴻鐚MIMEtext/xmlapplication/xml絎臂鐚荀鎘RFC絖荀鎘鐚荀c篁c
+</p>
+</inform-div1>
+<!--
+<div1 id='sec-trival-grammar'>
+<head>A Trivial Grammar for XML Documents</head>
+<p>The grammar given in the body of this specification is relatively
+simple, but for some purposes it is convenient to have an even simpler
+one.
+A very simple, though non-conforming, <termref def="dt-xml-proc">XML
+processor</termref> could parse a <termref
+def="dt-wellformed">well-formed</termref> XML document using the
+following simplified grammar, recognizing all element boundaries
+correctly, though not expanding entity references and not detecting
+all errors:
+
+<scrap lang="ebnf">
+<head>Trivial text grammar</head>
+<prodgroup pcw2="5.5" pcw4="17" pcw5="10">
+<prod id='NT-simpleDoc'><lhs>simpleDoc</lhs>
+<rhs>(<nt def='NT-SimpleData'>SimpleData</nt>
+| <nt def='NT-Markup'>Markup</nt>)*</rhs></prod>
+<prod id="NT-SimpleData"><lhs>SimpleData</lhs>
+<rhs>[^&lt;&amp;]*</rhs>
+<com>cf. PCData</com>
+</prod>
+<prod id="NT-SimpleLit"><lhs>SimpleLit</lhs>
+<rhs>('"' [^"]* '"')</rhs>
+<rhs>|&nbsp;("'" [^']* "'")</rhs>
+<com>cf. SkipLit</com>
+</prod>
+<prod id='NT-Markup'><lhs>Markup</lhs>
+<rhs>'&lt;' <nt def='NT-Name'>Name</nt>
+(<nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?
+<nt def='NT-SimpleLit'>SimpleLit</nt>)*
+<nt def='NT-S'>S</nt>? '&gt;'</rhs><com>start-tags </com>
+<rhs>| '&lt;' <nt def='NT-Name'>Name</nt>
+(<nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?
+<nt def='NT-SimpleLit'>SimpleLit</nt>)*
+<nt def='NT-S'>S</nt>? '/&gt;'</rhs><com>empty elements</com>
+<rhs>| '&lt;/'
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>? '&gt;'</rhs>
+<com>end-tags </com>
+<rhs>| '&amp;' <nt def='NT-Name'>Name</nt> ';'</rhs>
+<com>entity references </com>
+<rhs>| '&amp;#' [0-9]+ ';'</rhs>
+<com>decimal character references </com>
+<rhs>| '&hcro;' [0-9a-fA-F]+ ';'</rhs>
+<com>hexadecimal character references </com>
+<rhs>| '&lt;!&como;'
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*))
+'&comc;&gt;'</rhs>
+<com>comments </com>
+<rhs>| '&lt;?'
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*))
+'&pic;'</rhs>
+<com>processing instructions </com>
+<rhs>| '&lt;![CDATA['
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-Char'>Char</nt>*))
+']]&gt;'</rhs>
+<com>CDATA sections</com>
+<rhs>| '&lt;!DOCTYPE'
+(<nt def="NT-Char">Char</nt> - ('[' | ']'))+
+('['
+<nt def="NT-simpleDTD">simpleDTD</nt>*
+']')? '&gt;'</rhs>
+<com>doc type declaration</com>
+</prod>
+<prod id="NT-simpleDTD"><lhs>simpleDTD</lhs>
+<rhs>'&lt;!&como;'
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*))
+'&comc;&gt;'</rhs>
+<com>comment </com>
+<rhs>| '&lt;?'
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*))
+'&pic;'</rhs>
+<com>processing instruction </com>
+<rhs><nt def="NT-SimpleLit">SimpleLit</nt></rhs>
+<rhs>(<nt def="NT-Char">Char</nt> - (']' | '&lt;' | '"' | "'"))+
+</rhs>
+
+<rhs>'&lt;!' (<nt def="NT-Char">Char</nt> - ('-'))+</rhs>
+<com>declarations other than comment</com>
+</prod>
+</prodgroup>
+</scrap>
+Most processors will require the more complex
+grammar given in the body of this specification.
+
+</p>
+</div1>
+-->
+
+<inform-div1 id="sec-xml-wg">
+<head>&informative;W3C XML 若潟違違若</head>
+
+<p>&TR-or-Rec;鐚W3C XML 若潟違違若(WG)羣鐚粋WG&TR-or-Rec;粋鐚WG鴻紮<粋腑茵c綽潟XML WG憜紮≦割札紮<罨<腓冴</p>
+
+<!-- parens and spaces removed from role elements by bosak 1997.11.07 -->
+<orglist>
+<member><name>Jon Bosak, Sun</name><role>Chair</role></member>
+<member><name>James Clark</name><role>Technical Lead</role></member>
+<member><name>Tim Bray, Textuality and Netscape</name><role>XML Co-editor</role></member>
+<member><name>Jean Paoli, Microsoft</name><role>XML Co-editor</role></member>
+<member><name>C. M. Sperberg-McQueen, U. of Ill.</name><role>XML Co-editor</role></member>
+<member><name>Dan Connolly, W3C</name></member>
+<member><name>Steve DeRose, INSO</name></member>
+<member><name>Dave Hollander, HP</name></member>
+<member><name>Eliot Kimber, Highland</name></member>
+<member><name>Eve Maler, ArborText</name></member>
+<member><name>Tom Magliery, NCSA</name></member>
+<member><name>Murray Maloney, Muzmo and Grif</name></member>
+<member><name>違鐚絲紕若号宴激鴻()</name></member>
+<member><name>Joel Nava, Adobe</name></member>
+<member><name>Peter Sharpe, SoftQuad</name></member>
+<member><name>John Tigue, DataChannel</name></member>
+</orglist>
+
+</inform-div1>
+</back>
+</spec>
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+End:
+-->
+
+
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/spec.dtd b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/spec.dtd
new file mode 100644
index 0000000000..dbe4840654
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/spec.dtd
@@ -0,0 +1,975 @@
+<!-- ............................................................... -->
+<!-- XML specification DTD ......................................... -->
+<!-- ............................................................... -->
+
+<!--
+TYPICAL INVOCATION:
+# <!DOCTYPE spec PUBLIC
+# "-//W3C//DTD Specification::19980323//EN"
+# "http://www.w3.org/XML/Group/DTD/xmlspec.dtd">
+
+PURPOSE:
+ This DTD was developed for use with the XML family of W3C
+ specifications. It is an XML-compliant DTD based in part on
+ the TEI Lite and Sweb DTDs.
+
+DEPENDENCIES:
+ None.
+
+CHANGE HISTORY:
+ The list of changes is at the end of the DTD.
+
+ For all details, see the design report at:
+
+ <http://www.w3.org/XML/Group/DTD/xmlspec-report.htm>
+
+ The "typical invocation" FPI always gets updated to reflect the
+ date of the most recent changes.
+
+ Search this file for "#" in the first column to see change history
+ comments.
+
+MAINTAINER:
+ Eve Maler
+ ArborText Inc.
+ elm@arbortext.com
+ voice: +1 781 270 5750
+ fax: +1 781 273 3760
+-->
+
+<!-- ............................................................... -->
+<!-- Entities for characters and symbols ........................... -->
+
+<!--
+#1998-03-10: maler: Added &ldquo; and &rdquo;.
+# Used 8879:1986-compatible decimal character
+# references.
+# Merged charent.mod file back into main file.
+-->
+
+<!ENTITY lt "&#38;#60;">
+<!ENTITY gt "&#62;">
+<!ENTITY amp "&#38;#38;">
+<!ENTITY apos "&#39;">
+<!ENTITY quot "&#34;">
+<!ENTITY mdash "--">
+<!ENTITY nbsp "&#160;">
+<!ENTITY ldquo "#x201C;">
+<!ENTITY rdquo "#x201D;">
+
+<!-- ............................................................... -->
+<!-- Entities for classes of standalone elements ................... -->
+
+<!--
+#1997-10-16: maler: Added table to %illus.class;.
+#1997-11-28: maler: Added htable to %illus.class;.
+#1997-12-29: maler: IGNOREd table.
+#1998-03-10: maler: Removed SGML Open-specific %illus.class;.
+# Added "local" entities for customization.
+-->
+
+<!ENTITY % local.p.class "">
+<!ENTITY % p.class "p
+ %local.p.class;">
+
+<!ENTITY % local.statusp.class "">
+<!ENTITY % statusp.class "statusp
+ %local.statusp.class;">
+
+<!ENTITY % local.list.class "">
+<!ENTITY % list.class "ulist|olist|slist|glist
+ %local.list.class;">
+
+<!ENTITY % local.speclist.class "">
+<!ENTITY % speclist.class "orglist|blist
+ %local.speclist.class;">
+
+<!ENTITY % local.note.class "">
+<!ENTITY % note.class "note|wfcnote|vcnote
+ %local.note.class;">
+
+<!ENTITY % local.illus.class "">
+<!ENTITY % illus.class "eg|graphic|scrap|htable
+ %local.illus.class;">
+
+<!-- ............................................................... -->
+<!-- Entities for classes of phrase-level elements ................. -->
+
+<!--
+#1997-12-29: maler: Added xspecref to %ref.class;.
+#1998-03-10: maler: Added %ednote.class;.
+# Added "local" entities for customization.
+-->
+
+<!ENTITY % local.annot.class "">
+<!ENTITY % annot.class "footnote
+ %local.annot.class;">
+
+<!ENTITY % local.termdef.class "">
+<!ENTITY % termdef.class "termdef|term
+ %local.termdef.class;">
+
+<!ENTITY % local.emph.class "">
+<!ENTITY % emph.class "emph|quote
+ %local.emph.class;">
+
+<!ENTITY % local.ref.class "">
+<!ENTITY % ref.class "bibref|specref|termref|titleref
+ |xspecref|xtermref
+ %local.ref.class;">
+
+<!ENTITY % local.loc.class "">
+<!ENTITY % loc.class "loc
+ %local.loc.class;">
+
+<!ENTITY % local.tech.class "">
+<!ENTITY % tech.class "kw|nt|xnt|code
+ %local.tech.class;">
+
+<!ENTITY % local.ednote.class "">
+<!ENTITY % ednote.class "ednote
+ %local.ednote.class;">
+
+<!-- ............................................................... -->
+<!-- Entities for mixtures of standalone elements .................. -->
+
+<!--
+#1997-09-30: maler: Created %p.mix; to eliminate p from self.
+#1997-09-30: maler: Added %speclist.class; to %obj.mix; and %p.mix;.
+#1997-09-30: maler: Added %note.class; to %obj.mix; and %p.mix;.
+#1997-10-16: maler: Created %entry.mix;. Note that some elements
+# left out here are still allowed in termdef,
+# which entry can contain through %p.pcd.mix;.
+#1997-11-28: maler: Added %p.class; to %statusobj.mix;.
+#1998-03-10: maler: Added %ednote.class; to all mixtures, except
+# %p.mix; and %statusobj.mix;, because paragraphs
+# and status paragraphs will contain ednote
+# through %p.pcd.mix;.
+#1998-03-123: maler: Added %termdef.mix; (broken out from
+# %termdef.pcd.mix;).
+-->
+
+<!ENTITY % div.mix
+ "%p.class;|%list.class;|%speclist.class;|%note.class;
+ |%illus.class;|%ednote.class;">
+<!ENTITY % obj.mix
+ "%p.class;|%list.class;|%speclist.class;|%note.class;
+ |%illus.class;|%ednote.class;">
+<!ENTITY % p.mix
+ "%list.class;|%speclist.class;|%note.class;|%illus.class;">
+<!ENTITY % entry.mix
+ "%list.class;|note|eg|graphic|%ednote.class;">
+<!ENTITY % statusobj.mix
+ "%p.class;|%statusp.class;|%list.class;">
+<!ENTITY % hdr.mix
+ "%p.class;|%list.class;|%ednote.class;">
+<!ENTITY % termdef.mix
+ "%note.class;|%illus.class;">
+
+<!-- ............................................................... -->
+<!-- Entities for mixtures of #PCDATA and phrase-level elements .... -->
+
+<!-- Note that %termdef.pcd.mix contains %note.class;
+ and %illus.class;, considered standalone elements. -->
+
+<!--
+#1997-09-30: maler: Added scrap and %note.class; to %termdef.pcd.mix;.
+#1997-11-28: maler: Added %loc.class; to %p.pcd.mix;.
+#1998-03-10: maler: Added %ednote.class; to all mixtures.
+#1998-03-23: maler: Moved some %termdef.pcd.mix; stuff out to
+# %termdef.mix;.
+-->
+
+<!ENTITY % p.pcd.mix
+ "#PCDATA|%annot.class;|%termdef.class;|%emph.class;
+ |%ref.class;|%tech.class;|%loc.class;|%ednote.class;">
+<!ENTITY % statusp.pcd.mix
+ "#PCDATA|%annot.class;|%termdef.class;|%emph.class;
+ |%ref.class;|%tech.class;|%loc.class;|%ednote.class;">
+<!ENTITY % head.pcd.mix
+ "#PCDATA|%annot.class;|%emph.class;|%tech.class;|%ednote.class;">
+<!ENTITY % label.pcd.mix
+ "#PCDATA|%annot.class;|%termdef.class;|%emph.class;|%tech.class;
+ |%ednote.class;">
+<!ENTITY % eg.pcd.mix
+ "#PCDATA|%annot.class;|%emph.class;|%ednote.class;">
+<!ENTITY % termdef.pcd.mix
+ "#PCDATA|term|%emph.class;|%ref.class;|%tech.class;
+ |%ednote.class;">
+<!ENTITY % bibl.pcd.mix
+ "#PCDATA|%emph.class;|%ref.class;|%loc.class;|%ednote.class;">
+<!ENTITY % tech.pcd.mix
+ "#PCDATA|%ednote.class;">
+<!ENTITY % loc.pcd.mix
+ "#PCDATA|%loc.class;|%ednote.class;">
+
+<!-- ............................................................... -->
+<!-- Entities for customizable content models ...................... -->
+
+<!--
+#1998-03-10: maler: Added customization entities.
+-->
+
+<!ENTITY % spec.mdl
+ "header, front?, body, back?">
+
+<!ENTITY % header.mdl
+ "title, subtitle?, version, w3c-designation, w3c-doctype,
+ pubdate, notice*, publoc, prevlocs?, latestloc?, authlist,
+ status, abstract, pubstmt?, sourcedesc?, langusage,
+ revisiondesc">
+
+<!ENTITY % pubdate.mdl
+ "day?, month, year">
+
+<!-- ............................................................... -->
+<!-- Entities for common attributes ................................ -->
+
+<!-- key attribute:
+ Optionally provides a sorting or indexing key, for cases when
+ the element content is inappropriate for this purpose. -->
+<!ENTITY % key.att
+ 'key CDATA #IMPLIED'>
+
+<!-- def attribute:
+ Points to the element where the relevant definition can be
+ found, using the IDREF mechanism. %def.att; is for optional
+ def attributes, and %def-req.att; is for required def
+ attributes. -->
+<!ENTITY % def.att
+ 'def IDREF #IMPLIED'>
+<!ENTITY % def-req.att
+ 'def IDREF #REQUIRED'>
+
+<!-- ref attribute:
+ Points to the element where more information can be found,
+ using the IDREF mechanism. %ref.att; is for optional
+ ref attributes, and %ref-req.att; is for required ref
+ attributes. -->
+<!ENTITY % ref.att
+ 'ref IDREF #IMPLIED'>
+<!ENTITY % ref-req.att
+ 'ref IDREF #REQUIRED'>
+
+<!--
+#1998-03-23: maler: Added show and actuate attributes to href.
+# Added semi-common xml:space attribute.
+-->
+
+<!-- HREF and source attributes:
+ Points to the element where more information or source data
+ can be found, using the URL (XLL simple link) mechanism.
+ For some purposes, is associated with additional XLL
+ attributes. %href.att; is for optional HREF attributes,
+ and %href-req.att; is for required HREF attributes.
+ %source-req.att; is for the source attribute, which
+ is always required. -->
+<!--
+#1998-5-23: brownell: Turned "xml:link" into "xml-link" to
+# match usage in the XML spec, so that
+# validation errors aren't reported.
+-->
+<!ENTITY % href.att
+ 'xml-link CDATA #FIXED "simple"
+ href CDATA #IMPLIED
+ show CDATA #FIXED "embed"
+ actuate CDATA #FIXED "auto"'>
+
+<!ENTITY % href-req.att
+ 'xml-link CDATA #FIXED "simple"
+ href CDATA #REQUIRED
+ show CDATA #FIXED "embed"
+ actuate CDATA #FIXED "auto"'>
+
+<!ENTITY % source-req.att
+ 'xml-link CDATA #FIXED "simple"
+ xml:attributes NMTOKENS #FIXED "href source"
+ source CDATA #REQUIRED
+ show CDATA #FIXED "embed"
+ actuate CDATA #FIXED "auto"'>
+
+<!-- xml:space attribute:
+ Indicates that the element contains white space
+ that the formatter or other application should retain,
+ as appropriate to its function. -->
+<!ENTITY % xmlspace.att
+ 'xml:space (default
+ |preserve) #FIXED "preserve"'>
+
+<!-- Common attributes:
+ Every element has an ID attribute (sometimes required,
+ but usually optional) for links, and a Role attribute
+ for extending the useful life of the DTD by allowing
+ authors to make subclasses for any element. %common.att;
+ is for common attributes where the ID is optional, and
+ %common-idreq.att; is for common attributes where the
+ ID is required. -->
+<!ENTITY % common.att
+ 'id ID #IMPLIED
+ role NMTOKEN #IMPLIED'>
+<!ENTITY % common-idreq.att
+ 'id ID #REQUIRED
+ role NMTOKEN #IMPLIED'>
+
+<!-- ............................................................... -->
+<!-- Common elements ............................................... -->
+
+<!-- head: Title on divisions, productions, and the like -->
+<!ELEMENT head (%head.pcd.mix;)*>
+<!ATTLIST head %common.att;>
+
+<!-- ............................................................... -->
+<!-- Major specification structure ................................. -->
+
+<!--
+#1998-03-10: maler: Made spec content model easily customizable.
+-->
+
+<!ELEMENT spec (%spec.mdl;)>
+<!ATTLIST spec %common.att;>
+
+<!ELEMENT front (div1+)>
+<!ATTLIST front %common.att;>
+
+<!ELEMENT body (div1+)>
+<!ATTLIST body %common.att;>
+
+<!--
+#1997-09-30: maler: Added inform-div1 to back content.
+-->
+
+<!ELEMENT back ((div1+, inform-div1*) | inform-div1+)>
+<!ATTLIST back %common.att;>
+
+<!ELEMENT div1 (head, (%div.mix;)*, div2*)>
+<!ATTLIST div1 %common.att;>
+
+<!--
+#1997-09-30: maler: Added inform-div1 declarations.
+-->
+
+<!-- inform-div1: Non-normative division in back matter -->
+<!ELEMENT inform-div1 (head, (%div.mix;)*, div2*)>
+<!ATTLIST inform-div1 %common.att;>
+
+<!ELEMENT div2 (head, (%div.mix;)*, div3*)>
+<!ATTLIST div2 %common.att;>
+
+<!ELEMENT div3 (head, (%div.mix;)*, div4*)>
+<!ATTLIST div3 %common.att;>
+
+<!ELEMENT div4 (head, (%div.mix;)*)>
+<!ATTLIST div4 %common.att;>
+
+<!-- Specification header .......... -->
+
+<!--
+#1998-03-10: maler: Made header content model easily customizable.
+-->
+
+<!ELEMENT header (%header.mdl;)>
+<!ATTLIST header %common.att;>
+
+<!-- Example of title: "Extensible Cheese Language (XCL)" -->
+<!ELEMENT title (#PCDATA)>
+<!ATTLIST title %common.att;>
+
+<!-- Example of subtitle: "A Cheesy Specification" -->
+<!ELEMENT subtitle (#PCDATA)>
+<!ATTLIST subtitle %common.att;>
+
+<!-- Example of version: "Version 666.0" -->
+<!ELEMENT version (#PCDATA)>
+<!ATTLIST version %common.att;>
+
+<!-- Example of w3c-designation: "WD-xcl-19991231" -->
+<!ELEMENT w3c-designation (#PCDATA)>
+<!ATTLIST w3c-designation %common.att;>
+
+<!-- Example of w3c-doctype: "World Wide Web Consortium Working
+ Draft" -->
+<!ELEMENT w3c-doctype (#PCDATA)>
+<!ATTLIST w3c-doctype %common.att;>
+
+<!--
+#1998-03-10: maler: Made pubdate content model easily customizable.
+-->
+
+<!ELEMENT pubdate (%pubdate.mdl;)>
+<!ATTLIST pubdate %common.att;>
+
+<!ELEMENT day (#PCDATA)>
+<!ATTLIST day %common.att;>
+
+<!ELEMENT month (#PCDATA)>
+<!ATTLIST month %common.att;>
+
+<!ELEMENT year (#PCDATA)>
+<!ATTLIST year %common.att;>
+
+<!-- Example of notice: "This draft is for public comment..." -->
+<!ELEMENT notice (%hdr.mix;)+>
+<!ATTLIST notice %common.att;>
+
+<!ELEMENT publoc (loc+)>
+<!ATTLIST publoc %common.att;>
+
+<!ELEMENT prevlocs (loc+)>
+<!ATTLIST prevlocs %common.att;>
+
+<!ELEMENT latestloc (loc+)>
+<!ATTLIST latestloc %common.att;>
+
+<!-- loc (defined in "Phrase-level elements" below) -->
+
+<!ELEMENT authlist (author+)>
+<!ATTLIST authlist %common.att;>
+
+<!--
+#1997-09-30: maler: Made affiliation optional.
+#1998-03-10: maler: Made email optional.
+-->
+
+<!ELEMENT author (name, affiliation?, email?)>
+<!ATTLIST author %common.att;>
+
+<!ELEMENT name (#PCDATA)>
+<!ATTLIST name
+ %common.att;
+ %key.att;>
+
+<!ELEMENT affiliation (#PCDATA)>
+<!ATTLIST affiliation %common.att;>
+
+<!ELEMENT email (#PCDATA)>
+<!-- HREF attribute:
+ email functions as a hypertext reference through this
+ required attribute. Typically the reference would use
+ the mailto: scheme. -->
+<!ATTLIST email
+ %common.att;
+ %href-req.att;>
+
+<!-- The status element now contains both statusp and p, and
+ the latter now allows loc. Use p; statusp will be removed
+ eventually. -->
+<!ELEMENT status (%statusobj.mix;)+>
+<!ATTLIST status %common.att;>
+
+<!ELEMENT abstract (%hdr.mix;)*>
+<!ATTLIST abstract %common.att;>
+
+<!ELEMENT pubstmt (%hdr.mix;)+>
+<!ATTLIST pubstmt %common.att;>
+
+<!ELEMENT sourcedesc (%hdr.mix;)+>
+<!ATTLIST sourcedesc %common.att;>
+
+<!ELEMENT langusage (language+)>
+<!ATTLIST langusage %common.att;>
+
+<!ELEMENT language (#PCDATA)>
+<!ATTLIST language %common.att;>
+
+<!ELEMENT revisiondesc (%hdr.mix;)+>
+<!ATTLIST revisiondesc %common.att;>
+
+<!-- ............................................................... -->
+<!-- Standalone elements ........................................... -->
+
+<!-- Paragraphs .................... -->
+
+<!--
+#1997-09-30: maler: Changed from %obj.mix; to %p.mix;.
+#1997-12-29: maler: Changed order of %p.mix; and %p.pcd.mix; references.
+#1997-12-29: maler: Changed order of %statusobj.mix; and %statusp.pcd.mix;
+# references.
+-->
+
+<!ELEMENT p (%p.pcd.mix;|%p.mix;)*>
+<!ATTLIST p %common.att;>
+
+<!-- statusp: Special paragraph that allows loc inside it (note that
+ p now also allows loc) -->
+<!ELEMENT statusp (%statusp.pcd.mix;|%statusobj.mix;)*>
+<!ATTLIST statusp %common.att;>
+
+<!-- Lists ......................... -->
+
+<!ELEMENT ulist (item+)>
+<!-- spacing attribute:
+ Use "normal" to get normal vertical spacing for items;
+ use "compact" to get less spacing. The default is dependent
+ on the stylesheet. -->
+<!ATTLIST ulist
+ %common.att;
+ spacing (normal|compact) #IMPLIED>
+
+<!ELEMENT olist (item+)>
+<!-- spacing attribute:
+ Use "normal" to get normal vertical spacing for items;
+ use "compact" to get less spacing. The default is dependent
+ on the stylesheet. -->
+<!ATTLIST olist
+ %common.att;
+ spacing (normal|compact) #IMPLIED>
+
+<!ELEMENT item (%obj.mix;)+>
+<!ATTLIST item %common.att;>
+
+<!ELEMENT slist (sitem+)>
+<!ATTLIST slist %common.att;>
+
+<!ELEMENT sitem (%p.pcd.mix;)*>
+<!ATTLIST sitem %common.att;>
+
+<!ELEMENT glist (gitem+)>
+<!ATTLIST glist %common.att;>
+
+<!ELEMENT gitem (label, def)>
+<!ATTLIST gitem %common.att;>
+
+<!ELEMENT label (%label.pcd.mix;)*>
+<!ATTLIST label %common.att;>
+
+<!ELEMENT def (%obj.mix;)*>
+<!ATTLIST def %common.att;>
+
+<!-- Special lists ................. -->
+
+<!ELEMENT blist (bibl+)>
+<!ATTLIST blist %common.att;>
+
+<!ELEMENT bibl (%bibl.pcd.mix;)*>
+<!-- HREF attribute:
+ bibl optionally functions as a hypertext reference to the
+ referred-to resource through this attribute. -->
+<!ATTLIST bibl
+ %common.att;
+ %href.att;
+ %key.att;>
+
+<!ELEMENT orglist (member+)>
+<!ATTLIST orglist %common.att;>
+
+<!--
+#1997-09-30: maler: Added optional affiliation.
+-->
+
+<!ELEMENT member (name, affiliation?, role?)>
+<!ATTLIST member %common.att;>
+
+<!-- name (defined in "Specification header" above) -->
+<!-- affiliation (defined in "Specification header" above) -->
+
+<!ELEMENT role (#PCDATA)>
+<!ATTLIST role %common.att;>
+
+<!-- Notes ......................... -->
+
+<!ELEMENT note (%obj.mix;)+>
+<!ATTLIST note %common.att;>
+
+<!ELEMENT wfcnote (head, (%obj.mix;)+)>
+<!-- ID attribute:
+ wfcnote must have an ID so that it can be pointed to
+ from a wfc element in a production. -->
+<!ATTLIST wfcnote
+ %common-idreq.att;>
+
+<!ELEMENT vcnote (head, (%obj.mix;)+)>
+<!-- ID attribute:
+ vcnote must have an ID so that it can be pointed to
+ from a vc element in a production. -->
+<!ATTLIST vcnote
+ %common-idreq.att;>
+
+<!-- Illustrations ................. -->
+
+<!--
+#1998-03-23: maler: Added xml:space attribute.
+-->
+
+<!ELEMENT eg (%eg.pcd.mix;)*>
+<!ATTLIST eg
+ %common.att;
+ %xmlspace.att;>
+
+<!ELEMENT graphic EMPTY>
+<!-- source attribute:
+ The graphic data must reside at the location pointed to.
+ This is a hypertext reference, but for practical purposes,
+ for now it should just be a pathname. -->
+<!ATTLIST graphic
+ %common.att;
+ %source-req.att;
+ alt CDATA #IMPLIED>
+
+<!--
+#1997-11-28: maler: Added prodgroup to scrap and defined it.
+-->
+
+<!ELEMENT scrap (head, (prodgroup+ | prod+ | bnf))>
+<!-- lang attribute:
+ The scrap can link to a description of the language used,
+ found in a language element in the header. -->
+<!ATTLIST scrap
+ %common.att;
+ lang IDREF #IMPLIED>
+
+<!ELEMENT prodgroup (prod+)>
+<!-- pcw<n> attributes:
+ Presentational attributes to control the width
+ of the "pseudo-table" columns used to output
+ groups of productions. -->
+<!ATTLIST prodgroup
+ %common.att;
+ pcw1 CDATA #IMPLIED
+ pcw2 CDATA #IMPLIED
+ pcw3 CDATA #IMPLIED
+ pcw4 CDATA #IMPLIED
+ pcw5 CDATA #IMPLIED
+>
+
+<!ELEMENT prod (lhs, (rhs, (com|wfc|vc)*)+)>
+<!-- ID attribute:
+ The production must have an ID so that cross-references
+ (specref) and mentions of nonterminals (nt) can link to
+ it. -->
+<!ATTLIST prod
+ %common-idreq.att;>
+
+<!ELEMENT lhs (#PCDATA)>
+<!ATTLIST lhs %common.att;>
+
+<!ELEMENT rhs (#PCDATA|nt|xnt|com)*>
+<!ATTLIST rhs %common.att;>
+
+<!-- nt and xnt (defined in "Phrase-level elements" below) -->
+
+<!--
+#1997-11-28: maler: Added loc and bibref to com content.
+-->
+
+<!ELEMENT com (#PCDATA|loc|bibref)*>
+<!ATTLIST com %common.att;>
+
+<!-- wfc: Should generate the head of the wfcnote pointed to -->
+<!ELEMENT wfc EMPTY>
+<!-- def attribute:
+ Each well formedness tagline in a production must link to the
+ wfcnote that defines it. -->
+<!ATTLIST wfc
+ %def-req.att;
+ %common.att;>
+
+<!-- vc: Should generate the head of the vcnote pointed to -->
+<!ELEMENT vc EMPTY>
+<!-- def attribute:
+ Each validity tagline in a production must link to the vcnote
+ that defines it. -->
+<!ATTLIST vc
+ %def-req.att;
+ %common.att;>
+
+<!--
+#1998-03-23: maler: Added xml:space attribute.
+-->
+
+<!-- bnf: Un-marked-up production -->
+<!ELEMENT bnf (%eg.pcd.mix;)*>
+<!ATTLIST bnf
+ %common.att;
+ %xmlspace.att;>
+
+<!--
+#1997-10-16: maler: Added table mechanism.
+#1997-11-28: maler: Added non-null system ID to entity declaration.
+# Added HTML table module.
+#1997-12-29: maler: IGNOREd SGML Open table model.
+#1998-03-10: maler: Removed SGML Open table model.
+# Merged html-tbl.mod file into main file.
+# Added %common.att; to all HTML table elements.
+-->
+
+<!-- TR and TD attributes:
+ Alignment attributes. No default. -->
+<!ENTITY % trtd.att
+ "align (left
+ |center
+ |right) #IMPLIED
+ valign (top
+ |middle
+ |bottom) #IMPLIED">
+
+<!ELEMENT htable (htbody+)>
+<!ATTLIST htable
+ border CDATA "0"
+ cellpadding CDATA "0"
+ align (left
+ |center
+ |right) "left">
+
+<!ELEMENT htbody (tr+)>
+<!ATTLIST htbody %common.att;>
+
+<!ELEMENT tr (td+)>
+<!ATTLIST tr
+ %common.att;
+ %trtd.att;>
+
+<!ELEMENT td (%p.pcd.mix;)*>
+<!ATTLIST td
+ %common.att;
+ %trtd.att;
+ bgcolor CDATA #IMPLIED
+ rowspan CDATA "1"
+ colspan CDATA "1">
+
+<!-- ............................................................... -->
+<!-- Phrase-level elements ......................................... -->
+
+<!-- bibref: Should generate, in square brackets, "key" on bibl -->
+<!ELEMENT bibref EMPTY>
+<!-- ref attribute:
+ A bibliography reference must link to the bibl element that
+ describes the resource. -->
+<!ATTLIST bibref
+ %common.att;
+ %ref-req.att;>
+
+<!ELEMENT code (%tech.pcd.mix;)*>
+<!ATTLIST code %common.att;>
+
+<!--
+#1998-03-10: maler: Declared ednote and related elements.
+-->
+
+<!ELEMENT ednote (name?, date?, edtext)>
+<!ATTLIST ednote %common.att;>
+
+<!ELEMENT date (#PCDATA)>
+<!ATTLIST date %common.att;>
+
+<!ELEMENT edtext (#PCDATA)>
+<!ATTLIST edtext %common.att;>
+
+<!ELEMENT emph (#PCDATA)>
+<!ATTLIST emph %common.att;>
+
+<!-- footnote: Both footnote content and call to footnote -->
+<!ELEMENT footnote (%obj.mix;)+>
+<!ATTLIST footnote %common.att;>
+
+<!ELEMENT kw (%tech.pcd.mix;)*>
+<!ATTLIST kw %common.att;>
+
+<!ELEMENT loc (#PCDATA)>
+<!-- HREF attribute:
+ The purpose of a loc element is to function as a hypertext
+ link to a resource. (Ideally, the content of loc will also
+ mention the URI of the resource, so that readers of the
+ printed version will be able to locate the resource.) -->
+<!ATTLIST loc
+ %common.att;
+ %href-req.att;>
+
+<!ELEMENT nt (#PCDATA)>
+<!-- def attribute:
+ The nonterminal must link to the production that defines
+ it. -->
+<!ATTLIST nt
+ %common.att;
+ %def-req.att;>
+
+<!--
+#1998-03-10: maler: Declared quote.
+-->
+
+<!-- quote: Scare quotes and other purely presentational quotes -->
+<!ELEMENT quote (%p.pcd.mix;)*>
+<!ATTLIST quote %common.att;>
+
+<!-- specref: Should generate italic "[n.n], Section Title" for
+ div, "n" for numbered item, or "[n]" for production -->
+<!ELEMENT specref EMPTY>
+<!-- ref attribute:
+ The purpose of a specref element is to link to a div, item
+ in an olist, or production in the current spec. -->
+<!ATTLIST specref
+ %common.att;
+ %ref-req.att;>
+
+<!ELEMENT term (#PCDATA)>
+<!ATTLIST term %common.att;>
+
+<!ELEMENT termdef (%termdef.pcd.mix;|%termdef.mix;)*>
+<!-- ID attribute:
+ A term definition must have an ID so that it can be linked
+ to from termref elements. -->
+<!-- term attribute:
+ The canonical form of the term or phrase being defined must
+ appear in this attribute, even if the term or phrase also
+ appears in the element content in identical form (e.g., in
+ the term element). -->
+<!ATTLIST termdef
+ %common-idreq.att;
+ term CDATA #REQUIRED>
+
+<!ELEMENT termref (#PCDATA)>
+<!-- ref attribute:
+ A term reference must link to the termdef element that
+ defines the term. -->
+<!ATTLIST termref
+ %common.att;
+ %def-req.att;>
+
+<!ELEMENT titleref (#PCDATA)>
+<!-- HREF attribute:
+ A title reference can optionally function as a hypertext
+ link to the resource with this title. -->
+<!ATTLIST titleref
+ %common.att;
+ %href.att;>
+
+<!ELEMENT xnt (#PCDATA)>
+<!-- HREF attribute:
+ The nonterminal must hyperlink to a resource that serves
+ to define it (e.g., a production in a related XML
+ specification). -->
+<!ATTLIST xnt
+ %common.att;
+ %href-req.att;>
+
+<!--
+#1997-12-29: maler: Declared xspecref.
+-->
+
+<!ELEMENT xspecref (#PCDATA)>
+<!-- HREF attribute:
+ The spec reference must hyperlink to the resource to
+ cross-refer to (e.g., a section in a related XML
+ specification). -->
+<!ATTLIST xspecref
+ %common.att;
+ %href-req.att;>
+
+<!ELEMENT xtermref (#PCDATA)>
+<!-- HREF attribute:
+ The term reference must hyperlink to the resource that
+ serves to define the term (e.g., a term definition in
+ a related XML specification). -->
+<!ATTLIST xtermref
+ %common.att;
+ %href-req.att;>
+
+<!-- ............................................................... -->
+<!-- Unused elements for ADEPT ..................................... -->
+
+<!--
+#1997-09-30: maler: Added unusued elements.
+#1997-10-14: maler: Fixed div to move nested div to the mixture.
+-->
+
+<!-- The following elements are purposely declared but never
+ referenced. Declaring them allows them to be pasted from
+ an HTML document into a document using this DTD in ADEPT.
+ The ATD Context Transformation mechanism will try to convert
+ them to the appropriate element for this DTD. While this
+ conversion will not work for all fragments, it does allow
+ many cases to work reasonably well. -->
+
+<!ELEMENT div
+ (head?, (%div.mix;|ul|ol|h1|h2|h3|h4|h5|h6|div)*)>
+<!ELEMENT h1 (%head.pcd.mix;|em|a)*>
+<!ELEMENT h2 (%head.pcd.mix;|em|a)*>
+<!ELEMENT h3 (%head.pcd.mix;|em|a)*>
+<!ELEMENT h4 (%head.pcd.mix;|em|a)*>
+<!ELEMENT h5 (%head.pcd.mix;|em|a)*>
+<!ELEMENT h6 (%head.pcd.mix;|em|a)*>
+<!ELEMENT pre (%eg.pcd.mix;|em)*>
+<!ELEMENT ul (item|li)*>
+<!ELEMENT ol (item|li)*>
+<!ELEMENT li (#PCDATA|%obj.mix;)*>
+<!ELEMENT em (#PCDATA)>
+<!ELEMENT a (#PCDATA)>
+
+<!-- ............................................................... -->
+<!-- Change history ................................................ -->
+
+<!--
+#1997-08-18: maler
+#- Did a major revision.
+#1997-09-10: maler
+#- Updated FPI.
+#- Removed namekey element and put key attribute on name element.
+#- Made statusp element and supporting entities.
+#- Added slist element with sitem+ content.
+#- Required head on scrap and added new bnf subelement.
+#- Added an xnt element and allowed it and nt in regular text and rhs.
+#- Removed the ntref element.
+#- Added back the com element to the content of rhs.
+#- Added a key attribute to bibl.
+#- Removed the ident element.
+#- Added a term element to be used inside termdef.
+#- Added an xtermref element parallel to termref.
+#- Beefed up DTD comments.
+#1997-09-12: maler
+#- Allowed term element in general text.
+#- Changed bibref to EMPTY.
+#- Added ref.class to termdef.pcd.mix.
+#1997-09-14: maler
+#- Changed main attribute of xtermref from def to href.
+#- Added termdef.class to label contents.
+#1997-09-30: maler
+#- Added character entity module and added new entities.
+#- Removed p from appearing directly in self; created %p.mix;.
+#- Added inform-div (non-normative division) element.
+#- Fixed xtermref comment to mention HREF, not ref.
+#- Extended orglist model to allow optional affiliation.
+#- Modified author to make affiliation optional.
+#- Added %speclist.class; and %note.class; to %obj.mix; and %p.mix;.
+#- Added %note.class; and %illus.class; to %termdef.pcd.mix;.
+#- Added unused HTML elements.
+#- Put empty system ID next to public ID in entity declarations.
+#1997-10-14: maler
+#- Fixed "unused" div content model to move nested div to mixture.
+#1997-10-16: maler
+#- Added SGML Open Exchange tables.
+#1997-11-28: maler
+#- Added support for prodgroup and its attributes.
+#- Added support for HTML tables.
+#- Added loc and bibref to content of com.
+#- Added loc to general p content models.
+#- Allowed p as alternative to statusp in status.
+#- Added non-null system IDs to external parameter entity declarations.
+#- (Modified the SGML Open table module to make it XML-compliant.)
+#- (Modified the character entity module.)
+#1997-12-29: maler
+#- Moved #PCDATA occurrences to come before GIs in content models.
+#- Removed use of the SGML Open table module.
+#- Added xspecref element.
+#- Ensured that all FPIs contain 4-digit year.
+#- (Modified the character entity module.)
+#1997-03-10: maler
+#- Merged the character entity and table modules into the main file.
+#- Added ldquo and rdquo entities.
+#- Added common attributes to prodgroup.
+#- Made the email element in header optional.
+#- Removed reference to the SGML Open table model.
+#- Added ednote element.
+#- Added quote element.
+#- Updated XLink usage to reflect 3 March 1998 WD.
+#- Added "local" entities to the class entities for customization.
+#- Parameterized several content models to allow for customization.
+#1997-03-23: maler
+#- Cleaned up some comments and removed some others.
+#- Added xml:space semi-common attribute to eg and bnf elements.
+#- Added show and embed attributes on all the uses of href.
+#- Added %common.att; to all HTML table elements.
+#- Added a real URI to the "typical invocation" comment.
+-->
+
+<!-- ............................................................... -->
+<!-- End of XML specification DTD .................................. -->
+<!-- ............................................................... -->
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-euc-jp.dtd b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-euc-jp.dtd
new file mode 100644
index 0000000000..19aadcd4e7
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-euc-jp.dtd
@@ -0,0 +1,72 @@
+<?xml encoding="euc-jp"?>
+<!--
+*************************************************************************
+* *
+* DPSD PDG週報用DTD weekly.dtd *
+* *
+* Copyright 1997 Fuji Xerox Information Systems Co.,Ltd. *
+* *
+*************************************************************************
+-->
+
+
+<!-- 変更履歴
+ Version 1.0 1997/10/29 作成 村田真
+-->
+
+<!ELEMENT 週報 (年月週, 氏名, 業務報告リスト)>
+
+<!ELEMENT 年月週 (年度, 月度, 週)>
+<!ELEMENT 年度 (#PCDATA)> <!-- 年度を表す数字 -->
+<!ELEMENT 月度 (#PCDATA)> <!-- 月度を表す数字 -->
+<!ELEMENT 週 (#PCDATA)> <!-- 何週目かを表す数字 -->
+
+<!ELEMENT 氏名 (氏, 名)>
+<!ELEMENT 氏 (#PCDATA)>
+<!ELEMENT 名 (#PCDATA)>
+
+<!ELEMENT 業務報告リスト (業務報告+)>
+<!ELEMENT 業務報告 (業務名, 業務コード, 工数管理,
+ 予定項目リスト,
+ 実施事項リスト,
+ 上長への要請事項リスト,
+ 問題点対策?)>
+<!ELEMENT 業務名 (#PCDATA)> <!-- 業務コード一覧を参照 -->
+<!ELEMENT 業務コード (#PCDATA)> <!-- 業務コード一覧を参照 -->
+
+<!ELEMENT 工数管理 (見積もり工数, 実績工数,
+ 当月見積もり工数, 当月実績工数)>
+<!ELEMENT 見積もり工数 (#PCDATA)> <!-- 単位は時間 -->
+<!ELEMENT 実績工数 (#PCDATA)> <!-- 単位は時間 -->
+<!ELEMENT 当月見積もり工数 (#PCDATA)> <!-- 単位は時間 -->
+<!ELEMENT 当月実績工数 (#PCDATA)> <!-- 単位は時間 -->
+
+<!ELEMENT 予定項目リスト (予定項目*)>
+<!ELEMENT 予定項目 ((P | OL | UL)+)>
+<!ELEMENT 実施事項リスト (実施事項*)>
+<!ELEMENT 実施事項 ((P | OL | UL)+)>
+<!ELEMENT 問題点対策 ((P | OL | UL)+)>
+
+<!ELEMENT 上長への要請事項リスト (上長への要請事項*)>
+<!ELEMENT 上長への要請事項 ((P | OL | UL)+)>
+
+
+<!-- XMLであらかじめ定義された実体 -->
+<!ENTITY lt "&#38;#60;">
+<!ENTITY gt "&#62;">
+<!ENTITY amp "&#38;#38;">
+<!ENTITY apos "&#39;">
+<!ENTITY quot "&#34;">
+
+<!-- HTMLの汎用的なタグ -->
+<!ELEMENT P (#PCDATA | EM | STRONG | A)*>
+<!ELEMENT OL (LI)*>
+<!ELEMENT UL (LI)*>
+<!ELEMENT LI (#PCDATA | EM | STRONG | A)*>
+<!ELEMENT EM (#PCDATA | EM | STRONG | A)*>
+<!ELEMENT STRONG (#PCDATA | EM | STRONG | A)*>
+<!ELEMENT A (#PCDATA | EM | STRONG)*>
+<!ATTLIST A
+ name CDATA #IMPLIED
+ href CDATA #IMPLIED
+ >
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-euc-jp.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-euc-jp.xml
new file mode 100644
index 0000000000..887ab5ec30
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-euc-jp.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="euc-jp"?>
+<!DOCTYPE 週報 SYSTEM "weekly-euc-jp.dtd">
+<!-- 週報サンプル -->
+<週報>
+ <年月週>
+ <年度>1997</年度>
+ <月度>1</月度>
+ <週>1</週>
+ </年月週>
+
+ <氏名>
+ <氏>山田</氏>
+ <名>太郎</名>
+ </氏名>
+
+ <業務報告リスト>
+ <業務報告>
+ <業務名>XMLエディターの作成</業務名>
+ <業務コード>X3355-23</業務コード>
+ <工数管理>
+ <見積もり工数>1600</見積もり工数>
+ <実績工数>320</実績工数>
+ <当月見積もり工数>160</当月見積もり工数>
+ <当月実績工数>24</当月実績工数>
+ </工数管理>
+ <予定項目リスト>
+ <予定項目>
+ <P>XMLエディターの基本仕様の作成</P>
+ </予定項目>
+ </予定項目リスト>
+ <実施事項リスト>
+ <実施事項>
+ <P>XMLエディターの基本仕様の作成</P>
+ </実施事項>
+ <実施事項>
+ <P>競合他社製品の機能調査</P>
+ </実施事項>
+ </実施事項リスト>
+ <上長への要請事項リスト>
+ <上長への要請事項>
+ <P>特になし</P>
+ </上長への要請事項>
+ </上長への要請事項リスト>
+ <問題点対策>
+ <P>XMLとは何かわからない。</P>
+ </問題点対策>
+ </業務報告>
+
+ <業務報告>
+ <業務名>検索エンジンの開発</業務名>
+ <業務コード>S8821-76</業務コード>
+ <工数管理>
+ <見積もり工数>120</見積もり工数>
+ <実績工数>6</実績工数>
+ <当月見積もり工数>32</当月見積もり工数>
+ <当月実績工数>2</当月実績工数>
+ </工数管理>
+ <予定項目リスト>
+ <予定項目>
+ <P><A href="http://www.goo.ne.jp">goo</A>の機能を調べてみる</P>
+ </予定項目>
+ </予定項目リスト>
+ <実施事項リスト>
+ <実施事項>
+ <P>更に、どういう検索エンジンがあるか調査する</P>
+ </実施事項>
+ </実施事項リスト>
+ <上長への要請事項リスト>
+ <上長への要請事項>
+ <P>開発をするのはめんどうなので、Yahoo!を買収して下さい。</P>
+ </上長への要請事項>
+ </上長への要請事項リスト>
+ <問題点対策>
+ <P>検索エンジンで車を走らせることができない。(要調査)</P>
+ </問題点対策>
+ </業務報告>
+ </業務報告リスト>
+</週報>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-iso-2022-jp.dtd b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-iso-2022-jp.dtd
new file mode 100644
index 0000000000..d69eea54b0
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-iso-2022-jp.dtd
@@ -0,0 +1,72 @@
+<?xml encoding="iso-2022-JP"?>
+<!--
+*************************************************************************
+* *
+* DPSD PDG$B=5JsMQ(BDTD weekly.dtd *
+* *
+* Copyright 1997 Fuji Xerox Information Systems Co.,Ltd. *
+* *
+*************************************************************************
+-->
+
+
+<!-- $BJQ99MzNr(B
+ Version 1.0 1997/10/29 $B:n@.(B $BB<ED??(B
+-->
+
+<!ELEMENT $B=5Js(B ($BG/7n=5(B, $B;aL>(B, $B6HL3Js9p%j%9%H(B)>
+
+<!ELEMENT $BG/7n=5(B ($BG/EY(B, $B7nEY(B, $B=5(B)>
+<!ELEMENT $BG/EY(B (#PCDATA)> <!-- $BG/EY$rI=$9?t;z(B -->
+<!ELEMENT $B7nEY(B (#PCDATA)> <!-- $B7nEY$rI=$9?t;z(B -->
+<!ELEMENT $B=5(B (#PCDATA)> <!-- $B2?=5L\$+$rI=$9?t;z(B -->
+
+<!ELEMENT $B;aL>(B ($B;a(B, $BL>(B)>
+<!ELEMENT $B;a(B (#PCDATA)>
+<!ELEMENT $BL>(B (#PCDATA)>
+
+<!ELEMENT $B6HL3Js9p%j%9%H(B ($B6HL3Js9p(B+)>
+<!ELEMENT $B6HL3Js9p(B ($B6HL3L>(B, $B6HL3%3!<%I(B, $B9)?t4IM}(B,
+ $BM=Dj9`L\%j%9%H(B,
+ $B<B;\;v9`%j%9%H(B,
+ $B>eD9$X$NMW@A;v9`%j%9%H(B,
+ $BLdBjE@BP:v(B?)>
+<!ELEMENT $B6HL3L>(B (#PCDATA)> <!-- $B6HL3%3!<%I0lMw$r;2>H(B -->
+<!ELEMENT $B6HL3%3!<%I(B (#PCDATA)> <!-- $B6HL3%3!<%I0lMw$r;2>H(B -->
+
+<!ELEMENT $B9)?t4IM}(B ($B8+@Q$b$j9)?t(B, $B<B@S9)?t(B,
+ $BEv7n8+@Q$b$j9)?t(B, $BEv7n<B@S9)?t(B)>
+<!ELEMENT $B8+@Q$b$j9)?t(B (#PCDATA)> <!-- $BC10L$O;~4V(B -->
+<!ELEMENT $B<B@S9)?t(B (#PCDATA)> <!-- $BC10L$O;~4V(B -->
+<!ELEMENT $BEv7n8+@Q$b$j9)?t(B (#PCDATA)> <!-- $BC10L$O;~4V(B -->
+<!ELEMENT $BEv7n<B@S9)?t(B (#PCDATA)> <!-- $BC10L$O;~4V(B -->
+
+<!ELEMENT $BM=Dj9`L\%j%9%H(B ($BM=Dj9`L\(B*)>
+<!ELEMENT $BM=Dj9`L\(B ((P | OL | UL)+)>
+<!ELEMENT $B<B;\;v9`%j%9%H(B ($B<B;\;v9`(B*)>
+<!ELEMENT $B<B;\;v9`(B ((P | OL | UL)+)>
+<!ELEMENT $BLdBjE@BP:v(B ((P | OL | UL)+)>
+
+<!ELEMENT $B>eD9$X$NMW@A;v9`%j%9%H(B ($B>eD9$X$NMW@A;v9`(B*)>
+<!ELEMENT $B>eD9$X$NMW@A;v9`(B ((P | OL | UL)+)>
+
+
+<!-- XML$B$G$"$i$+$8$aDj5A$5$l$?<BBN(B -->
+<!ENTITY lt "&#38;#60;">
+<!ENTITY gt "&#62;">
+<!ENTITY amp "&#38;#38;">
+<!ENTITY apos "&#39;">
+<!ENTITY quot "&#34;">
+
+<!-- HTML$B$NHFMQE*$J%?%0(B -->
+<!ELEMENT P (#PCDATA | EM | STRONG | A)*>
+<!ELEMENT OL (LI)*>
+<!ELEMENT UL (LI)*>
+<!ELEMENT LI (#PCDATA | EM | STRONG | A)*>
+<!ELEMENT EM (#PCDATA | EM | STRONG | A)*>
+<!ELEMENT STRONG (#PCDATA | EM | STRONG | A)*>
+<!ELEMENT A (#PCDATA | EM | STRONG)*>
+<!ATTLIST A
+ name CDATA #IMPLIED
+ href CDATA #IMPLIED
+ >
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-iso-2022-jp.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-iso-2022-jp.xml
new file mode 100644
index 0000000000..9a8e8545ac
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-iso-2022-jp.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE $B=5Js(B SYSTEM "weekly-iso-2022-jp.dtd">
+<!-- $B=5Js%5%s%W%k(B -->
+<$B=5Js(B>
+ <$BG/7n=5(B>
+ <$BG/EY(B>1997</$BG/EY(B>
+ <$B7nEY(B>1</$B7nEY(B>
+ <$B=5(B>1</$B=5(B>
+ </$BG/7n=5(B>
+
+ <$B;aL>(B>
+ <$B;a(B>$B;3ED(B</$B;a(B>
+ <$BL>(B>$BB@O:(B</$BL>(B>
+ </$B;aL>(B>
+
+ <$B6HL3Js9p%j%9%H(B>
+ <$B6HL3Js9p(B>
+ <$B6HL3L>(B>XML$B%(%G%#%?!<$N:n@.(B</$B6HL3L>(B>
+ <$B6HL3%3!<%I(B>X3355-23</$B6HL3%3!<%I(B>
+ <$B9)?t4IM}(B>
+ <$B8+@Q$b$j9)?t(B>1600</$B8+@Q$b$j9)?t(B>
+ <$B<B@S9)?t(B>320</$B<B@S9)?t(B>
+ <$BEv7n8+@Q$b$j9)?t(B>160</$BEv7n8+@Q$b$j9)?t(B>
+ <$BEv7n<B@S9)?t(B>24</$BEv7n<B@S9)?t(B>
+ </$B9)?t4IM}(B>
+ <$BM=Dj9`L\%j%9%H(B>
+ <$BM=Dj9`L\(B>
+ <P>XML$B%(%G%#%?!<$N4pK\;EMM$N:n@.(B</P>
+ </$BM=Dj9`L\(B>
+ </$BM=Dj9`L\%j%9%H(B>
+ <$B<B;\;v9`%j%9%H(B>
+ <$B<B;\;v9`(B>
+ <P>XML$B%(%G%#%?!<$N4pK\;EMM$N:n@.(B</P>
+ </$B<B;\;v9`(B>
+ <$B<B;\;v9`(B>
+ <P>$B6%9gB><R@=IJ$N5!G=D4::(B</P>
+ </$B<B;\;v9`(B>
+ </$B<B;\;v9`%j%9%H(B>
+ <$B>eD9$X$NMW@A;v9`%j%9%H(B>
+ <$B>eD9$X$NMW@A;v9`(B>
+ <P>$BFC$K$J$7(B</P>
+ </$B>eD9$X$NMW@A;v9`(B>
+ </$B>eD9$X$NMW@A;v9`%j%9%H(B>
+ <$BLdBjE@BP:v(B>
+ <P>XML$B$H$O2?$+$o$+$i$J$$!#(B</P>
+ </$BLdBjE@BP:v(B>
+ </$B6HL3Js9p(B>
+
+ <$B6HL3Js9p(B>
+ <$B6HL3L>(B>$B8!:w%(%s%8%s$N3+H/(B</$B6HL3L>(B>
+ <$B6HL3%3!<%I(B>S8821-76</$B6HL3%3!<%I(B>
+ <$B9)?t4IM}(B>
+ <$B8+@Q$b$j9)?t(B>120</$B8+@Q$b$j9)?t(B>
+ <$B<B@S9)?t(B>6</$B<B@S9)?t(B>
+ <$BEv7n8+@Q$b$j9)?t(B>32</$BEv7n8+@Q$b$j9)?t(B>
+ <$BEv7n<B@S9)?t(B>2</$BEv7n<B@S9)?t(B>
+ </$B9)?t4IM}(B>
+ <$BM=Dj9`L\%j%9%H(B>
+ <$BM=Dj9`L\(B>
+ <P><A href="http://www.goo.ne.jp">goo</A>$B$N5!G=$rD4$Y$F$_$k(B</P>
+ </$BM=Dj9`L\(B>
+ </$BM=Dj9`L\%j%9%H(B>
+ <$B<B;\;v9`%j%9%H(B>
+ <$B<B;\;v9`(B>
+ <P>$B99$K!"$I$&$$$&8!:w%(%s%8%s$,$"$k$+D4::$9$k(B</P>
+ </$B<B;\;v9`(B>
+ </$B<B;\;v9`%j%9%H(B>
+ <$B>eD9$X$NMW@A;v9`%j%9%H(B>
+ <$B>eD9$X$NMW@A;v9`(B>
+ <P>$B3+H/$r$9$k$N$O$a$s$I$&$J$N$G!"(BYahoo!$B$rGc<}$7$F2<$5$$!#(B</P>
+ </$B>eD9$X$NMW@A;v9`(B>
+ </$B>eD9$X$NMW@A;v9`%j%9%H(B>
+ <$BLdBjE@BP:v(B>
+ <P>$B8!:w%(%s%8%s$G<V$rAv$i$;$k$3$H$,$G$-$J$$!#!JMWD4::!K(B</P>
+ </$BLdBjE@BP:v(B>
+ </$B6HL3Js9p(B>
+ </$B6HL3Js9p%j%9%H(B>
+</$B=5Js(B>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-little-endian.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-little-endian.xml
new file mode 100644
index 0000000000..81f72e59e8
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-little-endian.xml
Binary files differ
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-shift_jis.dtd b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-shift_jis.dtd
new file mode 100644
index 0000000000..684c848e2f
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-shift_jis.dtd
@@ -0,0 +1,72 @@
+<?xml encoding="Shift_JIS"?>
+<!--
+*************************************************************************
+* *
+* DPSD PDGTpDTD weekly.dtd *
+* *
+* Copyright 1997 Fuji Xerox Information Systems Co.,Ltd. *
+* *
+*************************************************************************
+-->
+
+
+<!-- X
+ Version 1.0 1997/10/29 c^
+-->
+
+<!ELEMENT T (NT, , Xg)>
+
+<!ELEMENT NT (Nx, x, T)>
+<!ELEMENT Nx (#PCDATA)> <!-- Nx\ -->
+<!ELEMENT x (#PCDATA)> <!-- x\ -->
+<!ELEMENT T (#PCDATA)> <!-- T\ -->
+
+<!ELEMENT (, )>
+<!ELEMENT (#PCDATA)>
+<!ELEMENT (#PCDATA)>
+
+<!ELEMENT Xg (+)>
+<!ELEMENT (, R[h, H,
+ \Xg,
+ タ{Xg,
+ vXg,
+ _?)>
+<!ELEMENT (#PCDATA)> <!-- R[hQ -->
+<!ELEMENT R[h (#PCDATA)> <!-- R[hQ -->
+
+<!ELEMENT H (H, タH,
+ H, タH)>
+<!ELEMENT H (#PCDATA)> <!-- P -->
+<!ELEMENT タH (#PCDATA)> <!-- P -->
+<!ELEMENT H (#PCDATA)> <!-- P -->
+<!ELEMENT タH (#PCDATA)> <!-- P -->
+
+<!ELEMENT \Xg (\*)>
+<!ELEMENT \ ((P | OL | UL)+)>
+<!ELEMENT タ{Xg (タ{*)>
+<!ELEMENT タ{ ((P | OL | UL)+)>
+<!ELEMENT _ ((P | OL | UL)+)>
+
+<!ELEMENT vXg (v*)>
+<!ELEMENT v ((P | OL | UL)+)>
+
+
+<!-- XML`タ -->
+<!ENTITY lt "&#38;#60;">
+<!ENTITY gt "&#62;">
+<!ENTITY amp "&#38;#38;">
+<!ENTITY apos "&#39;">
+<!ENTITY quot "&#34;">
+
+<!-- HTMLpI^O -->
+<!ELEMENT P (#PCDATA | EM | STRONG | A)*>
+<!ELEMENT OL (LI)*>
+<!ELEMENT UL (LI)*>
+<!ELEMENT LI (#PCDATA | EM | STRONG | A)*>
+<!ELEMENT EM (#PCDATA | EM | STRONG | A)*>
+<!ELEMENT STRONG (#PCDATA | EM | STRONG | A)*>
+<!ELEMENT A (#PCDATA | EM | STRONG)*>
+<!ATTLIST A
+ name CDATA #IMPLIED
+ href CDATA #IMPLIED
+ >
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-shift_jis.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-shift_jis.xml
new file mode 100644
index 0000000000..742145560d
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-shift_jis.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<!DOCTYPE T SYSTEM "weekly-shift_jis.dtd">
+<!-- TTv -->
+<T>
+ <NT>
+ <Nx>1997</Nx>
+ <x>1</x>
+ <T>1</T>
+ </NT>
+
+ <>
+ <>Rc</>
+ <>Y</>
+ </>
+
+ <Xg>
+ <>
+ <>XMLGfB^[</>
+ <R[h>X3355-23</R[h>
+ <H>
+ <H>1600</H>
+ <タH>320</タH>
+ <H>160</H>
+ <タH>24</タH>
+ </H>
+ <\Xg>
+ <\>
+ <P>XMLGfB^[{dl</P>
+ </\>
+ </\Xg>
+ <タ{Xg>
+ <タ{>
+ <P>XMLGfB^[{dl</P>
+ </タ{>
+ <タ{>
+ <P>ミi@\</P>
+ </タ{>
+ </タ{Xg>
+ <vXg>
+ <v>
+ <P></P>
+ </v>
+ </vXg>
+ <_>
+ <P>XMLB</P>
+ </_>
+ </>
+
+ <>
+ <>GWJ</>
+ <R[h>S8821-76</R[h>
+ <H>
+ <H>120</H>
+ <タH>6</タH>
+ <H>32</H>
+ <タH>2</タH>
+ </H>
+ <\Xg>
+ <\>
+ <P><A href="http://www.goo.ne.jp">goo</A>@\</P>
+ </\>
+ </\Xg>
+ <タ{Xg>
+ <タ{>
+ <P>XAGW</P>
+ </タ{>
+ </タ{Xg>
+ <vXg>
+ <v>
+ <P>JAYahoo!B</P>
+ </v>
+ </vXg>
+ <_>
+ <P>GWヤBivj</P>
+ </_>
+ </>
+ </Xg>
+</T>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-utf-16.dtd b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-utf-16.dtd
new file mode 100644
index 0000000000..8259bc2566
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-utf-16.dtd
Binary files differ
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-utf-16.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-utf-16.xml
new file mode 100644
index 0000000000..6c8622aa43
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-utf-16.xml
Binary files differ
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-utf-8.dtd b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-utf-8.dtd
new file mode 100644
index 0000000000..8fa4368fd8
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-utf-8.dtd
@@ -0,0 +1,71 @@
+<!--
+*************************************************************************
+* *
+* DPSD PDG怨援DTD weekly.dtd *
+* *
+* Copyright 1997 Fuji Xerox Information Systems Co.,Ltd. *
+* *
+*************************************************************************
+-->
+
+
+<!-- 紊翫吋罩
+ Version 1.0 1997/10/29 篏 亥
+-->
+
+<!ELEMENT 怨 (綛贋, 羂, 罐怨鴻)>
+
+<!ELEMENT 綛贋 (綛翫墾, 綺, )>
+<!ELEMENT 綛翫墾 (#PCDATA)> <!-- 綛翫墾茵医 -->
+<!ELEMENT 綺 (#PCDATA)> <!-- 綺茵医 -->
+<!ELEMENT (#PCDATA)> <!-- 篏援茵医 -->
+
+<!ELEMENT 羂 (羂, )>
+<!ELEMENT 羂 (#PCDATA)>
+<!ELEMENT (#PCDATA)>
+
+<!ELEMENT 罐怨鴻 (罐怨+)>
+<!ELEMENT 罐怨 (罐, 罐潟若, 綏ユ亥∞,
+ 篋絎鴻,
+ 絎巡鴻,
+ 筝激吾荀茫篋鴻,
+ 馹劫丞?)>
+<!ELEMENT 罐 (#PCDATA)> <!-- 罐潟若筝荀с -->
+<!ELEMENT 罐潟若 (#PCDATA)> <!-- 罐潟若筝荀с -->
+
+<!ELEMENT 綏ユ亥∞ (荀腥綏ユ, 絎膰上轡,
+ 綵荀腥綏ユ, 綵絎膰上轡)>
+<!ELEMENT 荀腥綏ユ (#PCDATA)> <!-- 篏 -->
+<!ELEMENT 絎膰上轡 (#PCDATA)> <!-- 篏 -->
+<!ELEMENT 綵荀腥綏ユ (#PCDATA)> <!-- 篏 -->
+<!ELEMENT 綵絎膰上轡 (#PCDATA)> <!-- 篏 -->
+
+<!ELEMENT 篋絎鴻 (篋絎*)>
+<!ELEMENT 篋絎 ((P | OL | UL)+)>
+<!ELEMENT 絎巡鴻 (絎巡*)>
+<!ELEMENT 絎巡 ((P | OL | UL)+)>
+<!ELEMENT 馹劫丞 ((P | OL | UL)+)>
+
+<!ELEMENT 筝激吾荀茫篋鴻 (筝激吾荀茫篋*)>
+<!ELEMENT 筝激吾荀茫篋 ((P | OL | UL)+)>
+
+
+<!-- XMLс絎臂絎篏 -->
+<!ENTITY lt "&#38;#60;">
+<!ENTITY gt "&#62;">
+<!ENTITY amp "&#38;#38;">
+<!ENTITY apos "&#39;">
+<!ENTITY quot "&#34;">
+
+<!-- HTML羆帥 -->
+<!ELEMENT P (#PCDATA | EM | STRONG | A)*>
+<!ELEMENT OL (LI)*>
+<!ELEMENT UL (LI)*>
+<!ELEMENT LI (#PCDATA | EM | STRONG | A)*>
+<!ELEMENT EM (#PCDATA | EM | STRONG | A)*>
+<!ELEMENT STRONG (#PCDATA | EM | STRONG | A)*>
+<!ELEMENT A (#PCDATA | EM | STRONG)*>
+<!ATTLIST A
+ name CDATA #IMPLIED
+ href CDATA #IMPLIED
+ >
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-utf-8.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-utf-8.xml
new file mode 100644
index 0000000000..497f572c0a
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-utf-8.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0"?>
+<!DOCTYPE 怨 SYSTEM "weekly-utf-8.dtd">
+<!-- 怨宴泣潟 -->
+<怨>
+ <綛贋>
+ <綛翫墾>1997</綛翫墾>
+ <綺>1</綺>
+ <>1</>
+ </綛贋>
+
+ <羂>
+ <羂>絮援</羂>
+ <>紊</>
+ </羂>
+
+ <罐怨鴻>
+ <罐怨>
+ <罐>XMLc帥若篏</罐>
+ <罐潟若>X3355-23</罐潟若>
+ <綏ユ亥∞>
+ <荀腥綏ユ>1600</荀腥綏ユ>
+ <絎膰上轡>320</絎膰上轡>
+ <綵荀腥綏ユ>160</綵荀腥綏ユ>
+ <綵絎膰上轡>24</綵絎膰上轡>
+ </綏ユ亥∞>
+ <篋絎鴻>
+ <篋絎>
+ <P>XMLc帥若堺篁罕篏</P>
+ </篋絎>
+ </篋絎鴻>
+ <絎巡鴻>
+ <絎巡>
+ <P>XMLc帥若堺篁罕篏</P>
+ </絎巡>
+ <絎巡>
+ <P>腴九篁腓乗遵罘処炊</P>
+ </絎巡>
+ </絎巡鴻>
+ <筝激吾荀茫篋鴻>
+ <筝激吾荀茫篋>
+ <P>鴻</P>
+ </筝激吾荀茫篋>
+ </筝激吾荀茫篋鴻>
+ <馹劫丞>
+ <P>XML篏</P>
+ </馹劫丞>
+ </罐怨>
+
+ <罐怨>
+ <罐>罎膣≪潟吾潟</罐>
+ <罐潟若>S8821-76</罐潟若>
+ <綏ユ亥∞>
+ <荀腥綏ユ>120</荀腥綏ユ>
+ <絎膰上轡>6</絎膰上轡>
+ <綵荀腥綏ユ>32</綵荀腥綏ユ>
+ <綵絎膰上轡>2</綵絎膰上轡>
+ </綏ユ亥∞>
+ <篋絎鴻>
+ <篋絎>
+ <P><A href="http://www.goo.ne.jp">goo</A>罘純茯帥鴻帥</P>
+ </篋絎>
+ </篋絎鴻>
+ <絎巡鴻>
+ <絎巡>
+ <P>眼罎膣≪潟吾潟茯炊祉</P>
+ </絎巡>
+ </絎巡鴻>
+ <筝激吾荀茫篋鴻>
+ <筝激吾荀茫篋>
+ <P>冴сYahoo!莢桁筝</P>
+ </筝激吾荀茫篋>
+ </筝激吾荀茫篋鴻>
+ <馹劫丞>
+ <P>罎膣≪潟吾潟ц莎違с鐚荀茯炊誌</P>
+ </馹劫丞>
+ </罐怨>
+ </罐怨鴻>
+</怨>