tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-iso-2022-jp.xml
changeset 0 1918ee327afb
child 7 3f74d0d4af4c
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 <?xml version="1.0" encoding="iso-2022-jp"?>
       
     2 <!DOCTYPE spec SYSTEM "spec.dtd" [
       
     3 
       
     4 <!-- $BF|K\8lLu$N$?$a$N2r@OBP>]<BBN!J$3$3$+$i!K(B -->
       
     5 
       
     6 <!ENTITY TR-or-Rec             "$B;EMM=q(B">
       
     7 <!-- <!ENTITY TR-or-Rec             "$BI8=`>pJs(B(TR)"> -->
       
     8 <!ENTITY eTR-or-Rec            "specification">
       
     9 <!-- <!ENTITY eTR-or-Rec             "technical report(TR)"> -->
       
    10 <!ENTITY application           "$B%"%W%j%1!<%7%g%s(B">
       
    11 <!ENTITY error                 "$B%(%i!<(B">
       
    12 <!ENTITY fatal-error           "$BCWL?E*%(%i!<(B">
       
    13 <!ENTITY parsed-data           "$B2r@O$5$l$k%G!<%?(B">
       
    14 <!ENTITY unparsed-data         "$B2r@O$5$l$J$$%G!<%?(B">
       
    15 <!ENTITY parsed-entity         "$B2r@OBP>]<BBN(B">
       
    16 <!ENTITY parser                "$B%Q!<%5(B">
       
    17 <!ENTITY unparsed-entity       "$B2r@OBP>]30<BBN(B">
       
    18 <!ENTITY well-formed           "$B@07A<0(B">
       
    19 <!ENTITY valid                 "$BBEEv(B">
       
    20 <!ENTITY validity              "$BBEEv@-(B">
       
    21 <!ENTITY escape                "$BJL07$$(B">
       
    22 <!ENTITY prolog                "$B=q$-(B">
       
    23 <!ENTITY surrogate-blocks      "$B%5%m%2!<%H%V%m%C%/(B">
       
    24 <!ENTITY letter                "$B;z(B">
       
    25 <!ENTITY ideographic           "$BE}9g4A;z(B">
       
    26 <!ENTITY markup                "$B%^!<%/IU$1(B">
       
    27 <!ENTITY left-angle-bracket    "$BITEy9f(B($B>.$J$j(B)">
       
    28 <!ENTITY right-angle-bracket   "$BITEy9f(B($BBg$J$j(B)">
       
    29 <!ENTITY string                "$BJ8;zNs(B">
       
    30 <!ENTITY char-string           "$BJ8;zNs(B"><!-- string of chararacters, 
       
    31                                           character strings, strings, 
       
    32                                           characters $B$O$9$Y$FJ8;zNs$H$9$k(B -->
       
    33 <!ENTITY replacement-text      "$BCV49%F%-%9%H(B">
       
    34 <!ENTITY single-quote          "$B0l=E0zMQId(B">
       
    35 <!ENTITY double-quote          "$BFs=E0zMQId(B">
       
    36 <!ENTITY adaptations-annex     "$BE,MQImB0=q(B">
       
    37 <!ENTITY root                  "$B%k!<%H(B">
       
    38 <!ENTITY base-character        "$B4pDlJ8;z(B">
       
    39 <!ENTITY diacritical-mark      "$BH/2;Id(B"><!--($B%@%$%"%/%j%F%#%+%k%^!<%/(B)$B$r=i=P$N$H$-Jd$&(B-->
       
    40 <!ENTITY composed-form         "$B9g@.7A<0(B">
       
    41 <!ENTITY standalone            "$B%9%?%s%I%"%m%s(B">
       
    42 <!ENTITY double-hyphen         "$BFsO"%O%$%U%s(B">
       
    43 <!--<!ENTITY case-fold             "$BBgJ8;z$+>.J8;z$X$NE}0l(B">-->
       
    44 <!-- <!ENTITY case-fold             "$BHf3S$N$H$-!$BgJ8;z$H>.J8;z$NF10l;k(B">-->
       
    45 <!ENTITY parameter             "$B%Q%i%a%?(B">
       
    46 <!ENTITY stream                "$B%9%H%j!<%`(B">
       
    47 <!ENTITY validating            "$BBEEv@-$r8!>Z$9$k(B">
       
    48 <!ENTITY non-validating        "$BBEEv@-$r8!>Z$7$J$$(B">
       
    49 <!ENTITY user                  "$B%f!<%6(B">
       
    50 <!--<!ENTITY at-user-option        "$B%f!<%6$,%*%W%7%g%s$r;XDj$7$?$H$-(B">-->
       
    51 <!ENTITY at-user-option    "$B%f!<%6$N%*%W%7%g%s;XDj$K$h$C$F$O(B">
       
    52 <!ENTITY content-particle     "$BFbMFAG;R(B">
       
    53 <!ENTITY processor            "$B%W%m%;%5(B">
       
    54 <!ENTITY default              "$B%G%U%)%k%H(B">
       
    55 <!ENTITY default-value        "$B%G%U%)%k%HCM(B">
       
    56 <!ENTITY header               "$B%X%C%@(B">
       
    57 <!ENTITY target               "$B%?!<%2%C%H(B">
       
    58 <!ENTITY mixed-content        "$B:.9gFbMF(B">
       
    59 <!ENTITY country-code         "$B9q%3!<%I(B">
       
    60 <!ENTITY language-code        "$B8@8l%3!<%I(B">
       
    61 <!ENTITY version              "$BHG(B"> <!-- version 1.0$B$OBh(B1.0$BHG(B -->
       
    62 <!ENTITY match                "$B%^%C%A(B">
       
    63 <!ENTITY character-value      "$BJ8;zHV9f(B">
       
    64 <!ENTITY byte-order-mark      "$B%P%$%H=g%^!<%/(B">
       
    65 <!ENTITY bypass               "$B=hM}$7$J$$(B">
       
    66 <!ENTITY identifier           "$B<1JL;R(B">
       
    67 <!-- <!ENTITY identify             "$B<1JL$9$k(B"> -->
       
    68 <!ENTITY identify        "$BFCDj$9$k(B">
       
    69 <!-- <!ENTITY identified           "$B<1JL$5$l$k(B"> -->
       
    70 <!ENTITY identified      "$BFCDj$5$l$k(B">
       
    71 <!ENTITY combining-character  "$B7k9gJ8;z(B">
       
    72 <!ENTITY subset               "$B%5%V%;%C%H(B">
       
    73 <!ENTITY token                "$B%H!<%/%s(B">
       
    74 <!ENTITY literal              "$B%j%F%i%k(B">
       
    75 
       
    76 <!ENTITY parenthesis          "$B$+$C$3(B">
       
    77 <!ENTITY left-parenthesis     "$B3+$-$+$C$3(B">
       
    78 <!ENTITY right-parenthesis    "$BJD$8$+$C$3(B">
       
    79 
       
    80 <!-- $B$"$H$G5$$,$D$$$?$b$N(B JIS X0221$B$r8+$kI,MW$"$j(B -->
       
    81 
       
    82 <!ENTITY extender             "$B%(%/%9%F%s%@(B">
       
    83 <!ENTITY property             "$B%W%m%Q%F%#(B">
       
    84 <!ENTITY property-list        "$B%W%m%Q%F%#%j%9%H(B">
       
    85 <!ENTITY property-file        "$B%W%m%Q%F%#%U%!%$%k(B">
       
    86 <!ENTITY font-decomposition   "$B%U%)%s%HJ,2r(B">
       
    87 <!ENTITY compatibility-decomposition  "$B8_49@-J,2r(B">
       
    88 <!ENTITY compatibility-area   "$B8_49@-NN0h(B">
       
    89 
       
    90 <!ENTITY language-identification "$B8@8l<1JL(B">
       
    91 
       
    92 <!ENTITY space-character "$B%9%Z!<%9J8;z(B">
       
    93 <!ENTITY space           "$B%9%Z!<%9(B">
       
    94 <!ENTITY code-value      "$B%3!<%ICM(B">
       
    95 <!ENTITY normative       "$B5,Dj$N(B">
       
    96 <!ENTITY hueristics      "$B%R%e!<%j%9%F%#%C%/(B">
       
    97 <!ENTITY informative     "">
       
    98 
       
    99 <!ENTITY WebSGML 'ISO 8879$B$X$N(BWebSGML&adaptations-annex;'>
       
   100 <!ENTITY XML.version "1.0">
       
   101 <!ENTITY doc.date "1997$BG/(B12$B7n(B8$BF|(B">
       
   102 <!ENTITY iso6.doc.date "971208">
       
   103 <!ENTITY w3c.doc.date "97$BG/(B12$B7n(B3$BF|(B">
       
   104 <!ENTITY draft.day '8$BF|(B'>
       
   105 <!ENTITY draft.month '12$B7n(B'>
       
   106 <!ENTITY draft.year '1997$BG/(B'>
       
   107 
       
   108 <!-- $BF|K\8lLu$N$?$a$N2r@OBP>]<BBN!J$3$3$^$G!K(B -->
       
   109 
       
   110 <!-- LAST TOUCHED BY: Tim Bray, 3 Dec 1997 -->
       
   111 
       
   112 <!-- The words 'FINAL EDIT' in comments mark places where changes
       
   113 need to be made after approval of the document by the ERB, before
       
   114 publication.  -->
       
   115 
       
   116 <!ENTITY XML.version "1.0">
       
   117 <!ENTITY doc.date "8 December 1997">
       
   118 <!ENTITY iso6.doc.date "971208">
       
   119 <!ENTITY w3c.doc.date "03-Dec-97">
       
   120 <!ENTITY draft.day '8'>
       
   121 <!ENTITY draft.month 'December'>
       
   122 <!ENTITY draft.year '1997'>
       
   123 
       
   124 <!ENTITY WebSGML 
       
   125  'WebSGML Adaptations Annex to ISO 8879'>
       
   126 
       
   127 <!ENTITY newline " ">
       
   128 <!-- old: <!ENTITY newline "&#8232;"> -->
       
   129 <!ENTITY lt     "<"> 
       
   130 <!ENTITY gt     ">"> 
       
   131 <!--<!ENTITY amp    "&"> -->
       
   132 <!ENTITY xmlpio "'&lt;?xml'">
       
   133 <!ENTITY pic    "'?>'">
       
   134 <!ENTITY br     "\n">
       
   135 <!ENTITY cellback '#c0d9c0'>
       
   136 <!ENTITY mdash  "--"> <!-- was: <!ENTITY mdash  "&#38;#151;"> -->
       
   137 <!ENTITY com    "--">
       
   138 <!ENTITY como   "--">
       
   139 <!ENTITY comc   "--">
       
   140 <!ENTITY hcro   "&amp;#x">
       
   141 <!-- <!ENTITY nbsp ""> -->
       
   142 <!ENTITY nbsp   "&#160;">
       
   143 <!ENTITY magicents "<code>amp</code>,
       
   144 <code>lt</code>,
       
   145 <code>gt</code>,
       
   146 <code>apos</code>,
       
   147 <code>quot</code>">
       
   148 
       
   149 <!--$BF|K\8lLu$K$D$$$F(B: $B%3%a%s%H$OK]LuBP>]$+$i30$7$^$7$?!#NkLZOBIW(B -->
       
   150 <!-- audience and distribution status:  for use at publication time -->
       
   151 <!--  -->
       
   152 <!ENTITY doc.audience "$B8x3+%l%S%e!<5Z$S5DO@(B">
       
   153 <!ENTITY doc.distribution "$B%F%-%9%H5Z$SK!N'>e$NCm0U$r2~JQ$7$J$$8B$j!$(B
       
   154 $B<+M3$KG[I[$7$F$b$h$$(B">
       
   155 
       
   156 ]>
       
   157 
       
   158 <!-- for Panorama *-->
       
   159 <?VERBATIM "eg" ?>
       
   160 
       
   161 <spec>
       
   162 <header>
       
   163 <title>$B3HD%2DG=$J(B&markup;$B8@8l(B (XML)</title>
       
   164 <version>$BBh(B1.0&version;</version>
       
   165 <w3c-designation>PR-xml-&iso6.doc.date;</w3c-designation>
       
   166 <w3c-doctype>World Wide Web Consortium</w3c-doctype>
       
   167 <pubdate><day>&draft.day;</day><month>&draft.month;</month><year>&draft.year;</year></pubdate>
       
   168 <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
       
   169 <!-- FINAL EDIT:  FIX --></p></notice>
       
   170 <publoc>
       
   171 <loc  href="http://www.w3.org/TR/PR-xml-&iso6.doc.date;">
       
   172 http://www.w3.org/TR/PR-xml-&iso6.doc.date;</loc></publoc>
       
   173 <prevlocs>
       
   174 <loc  href='http://www.w3.org/TR/WD-xml-961114'>
       
   175 http://www.w3.org/TR/WD-xml-961114</loc>
       
   176 <loc  href='http://www.w3.org/TR/WD-xml-lang-970331'>
       
   177 http://www.w3.org/TR/WD-xml-lang-970331</loc>
       
   178 <loc  href='http://www.w3.org/TR/WD-xml-lang-970630'>
       
   179 http://www.w3.org/TR/WD-xml-lang-970630</loc>
       
   180 <loc  href='http://www.w3.org/TR/WD-xml-970807'>
       
   181 http://www.w3.org/TR/WD-xml-970807</loc>
       
   182 <loc  href='http://www.w3.org/TR/WD-xml-971117'>
       
   183 http://www.w3.org/TR/WD-xml-971117</loc>
       
   184 </prevlocs>
       
   185 <authlist>
       
   186 <author><name>Tim Bray</name>
       
   187 <affiliation>Textuality and Netscape</affiliation>
       
   188 <email 
       
   189 href="mailto:tbray@textuality.com">tbray@textuality.com</email></author>
       
   190 <author><name>Jean Paoli</name>
       
   191 <affiliation>Microsoft</affiliation>
       
   192 <email href="mailto:jeanpa@microsoft.com">jeanpa@microsoft.com</email></author>
       
   193 <author><name>C. M. Sperberg-McQueen</name>
       
   194 <affiliation>University of Illinois at Chicago</affiliation>
       
   195 <email href="mailto:cmsmcq@uic.edu">cmsmcq@uic.edu</email></author>
       
   196 </authlist>
       
   197 <status>
       
   198       <p>$B$3$N(B&TR-or-Rec;$B$O(B, 1997$BG/(B12$B7n$K(BWorld Wide Web Consortium$B$+$i(B
       
   199 $B8xI=$5$l$?4+9p0F(BExtensible Markup Language version$BBh(B1.0$BHG$rK]Lu$7(B, $B5;(B
       
   200 $B=QE*FbMF$rJQ99$9$k$3$H$J$/:n@.$7$?(B&TR-or-Rec;$B$G$"$k!#(BThis &eTR-or-Rec; 
       
   201 is a translation of the XML proposed recommendation 1.0
       
   202 published by the World Wide Web Consortium in December 1997.  It is
       
   203 intended that &eTR-or-Rec; is technically identical to the original.</p>
       
   204 
       
   205 <p>$B86J8$K$"$k!"Cx:n8"$K4X$7$F$N5-=R$r<!$K<($9!#(BThe
       
   206 original copyright notice is shown below:</p>
       
   207 
       
   208 <p>$B$3$NHG$N(BXML$B$N5,Dj$O!$8x3+%l%S%e!<5Z$S5DO@$r(B
       
   209 $BL\E*$H$9$k!#%F%-%9%H5Z$SK!N'>e$NCm0U$r2~JQ$7$J$$8B$j!$<+M3$K(B
       
   210 $BG[I[$7$F$b$h$$!#(BThis version of the XML specification is for
       
   211 public review and discussion. It may be distributed freely,
       
   212 as long as all text and legal notices remain intact.</p>
       
   213 
       
   214 <p>$B$3$N(B&TR-or-Rec;$B$N85$H$J$C$?(BXML$B4+9p0F$O!$(B1998$BG/(B2$B7n$K(BWorld
       
   215 Wide Web Consortium$B$+$i8xI=$5$l$?(BXML$B4+9p$K$h$C$F$9$G$KCV$-49(B
       
   216 $B$($i$l$F$$$k!#$3$NI8=`>pJs$O!$(BXML$B4+9p$K=>$C$FD{@5$9$k$3$H$r(B
       
   217 $BM=Dj$7$F$$$k!#(BThe XML Proposed Recommendation is superseded
       
   218 by the XML Recommendation which was published by the World
       
   219 Wide Web Consortium in February 1998.  It is intended that 
       
   220 this &eTR-or-Rec; be revised accordingly in the near future.</p>
       
   221 
       
   222 <p>$B$3$N(B&TR-or-Rec;$B$O!$0BDj$7$?$b$N$G$"$C$F!$:rG/Mh$N(B<loc
       
   223 href='http://www.w3.org/XML'>XML$B3hF0(B</loc>$B$rDL$8$F:n@.$5$l$?!$0lO"$N:n(B
       
   224 $B6HAp0F$r85$H$9$k!#8=:_!$9-HO0O$K;HMQ$5$l$F$$$k9q:]E*$J%F%-%9%H=hM}$NI8(B
       
   225 $B=`(B($BI8=`0lHL2=(B&markup;$B8@8l!$(BStandard Generalized Markup Language, ISO
       
   226 8879:1986$B$KDI2C5Z$SD{@5$r2C$($?$b$N(B)$B$N!$(BWWW$B>e$G$N;HMQ$N$?$a$K(B&subset;
       
   227 $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
       
   228 &subset;$B$K;D$9$+!$$H$$$&7hDj$K$D$$$F$N>\:Y$O!$(B<loc
       
   229 href='http://www.w3.org/XML/#WG-decisions'>$BJLESMQ0U$9$k(B</loc>$B!#(BXML$B$O!$(B
       
   230 $B4{$K$$$/$D$+$N>&IJ$G%5%]!<%H$5$l!$(BXML$B$r%5%]!<%H$9$k(B<loc
       
   231 href='http://www.w3.org/XML/#software'>$B%U%j!<%&%'%"(B</loc>$B$N?t$bA}$($F(B
       
   232 $B$$$k!#(BXML$B$K4X$9$k8x3+$NO@5D$b!$%*%s%i%$%s$G(B<loc
       
   233 href='http://www.w3.org/XML/#discussion'>$BF~<j$G$-$k(B</loc>$B!#(BIt is a
       
   234 stable document derived from a series of working drafts produced over
       
   235 the last year as deliverables of the <loc
       
   236 href='http://www.w3.org/XML'>XML activity</loc>.  It specifies a
       
   237 language created by subsetting an existing, widely used international
       
   238 text processing standard (Standard Generalized Markup Language, ISO
       
   239 8879:1986 as amended and corrected) for use on the World Wide Web.
       
   240 Details of the decisions regarding which features of ISO 8879 to
       
   241 retain in the subset <loc
       
   242 href='http://www.w3.org/XML/#WG-decisions'>are available
       
   243 separately</loc>.  XML is already supported by some commercial
       
   244 products, and there are a growing number of <loc
       
   245 href='http://www.w3.org/XML/#software'>free implementations</loc>.
       
   246 Public discussions of XML <loc
       
   247 href='http://www.w3.org/XML/#discussion'>are accessible
       
   248 online</loc>.</p>
       
   249 
       
   250 <p>$B$3$N(B&TR-or-Rec;$B$G$O!$(B<bibref ref="Berners-Lee"/>$B$KDj5A$9$k(B
       
   251 URI(Uniform Resource Identifier)$B$r;HMQ$9$k!#(BURI$B$N@)Dj:n6H$O?J9TCf$G$"$C(B
       
   252 $B$F!$(B<bibref ref="RFC1738"/>$B5Z$S(B<bibref ref="RFC1808"/>$B$r99?7$9$kM=Dj$H(B
       
   253 $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
       
   254 $B$X$N;2>H$O!$(BURL(Uniform Resource Locator)$B$X$N;2>H$KBe$o$k!#(BThis
       
   255 specification uses the term URI, which is defined by <bibref
       
   256 ref="Berners-Lee"/>, a work in progress expected to update <bibref
       
   257 ref="RFC1738"/> and <bibref ref="RFC1808"/>.  Should the work not be
       
   258 accepted as an RFC, the references to uniform resource identifiers
       
   259 (URIs) in this specification will become references to uniform
       
   260 resource locators (URLs).</p>
       
   261 
       
   262       <p>XML$B$N;EMM$K=`5r$7$F$$$k$+$I$&$+$N4p=`$H$J$k$O(BW3C$B$N%5%$%H$K$"(B
       
   263 $B$k86J8$G$"$k!#(BThe normative version of the specification is
       
   264 the English version found at the W3C site.</p>
       
   265 
       
   266       <p>$B$3$NI8=`>pJs$O86;EMM$H5;=QE*$KF10l$G$"$k$3$H$r0U?^$7$F$$$k$,!"(B
       
   267 $BK]Lu>e$N8m$j$O$"$jF@$k!#(BAlthough this technical report is
       
   268 intended to be technically identical to the original, it may
       
   269 contain errors from the translation.</p>
       
   270 
       
   271       <p>$BHw9M(B: $B865,Dj$H$N5,Dj2U=j$NBP1~4X78$rL@$i$+$K$9$k$?$a!"$3$N(B
       
   272 &TR-or-Rec;$B$N@a9=@.5Z$S@aHV9f$O!"865,Dj$N$=$l$i$r$G$-$k$@$1J]B8$7$F$$(B
       
   273 $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
       
   274 </p>
       
   275 </status>
       
   276 <!-- out of date
       
   277 <statusp>This is a W3C Working Draft for review by W3C members and other
       
   278 interested parties. It is a draft document and may be updated,
       
   279 replaced, or obsoleted by other documents at any time. It is
       
   280 inappropriate to use W3C Working Drafts as reference material or to
       
   281 cite them as other than "work in progress". A list of current W3C
       
   282 working drafts can be found at 
       
   283 <loc  href="http://www.w3.org/TR">http://www.w3.org/TR</loc>.</statusp>
       
   284 <statusp><emph>Note:</emph> Since working drafts are subject to frequent
       
   285 change, you are advised to reference the above URL, rather than the
       
   286 URLs for working drafts themselves.</statusp>
       
   287 <statusp>This work is part of the W3C SGML Activity (for current
       
   288 status, see <loc href="http://www.w3.org/MarkUp/SGML/Activity"
       
   289 >http://www.w3.org/MarkUp/SGML/Activity</loc>).</statusp>
       
   290 <p>The current
       
   291 draft of this specification 
       
   292 presupposes the successful completion of the current
       
   293 work on the &WebSGML;, being prepared by ISO/IEC JTC1 
       
   294 at the time this draft specification was drafted.
       
   295 If it is not
       
   296 adopted in the expected form, some clauses of this specification 
       
   297 may change,  and some
       
   298 recommendations now labeled "<termref def="dt-interop">for
       
   299 interoperability</termref>" will become requirements labeled
       
   300 "<termref def="dt-compat">for compatibility</termref>".
       
   301 </p>
       
   302 <p>The current draft of this specification uses the term 
       
   303 URI, which is defined by 
       
   304 <bibref ref="Berners-Lee"/>,
       
   305 which is work in progress expected to update 
       
   306 <bibref ref="RFC1738"/> and <bibref ref="RFC1808"/>.
       
   307 Should the work in this draft not be accepted as an RFC, the
       
   308 references to uniform resource identifiers (URIs) in this
       
   309 specification will become references to uniform resource
       
   310 locators (URLs).</p>
       
   311 </status> -->
       
   312 <abstract>
       
   313 <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>
       
   314 </abstract>
       
   315 <pubstmt>
       
   316 <p>Chicago, Vancouver, Mountain View, et al.:
       
   317 World-Wide Web Consortium, XML$B:n6H%0%k!<%W(B, 1996, 1997.</p>
       
   318 </pubstmt>
       
   319 <sourcedesc>
       
   320 <p>Created in electronic form.</p>
       
   321 </sourcedesc>
       
   322 <langusage>
       
   323 <language id='EN'>English</language>
       
   324 <language id='ebnf'>Extended Backus-Naur Form (formal grammar)</language>
       
   325 </langusage>
       
   326 <revisiondesc>
       
   327 <slist>
       
   328 <sitem>1997-12-03 : CMSMcQ : yet further changes</sitem>
       
   329 <sitem>1997-12-02 : TB : further changes (see TB to XML WG,
       
   330 2 December 1997)</sitem>
       
   331 <sitem>1997-12-02 : CMSMcQ : deal with as many corrections and
       
   332 comments from the proofreaders as possible:
       
   333 entify hard-coded document date in pubdate element,
       
   334 change expansion of entity WebSGML,
       
   335 update status description as per Dan Connolly (am not sure
       
   336 about refernece to Berners-Lee et al.),
       
   337 add 'The' to abstract as per WG decision,
       
   338 move Relationship to Existing Standards to back matter and
       
   339 combine with References,
       
   340 re-order back matter so normative appendices come first,
       
   341 re-tag back matter so informative appendices are tagged informdiv1,
       
   342 remove XXX XXX from list of 'normative' specs in prose,
       
   343 move some references from Other References to Normative References,
       
   344 add RFC 1738, 1808, and 2141 to Other References (they are not
       
   345 normative since we do not require the processor to enforce any 
       
   346 rules based on them),
       
   347 add reference to 'Fielding draft' (Berners-Lee et al.),
       
   348 move notation section to end of body,
       
   349 drop URIchar non-terminal and use SkipLit instead,
       
   350 lose stray reference to defunct nonterminal 'markupdecls',
       
   351 move reference to Aho et al. into appendix (Tim's right),
       
   352 add prose note saying that hash marks and fragment identifiers are
       
   353 NOT part of the URI formally speaking, and are NOT legal in 
       
   354 system identifiers (processor 'may' signal an error).
       
   355 Work through:
       
   356 Tim Bray reacting to James Clark,
       
   357 Tim Bray on his own,
       
   358 Eve Maler,
       
   359 
       
   360 NOT DONE YET:
       
   361 change binary / text to unparsed / parsed.
       
   362 handle James's suggestion about &lt; in attriubte values
       
   363 uppercase hex characters,
       
   364 namechar list,
       
   365 </sitem>
       
   366 <sitem>1997-12-01 : JB : add some column-width parameters</sitem>
       
   367 <sitem>1997-12-01 : CMSMcQ : begin round of changes to incorporate
       
   368 recent WG decisions and other corrections:
       
   369 binding sources of character encoding info (27 Aug / 3 Sept),
       
   370 correct wording of Faust quotation (restore dropped line),
       
   371 drop SDD from EncodingDecl,
       
   372 change text at version number 1.0,
       
   373 drop misleading (wrong!) sentence about ignorables and extenders,
       
   374 modify definition of PCData to make bar on msc grammatical,
       
   375 change grammar's handling of internal subset (drop non-terminal markupdecls),
       
   376 change definition of includeSect to allow conditional sections,
       
   377 add integral-declaration constraint on internal subset,
       
   378 drop misleading / dangerous sentence about relationship of
       
   379 entities with system storage objects,
       
   380 change table body tag to htbody as per EM change to DTD,
       
   381 add rule about space normalization in public identifiers,
       
   382 add description of how to generate our name-space rules from 
       
   383 Unicode character database (needs further work!).
       
   384 </sitem>
       
   385 <sitem>1997-10-08 : TB : Removed %-constructs again, new rules
       
   386 for PE appearance.</sitem>
       
   387 <sitem>1997-10-01 : TB : Case-sensitive markup; cleaned up
       
   388 element-type defs, lotsa little edits for style</sitem>
       
   389 <sitem>1997-09-25 : TB : Change to elm's new DTD, with
       
   390 substantial detail cleanup as a side-effect</sitem>
       
   391 <sitem>1997-07-24 : CMSMcQ : correct error (lost *) in definition 
       
   392 of ignoreSectContents (thanks to Makoto Murata)</sitem>
       
   393 <sitem>Allow all empty elements to have end-tags, consistent with
       
   394 SGML TC (as per JJC).</sitem>
       
   395 <sitem>1997-07-23 : CMSMcQ : pre-emptive strike on pending corrections:
       
   396 introduce the term 'empty-element tag', note that all empty elements
       
   397 may use it, and elements declared EMPTY must use it.
       
   398 Add WFC requiring encoding decl to come first in an entity.
       
   399 Redefine notations to point to PIs as well as binary entities.
       
   400 Change autodetection table by removing bytes 3 and 4 from 
       
   401 examples with Byte Order Mark.
       
   402 Add content model as a term and clarify that it applies to both
       
   403 mixed and element content.
       
   404 </sitem>
       
   405 <sitem>1997-06-30 : CMSMcQ : change date, some cosmetic changes,
       
   406 changes to productions for choice, seq, Mixed, NotationType,
       
   407 Enumeration.  Follow James Clark's suggestion and prohibit 
       
   408 conditional sections in internal subset.  TO DO:  simplify
       
   409 production for ignored sections as a result, since we don't 
       
   410 need to worry about parsers which don't expand PErefs finding
       
   411 a conditional section.</sitem>
       
   412 <sitem>1997-06-29 : TB : various edits</sitem>
       
   413 <sitem>1997-06-29 : CMSMcQ : further changes:
       
   414 Suppress old FINAL EDIT comments and some dead material.
       
   415 Revise occurrences of % in grammar to exploit Henry Thompson's pun,
       
   416 especially markupdecl and attdef.
       
   417 Remove RMD requirement relating to element content (?).
       
   418 </sitem>
       
   419 <sitem>1997-06-28 : CMSMcQ : Various changes for 1 July draft:
       
   420 Add text for draconian error handling (introduce
       
   421 the term Fatal Error).
       
   422 RE deleta est (changing wording from 
       
   423 original announcement to restrict the requirement to validating
       
   424 parsers).
       
   425 Tag definition of validating processor and link to it.
       
   426 Add colon as name character.
       
   427 Change def of %operator.
       
   428 Change standard definitions of lt, gt, amp.
       
   429 Strip leading zeros from #x00nn forms.</sitem>
       
   430 <sitem>1997-04-02 : CMSMcQ : final corrections of editorial errors
       
   431 found in last night's proofreading.  Reverse course once more on
       
   432 well-formed:   Webster's Second hyphenates it, and that's enough
       
   433 for me.</sitem>
       
   434 <sitem>1997-04-01 : CMSMcQ : corrections from JJC, EM, HT, and self</sitem>
       
   435 <sitem>1997-03-31 : Tim Bray : many changes</sitem>
       
   436 <sitem>1997-03-29 : CMSMcQ : some Henry Thompson (on entity handling),
       
   437 some Charles Goldfarb, some ERB decisions (PE handling in miscellaneous
       
   438 declarations.  Changed Ident element to accept def attribute.
       
   439 Allow normalization of Unicode characters.  move def of systemliteral
       
   440 into section on literals.</sitem>
       
   441 <sitem>1997-03-28 : CMSMcQ : make as many corrections as possible, from
       
   442 Terry Allen, Norbert Mikula, James Clark, Jon Bosak, Henry Thompson,
       
   443 Paul Grosso, and self.  Among other things:  give in on "well formed"
       
   444 (Terry is right), tentatively rename QuotedCData as AttValue
       
   445 and Literal as EntityValue to be more informative, since attribute
       
   446 values are the <emph>only</emph> place QuotedCData was used, and
       
   447 vice versa for entity text and Literal. (I'd call it Entity Text, 
       
   448 but 8879 uses that name for both internal and external entities.)</sitem>
       
   449 <sitem>1997-03-26 : CMSMcQ : resynch the two forks of this draft, reapply
       
   450 my changes dated 03-20 and 03-21.  Normalize old 'may not' to 'must not'
       
   451 except in the one case where it meant 'may or may not'.</sitem>
       
   452 <sitem>1997-03-21 : TB : massive changes on plane flight from Chicago
       
   453 to Vancouver</sitem>
       
   454 <sitem>1997-03-21 : CMSMcQ : correct as many reported errors as possible.
       
   455 </sitem>
       
   456 <sitem>1997-03-20 : CMSMcQ : correct typos listed in CMSMcQ hand copy of spec.</sitem>
       
   457 <sitem>1997-03-20 : CMSMcQ : cosmetic changes preparatory to revision for
       
   458 WWW conference April 1997:  restore some of the internal entity 
       
   459 references (e.g. to docdate, etc.), change character xA0 to &amp;nbsp;
       
   460 and define nbsp as &amp;#160;, and refill a lot of paragraphs for
       
   461 legibility.</sitem>
       
   462 <sitem>1996-11-12 : CMSMcQ : revise using Tim's edits:
       
   463 Add list type of NUMBERED and change most lists either to
       
   464 BULLETS or to NUMBERED.
       
   465 Suppress QuotedNames, Names (not used).
       
   466 Correct trivial-grammar doc type decl.
       
   467 Rename 'marked section' as 'CDATA section' passim.
       
   468 Also edits from James Clark:
       
   469 Define the set of characters from which [^abc] subtracts.
       
   470 Charref should use just [0-9] not Digit.
       
   471 Location info needs cleaner treatment:  remove?  (ERB
       
   472 question).
       
   473 One example of a PI has wrong pic.
       
   474 Clarify discussion of encoding names.
       
   475 Encoding failure should lead to unspecified results; don't
       
   476 prescribe error recovery.
       
   477 Don't require exposure of entity boundaries.
       
   478 Ignore white space in element content.
       
   479 Reserve entity names of the form u-NNNN.
       
   480 Clarify relative URLs.
       
   481 And some of my own:
       
   482 Correct productions for content model:  model cannot
       
   483 consist of a name, so "elements ::= cp" is no good.
       
   484 </sitem>
       
   485 <sitem>1996-11-11 : CMSMcQ : revise for style.
       
   486 Add new rhs to entity declaration, for parameter entities.</sitem>
       
   487 <sitem>1996-11-10 : CMSMcQ : revise for style.
       
   488 Fix / complete section on names, characters.
       
   489 Add sections on parameter entities, conditional sections.
       
   490 Still to do:  Add compatibility note on deterministic content models.
       
   491 Finish stylistic revision.</sitem>
       
   492 <sitem>1996-10-31 : TB : Add Entity Handling section</sitem>
       
   493 <sitem>1996-10-30 : TB : Clean up term &amp; termdef.  Slip in
       
   494 ERB decision re EMPTY.</sitem>
       
   495 <sitem>1996-10-28 : TB : Change DTD.  Implement some of Michael's
       
   496 suggestions.  Change comments back to //.  Introduce language for
       
   497 XML namespace reservation.  Add section on white-space handling.
       
   498 Lots more cleanup.</sitem>
       
   499 <sitem>1996-10-24 : CMSMcQ : quick tweaks, implement some ERB
       
   500 decisions.  Characters are not integers.  Comments are /* */ not //.
       
   501 Add bibliographic refs to 10646, HyTime, Unicode.
       
   502 Rename old Cdata as MsData since it's <emph>only</emph> seen
       
   503 in marked sections.  Call them attribute-value pairs not
       
   504 name-value pairs, except once.  Internal subset is optional, needs
       
   505 '?'.  Implied attributes should be signaled to the app, not
       
   506 have values supplied by processor.</sitem>
       
   507 <sitem>1996-10-16 : TB : track down &amp; excise all DSD references;
       
   508 introduce some EBNF for entity declarations.</sitem>
       
   509 <sitem>1996-10-?? : TB : consistency check, fix up scraps so
       
   510 they all parse, get formatter working, correct a few productions.</sitem>
       
   511 <sitem>1996-10-10/11 : CMSMcQ : various maintenance, stylistic, and
       
   512 organizational changes:
       
   513 Replace a few literals with xmlpio and
       
   514 pic entities, to make them consistent and ensure we can change pic
       
   515 reliably when the ERB votes.
       
   516 Drop paragraph on recognizers from notation section.
       
   517 Add match, exact match to terminology.
       
   518 Move old 2.2 XML Processors and Apps into intro.
       
   519 Mention comments, PIs, and marked sections in discussion of
       
   520 delimiter escaping.
       
   521 Streamline discussion of doctype decl syntax.
       
   522 Drop old section of 'PI syntax' for doctype decl, and add
       
   523 section on partial-DTD summary PIs to end of Logical Structures
       
   524 section.
       
   525 Revise DSD syntax section to use Tim's subset-in-a-PI
       
   526 mechanism.</sitem>
       
   527 <sitem>1996-10-10 : TB : eliminate name recognizers (and more?)</sitem>
       
   528 <sitem>1996-10-09 : CMSMcQ : revise for style, consistency through 2.3
       
   529 (Characters)</sitem>
       
   530 <sitem>1996-10-09 : CMSMcQ : re-unite everything for convenience,
       
   531 at least temporarily, and revise quickly</sitem>
       
   532 <sitem>1996-10-08 : TB : first major homogenization pass</sitem>
       
   533 <sitem>1996-10-08 : TB : turn "current" attribute on div type into 
       
   534 CDATA</sitem>
       
   535 <sitem>1996-10-02 : TB : remould into skeleton + entities</sitem>
       
   536 <sitem>1996-09-30 : CMSMcQ : add a few more sections prior to exchange
       
   537                             with Tim.</sitem>
       
   538 <sitem>1996-09-20 : CMSMcQ : finish transcribing notes.</sitem>
       
   539 <sitem>1996-09-19 : CMSMcQ : begin transcribing notes for draft.</sitem>
       
   540 <sitem>1996-09-13 : CMSMcQ : made outline from notes of 09-06,
       
   541 do some housekeeping</sitem>
       
   542 </slist>
       
   543 </revisiondesc>
       
   544 </header>
       
   545 <body> 
       
   546 <div1 id='sec-intro'>
       
   547 <head>$B0lHL;v9`(B</head>
       
   548 <!--	    <div2 id='sec-scope'>
       
   549 	      <head>$BE,MQHO0O(B</head> -->
       
   550 <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>
       
   551 <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>
       
   552 <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>
       
   553 <!--	    </div2> -->
       
   554 <div2 id='sec-origin-goals'>
       
   555 <head>$B7P0^5Z$SL\I8(B</head>
       
   556 <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
       
   557 <!--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>
       
   558 <p>XML$B$N@_7WL\I8$r!$<!$K<($9!#(B<ulist>
       
   559 <item><p>a) XML$B$O!$(BInternet$B>e$G$=$N$^$^;HMQ$G$-$k!#(B</p></item>
       
   560 <item><p>b) XML$B$O!$9-HO0O$N(B&application;$B$r;Y1g$9$k!#(B</p></item>
       
   561 <item><p>c) XML$B$O!$(BSGML$B$H8_49@-$r$b$D!#(B</p></item>
       
   562 <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>
       
   563 <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>
       
   564 <item><p>f) XML$BJ8=q$O!$?M4V$K$H$C$FFI$_$d$9$/!$==J,$KM}2r$7$d$9$$!#(B</p></item>
       
   565 <item><p>g) XML$B$N@_7W$O!$$9$_$d$+$K9T$($J$1$l$P$J$i$J$$!#(B</p></item>
       
   566 <item><p>h) XML$B$N@_7W$O!$87L)5Z$S4J7i$G$J$1$l$P$J$i$J$$!#(B</p></item>
       
   567 <item><p>i) XML$BJ8=q$O!$MF0W$K:n@.$G$-$k!#(B</p></item>
       
   568 <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>
       
   569 </p>
       
   570 <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>
       
   571 <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>
       
   572 </div2>
       
   573 <div2 id='sec-terminology'>
       
   574 <head>$BDj5A(B</head>
       
   575 <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
       
   576 <glist>
       
   577 <gitem>
       
   578 <label>1.2.1 $B$7$F$b$h$$(B(may)</label>
       
   579 <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>
       
   580 </gitem>
       
   581 <gitem>
       
   582 <label>1.2.2 $B$7$J$1$l$P$J$i$J$$(B(must)</label>
       
   583 <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 -->
       
   584 </p></def>
       
   585 </gitem>
       
   586 <gitem>
       
   587 <label>1.2.3 &error;(error)</label>
       
   588 <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>
       
   589 </gitem>
       
   590 <gitem>
       
   591 <label>1.2.4 &fatal-error;(fatal error)</label>
       
   592 <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>
       
   593 </gitem>
       
   594 <gitem>
       
   595 <label>1.2.5 &at-user-option;(at user option)</label>
       
   596 <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>
       
   597 </gitem>
       
   598 <gitem>
       
   599 <label>1.2.6 &validity;$B@)Ls(B(validity constraint)</label>
       
   600 <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>
       
   601 </gitem>
       
   602 <gitem>
       
   603 <label>1.2.7 &well-formed;$B@)Ls(B(well-formedness constraint)</label>
       
   604 <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>
       
   605 </gitem>
       
   606 <gitem>
       
   607 <label>1.2.8 &match;(match)</label>
       
   608 <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>
       
   609 </gitem>
       
   610 <gitem>
       
   611 <label>1.2.9 $B8_49@-$N$?$a(B(for compatibility)</label>
       
   612 <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>
       
   613 </gitem>
       
   614 <gitem>
       
   615 <label>1.2.10 $BAj8_1?MQ@-$N$?$a(B(for interoperability)</label>
       
   616 <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>
       
   617 </gitem>
       
   618 </glist>
       
   619 </p>
       
   620 </div2>
       
   621 </div1>
       
   622 <!-- &Docs; -->
       
   623 <div1 id='sec-documents'>
       
   624 <head>$BJ8=q(B</head>
       
   625 <p><termdef id="dt-xml-doc" term="XML$BJ8=q(B">
       
   626 <!-- A textual object -->
       
   627 $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
       
   628 </termdef></p>
       
   629 
       
   630 <!-- why this div? -TB
       
   631 <div2 id='sec-log-phys'> 
       
   632 <head>Logical and Physical Structure</head> -->
       
   633 
       
   634 <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>
       
   635 
       
   636 <!-- 
       
   637 </div2> -->
       
   638 
       
   639 <div2 id='sec-well-formed'>
       
   640 <head>&well-formed;$B$N(BXML$BJ8=q(B</head>
       
   641 <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>
       
   642 <ulist>
       
   643 <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>
       
   644 <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>
       
   645 </item>
       
   646 <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>
       
   647 </ulist></p>
       
   648 <p>
       
   649 <scrap lang='ebnf' id='document'>
       
   650 <head>$BJ8=q(B</head>
       
   651 <prod id='NT-document'><lhs>document</lhs>
       
   652 <rhs><nt def='NT-prolog'>prolog</nt> 
       
   653 <nt def='NT-element'>element</nt> 
       
   654 <nt def='NT-Misc'>Misc</nt>*</rhs></prod>
       
   655 </scrap>
       
   656 </p>
       
   657 <p><nt def="NT-document">document</nt>$B@8@.5,B'$K(B&match;$B$9$k$H$O!$<!$r0UL#$9$k!#(B
       
   658 <ulist>
       
   659 <item><p>a) $B0l$D0J>e$N(B<termref def="dt-element">$BMWAG(B</termref>$B$r4^$`!#(B</p>
       
   660 </item>
       
   661 
       
   662 <!--* N.B. some readers (notably JC) find the following
       
   663 paragraph awkward and redundant.  I agree it's logically redundant:
       
   664 it *says* it is summarizing the logical implications of
       
   665 matching the grammar, and that means by definition it's
       
   666 logically redundant.  I don't think it's rhetorically
       
   667 redundant or unnecessary, though, so I'm keeping it.  It
       
   668 could however use some recasting when the editors are feeling
       
   669 stronger. -MSM *-->
       
   670 
       
   671 <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
       
   672 </p></item>
       
   673 </ulist>
       
   674 </p>
       
   675 <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>
       
   676 </div2>
       
   677 <div2 id="charsets">
       
   678 <head>$BJ8;z(B</head>
       
   679 <p>
       
   680 
       
   681 <!--The data stored in an XML <termref def="dt-entity">entity</termref> is
       
   682 either <termref def="dt-text">parsed</termref> or <termref
       
   683 def="dt-unparsed">unparsed</termref>. -->
       
   684 
       
   685 <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> 
       
   686 <scrap lang="ebnf" id="char32">
       
   687 <head>$BJ8;z$NHO0O(B</head>
       
   688 <prodgroup pcw2="4" pcw4="17.5" pcw5="11">
       
   689 <prod id="NT-Char"><lhs>Char</lhs> 
       
   690 <rhs>#x9 | #xA | #xD | [#x20-#D7FF] | [#xE000-#xFFFD] 
       
   691 | [#x10000-#x10FFFF]</rhs> 
       
   692 <com>$BG$0U$N(BUnicode$BJ8;z!#$?$@$7!$(B&surrogate-blocks;$B!$(BFFFE$B5Z$S(BFFFF$B$O=|$/!#(B</com>
       
   693 </prod>
       
   694 </prodgroup>
       
   695 </scrap>
       
   696 </p>
       
   697 <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>
       
   698 <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>
       
   699 </div2>
       
   700 
       
   701 <div2 id='sec-common-syn'>
       
   702 <head>$B6&DL$N9=J89=@.;R(B</head>
       
   703  
       
   704 <p>2.3$B$G$O!$J8K!Fb$G9-$/;HMQ$9$k$$$/$D$+$N5-9f$rDj5A$9$k!#(B</p>
       
   705 <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
       
   706 
       
   707 <scrap lang="ebnf" id='white'>
       
   708 <head>$B6uGr(B</head>
       
   709 <prodgroup pcw2="4" pcw4="17.5" pcw5="11">
       
   710 <prod id='NT-S'><lhs>S</lhs>
       
   711 <rhs>(#x20 | #x9 | #xD | #xA)+</rhs>
       
   712 </prod>
       
   713 </prodgroup>
       
   714 </scrap></p>
       
   715 <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
       
   716 <!-- 
       
   717 Certain layout and format-control characters defined by ISO/IEC 10646 
       
   718 should be ignored when recognizing identifiers; these are defined by the 
       
   719 classes <nt def='NT-Ignorable'>Ignorable</nt> and <nt def='NT-
       
   720 Extender'>Extender</nt>. 
       
   721 -->
       
   722 $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>
       
   723 <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
       
   724 </p>
       
   725 <note>
       
   726 <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
       
   727 </p>
       
   728 </note>
       
   729 <p>
       
   730 <nt def='NT-Nmtoken'>Nmtoken</nt> ($BL>A0(B&token;)$B$O!$L>A0J8;z$G9=@.$9$kNs$H$9$k!#(B
       
   731 <scrap lang='ebnf'>
       
   732 <head>$BL>A05Z$S(B&token;</head>
       
   733 <!--
       
   734 <prod id='NT-MiscName'><lhs>MiscName</lhs>
       
   735 <rhs></rhs>
       
   736 </prod>-->
       
   737 <prod id='NT-NameChar'><lhs>NameChar</lhs>
       
   738 <rhs><nt def="NT-Letter">Letter</nt> 
       
   739 | <nt def='NT-Digit'>Digit</nt> 
       
   740 <!--| <nt def='NT-MiscName'>MiscName</nt>-->
       
   741 | '.' | '-' | '_' | ':'
       
   742 | <nt def='NT-CombiningChar'>CombiningChar</nt> 
       
   743 <!-- | <nt def='NT-Ignorable'>Ignorable</nt>  -->
       
   744 | <nt def='NT-Extender'>Extender</nt></rhs>
       
   745 </prod>
       
   746 <prod id='NT-Name'><lhs>Name</lhs>
       
   747 <rhs>(<nt def='NT-Letter'>Letter</nt> | '_' | ':')
       
   748 (<nt def='NT-NameChar'>NameChar</nt>)*</rhs></prod>
       
   749 <prod id='NT-Names'><lhs>Names</lhs>
       
   750 <rhs><nt def='NT-Name'>Name</nt> 
       
   751 (<nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>)*</rhs></prod>
       
   752 <prod id='NT-Nmtoken'><lhs>Nmtoken</lhs>
       
   753 <rhs>(<nt def='NT-NameChar'>NameChar</nt>)+</rhs></prod>
       
   754 <prod id='NT-Nmtokens'><lhs>Nmtokens</lhs>
       
   755 <rhs><nt def='NT-Nmtoken'>Nmtoken</nt> (<nt def='NT-S'>S</nt> <nt 
       
   756 def='NT-Nmtoken'>Nmtoken</nt>)*</rhs></prod>
       
   757 </scrap>
       
   758 </p>
       
   759 <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
       
   760 <scrap lang='ebnf'>
       
   761 <head>&literal;</head>
       
   762 <!-- is marked section end legal in entity values etc.?
       
   763 James says yes.  Handbook page 392, sec. 10.4 seems to me to say no. 
       
   764 If James is right, leave as is.  Otherwise, uncomment
       
   765 the next comment and ... 
       
   766 -->
       
   767 <!--
       
   768 <prod id='NT-EntityValue'><lhs>EntityValue</lhs>
       
   769 <rhs>' " ' 
       
   770 (([^%&amp;"] 
       
   771 | <nt def='NT-PEReference'>PEReference</nt> 
       
   772 | <nt def='NT-Reference'>Reference</nt>)*
       
   773 - (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-char'>Char</nt>*))
       
   774 ' " ' 
       
   775 </rhs>
       
   776 <rhs>|&nbsp; 
       
   777 " ' " 
       
   778 (([^%&amp;'] 
       
   779 | <nt def='NT-PEReference'>PEReference</nt> 
       
   780 | <nt def='NT-Reference'>Reference</nt>)* 
       
   781 - (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-char'>Char</nt>*))
       
   782 " ' "</rhs>
       
   783 </prod>
       
   784 <prod id='NT-AttValue'><lhs>AttValue</lhs>
       
   785 <rhs>'"' 
       
   786 (([^&lt;&amp;"] 
       
   787 | <nt def='NT-Reference'>Reference</nt>)* 
       
   788 - (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-char'>Char</nt>*))
       
   789 ' " ' 
       
   790 </rhs>
       
   791 <rhs>|&nbsp; 
       
   792 " ' " 
       
   793 (([^&lt;&amp;'] 
       
   794 | <nt def='NT-Reference'>Reference</nt>)* 
       
   795 - (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-char'>Char</nt>*))
       
   796 " ' "</rhs>
       
   797 <wfc def="CleanAttrVals"/>
       
   798 </prod>
       
   799 -->
       
   800 <!-- ... and comment out the following, down to ... -->
       
   801 <prod id='NT-EntityValue'><lhs>EntityValue</lhs>
       
   802 <rhs>' " ' 
       
   803 ([^%&amp;"] 
       
   804 | <nt def='NT-PEReference'>PEReference</nt> 
       
   805 | <nt def='NT-Reference'>Reference</nt>)*
       
   806 ' " ' 
       
   807 </rhs>
       
   808 <rhs>|&nbsp; 
       
   809 " ' " 
       
   810 ([^%&amp;'] 
       
   811 | <nt def='NT-PEReference'>PEReference</nt> 
       
   812 | <nt def='NT-Reference'>Reference</nt>)* 
       
   813 " ' "</rhs>
       
   814 </prod>
       
   815 <prod id='NT-AttValue'><lhs>AttValue</lhs>
       
   816 <rhs>' " ' 
       
   817 ([^&lt;&amp;"] 
       
   818 | <nt def='NT-Reference'>Reference</nt>)* 
       
   819 ' " ' 
       
   820 </rhs>
       
   821 <rhs>|&nbsp; 
       
   822 " ' " 
       
   823 ([^&lt;&amp;'] 
       
   824 | <nt def='NT-Reference'>Reference</nt>)* 
       
   825 " ' "</rhs>
       
   826 <!--<wfc def="WF-Attvaldelim"/>-->
       
   827 </prod>
       
   828 <!-- ... down to here. -->
       
   829 <prod id="NT-SystemLiteral"><lhs>SystemLiteral</lhs>
       
   830 <rhs><nt def='NT-SkipLit'>SkipLit</nt></rhs>
       
   831 </prod>
       
   832 <!-- <prod id="NT-URIchar"><lhs>URIchar</lhs>
       
   833 <rhs><com>See <loc href="http://www.w3.org/XXX">XXX</loc></com>
       
   834 </rhs></prod>
       
   835 -->
       
   836 <prod id="NT-PubidLiteral"><lhs>PubidLiteral</lhs>
       
   837 <rhs>' " ' <nt def='NT-PubidChar'>PubidChar</nt>* 
       
   838 ' " ' 
       
   839 | " ' " (<nt def='NT-PubidChar'>PubidChar</nt> - " ' ")* " ' "</rhs>
       
   840 </prod>
       
   841 <prod id="NT-PubidChar"><lhs>PubidChar</lhs>
       
   842 <rhs>#x20 | #xD | #xA 
       
   843 |&nbsp;[a-zA-Z0-9]
       
   844 |&nbsp;[-'()+,./:=?]</rhs>
       
   845 </prod>
       
   846 <prod id="NT-SkipLit"><lhs>SkipLit</lhs>
       
   847 <rhs>(' " ' [^"]* ' " ') 
       
   848 |&nbsp;(" ' " [^']* " ' ")</rhs>
       
   849 </prod>
       
   850 <!-- alternate form, making ms end illegal: -->
       
   851 <!-- 
       
   852 <prod id="NT-SkipLit"><lhs>SkipLit</lhs>
       
   853 <rhs>(' " ' ([^"]* - ([^"]* ']]&gt;' [^"]*)) ' " ') 
       
   854 |&nbsp;(" ' " ([^']* - ([^']* ']]&gt;' [^']*)) " ' ")</rhs>
       
   855 </prod>
       
   856 -->
       
   857 </scrap>
       
   858 </p>
       
   859 <!--
       
   860 <wfcnote id="WF-Attvaldelim">
       
   861 <head>Delimiters in Attribute Values</head>
       
   862 <p>After the expansion of character and entity references,
       
   863 an attribute value must not contain a "<code>&lt;</code>" 
       
   864 or "<code>&amp;</code>" character unless that character was 
       
   865 introduced by the expansion of a character reference 
       
   866 or one of the entities &magicents;.</p>
       
   867 </wfcnote>-->
       
   868 <!--
       
   869 This is not quite right:  &lt; should be legal, should it not?
       
   870 Suppress this WFC until we get it right.
       
   871 -->
       
   872 <!-- Henry Thompson suggests (in substance, not form: the wording needs
       
   873 to be clarified):
       
   874 "Cooked Attribute values must not contain &lt; &amp; or the
       
   875 quote which closed their uncooked literal,
       
   876 unless arising from the expansion of a character reference or
       
   877 magic reference
       
   878 directly contained in their uncooked literal."
       
   879 I'm not sure I agree with this rule, but it's at least coherent,
       
   880 which is more than I can say for my attempt.
       
   881 -->
       
   882 </div2>
       
   883 
       
   884 <div2 id='syntax'>
       
   885 <head>$BJ8;z%G!<%?5Z$S(B&markup;</head>
       
   886 <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
       
   887 </termdef>
       
   888 </p>
       
   889 <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>
       
   890 <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>
       
   891 
       
   892 <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
       
   893 </p>
       
   894 <p>
       
   895 $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
       
   896 <scrap lang="ebnf">
       
   897 <head>$BJ8;z%G!<%?(B</head>
       
   898 <prod id='NT-CharData'>
       
   899 <lhs>CharData</lhs>
       
   900 <rhs>[^&lt;&amp;]* - ([^&lt;&amp;]* ']]&gt;' [^&lt;&amp;]*)</rhs>
       
   901 </prod>
       
   902 </scrap>
       
   903 </p>
       
   904 </div2>
       
   905  
       
   906 <div2 id='sec-comments'>
       
   907 <head>$B%3%a%s%H(B</head>
       
   908  
       
   909 <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
       
   910 <!-- TB
       
   911 except in a <termref def="dt-cdsection">CDATA section</termref>, i.e. within
       
   912 <termref def="dt-elemcontent">element content</termref>, in 
       
   913 <termref def="dt-mixed">mixed content</termref>, or in the prolog.  They must
       
   914 not occur within declarations or tags. -->
       
   915 $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
       
   916 <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
       
   917 <scrap lang="ebnf">
       
   918 <head>$B%3%a%s%H(B</head>
       
   919 <prod id='NT-Comment'><lhs>Comment</lhs>
       
   920 <rhs>'&lt;!--'
       
   921 ((<nt def='NT-Char'>Char</nt> - '-') 
       
   922 | ('-' (<nt def='NT-Char'>Char</nt> - '-')))* 
       
   923 '-->'</rhs>
       
   924 <!--
       
   925 <rhs>'&lt;!&como;' 
       
   926 (<nt def='NT-Char'>Char</nt>* - 
       
   927 (<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*)) 
       
   928 '&comc;&gt;'</rhs> -->
       
   929 </prod>
       
   930 </scrap>
       
   931 </termdef></p>
       
   932 <p>$B%3%a%s%H$NNc$r<!$K<($9!#(B
       
   933 <eg>&lt;!&como; declarations for &lt;head> &amp; &lt;body> &comc;&gt;</eg>
       
   934 </p>
       
   935 </div2>
       
   936 
       
   937 <div2 id='sec-pi'>
       
   938 <head>$B=hM}L?Na(B</head>
       
   939  
       
   940 <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
       
   941  
       
   942 <scrap lang="ebnf">
       
   943 <head>$B=hM}L?Na(B</head>
       
   944 <prod id='NT-PI'><lhs>PI</lhs>
       
   945 <rhs>'&lt;?' <nt def='NT-PITarget'>PITarget</nt> 
       
   946 (<nt def='NT-S'>S</nt> 
       
   947 (<nt def='NT-Char'>Char</nt>* - 
       
   948 (<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*)))?
       
   949 &pic;</rhs></prod>
       
   950 <prod id='NT-PITarget'><lhs>PITarget</lhs>
       
   951 <rhs><nt def='NT-Name'>Name</nt> - 
       
   952 (('X' | 'x') ('M' | 'm') ('L' | 'l'))</rhs>
       
   953 </prod>
       
   954 </scrap></termdef>
       
   955 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
       
   956 </p>
       
   957 </div2>
       
   958  
       
   959 <div2 id='sec-cdata-sect'>
       
   960 <head>CDATA$B%;%/%7%g%s(B</head>
       
   961  
       
   962 <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;
       
   963 "<code>]]&gt;</code>"$B$G=*$o$k!#(B
       
   964 <scrap lang="ebnf">
       
   965 <head>CDATA$B%;%/%7%g%s(B</head>
       
   966 <prod id='NT-CDSect'><lhs>CDSect</lhs>
       
   967 <rhs><nt def='NT-CDStart'>CDStart</nt> 
       
   968 <nt def='NT-CData'>CData</nt> 
       
   969 <nt def='NT-CDEnd'>CDEnd</nt></rhs></prod>
       
   970 <prod id='NT-CDStart'><lhs>CDStart</lhs>
       
   971 <rhs>'&lt;![CDATA['</rhs>
       
   972 </prod>
       
   973 <prod id='NT-CData'><lhs>CData</lhs>
       
   974 
       
   975 <rhs>(<nt def='NT-Char'>Char</nt>* - 
       
   976 (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-Char'>Char</nt>*))
       
   977 </rhs>
       
   978 </prod>
       
   979 <prod id='NT-CDEnd'><lhs>CDEnd</lhs>
       
   980 <rhs>']]&gt;'</rhs>
       
   981 </prod>
       
   982 </scrap>
       
   983 
       
   984 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
       
   985 </termdef>
       
   986 </p>
       
   987 
       
   988 <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
       
   989 <eg>&lt;![CDATA[&lt;greeting>Hello, world!&lt;/greeting>]]&gt;</eg>
       
   990 </p>
       
   991 </div2>
       
   992  
       
   993 <div2 id='sec-prolog-dtd'>
       
   994 <head>&prolog;$B5Z$SJ8=q7?@k8@(B</head>
       
   995  
       
   996 <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
       
   997 </termdef>
       
   998 </p>
       
   999 <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
       
  1000 </p>
       
  1001 <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
       
  1002 The function of the markup in an XML document is to describe its
       
  1003 storage and logical structures, and associate attribute-value pairs with the
       
  1004 logical structure.
       
  1005 XML provides a
       
  1006 mechanism, the <termref def="dt-doctype">document type declaration</termref>, 
       
  1007 to
       
  1008 define constraints on that logical structure and to support the use of
       
  1009 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
       
  1010 </termdef></p>
       
  1011 <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
       
  1012 <scrap lang="ebnf" id='xmldoc'>
       
  1013 <head>&prolog;</head>
       
  1014 <prodgroup pcw2="6" pcw4="17.5" pcw5="9">
       
  1015 <prod id='NT-prolog'><lhs>prolog</lhs>
       
  1016 <rhs><nt def='NT-XMLDecl'>XMLDecl</nt>? 
       
  1017 <nt def='NT-Misc'>Misc</nt>* 
       
  1018 (<nt def='NT-doctypedecl'>doctypedecl</nt> 
       
  1019 <nt def='NT-Misc'>Misc</nt>*)?</rhs></prod>
       
  1020 <prod id='NT-XMLDecl'><lhs>XMLDecl</lhs>
       
  1021 <rhs>&xmlpio; 
       
  1022 <nt def='NT-VersionInfo'>VersionInfo</nt> 
       
  1023 <nt def='NT-EncodingDecl'>EncodingDecl</nt>? 
       
  1024 <nt def='NT-SDDecl'>SDDecl</nt>? 
       
  1025 <nt def="NT-S">S</nt>? 
       
  1026 &pic;</rhs>
       
  1027 </prod>
       
  1028 <prod id='NT-VersionInfo'><lhs>VersionInfo</lhs>
       
  1029 <rhs><nt def="NT-S">S</nt> 'version' <nt def='NT-Eq'>Eq</nt> 
       
  1030 ('"<nt def="NT-VersionNum">VersionNum</nt>"' 
       
  1031 | "'<nt def="NT-VersionNum">VersionNum</nt>'")</rhs>
       
  1032 </prod>
       
  1033 <prod id='NT-Eq'><lhs>Eq</lhs>
       
  1034 <rhs><nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?</rhs></prod>
       
  1035 <prod id="NT-VersionNum">
       
  1036 <lhs>VersionNum</lhs>
       
  1037 <rhs>([a-zA-Z0-9_.:] | '-')+</rhs>
       
  1038 </prod>
       
  1039 <prod id='NT-Misc'><lhs>Misc</lhs>
       
  1040 <rhs><nt def='NT-Comment'>Comment</nt> | <nt def='NT-PI'>PI</nt> | 
       
  1041 <nt def='NT-S'>S</nt></rhs></prod>
       
  1042 </prodgroup>
       
  1043 </scrap></p>
       
  1044 
       
  1045 <p>
       
  1046 $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
       
  1047 <eg><![CDATA[<?xml version="1.0"?>
       
  1048 <greeting>Hello, world!</greeting>
       
  1049 ]]></eg>
       
  1050 $B<!$NJ8=q$bF1MM$H$9$k!#(B
       
  1051 <eg><![CDATA[<greeting>Hello, world!</greeting>
       
  1052 ]]></eg>
       
  1053 </p>
       
  1054 <p><termdef id="dt-doctype" term="Document Type Declaration">
       
  1055 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>
       
  1056 </p>
       
  1057 <p><termdef id="dt-markupdecl" term="markup declaration">
       
  1058 <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>
       
  1059 <scrap lang="ebnf" id='dtd'>
       
  1060 <head>$BJ8=q7?Dj5A(B</head>
       
  1061 <prodgroup pcw2="6" pcw4="17.5" pcw5="9">
       
  1062 <prod id='NT-doctypedecl'><lhs>doctypedecl</lhs>
       
  1063 <rhs>'&lt;!DOCTYPE' <nt def='NT-S'>S</nt> 
       
  1064 <nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt> 
       
  1065 <nt def='NT-ExternalID'>ExternalID</nt>)? 
       
  1066 <nt def='NT-S'>S</nt>? ('[' 
       
  1067 (<nt def='NT-markupdecl'>markupdecl</nt> 
       
  1068 | <nt def='NT-PEReference'>PEReference</nt> 
       
  1069 | <nt def='NT-S'>S</nt>)*
       
  1070 ']' 
       
  1071 <nt def='NT-S'>S</nt>?)? '>'</rhs>
       
  1072 <vc def="vc-roottype"/>
       
  1073 <!--<vc def="vc-nonnullDTD"/>-->
       
  1074 </prod>
       
  1075 <!--
       
  1076 <prod id='NT-markupdecls'><lhs>markupdecls</lhs>
       
  1077 <rhs>
       
  1078 (<nt def='NT-S'>S</nt>?
       
  1079 <nt def='NT-markupdecl'>markupdecl</nt>
       
  1080 <nt def='NT-S'>S</nt>?)*
       
  1081 </rhs></prod>
       
  1082 -->
       
  1083 <prod id='NT-markupdecl'><lhs>markupdecl</lhs>
       
  1084 <rhs><nt def='NT-elementdecl'>elementdecl</nt> 
       
  1085 | <nt def='NT-AttlistDecl'>AttlistDecl</nt> 
       
  1086 | <nt def='NT-EntityDecl'>EntityDecl</nt> 
       
  1087 | <nt def='NT-NotationDecl'>NotationDecl</nt> 
       
  1088 | <nt def='NT-PI'>PI</nt> 
       
  1089 | <nt def='NT-Comment'>Comment</nt>
       
  1090 <!--| <nt def='NT-InternalPERef'>InternalPERef</nt> --></rhs>
       
  1091 <vc def='vc-PEinMarkupDecl'/>
       
  1092 <wfc def="wfc-PEinInternalSubset"/>
       
  1093 </prod>
       
  1094 <!--
       
  1095 <prod id="NT-InternalPERef"><lhs>InternalPERef</lhs>
       
  1096 <rhs><nt def="NT-PEReference">PEReference</nt></rhs>
       
  1097 <wfc def="wfc-integraldec"/>
       
  1098 </prod>
       
  1099 -->
       
  1100 </prodgroup>
       
  1101 </scrap>
       
  1102 <vcnote id="vc-roottype">
       
  1103 <head>&root;$BMWAG7?(B</head>
       
  1104 <p>
       
  1105 $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
       
  1106 </p>
       
  1107 </vcnote>
       
  1108 <!--
       
  1109 <vcnote id="vc-nonnullDTD">
       
  1110 <head>Non-null DTD</head>
       
  1111 <p>
       
  1112 The internal and external subsets of the DTD must not both
       
  1113 be empty.
       
  1114 </p>
       
  1115 </vcnote>
       
  1116 -->
       
  1117 <vcnote id='vc-PEinMarkupDecl'>
       
  1118 <head>$B@k8@5Z$S(B&parameter;$B<BBN$,87L)$KF~$l;R$r$J$9$3$H(B</head>
       
  1119 <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>
       
  1120 </vcnote>
       
  1121 <wfcnote id="wfc-PEinInternalSubset">
       
  1122 <head>$BFbIt(B&subset;$BFb$N(B&parameter;$B<BBN(B</head>
       
  1123 <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
       
  1124 </p>
       
  1125 </wfcnote>
       
  1126 <p>
       
  1127 $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
       
  1128 <!--In the external subset, however,  parameter-entity references can
       
  1129 be used to replace constructs prefixed by "<code>%</code>" in a production of
       
  1130 the grammar, and <termref def="dt-cond-section">conditional sections</termref>
       
  1131 may occur.
       
  1132 In the internal subset, by contrast, conditional sections may not
       
  1133 occur and the only parameter-entity references 
       
  1134 allowed are those which match the non-terminal 
       
  1135 <nt def="NT-InternalPERef">InternalPERef</nt>
       
  1136 within the rule for <nt def="NT-doctypedecl">markupdecl</nt>. 
       
  1137 -->
       
  1138 <scrap id="ext-Subset">
       
  1139 <head>$B30It(B&subset;</head>
       
  1140 <prodgroup pcw2="6" pcw4="17.5" pcw5="9">
       
  1141 <prod id='NT-extSubset'><lhs>extSubset</lhs>
       
  1142 <rhs>(
       
  1143 <nt def='NT-markupdecl'>markupdecl</nt> 
       
  1144 | <nt def='NT-conditionalSect'>conditionalSect</nt> 
       
  1145 | <nt def='NT-PEReference'>PEReference</nt> 
       
  1146 | <nt def='NT-S'>S</nt>
       
  1147 )*</rhs>
       
  1148 </prod>
       
  1149 </prodgroup>
       
  1150 </scrap></p>
       
  1151 <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
       
  1152 </p>
       
  1153 <p>$BJ8=q7?@k8@IU$-$N(BXML$BJ8=q$NNc$r!$<!$K<($9!#(B
       
  1154 <eg><![CDATA[<?xml version="1.0"?>
       
  1155 <!DOCTYPE greeting SYSTEM "hello.dtd">
       
  1156 <greeting>Hello, world!</greeting>
       
  1157 ]]></eg>
       
  1158 <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>
       
  1159 <p>$B<!$NNc$N$H$*$j!$@k8@$r6I=jE*$KM?$($k$3$H$b$G$-$k!#(B
       
  1160 <eg><![CDATA[<?xml version="1.0" encoding="UTF-8" ?>
       
  1161 <!DOCTYPE greeting [
       
  1162   <!ELEMENT greeting (#PCDATA)>
       
  1163 ]>
       
  1164 <greeting>Hello, world!</greeting>
       
  1165 ]]></eg>
       
  1166 $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
       
  1167 </p>
       
  1168 </div2>
       
  1169 
       
  1170 <div2 id='sec-rmd'>
       
  1171 <head>&standalone;$BJ8=q@k8@(B</head>
       
  1172 <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
       
  1173 <scrap lang="ebnf" id='fulldtd'>
       
  1174 <head>&standalone;$BJ8=q@k8@(B</head>
       
  1175 <prodgroup pcw2="4" pcw4="19.5" pcw5="9">
       
  1176 <prod id='NT-SDDecl'><lhs>SDDecl</lhs>
       
  1177 <rhs>
       
  1178 <nt def="NT-S">S</nt> 
       
  1179 'standalone' <nt def='NT-Eq'>Eq</nt> "'" ('yes' | 'no') "'" 
       
  1180 </rhs>
       
  1181 <rhs>
       
  1182 | <nt def="NT-S">S</nt> 
       
  1183 'standalone' <nt def='NT-Eq'>Eq</nt> '"' ('yes' | 'no') '"'
       
  1184 </rhs><vc def='vc-check-rmd'/></prod>
       
  1185 </prodgroup>
       
  1186 </scrap></p>
       
  1187 <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>
       
  1188 
       
  1189 <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>
       
  1190 <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>
       
  1191 <vcnote id='vc-check-rmd'>
       
  1192 <head>&standalone;$BJ8=q@k8@(B</head>
       
  1193 <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
       
  1194 <ulist>
       
  1195 <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>
       
  1196 <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>
       
  1197 </item>
       
  1198 <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>
       
  1199 <item>
       
  1200 <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
       
  1201 </p></item>
       
  1202 </ulist>
       
  1203 </p>
       
  1204 </vcnote>
       
  1205 <p>&standalone;$BJ8=q@k8@IU$-$N(BXML$B@k8@$NNc$r!$<!$K<($9!#(B
       
  1206 <eg>&lt;?xml version="&XML.version;" standalone='yes'?></eg></p>
       
  1207 </div2>
       
  1208 <div2 id='sec-white-space'>
       
  1209 <head>$B6uGr$N<h07$$(B</head>
       
  1210 <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>
       
  1211 <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>
       
  1212 <p>
       
  1213 "<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>
       
  1214 <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
       
  1215 </p>
       
  1216 <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>
       
  1217 <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>
       
  1218 <p>$BNc$r<!$K<($9!#(B
       
  1219 <eg><![CDATA[    <!ATTLIST poem   xml:space (default|preserve) 'preserve'>]]></eg>
       
  1220 </p>
       
  1221 </div2>
       
  1222 <div2 id='sec-line-ends'>
       
  1223 <head>$B9TKv$N<h07$$(B</head>
       
  1224 <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>
       
  1225 <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>
       
  1226 </div2>
       
  1227 <div2 id='sec-lang-tag'>
       
  1228 <head>&language-identification;</head>
       
  1229 <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>
       
  1230 <!--; $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-->
       
  1231 <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
       
  1232 <!--; $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-->
       
  1233 $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
       
  1234 <scrap lang='ebnf'>
       
  1235 <head>&language-identification;</head>
       
  1236 <prod id='NT-LanguageID'><lhs>LanguageID</lhs>
       
  1237 <rhs><nt def='NT-Langcode'>Langcode</nt> 
       
  1238 ('-' <nt def='NT-Subcode'>Subcode</nt>)*</rhs></prod>
       
  1239 <prod id='NT-Langcode'><lhs>Langcode</lhs>
       
  1240 <rhs><nt def='NT-ISO639Code'>ISO639Code</nt> | 
       
  1241 <nt def='NT-IanaCode'>IanaCode</nt> | 
       
  1242 <nt def='NT-UserCode'>UserCode</nt></rhs>
       
  1243 </prod>
       
  1244 <prod id='NT-ISO639Code'><lhs>ISO639Code</lhs>
       
  1245 <rhs>([a-z] | [A-Z]) ([a-z] | [A-Z])</rhs></prod>
       
  1246 <prod id='NT-IanaCode'><lhs>IanaCode</lhs>
       
  1247 <rhs>('i' | 'I') '-' ([a-z] | [A-Z])+</rhs></prod>
       
  1248 <prod id='NT-UserCode'><lhs>UserCode</lhs>
       
  1249 <rhs>('x' | 'X') '-' ([a-z] | [A-Z])+</rhs></prod>
       
  1250 <prod id='NT-Subcode'><lhs>Subcode</lhs>
       
  1251 <rhs>([a-z] | [A-Z])+</rhs></prod>
       
  1252 </scrap>
       
  1253 <nt def='NT-Langcode'>Langcode</nt>$B$O!$<!$N$I$l$G$b$h$$!#(B
       
  1254 <ulist>
       
  1255 <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>
       
  1256 <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>
       
  1257 <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>
       
  1258 </ulist></p>
       
  1259 <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>
       
  1260 <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>
       
  1261 <p>$BNc$r<!$K<($9!#(B
       
  1262 <eg><![CDATA[<p xml:lang="en">The quick brown fox jumps over the lazy dog.</p>
       
  1263 <p xml:lang="en-GB">What colour is it?</p>
       
  1264 <p xml:lang="en-US">What color is it?</p>
       
  1265 <sp who="Faust" desc='leise' xml:lang="de">
       
  1266   <l>Habe nun, ach! Philosophie,</l>
       
  1267   <l>Juristerei, und Medizin</l>
       
  1268   <l>und leider auch Theologie</l>
       
  1269   <l>]]><!-- x00DF german's es-zet; x00FC german's u-umlaut -->durchaus studiert mit hei&#223;em Bem&#252;h'n.<![CDATA[</l>
       
  1270   </sp>]]></eg></p>
       
  1271 <!--<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-->
       
  1272 <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>
       
  1273 <!--$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
       
  1274 
       
  1275   <p xml:lang="en">Here the keywords are
       
  1276   <term xml:lang="en">shift</term> and
       
  1277   <term>reduce</term>. ...</p>
       
  1278 
       
  1279 XML&processor;$B$G$O$J$/(B&application;$B$,!$$3$NB0@-CM$N7Q>5$K$D$$$F@UG$$r$b$D!#(B
       
  1280 -->
       
  1281 <p>
       
  1282 &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
       
  1283 <eg>xml:lang  NMTOKEN  #IMPLIED</eg>
       
  1284 $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
       
  1285 <eg><![CDATA[    <!ATTLIST poem   xml:lang NMTOKEN 'fr'>
       
  1286     <!ATTLIST gloss  xml:lang NMTOKEN 'en'>
       
  1287     <!ATTLIST note   xml:lang NMTOKEN 'en'>]]></eg>
       
  1288 </p>
       
  1289 <!--
       
  1290 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-->
       
  1291 </div2>
       
  1292 </div1>
       
  1293 <!-- &Elements; -->
       
  1294 
       
  1295 <div1 id='sec-logical-struct'>
       
  1296 <head>$BO@M}9=B$(B</head>
       
  1297 
       
  1298 <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>
       
  1299 
       
  1300 <scrap lang='ebnf'><head>$BMWAG(B</head>
       
  1301 <prod id='NT-element'><lhs>element</lhs>
       
  1302 <rhs><nt def='NT-EmptyElemTag'>EmptyElemTag</nt></rhs>
       
  1303 <rhs>| <nt def='NT-STag'>STag</nt> <nt def='NT-content'>content</nt> 
       
  1304 <nt def='NT-ETag'>ETag</nt></rhs><wfc def='GIMatch'/></prod>
       
  1305 </scrap>
       
  1306 <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>
       
  1307 
       
  1308 <wfcnote id='GIMatch'><head>$BMWAG7?$N(B&match;</head>
       
  1309 <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>
       
  1310 </wfcnote>
       
  1311 
       
  1312 <div2 id='sec-starttags'>
       
  1313 <head>$B3+;O%?%0!$=*N;%?%05Z$S6uMWAG%?%0(B</head>
       
  1314 <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
       
  1315 <scrap lang='ebnf'><head>$B3+;O%?%0(B</head>
       
  1316 <prodgroup pcw2="6" pcw4="15" pcw5="11.5">
       
  1317 <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>
       
  1318 <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>
       
  1319 </prodgroup>
       
  1320 </scrap>
       
  1321 $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>
       
  1322 
       
  1323 <wfcnote id='uniqattspec'><head>$BB0@-;XDj$N0l0U@-(B</head>
       
  1324 <p>$B3+;O%?%0Kt$O6uMWAG%?%0$G$O!$F10l$NB0@-L>$,#2EY0J>e=P8=$7$F$O$J$i$J$$!#(B</p></wfcnote>
       
  1325 <vcnote id='ValueType'><head>$BB0@-CM$N7?(B</head>
       
  1326 <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>
       
  1327 <wfcnote id='NoExternalRefs'><head>$B30It<BBN$X$N;2>H$,$J$$$3$H(B</head>
       
  1328 <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>
       
  1329 <wfcnote id='CleanAttrVals'><head>$BB0@-CM$K(B<code>&lt;</code>$B$r4^$^$J$$$3$H(B</head>
       
  1330 <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>
       
  1331 
       
  1332 <p>$B3+;O%?%0$NNc$r!$<!$K<($9!#(B
       
  1333 <eg>&lt;termdef id="dt-dog" term="dog"></eg></p>
       
  1334 <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
       
  1335 <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>
       
  1336 <p>$B=*N;%?%0$NNc$r!$<!$K<($9!#(B
       
  1337 <eg>&lt;/termdef></eg></p>
       
  1338 
       
  1339 <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
       
  1340 <scrap lang='ebnf'><head>$BMWAG$NFbMF(B</head>
       
  1341 <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>
       
  1342 
       
  1343 <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
       
  1344 <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>
       
  1345 
       
  1346 <!-- $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 -->
       
  1347 
       
  1348 <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>
       
  1349 <p>$B6uMWAG$NNc$r!$<!$K<($9!#(B
       
  1350 <eg>&lt;IMG align="left" src="http://www.w3.org/Icons/WWW/w3c_home" />&lt;br>&lt;/br>&lt;br/></eg></p>
       
  1351 </div2>
       
  1352 
       
  1353 <div2 id='elemdecls'><head>$BMWAG@k8@(B</head>
       
  1354 <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>
       
  1355 <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>
       
  1356 <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>
       
  1357 
       
  1358 <p><termdef id="dt-eldecl" term="Element Type declaration"><term>$BMWAG7?@k8@(B</term>$B$O!$<!$N7A<0$r$H$k!#(B
       
  1359 <scrap lang='ebnf'><head>$BMWAG7?@k8@(B</head><prodgroup pcw2="5.5" pcw4="18" pcw5="9">
       
  1360 <prod id='NT-elementdecl'><lhs>elementdecl</lhs>
       
  1361 <rhs>'&lt;!ELEMENT' <nt def='NT-S'>S</nt> 
       
  1362 <nt def='NT-Name'>Name</nt> 
       
  1363 <nt def='NT-S'>S</nt> 
       
  1364 <nt def='NT-contentspec'>contentspec</nt>
       
  1365 <nt def='NT-S'>S</nt>? '>'</rhs>
       
  1366 <vc def='EDUnique'/></prod>
       
  1367 <prod id='NT-contentspec'><lhs>contentspec</lhs>
       
  1368 <rhs>'EMPTY' 
       
  1369 | 'ANY' 
       
  1370 | <nt def='NT-Mixed'>Mixed</nt> 
       
  1371 | <nt def='NT-children'>children</nt>
       
  1372 </rhs>
       
  1373 <vc def='elementvalid'/>
       
  1374 </prod>
       
  1375 </prodgroup>
       
  1376 </scrap>
       
  1377 $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>
       
  1378 
       
  1379 <vcnote id='EDUnique'><head>$BMWAG@k8@$N0l0U@-(B</head>
       
  1380 <p>$BMWAG7?$r#2EY0J>e@k8@$G$-$J$$!#(B</p></vcnote>
       
  1381 
       
  1382 <vcnote id='elementvalid'><head>$BMWAG$N(B&validity;</head>
       
  1383 <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>
       
  1384 <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>
       
  1385 <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>
       
  1386 <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>
       
  1387 <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>
       
  1388 
       
  1389 </p></vcnote>
       
  1390 <!-- with the new VC, I don't think the next few paras add anything -TWB
       
  1391 <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>
       
  1392 <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>
       
  1393 <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> -->
       
  1394 
       
  1395 <p>$BMWAG@k8@$NNc$r!$<!$K<($9!#(B
       
  1396 <eg>
       
  1397 &lt;!ELEMENT br EMPTY>
       
  1398 &lt;!ELEMENT p (#PCDATA|emph)* >
       
  1399 &lt;!ELEMENT %name.para; %content.para; >
       
  1400 &lt;!ELEMENT container ANY>
       
  1401 </eg></p>
       
  1402 
       
  1403 <div3 id='sec-element-content'><head>$BMWAGFbMF(B</head>
       
  1404 
       
  1405 <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
       
  1406 <scrap lang='ebnf'><head>$BMWAGFbMF%b%G%k(B</head><prodgroup pcw2="5.5" pcw4="16" pcw5="11">
       
  1407 <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>
       
  1408 <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>
       
  1409 <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>
       
  1410 <!-- <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>
       
  1411 <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>
       
  1412 <prod id="NT-ctokplus"><lhs>ctokplus</lhs><rhs><nt def="NT-cps">cps</nt>('|' <nt def="NT-cps">cps</nt>)+</rhs></prod>
       
  1413 <prod id="NT-ctoks"><lhs>ctoks</lhs><rhs><nt def="NT-cps">cps</nt>('|' <nt def="NT-cps">cps</nt>)*</rhs></prod>
       
  1414 <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>
       
  1415 <prod id="NT-stoks"><lhs>stoks</lhs><rhs><nt def="NT-cps">cps</nt>(',' <nt def="NT-cps">cps</nt>)*</rhs></prod>
       
  1416 -->
       
  1417 </prodgroup></scrap>
       
  1418 $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>
       
  1419 
       
  1420 <!-- $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 -->
       
  1421 
       
  1422 <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
       
  1423 <!-- appendix <specref ref="determinism"/>. -->
       
  1424 <!-- appendix on deterministic content models. -->
       
  1425 </p>
       
  1426 
       
  1427 <vcnote id='vc-PEinGroup'>
       
  1428 <head>$B%0%k!<%W5Z$S%Q%i%a%?<BBN$,87L)$JF~$l;R$r$J$7$F$$$k$3$H(B</head>
       
  1429 <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>
       
  1430 <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
       
  1431 </p>
       
  1432 </vcnote>
       
  1433 <p>$BMWAGFbMF%b%G%k$N$$$/$D$+$NNc$r!$<!$K<($9!#(B
       
  1434 <eg>&lt;!ELEMENT spec (front, body, back?)>
       
  1435 &lt;!ELEMENT div1 (head, (p | list | note)*, div2*)>
       
  1436 &lt;!ELEMENT dictionary-body (%div.mix; | %dict.mix;)*></eg></p>
       
  1437 </div3>
       
  1438 
       
  1439 <div3 id='sec-mixed-content'>
       
  1440 <head>&mixed-content;</head>
       
  1441  
       
  1442 <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
       
  1443 <scrap lang='ebnf'>
       
  1444 <head>&mixed-content;$B@k8@(B</head>
       
  1445 <prodgroup pcw2="5.5" pcw4="16" pcw5="11">
       
  1446 <prod id='NT-Mixed'><lhs>Mixed</lhs>
       
  1447 <rhs>'(' <nt def='NT-S'>S</nt>? 
       
  1448 '#PCDATA'
       
  1449 (<nt def='NT-S'>S</nt>? 
       
  1450 '|' 
       
  1451 <nt def='NT-S'>S</nt>? 
       
  1452 <nt def='NT-Name'>Name</nt>)* 
       
  1453 <nt def='NT-S'>S</nt>? 
       
  1454 ')*' </rhs>
       
  1455 <rhs>| '(' <nt def='NT-S'>S</nt>? '#PCDATA' <nt def='NT-S'>S</nt>? ')'
       
  1456 </rhs><vc def='vc-PEinGroup'/>
       
  1457 <vc def='vc-MixedChildrenUnique'/>
       
  1458 </prod>
       
  1459 <!--
       
  1460 <prod id="NT-Mtoks"><lhs>Mtoks</lhs>
       
  1461 <rhs><nt def="NT-Name">Name</nt>
       
  1462 (<nt def='NT-S'>S</nt>? 
       
  1463 '|' 
       
  1464 <nt def='NT-S'>S</nt>? 
       
  1465 <nt def="NT-Name">Name</nt>)*
       
  1466 </rhs>
       
  1467 </prod>
       
  1468 -->
       
  1469 </prodgroup>
       
  1470 </scrap>
       
  1471 $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
       
  1472 </p>
       
  1473 
       
  1474 <vcnote id='vc-MixedChildrenUnique'>
       
  1475 <head>$BMWAG7?$N=EJ#$N6X;_(B</head>
       
  1476 <p>$B0l$D$N(B&mixed-content;$B@k8@Fb$K!$F1$8L>A0$,J#?t2s=P8=$7$F$O$J$i$J$$!#(B
       
  1477 </p></vcnote>
       
  1478 <p>&mixed-content;$B@k8@$NNc$r!$<!$K<($9!#(B
       
  1479 <eg>&lt;!ELEMENT p (#PCDATA|a|ul|b|i|em)*>
       
  1480 &lt;!ELEMENT p (#PCDATA | %font; | %phrase; | %special; | %form;)* >
       
  1481 &lt;!ELEMENT b (#PCDATA)></eg></p>
       
  1482 </div3>
       
  1483 </div2>
       
  1484 
       
  1485 
       
  1486 <div2 id='attdecls'>
       
  1487 <head>$BB0@-%j%9%H@k8@(B</head>
       
  1488 <p>
       
  1489 <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
       
  1490 <ulist>
       
  1491 <item><p>a) $B$"$kMWAG7?$KE,MQ$9$kB0@-$N=89g$r5,Dj$9$k!#(B</p></item>
       
  1492 <item><p>b) $BB0@-$X$N7?@)Ls$r@_Dj$9$k!#(B</p></item>
       
  1493 <item><p>c) $BB0@-$N(B<termref def="dt-default">&default-value;</termref>$B$r5,Dj$9$k!#(B</p></item>
       
  1494 </ulist>
       
  1495 </p>
       
  1496 <p>
       
  1497 <termdef id="dt-attdecl" term="Attribute-List Declaration">
       
  1498 <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
       
  1499 <scrap lang='ebnf'>
       
  1500 <head>$BB0@-%j%9%H@k8@(B</head>
       
  1501 <prod id='NT-AttlistDecl'><lhs>AttlistDecl</lhs>
       
  1502 <rhs>'&lt;!ATTLIST' <nt def='NT-S'>S</nt> 
       
  1503 <nt def='NT-Name'>Name</nt> 
       
  1504 <nt def='NT-AttDef'>AttDef</nt>*
       
  1505 <nt def='NT-S'>S</nt>? '&gt;'</rhs>
       
  1506 </prod>
       
  1507 <prod id='NT-AttDef'><lhs>AttDef</lhs>
       
  1508 <rhs><nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt> 
       
  1509 <nt def='NT-S'>S</nt> <nt def='NT-AttType'>AttType</nt> 
       
  1510 <nt def='NT-S'>S</nt> <nt def='NT-Default'>Default</nt></rhs>
       
  1511 </prod>
       
  1512 </scrap>
       
  1513 
       
  1514 <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
       
  1515 <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
       
  1516 </termdef>
       
  1517 </p>
       
  1518 <p>
       
  1519 $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
       
  1520 </p>
       
  1521 
       
  1522 <div3 id='sec-attribute-types'>
       
  1523 <head>$BB0@-$N7?(B</head>
       
  1524 <p>
       
  1525 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
       
  1526 
       
  1527 <scrap lang='ebnf'>
       
  1528 <head>Attribute Types</head>
       
  1529 <prodgroup pcw4="14" pcw5="11.5">
       
  1530 <prod id='NT-AttType'><lhs>AttType</lhs>
       
  1531 <rhs><nt def='NT-StringType'>StringType</nt> 
       
  1532 | <nt def='NT-TokenizedType'>TokenizedType</nt> 
       
  1533 | <nt def='NT-EnumeratedType'>EnumeratedType</nt>
       
  1534 </rhs>
       
  1535 </prod>
       
  1536 <prod id='NT-StringType'><lhs>StringType</lhs>
       
  1537 <rhs>'CDATA'</rhs>
       
  1538 </prod>
       
  1539 <prod id='NT-TokenizedType'><lhs>TokenizedType</lhs>
       
  1540 <rhs>'ID'</rhs>
       
  1541 <vc def='id'/>
       
  1542 <vc def='one-id-per-el'/>
       
  1543 <vc def='id-default'/>
       
  1544 <rhs>| 'IDREF'</rhs>
       
  1545 <vc def='idref'/>
       
  1546 <rhs>| 'IDREFS'</rhs>
       
  1547 <vc def='idref'/>
       
  1548 <rhs>| 'ENTITY'</rhs>
       
  1549 <vc def='entname'/>
       
  1550 <rhs>| 'ENTITIES'</rhs>
       
  1551 <vc def='entname'/>
       
  1552 <rhs>| 'NMTOKEN'</rhs>
       
  1553 <vc def='nmtok'/>
       
  1554 <rhs>| 'NMTOKENS'</rhs>
       
  1555 <vc def='nmtok'/></prod>
       
  1556 </prodgroup>
       
  1557 </scrap>
       
  1558 </p>
       
  1559 
       
  1560 <vcnote id='id' >
       
  1561 <head>ID</head>
       
  1562 <p>
       
  1563 $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
       
  1564 </p>
       
  1565 </vcnote>
       
  1566 <vcnote id='one-id-per-el'>
       
  1567 <head>1$BMWAG$4$H$K(B1ID</head>
       
  1568 <p>
       
  1569 $BMWAG7?$O!$J#?t$N(BID$BB0@-CM$r$b$C$F$O$J$i$J$$!#(B
       
  1570 </p>
       
  1571 </vcnote>
       
  1572 <vcnote id='id-default'>
       
  1573 <head>ID$BB0@-$N(B&default;</head>
       
  1574 <p>
       
  1575 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
       
  1576 </p>
       
  1577 </vcnote>
       
  1578 <vcnote id='idref'>
       
  1579 <head>IDREF</head>
       
  1580 <p>
       
  1581 <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
       
  1582 </p>
       
  1583 </vcnote>
       
  1584 <vcnote id='entname'>
       
  1585 <head>$B<BBNL>(B</head>
       
  1586 <p>
       
  1587 <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
       
  1588 </p>
       
  1589 </vcnote>
       
  1590 <vcnote id='nmtok'>
       
  1591 <head>$BL>A0(B&token;</head>
       
  1592 <p>
       
  1593 <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
       
  1594 </p>
       
  1595 </vcnote>
       
  1596 <p>
       
  1597 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
       
  1598 </p>
       
  1599 <p>
       
  1600 <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
       
  1601 
       
  1602 <scrap lang='ebnf'>
       
  1603 <head>$BNs5sB0@-$N7?(B</head>
       
  1604 <prod id='NT-EnumeratedType'><lhs>EnumeratedType</lhs> 
       
  1605 <rhs><nt def='NT-NotationType'>NotationType</nt> 
       
  1606 | <nt def='NT-Enumeration'>Enumeration</nt>
       
  1607 </rhs></prod>
       
  1608 <prod id='NT-NotationType'><lhs>NotationType</lhs> 
       
  1609 <rhs>'NOTATION' 
       
  1610 <nt def='NT-S'>S</nt> 
       
  1611 '(' 
       
  1612 <nt def='NT-S'>S</nt>?  
       
  1613 <nt def='NT-Name'>Name</nt> 
       
  1614 (<nt def='NT-S'>S</nt>? '|' <nt def='NT-Name'>Name</nt>)*
       
  1615 <nt def='NT-S'>S</nt>? ')'
       
  1616 </rhs>
       
  1617 <vc def='notatn' /></prod>
       
  1618 <prod id='NT-Enumeration'><lhs>Enumeration</lhs> 
       
  1619 <rhs>'(' <nt def='NT-S'>S</nt>?
       
  1620 <nt def='NT-Nmtoken'>Nmtoken</nt> 
       
  1621 (<nt def='NT-S'>S</nt>? '|' 
       
  1622 <nt def='NT-S'>S</nt>?  
       
  1623 <nt def='NT-Nmtoken'>Nmtoken</nt>)* 
       
  1624 <nt def='NT-S'>S</nt>? 
       
  1625 ')'</rhs> 
       
  1626 <vc def='enum'/></prod>
       
  1627 </scrap>
       
  1628 </p>
       
  1629 
       
  1630 <vcnote id='notatn'>
       
  1631 <head>$B5-K!B0@-(B</head>
       
  1632 <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
       
  1633 </p>
       
  1634 </vcnote>
       
  1635 <vcnote id='enum'>
       
  1636 <head>$BNs5s(B</head>
       
  1637 <p>
       
  1638 $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
       
  1639 </p>
       
  1640 </vcnote>
       
  1641 <p>
       
  1642 <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
       
  1643 </p>
       
  1644 </div3>
       
  1645 
       
  1646 <div3 id='sec-attr-defaults'>
       
  1647 <head>$BB0@-$N(B&default;</head>
       
  1648  
       
  1649 <p>
       
  1650 <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
       
  1651 
       
  1652 <scrap lang='ebnf'>
       
  1653 <head>$BB0@-$N(B&default;</head>
       
  1654 <prodgroup pcw4="14" pcw5="11.5">
       
  1655 <prod id='NT-Default'><lhs>Default</lhs>
       
  1656 <rhs>'#REQUIRED' 
       
  1657 |&nbsp;'#IMPLIED' </rhs>
       
  1658 <rhs>| (('#FIXED' S)? <nt def='NT-AttValue'>AttValue</nt>)</rhs>
       
  1659 <vc def='defattrvalid'/>
       
  1660 <wfc def="CleanAttrVals"/>
       
  1661 </prod>
       
  1662 </prodgroup>
       
  1663 </scrap>
       
  1664 <!-- improved by bosak
       
  1665 <scrap lang='ebnf'>
       
  1666 <head>Attribute Defaults</head>
       
  1667 <prod id='NT-Default'><lhs>Default</lhs>
       
  1668 <rhs>'#REQUIRED' 
       
  1669 |&nbsp;'#IMPLIED' </rhs>
       
  1670 <vc def='defattrvalid'/>
       
  1671 <wfc def="CleanAttrVals"/>
       
  1672 <rhs>| (('#FIXED' S)? <nt def='NT-AttValue'>AttValue</nt>)</rhs>
       
  1673 </prod>
       
  1674 </scrap>-->
       
  1675 </p>
       
  1676 
       
  1677 <vcnote id='defattrvalid'>
       
  1678 <head>$BB0@-(B&default;$B$N@5$7$5(B</head>
       
  1679 <p>
       
  1680 $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
       
  1681 </p>
       
  1682 </vcnote>
       
  1683 <p>
       
  1684 <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
       
  1685 </p>
       
  1686 <p>
       
  1687 <termdef id="dt-default" term="Attribute Default">
       
  1688 $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
       
  1689 </termdef></p>
       
  1690 
       
  1691 <p>$BB0@-%j%9%H@k8@$NNc$r!$<!$K<($9!#(B
       
  1692 
       
  1693 <eg>&lt;!ATTLIST termdef
       
  1694           id      ID      #REQUIRED
       
  1695           name    CDATA   #IMPLIED>
       
  1696 &lt;!ATTLIST list
       
  1697           type    (bullets|ordered|glossary)  "ordered">
       
  1698 &lt;!ATTLIST form
       
  1699           method  CDATA   #FIXED "POST"></eg></p>
       
  1700 </div3>
       
  1701 
       
  1702 <div3 id='AVNormalize'>
       
  1703 <head>$BB0@-CM$N@55,2=(B</head>
       
  1704 <p>
       
  1705 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
       
  1706 
       
  1707 <ulist>
       
  1708 <item>
       
  1709 <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
       
  1710 </p></item>
       
  1711 <item>
       
  1712 <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
       
  1713 </p></item>
       
  1714 <item>
       
  1715 <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
       
  1716 </p></item>
       
  1717 </ulist>
       
  1718 
       
  1719 &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>
       
  1720 </div3>
       
  1721 </div2>
       
  1722 
       
  1723 <div2 id='sec-condition-sect'>
       
  1724 <head>$B>r7oIU$-%;%/%7%g%s(B</head>
       
  1725 <p>
       
  1726 <termdef id='dt-cond-section' term='conditional section'>
       
  1727 <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
       
  1728 </termdef>
       
  1729 
       
  1730 <scrap lang='ebnf'>
       
  1731 <head>$B>r7oIU$-%;%/%7%g%s(B</head>
       
  1732 <prodgroup pcw2="9" pcw4="14.5">
       
  1733 <prod id='NT-conditionalSect'><lhs>conditionalSect</lhs>
       
  1734 <rhs><nt def='NT-includeSect'>includeSect</nt>
       
  1735 | <nt def='NT-ignoreSect'>ignoreSect</nt>
       
  1736 </rhs>
       
  1737 </prod>
       
  1738 <prod id='NT-includeSect'><lhs>includeSect</lhs>
       
  1739 <rhs>'&lt;![' S? 'INCLUDE' S? '[' 
       
  1740 <!-- (<nt def='NT-markupdecl'>markupdecl</nt> 
       
  1741       | <nt def="NT-conditionalSect">conditionalSect</nt>  
       
  1742       | <nt def="NT-S">S</nt>)*
       
  1743 -->
       
  1744 <nt def="NT-extSubset">extSubset</nt>
       
  1745 ']]&gt;'
       
  1746 </rhs>
       
  1747 </prod>
       
  1748 <prod id='NT-ignoreSect'><lhs>ignoreSect</lhs>
       
  1749 <rhs>'&lt;![' S? 'IGNORE' S? '[' 
       
  1750 <nt def="NT-ignoreSectContents">ignoreSectContents</nt>*
       
  1751 ']]&gt;'</rhs>
       
  1752 </prod>
       
  1753 <prod id='NT-ignoreSectContents'><lhs>ignoreSectContents</lhs>
       
  1754 <rhs><nt def='NT-Ignore'>Ignore</nt>
       
  1755 ('&lt;![' <nt def='NT-ignoreSectContents'>ignoreSectContents</nt>
       
  1756 ']]&gt;' 
       
  1757 <nt def='NT-Ignore'>Ignore</nt>)*</rhs></prod>
       
  1758 <prod id='NT-Ignore'><lhs>Ignore</lhs>
       
  1759 <rhs><nt def='NT-Char'>Char</nt>* - 
       
  1760 (<nt def='NT-Char'>Char</nt>* ('&lt;![' | ']]&gt;') 
       
  1761 <nt def='NT-Char'>Char</nt>*)
       
  1762 </rhs></prod>
       
  1763 <!--<rhs>
       
  1764 ((<nt def='NT-SkipLit'>SkipLit</nt> 
       
  1765 | <nt def='NT-Comment'>Comment</nt>
       
  1766 | <nt def='NT-PI'>PI</nt>) - 
       
  1767 (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-Char'>Char</nt>*))
       
  1768 | ('&lt;![' <nt def='NT-ignoreSectContents'>ignoreSectContents</nt>*
       
  1769 ']]&gt;')
       
  1770 </rhs>
       
  1771 <rhs>
       
  1772 | (<nt def='NT-Char'>Char</nt> - (']' | [&lt;'"]))
       
  1773 </rhs>
       
  1774 <rhs>
       
  1775 | ('&lt;!' (<nt def='NT-Char'>Char</nt> - ('-' | '[')))
       
  1776 </rhs>-->
       
  1777 </prodgroup>
       
  1778 </scrap>
       
  1779 </p>
       
  1780 
       
  1781 <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
       
  1782 </p>
       
  1783 <p>
       
  1784 $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
       
  1785 </p>
       
  1786 <p>
       
  1787 $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
       
  1788 </p>
       
  1789 
       
  1790 <p>$BNc$r<!$K<($9!#(B
       
  1791 
       
  1792 <eg>&lt;!ENTITY % draft 'INCLUDE' >
       
  1793 &lt;!ENTITY % final 'IGNORE' >
       
  1794  
       
  1795 &lt;![%draft;[
       
  1796 &lt;!ELEMENT book (comments*, title, body, supplements?)>
       
  1797 ]]&gt;
       
  1798 &lt;![%final;[
       
  1799 &lt;!ELEMENT book (title, body, supplements?)>
       
  1800 ]]&gt;
       
  1801 </eg>
       
  1802 </p>
       
  1803 </div2>
       
  1804 <!-- 
       
  1805 <div2 id='sec-pass-to-app'>
       
  1806 <head>XML Processor Treatment of Logical Structure</head>
       
  1807 <p>When an XML processor encounters a start-tag, it must make
       
  1808 at least the following information available to the application:
       
  1809 <ulist>
       
  1810 <item>
       
  1811 <p>the element type's generic identifier</p>
       
  1812 </item>
       
  1813 <item>
       
  1814 <p>the names of attributes known to apply to this element type
       
  1815 (validating processors must make available names of all attributes
       
  1816 declared for the element type; non-validating processors must
       
  1817 make available at least the names of the attributes for which
       
  1818 values are specified.
       
  1819 </p>
       
  1820 </item>
       
  1821 </ulist>
       
  1822 </p>
       
  1823 </div2>
       
  1824 --> 
       
  1825 
       
  1826 </div1>
       
  1827 <!-- &Entities; -->
       
  1828 
       
  1829 <div1 id='sec-physical-struct'>
       
  1830 <head>$BJ*M}9=B$(B</head>
       
  1831  
       
  1832 <p>
       
  1833 <termdef id="dt-entity" term="Entity">
       
  1834 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
       
  1835 </termdef>
       
  1836 
       
  1837 <!-- Added for CFG -->
       
  1838 <!-- obscurity amputated by TWB -->
       
  1839 <!-- entire sentence amputated by CMSMcQ:  no one but NO ONE is
       
  1840 ready for entities declared as
       
  1841 <!ENTITY foo "http://www.foo.com/bar.xml#id">
       
  1842 and it's pointless to suggest that it's possible
       
  1843 under current circumstances. -->
       
  1844 <!-- An entity may be stored in, -->
       
  1845 <!--but need not be coterminous with, -->
       
  1846 <!-- but need not comprise the whole of,  -->
       
  1847 <!-- a single physical storage object such as a file or -->
       
  1848 <!-- database field. -->
       
  1849 <!-- 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>
       
  1850 
       
  1851 <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
       
  1852 </termdef>
       
  1853 </p>
       
  1854 
       
  1855 <p>
       
  1856 <termdef id="dt-unparsed" term="Unparsed Entity">
       
  1857 <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
       
  1858 </termdef> 
       
  1859 </p>
       
  1860 
       
  1861 <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>
       
  1862 
       
  1863 <p>
       
  1864 <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>
       
  1865 
       
  1866 <!--
       
  1867 <div2 id='sec-synchro'>
       
  1868 <head>Logical and Physical Structures</head>
       
  1869 <p>The logical and physical structures (elements and entities)
       
  1870 in an XML document must
       
  1871 be properly nested.
       
  1872 <termref def='dt-stag'>Tags</termref> and <termref def='dt-element'>elements</termref> must
       
  1873 each begin and end in the same <termref def='dt-entity'>entity</termref>,  but may
       
  1874 refer to other 
       
  1875 entities internally; <termref def='dt-comment'>comments</termref>, 
       
  1876 <termref def='dt-pi'>processing instructions</termref>, 
       
  1877 <termref def='dt-charref'>character
       
  1878 references</termref>, and 
       
  1879 <termref def='dt-entref'>entity references</termref> must each be contained entirely
       
  1880 within a single entity. Entities must each contain an integral number
       
  1881 of elements, comments, processing instructions, and references,
       
  1882 possibly together with character data not contained within any element
       
  1883 in the entity, or else they must contain non-textual data, which by
       
  1884 definition contains no elements.</p></div2>
       
  1885 -->
       
  1886 
       
  1887 <div2 id='sec-references'>
       
  1888 <head>$BJ8;z;2>H5Z$S<BBN;2>H(B</head>
       
  1889 <p>
       
  1890 <termdef id="dt-charref" term="Character Reference">
       
  1891 <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
       
  1892 
       
  1893 <scrap lang='ebnf'>
       
  1894 <head>$BJ8;z;2>H(B</head>
       
  1895 <prod id='NT-CharRef'><lhs>CharRef</lhs>
       
  1896 <rhs>'&amp;#' [0-9]+ ';' </rhs>
       
  1897 <rhs>| '&hcro;' [0-9a-fA-F]+ ';'</rhs>
       
  1898 <wfc def="wf-Legalchar"/>
       
  1899 </prod>
       
  1900 </scrap>
       
  1901 <wfcnote id="wf-Legalchar">
       
  1902 <head>$B@5Ev$JJ8;z(B</head>
       
  1903 <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>
       
  1904 </wfcnote>
       
  1905 $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
       
  1906 <!--$BF|K\8lLu$K$D$$$F(B: letter$B$O%"%k%U%!%Y%C%H$HLu$7$?!#(B $B;09%(B -->
       
  1907 $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
       
  1908 </termdef>
       
  1909 </p>
       
  1910 
       
  1911 <p>
       
  1912 <termdef id="dt-entref" term="Entity Reference">
       
  1913 <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
       
  1914 </termdef>
       
  1915 </p>
       
  1916 
       
  1917 <scrap lang="ebnf">
       
  1918 <head>$B<BBN;2>H(B</head>
       
  1919 <prod id='NT-Reference'><lhs>Reference</lhs>
       
  1920 <rhs><nt def='NT-EntityRef'>EntityRef</nt> 
       
  1921 | <nt def='NT-CharRef'>CharRef</nt></rhs></prod>
       
  1922 <prod id='NT-EntityRef'><lhs>EntityRef</lhs>
       
  1923 <rhs>'&amp;' <nt def='NT-Name'>Name</nt> ';'</rhs>
       
  1924 <wfc def='wf-entdeclared'/>
       
  1925 <vc def='vc-entdeclared'/>
       
  1926 <wfc def='textent'/>
       
  1927 <wfc def='norecursion'/>
       
  1928 </prod>
       
  1929 <prod id='NT-PEReference'><lhs>PEReference</lhs>
       
  1930 <rhs>'%' <nt def='NT-Name'>Name</nt> ';'</rhs>
       
  1931 <wfc def='wf-entdeclared'/>
       
  1932 <vc def='vc-entdeclared'/>
       
  1933 <wfc def='textent'/>
       
  1934 <wfc def='norecursion'/>
       
  1935 <wfc def='indtd'/>
       
  1936 </prod>
       
  1937 </scrap>
       
  1938 
       
  1939 <wfcnote id='wf-entdeclared'>
       
  1940 <head>$B<BBN$,@k8@$5$l$F$$$k$3$H(B</head>
       
  1941 <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>
       
  1942 
       
  1943 <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
       
  1944 </p>
       
  1945 </wfcnote>
       
  1946 
       
  1947 <vcnote id="vc-entdeclared">
       
  1948 <head>$B<BBN$,@k8@$5$l$F$$$k$3$H(B</head>
       
  1949 <p>
       
  1950 $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
       
  1951 </p>
       
  1952 </vcnote>
       
  1953 
       
  1954 <!-- FINAL EDIT:  is this duplication too clumsy? -->
       
  1955 
       
  1956 <wfcnote id='textent'>
       
  1957 <head>&parsed-entity;</head>
       
  1958 <p>
       
  1959 $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
       
  1960 </p>
       
  1961 </wfcnote>
       
  1962 
       
  1963 <wfcnote id='norecursion'>
       
  1964 <head>$B:F5"$J$7(B</head>
       
  1965 <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>
       
  1966 </wfcnote>
       
  1967 
       
  1968 <wfcnote id='indtd'>
       
  1969 <head>DTD$B$NCf(B</head>
       
  1970 <p>
       
  1971 $B%Q%i%a%?<BBN;2>H$O!$(B<termref def='dt-doctype'>DTD</termref>$BFb$K$@$1!$=P8=$7$F$h$$!#(B
       
  1972 <!--
       
  1973 In the external DTD subset, a parameter-entity reference is 
       
  1974 recognized only at the locations where
       
  1975 the nonterminal <nt def="NT-PEReference">PEReference</nt> or the
       
  1976 special operator <code>%</code> appears in a production of the
       
  1977 grammar.  In the internal subset, parameter-entity references
       
  1978 are recognized only when they match 
       
  1979 the <nt def="NT-InternalPERef">InternalPERef</nt> non-terminal
       
  1980 in the production for <nt def="NT-markupdecl">markupdecl</nt>.
       
  1981 -->
       
  1982 </p>
       
  1983 </wfcnote>
       
  1984 
       
  1985 <p>
       
  1986 $BJ8;z;2>H5Z$S<BBN;2>H$NNc$r!$<!$K<($9!#(B
       
  1987 <eg>Type &lt;key>less-than&lt;/key> (&hcro;3C;) to save options.
       
  1988 This document was prepared on &amp;docdate; and
       
  1989 is classified &amp;security-level;.</eg>
       
  1990 </p>
       
  1991 
       
  1992 <p>
       
  1993 $B%Q%i%a%?<BBN;2>H$NNc$r!$<!$K<($9!#(B
       
  1994 <eg>&lt;!ENTITY % ISOLat2
       
  1995          SYSTEM "http://www.xml.com/iso/isolat2-xml.entities" >
       
  1996 %ISOLat2;
       
  1997 </eg>
       
  1998 </p>
       
  1999 </div2>
       
  2000  
       
  2001 <div2 id='sec-entity-decl'>
       
  2002 <head>$B<BBN@k8@(B</head>
       
  2003  
       
  2004 <p>
       
  2005 <termdef id="dt-entdecl" term="entity declaration">
       
  2006 $B<BBN$O!$<!$N$H$*$j$K@k8@$9$k!#(B
       
  2007 <scrap lang='ebnf'>
       
  2008 <head>$B<BBN@k8@(B</head>
       
  2009 <prodgroup pcw2="5" pcw4="18.5">
       
  2010 <prod id='NT-EntityDecl'><lhs>EntityDecl</lhs>
       
  2011 <rhs><nt def="NT-GEDecl">GEDecl</nt></rhs><com>$B0lHL<BBN(B</com>
       
  2012 <rhs>| <nt def="NT-PEDecl">PEDecl</nt></rhs><com>$B%Q%i%a%?<BBN(B</com>
       
  2013 </prod>
       
  2014 <prod id='NT-GEDecl'><lhs>GEDecl</lhs>
       
  2015 <rhs>'&lt;!ENTITY' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt> 
       
  2016 <nt def='NT-S'>S</nt> <nt def='NT-EntityDef'>EntityDef</nt> 
       
  2017 <nt def='NT-S'>S</nt>? '&gt;'</rhs>
       
  2018 </prod>
       
  2019 <prod id='NT-PEDecl'><lhs>PEDecl</lhs>
       
  2020 <rhs>| '&lt;!ENTITY' <nt def='NT-S'>S</nt> '%' <nt def='NT-S'>S</nt> 
       
  2021 <nt def='NT-Name'>Name</nt> <nt def='NT-S'>S</nt> 
       
  2022 <nt def='NT-PEDef'>PEDef</nt> <nt def='NT-S'>S</nt>? '&gt;'</rhs>
       
  2023 <com>$B%Q%i%a%?<BBN(B</com>
       
  2024 </prod>
       
  2025 <prod id='NT-EntityDef'><lhs>EntityDef</lhs>
       
  2026 <rhs><nt def='NT-EntityValue'>EntityValue</nt>
       
  2027 </rhs>
       
  2028 <!--<wfc def="WF-EntityValue"/>-->
       
  2029 <rhs>| <nt def='NT-ExternalDef'>ExternalDef</nt></rhs>
       
  2030 <!--<wfc def="WF-External"/>-->
       
  2031 </prod>
       
  2032 <!-- FINAL EDIT: what happened to WFs here? -->
       
  2033 <prod id='NT-PEDef'><lhs>PEDef</lhs>
       
  2034 <rhs><nt def='NT-EntityValue'>EntityValue</nt> 
       
  2035 | <nt def='NT-ExternalID'>ExternalID</nt></rhs></prod>
       
  2036 </prodgroup>
       
  2037 </scrap>
       
  2038 
       
  2039 <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
       
  2040 </termdef>
       
  2041 </p>
       
  2042 
       
  2043 <!--
       
  2044 <wfcnote id="WF-Entityvalue">
       
  2045 <head>Well-Formed Internal Entity</head>
       
  2046 <p>General entities defined by an <nt
       
  2047 def="NT-EntityValue">EntityValue</nt> must be well-formed, as defined
       
  2048 in section <specref ref="wf-entities"/>.
       
  2049 </p>
       
  2050 </wfcnote>
       
  2051 <wfcnote id="WF-External">
       
  2052 <head>Well-Formed External Entity</head>
       
  2053 <p>General text entities defined by an <nt
       
  2054 def="NT-ExternalDef">ExternalDef</nt>, must be well-formed, as defined
       
  2055 in the section on <titleref xml-link="simple"
       
  2056 href="wf-entities">well-formed entities.</titleref>.</p>
       
  2057 </wfcnote>
       
  2058 --> 
       
  2059 
       
  2060 <div3 id='sec-internal-ent'>
       
  2061 <head>$BFbIt<BBN(B</head>
       
  2062 <p>
       
  2063 <termdef id='dt-internent' term="Internal Entity Replacement Text">
       
  2064 $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
       
  2065 
       
  2066 <!-- redundant -TWB
       
  2067 Within the <nt def="NT-EntityValue">EntityValue</nt>,
       
  2068 parameter-entity references and character references are recognized
       
  2069 and expanded immediately. 
       
  2070 General-entity references within the
       
  2071 replacement text are not recognized
       
  2072 at the time the entity declaration is parsed, though they may be
       
  2073 recognized when the entity itself is referred to.
       
  2074 -->
       
  2075 
       
  2076 </p>
       
  2077 
       
  2078 <p>
       
  2079 $BFbIt<BBN$O!$(B<termref def="dt-parsedent">&parsed-entity;</termref>$B$H$9$k!#(B
       
  2080 </p>
       
  2081 
       
  2082 <p>$BFbIt<BBN@k8@$NNc$r!$<!$K<($9!#(B
       
  2083 <eg>&lt;!ENTITY Pub-Status "This is a pre-release of the specification."></eg></p>
       
  2084 </div3>
       
  2085  
       
  2086 <div3 id='sec-external-ent'>
       
  2087 <head>$B30It<BBN(B</head>
       
  2088 <p>
       
  2089 <termdef id="dt-extent" term="External Entity">
       
  2090 $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
       
  2091 
       
  2092 <scrap lang='ebnf'>
       
  2093 <head>$B30It<BBN@k8@(B</head>
       
  2094 <prod id='NT-ExternalDef'><lhs>ExternalDef</lhs>
       
  2095 <rhs><nt def='NT-ExternalID'>ExternalID</nt> 
       
  2096 <nt def='NT-NDataDecl'>NDataDecl</nt>?</rhs></prod>
       
  2097 <prod id='NT-ExternalID'><lhs>ExternalID</lhs>
       
  2098 <rhs>'SYSTEM' <nt def='NT-S'>S</nt> 
       
  2099 <nt def='NT-SystemLiteral'>SystemLiteral</nt></rhs>
       
  2100 <rhs>| 'PUBLIC' <nt def='NT-S'>S</nt> 
       
  2101 <nt def='NT-PubidLiteral'>PubidLiteral</nt> 
       
  2102 <nt def='NT-S'>S</nt> 
       
  2103 <nt def='NT-SystemLiteral'>SystemLiteral</nt>
       
  2104 </rhs>
       
  2105 </prod>
       
  2106 <prod id='NT-NDataDecl'><lhs>NDataDecl</lhs>
       
  2107 <rhs><nt def='NT-S'>S</nt> 'NDATA' <nt def='NT-S'>S</nt> 
       
  2108 <nt def='NT-Name'>Name</nt></rhs>
       
  2109 <vc def='not-declared'/></prod>
       
  2110 </scrap>
       
  2111 
       
  2112 <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>
       
  2113 </p>
       
  2114 
       
  2115 <vcnote id='not-declared'>
       
  2116 <head>$B5-K!$,@k8@$5$l$F$$$k$3$H(B</head>
       
  2117 <p>
       
  2118 <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
       
  2119 </p>
       
  2120 </vcnote>
       
  2121 
       
  2122 <p>
       
  2123 <termdef id="dt-sysid" term="System Identifier">
       
  2124 $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
       
  2125 </p>
       
  2126 
       
  2127 <p>
       
  2128 <termdef id="dt-pubid" term="Public identifier">
       
  2129 $B%7%9%F%`(B&identifier;$B0J30$K!$30It<BBN$O!$(B<term>$B8x3+(B&identifier;</term>$B$r4^$s$G$b$h$$!#(B
       
  2130 </termdef>
       
  2131 $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
       
  2132 </p>
       
  2133 
       
  2134 <p>$B30It<BBN@k8@$NNc$r!$<!$K<($9!#(B
       
  2135 <eg>&lt;!ENTITY open-hatch
       
  2136          SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml">
       
  2137 &lt;!ENTITY open-hatch
       
  2138          PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN"
       
  2139          "http://www.textuality.com/boilerplate/OpenHatch.xml">
       
  2140 &lt;!ENTITY hatch-pic
       
  2141          SYSTEM "../grafix/OpenHatch.gif"
       
  2142          NDATA gif ></eg></p>
       
  2143 </div3>
       
  2144  
       
  2145 </div2>
       
  2146 
       
  2147 <div2 id='TextEntities'>
       
  2148 <head>&parsed-entity;</head>
       
  2149 <div3 id='sec-TextDecl'>
       
  2150 <head>$B%F%-%9%H@k8@(B</head>
       
  2151 <p>$B30It(B&parsed-entity;$B$O!$(B<term>$B%F%-%9%H@k8@(B</term>$B$G;O$^$C$F$b$h$$!#(B
       
  2152 <scrap lang='ebnf'>
       
  2153 <head>$B%F%-%9%H@k8@(B</head>
       
  2154 <prodgroup pcw4="12.5" pcw5="13">
       
  2155 <prod id='NT-TextDecl'><lhs>TextDecl</lhs>
       
  2156 <rhs>&xmlpio; 
       
  2157 <nt def='NT-VersionInfo'>VersionInfo</nt>?
       
  2158 <nt def='NT-EncodingDecl'>EncodingDecl</nt>
       
  2159 <nt def='NT-S'>S</nt>? &pic;</rhs>
       
  2160 <!-- <wfc def='wfc-xmldecliteral'/> -->
       
  2161 <!-- <wfc def='wfc-no-nonleading-encdec'/> -->
       
  2162 </prod>
       
  2163 </prodgroup>
       
  2164 </scrap>
       
  2165 </p>
       
  2166 <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>
       
  2167 <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>
       
  2168 </div3>
       
  2169 <div3 id='wf-entities'>
       
  2170 <head>&well-formed;$B$N(B&parsed-entity;</head>
       
  2171 <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
       
  2172 
       
  2173 <scrap lang='ebnf'>
       
  2174 <head>&well-formed;$B$N(B&parsed-entity;</head>
       
  2175 <prod id='NT-ExtParsedEnt'><lhs>ExtParsedEnt</lhs>
       
  2176 <rhs><nt def='NT-TextDecl'>TextDecl</nt>? 
       
  2177 <nt def='NT-content'>content</nt></rhs>
       
  2178 </prod>
       
  2179 <prod id='NT-ExtPE'><lhs>ExtPE</lhs>
       
  2180 <rhs><nt def='NT-TextDecl'>TextDecl</nt>? 
       
  2181 <nt def='NT-extSubset'>extSubset</nt></rhs>
       
  2182 </prod>
       
  2183 </scrap>
       
  2184 &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
       
  2185 </p>
       
  2186 <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>
       
  2187 </div3>
       
  2188 <div3 id='charencoding'>
       
  2189 <head>$B<BBN$K$*$1$kJ8;zId9f2=(B</head>
       
  2190  
       
  2191 <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
       
  2192 <!--
       
  2193 It is recognized that for some purposes, the use of additional
       
  2194 ISO/IEC 10646 planes other than the Basic Multilingual Plane
       
  2195 may be required.  
       
  2196 A facility for handling characters in these planes is therefore a
       
  2197 desirable characteristic in XML processors and applications.
       
  2198 -->
       
  2199 </p>
       
  2200 <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>
       
  2201 <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
       
  2202 <scrap lang='ebnf'>
       
  2203 <head>$BId9f2=@k8@(B</head>
       
  2204 <prod id='NT-EncodingDecl'><lhs>EncodingDecl</lhs>
       
  2205 <rhs><nt def="NT-S">S</nt>
       
  2206 'encoding' <nt def='NT-Eq'>Eq</nt> 
       
  2207 '"' <nt def='NT-EncName'>EncName</nt> '"' | "'" 
       
  2208 <nt def='NT-EncName'>EncName</nt> "'"
       
  2209 </rhs>
       
  2210 </prod>
       
  2211 <prod id='NT-EncName'><lhs>EncName</lhs>
       
  2212 <rhs>[A-Za-z] ([A-Za-z0-9._] | '-')*</rhs>
       
  2213 <com>$B%i%F%sJ8;z$@$1$r4^$`Id9f2=L>(B</com>
       
  2214 </prod>
       
  2215 </scrap>
       
  2216 <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
       
  2217 </p>
       
  2218 <!-- FINAL EDIT:  check name of IANA and charset names -->
       
  2219 <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>
       
  2220 <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
       
  2221 </p>
       
  2222 <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>
       
  2223 
       
  2224 <p><!-- XML processors should make an effort to use all available
       
  2225 information, internal and external, to aid in detecting an entity's correct
       
  2226 encoding.  Such information may include, but is not limited to:
       
  2227 <ulist><item><p>An HTTP header</p></item>
       
  2228 <item><p>A MIME header obtained other than through HTTP</p></item>
       
  2229 <item><p>Metadata provided by the native OS file system or by document
       
  2230 management software</p></item>
       
  2231 <item><p>The bit patterns at the front of an entity, which may
       
  2232 be analyzed to determine if
       
  2233 the application of any known encoding yields a valid encoding
       
  2234 declaration.  See <titleref href='sec-guessing'>the appendix on
       
  2235 autodetection of character sets</titleref> 
       
  2236 for a fuller description.</p></item></ulist> -->
       
  2237 $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
       
  2238 <!--
       
  2239 inform the application of this fact and 
       
  2240 may 
       
  2241 allow the application to
       
  2242 request either that the entity should be treated as an <termref
       
  2243 def="dt-unparsed">unparsed entity</termref>, or that processing should
       
  2244 cease.-->
       
  2245 </p>
       
  2246 <p>$BId9f2=@k8@$NNc$r!$<!$K<($9!#(B
       
  2247 <eg>&lt;?xml encoding='UTF-8'?>
       
  2248 &lt;?xml encoding='EUC-JP'?></eg></p>
       
  2249 </div3>
       
  2250 </div2>
       
  2251 <div2 id='entproc'>
       
  2252 <head>XML&processor;$B$K$h$k<BBN5Z$S;2>H$N07$$(B</head>
       
  2253 <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
       
  2254 <glist>
       
  2255 <gitem><label>$BFbMF$K$*$1$k;2>H(B</label>
       
  2256 <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>
       
  2257 </gitem>
       
  2258 <gitem>
       
  2259 <label>$BB0@-CM$K$*$1$k;2>H(B</label>
       
  2260 <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>
       
  2261 <gitem>
       
  2262 <label>$BB0@-CM$H$7$F=P8=(B</label>
       
  2263 <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>
       
  2264 </def></gitem>
       
  2265 <gitem><label>$B<BBNCM$K$*$1$k;2>H(B</label>
       
  2266 <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>
       
  2267 <gitem><label>DTD$B$K$*$1$k;2>H(B</label>
       
  2268 <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>
       
  2269 </gitem>
       
  2270 </glist></p>
       
  2271 <!-- border value changed by bosak -->
       
  2272 <htable border='1' cellpadding='7' align='center'>
       
  2273 <!-- tbody wrapper added by bosak -->
       
  2274 <htbody>
       
  2275 <tr><td bgcolor='&cellback;' rowspan='2' colspan='1'></td>
       
  2276 <td bgcolor='&cellback;' align='center' valign='bottom' colspan='4'>$B<BBN$N7?(B</td>
       
  2277 <td bgcolor='&cellback;' rowspan='2' align='center'>$BJ8;z(B</td>
       
  2278 </tr>
       
  2279 <tr align='center' valign='bottom'>
       
  2280 <td bgcolor='&cellback;'>$B%Q%i%a%?(B</td>
       
  2281 <td bgcolor='&cellback;'>$BFbIt(B&newline;$B0lHL(B</td>
       
  2282 <td bgcolor='&cellback;'>$B30It(B&newline;&parsed-entity;&newline;$B0lHL(B</td>
       
  2283 <td bgcolor='&cellback;'>&unparsed-entity;</td>
       
  2284 </tr>
       
  2285 <tr align='center' valign='middle'>
       
  2286 <!--<td bgcolor='&cellback;' rowspan='4'>Recognition
       
  2287 Context</td>-->
       
  2288 <td bgcolor='&cellback;' align='right'>$BFbMF$G$N(B&newline;$B;2>H(B</td>
       
  2289 <td bgcolor='&cellback;'><titleref href='not-recognized'>$BG'<1(B&newline;$B$7$J$$(B</titleref></td>
       
  2290 <td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td>
       
  2291 <td bgcolor='&cellback;'><titleref href='include-if-valid'>$B8!>Z$N$?$a$K<h9~$_(B</titleref></td>
       
  2292 <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td>
       
  2293 <td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td>
       
  2294 </tr>
       
  2295 <tr align='center' valign='middle'>
       
  2296 <td bgcolor='&cellback;' align='right'>$BB0@-CM$G$N(B&newline;$B;2>H(B</td>
       
  2297 <td bgcolor='&cellback;'><titleref href='not-recognized'>$BG'<1(B&newline;$B$7$J$$(B</titleref></td>
       
  2298 <td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td>
       
  2299 <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td>
       
  2300 <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td>
       
  2301 <td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td>
       
  2302 </tr>
       
  2303 <tr align='center' valign='middle'>
       
  2304 <td bgcolor='&cellback;' align='right'>$BB0@-CM$H$7$F(B&newline;$B=P8=(B</td>
       
  2305 <td bgcolor='&cellback;'><titleref href='not-recognized'>$BG'<1(B&newline;$B$7$J$$(B</titleref></td>
       
  2306 <td bgcolor='&cellback;'><titleref href='not-recognized'>$B6X;_(B</titleref></td>
       
  2307 <td bgcolor='&cellback;'><titleref href='not-recognized'>$B6X;_(B</titleref></td>
       
  2308 <td bgcolor='&cellback;'><titleref href='notify'>$BDLCN(B</titleref></td>
       
  2309 <td bgcolor='&cellback;'><titleref href='not recognized'>$BG'<1(B&newline;$B$7$J$$(B</titleref></td>
       
  2310 </tr>
       
  2311 <tr align='center' valign='middle'>
       
  2312 <td bgcolor='&cellback;' align='right'>$B<BBNCM$G$N(B&newline;$B;2>H(B</td>
       
  2313 <td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td>
       
  2314 <td bgcolor='&cellback;'><titleref href='bypass'>&bypass;</titleref></td>
       
  2315 <td bgcolor='&cellback;'><titleref href='bypass'>&bypass;</titleref></td>
       
  2316 <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td>
       
  2317 <td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td>
       
  2318 </tr>
       
  2319 <tr align='center' valign='middle'>
       
  2320 <td bgcolor='&cellback;' align='right'>DTD$B$G$N(B&newline;$B;2>H(B</td>
       
  2321 <td bgcolor='&cellback;'><titleref href='as-PE'>PE$B$H$7$F(B&newline;$B<h9~$_(B</titleref></td>
       
  2322 <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td>
       
  2323 <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td>
       
  2324 <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td>
       
  2325 <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td>
       
  2326 </tr>
       
  2327 </htbody>
       
  2328 </htable>
       
  2329 <div3 id='not-recognized'>
       
  2330 <head>$B!HG'<1$7$J$$!I(B</head>
       
  2331 <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
       
  2332 </p>
       
  2333 </div3>
       
  2334 <div3 id='included'>
       
  2335 <head>$B!H<h9~$_!I(B</head>
       
  2336 <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
       
  2337 </termdef></p>
       
  2338 </div3>
       
  2339 <div3 id='include-if-valid'>
       
  2340 <head>$B!H8!>Z$N$?$a$K<h9~$_!I(B</head>
       
  2341 <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>
       
  2342 <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
       
  2343 </p>
       
  2344 </div3>
       
  2345 <div3 id='forbidden'>
       
  2346 <head>$B!H6X;_!I(B</head>
       
  2347 <p>$B<!$O6X;_$5$l$F$*$j!$(B<termref def='dt-fatal'>&fatal-error;</termref>$B$H$9$k!#(B
       
  2348 <ulist>
       
  2349 <item><p>a) <termref def='dt-unparsed'>&unparsed-entity;</termref>$B$X$N;2>H$N=P8=!#(B
       
  2350 </p></item>
       
  2351 <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>
       
  2352 <item><p>c) $BB0@-CMFb$N30It<BBN$X$N;2>H!#(B</p>
       
  2353 </item>
       
  2354 </ulist>
       
  2355 </p>
       
  2356 </div3>
       
  2357 <div3 id='notify'>
       
  2358 <head>$B!HDLCN!I(B</head>
       
  2359 <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>
       
  2360 </div3>
       
  2361 <div3 id='bypass'>
       
  2362 <head>$B!H(B&bypass;$B!I(B</head>
       
  2363 <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>
       
  2364 </div3>
       
  2365 <div3 id='as-PE'>
       
  2366 <head>$B!H(BPE$B$H$7$F<h9~$_!I(B</head>
       
  2367 <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
       
  2368 </p>
       
  2369 </div3>
       
  2370 <!--
       
  2371 <div3 id='gen-char-entproc'>
       
  2372 <head>General and Character Entity Processing</head> 
       
  2373 <p>General-entity and character references are recognized in three
       
  2374 contexts: wherever the nonterminal <nt def='NT-content'>content</nt> may
       
  2375 appear, at any point within the nonterminal 
       
  2376 <nt def='NT-AttValue'>AttValue</nt>,
       
  2377 and within the 
       
  2378 <termref def='dt-litentval'>literal entity value</termref> 
       
  2379 (<nt def='NT-EntityValue'>EntityValue</nt>)  
       
  2380 of an internal entity declaration.
       
  2381 This section discusses the first two cases; the third
       
  2382 is discussed <titleref href='intern-replacement'>below</titleref>.
       
  2383 When an <termref def="dt-xml-proc">XML processor</termref> encounters
       
  2384 such a reference, or the name of an unparsed entity as the value
       
  2385 of an <kw>ENTITY</kw> or <kw>ENTITIES</kw> attribute, then:
       
  2386 <olist>
       
  2387 
       
  2388 <item><p>In all cases, the XML processor may 
       
  2389 inform the application of the reference's occurrence and its identifier
       
  2390 (for an entity reference, the name; for a character
       
  2391 reference, 
       
  2392 the character number in decimal, hexadecimal, or binary form).</p></item>
       
  2393 
       
  2394 <item><p>For both character and entity references, the processor must
       
  2395 remove the reference itself from the <termref def="dt-text">text</termref> data
       
  2396 before passing the data to the application.
       
  2397 </p></item>
       
  2398 
       
  2399 <item><p>For character references, the processor must 
       
  2400 pass the character indicated
       
  2401 to the application in
       
  2402 place of the reference.
       
  2403 </p></item>
       
  2404 
       
  2405 <item><p>For an external entity, the processor must inform the
       
  2406 application of the entity's <termref def="dt-sysid">system
       
  2407 identifier</termref>, and <termref def="dt-pubid">public identifier</termref> 
       
  2408 if any.
       
  2409 All strings
       
  2410 of white space in the public identifier must be normalized to single space characters (#x20),
       
  2411 and leading and trailing white space must be removed.</p></item>
       
  2412 
       
  2413 <item><p>If the external entity is binary, the processor must inform the
       
  2414 application of the associated <termref def="dt-notation">notation</termref> 
       
  2415 name, and the notation's associated <termref def='dt-sysid'>system</termref> 
       
  2416 and <termref def='dt-pubid'>public</termref> (if any)
       
  2417 identifiers.</p></item>
       
  2418 
       
  2419 <item><p><termdef id="dt-include" term="Include">For an internal
       
  2420 (parsed) entity, the processor must <term>include</term> the 
       
  2421 entity; that is, retrieve its replacement text 
       
  2422 and process it as a part of the document 
       
  2423 (i.e. as <nt def="NT-content">content</nt> or <nt
       
  2424 def="NT-AttValue">AttValue</nt>, whichever was being processed when
       
  2425 the reference was recognized), passing the result to the application
       
  2426 in place of the reference.  The replacement text may contain both 
       
  2427 <termref def='dt-chardata'>character data</termref>
       
  2428 and <termref def="dt-markup">markup</termref>, which must be recognized in
       
  2429 the usual way, except that the replacement text of entities used to escape
       
  2430 markup delimiters (the entities &magicents;) is always treated as
       
  2431 data.  (The string "<code>AT&amp;amp;T;</code>" expands to
       
  2432 "<code>AT&amp;T;</code>" since the ampersand replacing "<code>&amp;amp;</code>"
       
  2433 is not recognized
       
  2434 as an entity-reference delimiter.) </termdef></p>
       
  2435 <p>Since the entity  may contain other entity references,
       
  2436 an XML processor may have to repeat the inclusion process recursively.</p>
       
  2437 </item>
       
  2438 <item><p>If the entity is an external parsed entity, then in order to
       
  2439 <termref def="dt-valid">validate</termref> the XML document, the processor must
       
  2440 <termref def="dt-include">include</termref> the content of the
       
  2441 entity.</p></item>
       
  2442 
       
  2443 <item><p>If the entity is an external parsed entity, and the processor is not
       
  2444 attempting to <termref def="dt-valid">validate</termref> the XML document, the
       
  2445 processor <termref def="dt-may">may</termref>, but need not, <termref
       
  2446 def="dt-include">include</termref> the entity's content.</p>
       
  2447 <p>This rule is based on the recognition that the automatic inclusion
       
  2448 provided by the SGML and XML entity mechanism, primarily designed
       
  2449 to support modularity in authoring, is not necessarily 
       
  2450 appropriate for other applications, in particular document browsing.
       
  2451 Browsers, for example, when encountering an external parsed entity reference,
       
  2452 might choose to provide a visual indication of the entity's
       
  2453 presence and retrieve it for display only on demand.
       
  2454 </p></item>
       
  2455 </olist>
       
  2456 </p>
       
  2457 <p><termdef id="dt-escape" term="escape">Entity and character
       
  2458 references can both be used to <term>escape</term> the left angle bracket,
       
  2459 ampersand, and other delimiters.   A set of general entities
       
  2460 (&magicents;) is specified for this purpose.
       
  2461 Numeric character references may also be used; they are
       
  2462 expanded immediately when recognized, and must be treated as
       
  2463 character data, so the numeric character references
       
  2464 "<code>&amp;#60;</code>" and "<code>&amp;#38;</code>" may be used to 
       
  2465 escape <code>&lt;</code> and <code>&amp;</code> when they occur
       
  2466 in character data.</termdef></p>
       
  2467 </div3>
       
  2468 <div3 id='PE-proc'>
       
  2469 <head>Parameter Entity Processing</head>
       
  2470 <p>Parameter-entity references are only recognized in the
       
  2471 <termref def='dt-doctype'>DTD</termref>.
       
  2472 Their processing, when they appear 
       
  2473 within the 
       
  2474 <termref def='dt-litentval'>literal entity value</termref> 
       
  2475 (<nt def='NT-EntityValue'>EntityValue</nt>) 
       
  2476 of an internal entity declaration,
       
  2477 is discussed <titleref href='intern-replacement'>below</titleref>.
       
  2478 They have these intended uses:
       
  2479 <olist>
       
  2480 <item><p>as a replacement for one or more complete markup declarations</p></item>
       
  2481 <item><p>as a replacement for one or more complete "groups" in 
       
  2482 element declarations</p></item>
       
  2483 <item><p>as a replacement for one or more complete "tokens" in
       
  2484 markup declarations</p></item>
       
  2485 </olist>
       
  2486 </p>
       
  2487 <p>The constraints requiring that PE replacement texts be properly nested
       
  2488 with <titleref href='vc-PEinMarkupDecl'>markup declarations</titleref>
       
  2489 and <titleref href='vc-PEinGroup'>content groups</titleref> 
       
  2490 govern the first two usages.</p>
       
  2491 <p>To support the third intended usage, 
       
  2492 when an XML processor encounters a parameter-entity reference
       
  2493 (outside of the 
       
  2494 <termref def='dt-litentval'>literal entity value</termref> in an entity
       
  2495 declaration), 
       
  2496 it must <termref def="dt-include">include</termref> 
       
  2497 the named entity, but first expand its 
       
  2498 <termref def='dt-repltext'>replacement text</termref> by attaching
       
  2499 space (#x20) characters to its beginning and the end, before
       
  2500 processing it.</p>
       
  2501 <p>The DTD text must match the relevant
       
  2502 rules of this specification's grammar after all parameter-entity 
       
  2503 references have been expanded.  
       
  2504 <!-In addition, parameter entities referred to in specific
       
  2505 contexts are required to satisfy certain constraints in their
       
  2506 replacement text; for example, a parameter entity referred to within
       
  2507 the internal DTD subset must match the rule for <nt
       
  2508 def="NT-markupdecl">markupdecl</nt>.  ->
       
  2509 </p>
       
  2510 </div3>
       
  2511 -->
       
  2512 </div2>
       
  2513 <div2 id='intern-replacement'>
       
  2514 <head>$BFbIt<BBN(B&replacement-text;$B$N9=C[(B</head>
       
  2515 <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>
       
  2516 
       
  2517 <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
       
  2518 <!-- in the replacement text that is to be included. -->
       
  2519 $BNc$($P!$<!$N@k8@$rM?$($?$H$9$k!#(B
       
  2520 
       
  2521 <eg><![CDATA[<!ENTITY % pub    "&#xc9;ditions Gallimard" >
       
  2522 <!ENTITY   rights "All rights reserved" >
       
  2523 <!ENTITY   book   "La Peste: Albert Camus, 
       
  2524 &#xA9; 1947 %pub;. &rights;" >]]></eg>
       
  2525 $B<BBN$N(B&replacement-text;"<code>book</code>"$B$O!$<!$N$H$*$j$H$J$k!#(B
       
  2526 <eg>La Peste: Albert Camus, 
       
  2527 &#169; 1947 &#201;ditions Gallimard. &amp;rights;</eg>
       
  2528 $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>
       
  2529 <p>$B$3$l$i$NC1=c$J5,B'$O!$J#9gAj8_:nMQ$r$b$D!#(B
       
  2530 <!-- $BF|K\8lLu$K$D$$$F!'(B interaction = $BAj8_:nMQ!J6bK\!K(B-->
       
  2531 $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
       
  2532 </p>
       
  2533 <!-- Replaced by the above -TB
       
  2534 <p>Implementors of XML processors need to know the rules for
       
  2535 expansion of references in more detail.  These rules only come into
       
  2536 play when the replacement text for an internal entity itself contains
       
  2537 other references.
       
  2538 <olist>
       
  2539 <item><p>In the replacement text of an internal entity, parameter-entity
       
  2540 references and character references in the replacement text 
       
  2541 are recognized and resolved 
       
  2542 when the entity declaration is parsed,
       
  2543 before the replacement text is stored in
       
  2544 the processor's symbol table.
       
  2545 General-entity references in the replacement text are not 
       
  2546 resolved when the entity declaration is parsed.</p></item>
       
  2547 <item><p>In the document, when a general-entity reference is
       
  2548 resolved, its replacement text is parsed.  Character references 
       
  2549 encountered in the replacement text are
       
  2550 resolved immediately; general-entity references encountered in the
       
  2551 replacement text may be resolved or left unresolved, as described 
       
  2552 <titleref href="entproc">above</titleref>.
       
  2553 Character and general-entity references must be
       
  2554 contained entirely within the entity's replacement text.  
       
  2555 </p></item>
       
  2556 </olist>
       
  2557 </p>
       
  2558 
       
  2559 <p>Simple character references do not suffice to escape delimiters
       
  2560 within the replacement text of an internal entity:  they will be
       
  2561 expanded when the entity declaration is parsed, before the replacement
       
  2562 text is stored in the symbol table.  When the entity itself is
       
  2563 referred to, the replacement text will be parsed again, and the
       
  2564 delimiters (no longer character references) 
       
  2565 will be recognized as delimiters.  To escape the
       
  2566 characters &magicents; in an entity replacement text, use
       
  2567 a general-entity reference or a doubly-escaped character reference.
       
  2568 See <titleref href='sec-entexpand'>the appendix on expansion 
       
  2569 of entity references</titleref>
       
  2570 for detailed examples.</p>
       
  2571 -->
       
  2572 
       
  2573 
       
  2574 </div2>
       
  2575 <div2 id='sec-predefined-ent'>
       
  2576 <head>$BDj5A:Q$_<BBN(B</head>
       
  2577 <p><termdef id="dt-escape" term="escape">
       
  2578 $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>
       
  2579 <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
       
  2580 <eg><![CDATA[<!ENTITY lt     "&#38;#60;"> 
       
  2581 <!ENTITY gt     "&#62;"> 
       
  2582 <!ENTITY amp    "&#38;#38;"> 
       
  2583 <!ENTITY apos   "&#39;"> 
       
  2584 <!ENTITY quot   "&#34;"> 
       
  2585 ]]></eg>
       
  2586 "<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
       
  2587 </p>
       
  2588 </div2>
       
  2589 
       
  2590 
       
  2591 <div2 id='Notations'>
       
  2592 <head>$B5-K!@k8@(B</head>
       
  2593 
       
  2594  
       
  2595 <p>
       
  2596 <termdef id="dt-notation" term="Notation">
       
  2597 <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>
       
  2598 <p><termdef id="dt-notdecl" term="Notation Declaration">
       
  2599 <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
       
  2600 <scrap lang='ebnf'>
       
  2601 <head>$B5-K!@k8@(B</head>
       
  2602 <prod id='NT-NotationDecl'><lhs>NotationDecl</lhs>
       
  2603 <rhs>'&lt;!NOTATION' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt> 
       
  2604 <nt def='NT-S'>S</nt> 
       
  2605 (<nt def='NT-ExternalID'>ExternalID</nt> | 
       
  2606 <nt def='NT-PublicID'>PublicID</nt>)
       
  2607 <nt def='NT-S'>S</nt>? '>'</rhs></prod>
       
  2608 <prod id='NT-PublicID'><lhs>PublicID</lhs>
       
  2609 <rhs>'PUBLIC' <nt def='NT-S'>S</nt> 
       
  2610 <nt def='NT-PubidLiteral'>PubidLiteral</nt> 
       
  2611 </rhs></prod>
       
  2612 </scrap>
       
  2613 </termdef></p>
       
  2614 <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>
       
  2615 </div2>
       
  2616 
       
  2617 
       
  2618 <div2 id='sec-doc-entity'>
       
  2619 <head>$BJ8=q<BBN(B</head>
       
  2620 
       
  2621 <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>
       
  2622 </div2>
       
  2623 
       
  2624 
       
  2625 </div1>
       
  2626 <!-- &Conformance; -->
       
  2627 <div1 id='sec-conformance'>
       
  2628 <head>$BE,9g@-(B</head>
       
  2629 
       
  2630 <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>
       
  2631 <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>
       
  2632 <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
       
  2633 </termdef>
       
  2634 </p>
       
  2635 </div1>
       
  2636 
       
  2637 <div1 id='sec-notation'>
       
  2638 <head>$B5-K!(B</head>
       
  2639 
       
  2640 <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
       
  2641 <eg>symbol ::= expression</eg></p>
       
  2642 <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
       
  2643 <!--* The distinction between symbols which can and cannot be
       
  2644 recognized using simple regular expressions may be used to set the
       
  2645 boundary between an implementation's lexical scanner and its parser,
       
  2646 but this specification neither constrains the placement of that
       
  2647 boundary nor presupposes that all implementations will have one. *-->
       
  2648 </p>
       
  2649 
       
  2650 <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
       
  2651 <glist>
       
  2652 <gitem>
       
  2653 <label><code>#xN</code></label>
       
  2654 <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
       
  2655 </p></def>
       
  2656 </gitem>
       
  2657 <gitem>
       
  2658 <label><code>[a-zA-Z]</code>, <code>[#xN-#xN]</code></label>
       
  2659 <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>
       
  2660 </gitem>
       
  2661 <gitem>
       
  2662 <label><code>[^a-z]</code>, <code>[^#xN-#xN]</code></label>
       
  2663 <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>
       
  2664 </gitem>
       
  2665 <gitem>
       
  2666 <label><code>[^abc]</code>, <code>[^#xN#xN#xN]</code></label>
       
  2667 <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>
       
  2668 </gitem>
       
  2669 <gitem>
       
  2670 <label><code>"string"</code></label>
       
  2671 <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>
       
  2672 </gitem>
       
  2673 <gitem>
       
  2674 <label><code>'string'</code></label>
       
  2675 <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>
       
  2676 </gitem>
       
  2677 </glist>
       
  2678 $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
       
  2679 <glist>
       
  2680 <gitem>
       
  2681 <label>(<code>expression</code>)</label>
       
  2682 <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>
       
  2683 </gitem>
       
  2684 <gitem>
       
  2685 <label><code>A?</code></label>
       
  2686 <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>
       
  2687 </gitem>
       
  2688 <gitem>
       
  2689 <label><code>A B</code></label>
       
  2690 <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
       
  2691 </p></def>
       
  2692 </gitem>
       
  2693 <gitem>
       
  2694 <label><code>A | B</code></label>
       
  2695 <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
       
  2696 </p></def>
       
  2697 </gitem>
       
  2698 <gitem>
       
  2699 <label><code>A - B</code></label>
       
  2700 <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>
       
  2701 </gitem>
       
  2702 <gitem>
       
  2703 <label><code>A+</code></label>
       
  2704 <def><p><code>A</code>$B$N(B1$B2s0J>e$N7+JV$7$H(B&match;$B$9$k!#(B</p></def>
       
  2705 </gitem>
       
  2706 <gitem>
       
  2707 <label><code>A*</code></label>
       
  2708 <def><p><code>A</code>$B$N(B0$B2s0J>e$N7+JV$7$H(B&match;$B$9$k!#(B</p></def>
       
  2709 </gitem>
       
  2710 <!-- DEATH TO %'s
       
  2711 <gitem>
       
  2712 <label><code>%a</code></label>
       
  2713 <def><p>specifies that <emph>in the external DTD subset</emph> a
       
  2714 <termref def='dt-param-entity'>parameter entity</termref> may occur in the
       
  2715 text at the position where <code>a</code> may occur; if so, its
       
  2716 replacement text must match <code>S? a S?</code>.  If
       
  2717 the expression <code>a</code> is governed by a suffix operator, then
       
  2718 the suffix operator determines both the maximum number of parameter-entity 
       
  2719 references allowed and the number of occurrences of <code>a</code>
       
  2720 in the replacement text of the parameter entities:  <code>%a*</code>
       
  2721 means that <code>a</code> must occur zero or more times, and
       
  2722 that some of its occurrences may be replaced by references to
       
  2723 parameter entities whose replacement text must contain zero or 
       
  2724 more occurrences of <code>a</code>; it is thus a more compact way
       
  2725 of writing <code>%(a*)*</code>.
       
  2726 Similarly, <code>%a+</code> means that <code>a</code>
       
  2727 must occur one or more times, and may be replaced by 
       
  2728 parameter entities with replacement text matching 
       
  2729 <code>S? (a S?)+</code>.  
       
  2730 The recognition of parameter entities in the internal subset is much more
       
  2731 highly constrained.
       
  2732 </p></def>
       
  2733 </gitem>
       
  2734 -->
       
  2735 </glist>
       
  2736 $B@8@.5,B'Fb$G;HMQ$9$kB>$N5-K!$r!$<!$K<($9!#(B
       
  2737 <glist>
       
  2738 <gitem>
       
  2739 <label><code>/* ... */</code></label>
       
  2740 <def><p>$B%3%a%s%H!#(B</p></def>
       
  2741 </gitem>
       
  2742 <gitem>
       
  2743 <label><code>[ wfc: ... ]</code></label>
       
  2744 <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>
       
  2745 </gitem>
       
  2746 <gitem>
       
  2747 <label><code>[ vc: ... ]</code></label>
       
  2748 <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
       
  2749 </p></def>
       
  2750 </gitem>
       
  2751 </glist>
       
  2752 </p></div1>
       
  2753 
       
  2754 </body>
       
  2755 <back>
       
  2756 <!-- &SGML; -->
       
  2757 
       
  2758 <!-- &Biblio; -->
       
  2759 <div1 id='sec-bibliography'>
       
  2760 
       
  2761 <head>$B;29MJ88%(B</head>
       
  2762 <div2 id='sec-existing-stds'>
       
  2763 <head>&normative;$B;29MJ88%(B</head>
       
  2764 <!--* <ulist><item>
       
  2765 <p>Unicode and ISO/IEC 10646.  This specification depends on the
       
  2766 international standard ISO/IEC 10646 (with amendments AM 1 through AM 7)
       
  2767 and the Unicode Standard, Version 2.0 <bibref ref='Unicode'/>, 
       
  2768 which define the encodings and meanings of
       
  2769 the <termref def="dt-character">characters</termref> which 
       
  2770 make up XML <termref def="dt-text">text</termref>.
       
  2771 All the characters in ISO/IEC 10646 are present, at the same code points, 
       
  2772 in Unicode.</p></item>
       
  2773 <item><p>XXX XXX defines the syntax and semantics of 
       
  2774 Uniform Resource Identifiers, or URIs.</p></item>
       
  2775 <item><p>IETF RFC 1766, with ISO 639 and 3166, 
       
  2776 describe the codes that may be used in the 
       
  2777 special <titleref href='sec-lang-tag'>xml:lang</titleref> attribute.</p>
       
  2778 </item></ulist>
       
  2779 *-->
       
  2780 
       
  2781 <blist>
       
  2782 
       
  2783 <bibl id='RFC1766' key='IETF RFC 1766'>
       
  2784 IETF (Internet Engineering Task Force).
       
  2785 <emph>RFC 1766:  Tags for the Identification of Languages</emph>,
       
  2786 ed. H. Alvestrand.
       
  2787 1995.
       
  2788 </bibl>
       
  2789 
       
  2790 <bibl id='ISO639' key='ISO 639'>
       
  2791 (International Organization for Standardization).
       
  2792 <emph>ISO 8879:1988 (E).
       
  2793 Code for the representation of names of languages.</emph>
       
  2794 [Geneva]:  International Organization for
       
  2795 Standardization, 1988.</bibl>
       
  2796 
       
  2797 <bibl id='ISO3166' key='ISO 3166'>
       
  2798 (International Organization for Standardization).
       
  2799 <emph>ISO 3166-1:1997 (E).
       
  2800 Codes for the representation of names of countries and their subdivisions 
       
  2801 &mdash; Part 1: Country codes</emph>
       
  2802 [Geneva]:  International Organization for
       
  2803 Standardization, 1997.</bibl>
       
  2804 
       
  2805 <bibl id='ISO10646' key='ISO/IEC 10646'>ISO
       
  2806 (International Organization for Standardization).
       
  2807 <emph>ISO/IEC 10646-1993 (E).  Information technology &mdash; Universal
       
  2808 Multiple-Octet Coded Character Set (UCS) &mdash; Part 1:
       
  2809 Architecture and Basic Multilingual Plane.</emph>
       
  2810 [Geneva]:  International Organization for
       
  2811 Standardization, 1993 (plus amendments AM 1 through AM 7).
       
  2812 </bibl>
       
  2813 
       
  2814 <bibl id='Unicode' key='Unicode'>The Unicode Consortium.
       
  2815 <emph>The Unicode Standard, Version 2.0.</emph>
       
  2816 Reading, Mass.:  Addison-Wesley Developers Press, 1996.</bibl>
       
  2817 
       
  2818 </blist>
       
  2819 
       
  2820 </div2>
       
  2821 
       
  2822 <div2><head>$BB>$N;29MJ88%(B</head> 
       
  2823 
       
  2824 <blist>
       
  2825 
       
  2826 <bibl id='Aho' key='Aho/Ullman'>Aho, Alfred V., 
       
  2827 Ravi Sethi, and Jeffrey D. Ullman.
       
  2828 <emph>Compilers:  Principles, Techniques, and Tools</emph>.
       
  2829 Reading:  Addison-Wesley, 1986, rpt. corr. 1988.</bibl>
       
  2830 
       
  2831 <bibl id="Berners-Lee" xml-link="simple" key="Berners-Lee et al.">
       
  2832 Berners-Lee, T., R. Fielding, and L. Masinter.
       
  2833 <emph>Uniform Resource Identifiers (URI):  Generic Syntax and
       
  2834 Semantics</emph>.
       
  2835 1997.
       
  2836 (Work in progress; see updates to RFC1738.)</bibl>
       
  2837 
       
  2838 <bibl id='ABK' key='Br&#252;ggemann-Klein'>Br&#252;ggemann-Klein, Anne.
       
  2839 <emph>Regular Expressions into Finite Automata</emph>.
       
  2840 Extended abstract in I. Simon, Hrsg., LATIN 1992, 
       
  2841 S. 97-98. Springer-Verlag, Berlin 1992. 
       
  2842 Full Version in Theoretical Computer Science 120: 197-213, 1993.
       
  2843 <!--
       
  2844 Universitat Freiburg, Institut fur Informatik,
       
  2845 Bericht 33, Juli 1991.-->
       
  2846 </bibl>
       
  2847 
       
  2848 <bibl id='ABKDW' key='Br&#252;ggemann-Klein and Wood'>Br&#252;ggemann-Klein, Anne,
       
  2849 and Derick Wood.
       
  2850 <emph>Deterministic Regular Languages</emph>.
       
  2851 Universit&#228;t Freiburg, Institut f&#252;r Informatik,
       
  2852 Bericht 38, Oktober 1991.
       
  2853 </bibl>
       
  2854 
       
  2855 <bibl id="RFC1738" xml-link="simple" key="IETF RFC1738">
       
  2856 IETF (Internet Engineering Task Force).
       
  2857 <emph>RFC 1738:  Uniform Resource Locators (URL)</emph>, 
       
  2858 ed. T. Berners-Lee, L. Masinter, M. McCahill.
       
  2859 1994.
       
  2860 </bibl>
       
  2861 
       
  2862 <bibl id="RFC1808" xml-link="simple" key="IETF RFC1808">
       
  2863 IETF (Internet Engineering Task Force).
       
  2864 <emph>RFC 1808:  Relative Uniform Resource Locators</emph>, 
       
  2865 ed. R. Fielding.
       
  2866 1995.
       
  2867 </bibl>
       
  2868 
       
  2869 <bibl id="RFC2141" xml-link="simple" key="IETF RFC2141">
       
  2870 IETF (Internet Engineering Task Force).
       
  2871 <emph>RFC 2141:  URN Syntax</emph>, 
       
  2872 ed. R. Moats.
       
  2873 1997.
       
  2874 </bibl>
       
  2875 
       
  2876 <bibl id='ISO8879' key='ISO/IEC 8879'>ISO
       
  2877 (International Organization for Standardization).
       
  2878 <emph>ISO/IEC 8879-1986 (E).  Information processing &mdash; Text and Office
       
  2879 Systems &mdash; Standard Generalized Markup Language (SGML).</emph>  First
       
  2880 edition &mdash; 1986-10-15.  [Geneva]:  International Organization for
       
  2881 Standardization, 1986.
       
  2882 </bibl>
       
  2883 
       
  2884 
       
  2885 <bibl id='ISO10744' key='ISO/IEC 10744'>ISO
       
  2886 (International Organization for Standardization).
       
  2887 <emph>ISO/IEC 10744-1992 (E).  Information technology &mdash;
       
  2888 Hypermedia/Time-based Structuring Language (HyTime).
       
  2889 </emph>
       
  2890 [Geneva]:  International Organization for
       
  2891 Standardization, 1992.
       
  2892 <emph>Extended Facilities Annexe.</emph>
       
  2893 [Geneva]:  International Organization for
       
  2894 Standardization, 1996. 
       
  2895 </bibl>
       
  2896 
       
  2897 
       
  2898 
       
  2899 </blist>
       
  2900 </div2>
       
  2901 </div1>
       
  2902 <div1 id='CharClasses'>
       
  2903 <head>$BJ8;z%/%i%9(B</head>
       
  2904 
       
  2905 <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
       
  2906 <scrap lang="ebnf" id="CHARACTERS">
       
  2907 <head>$BJ8;z(B</head>
       
  2908 <prodgroup pcw3="3" pcw4="15">
       
  2909 <prod id="NT-Letter"><lhs>Letter</lhs>
       
  2910 <rhs><nt def="NT-BaseChar">BaseChar</nt> 
       
  2911 | <nt def="NT-Ideographic">Ideographic</nt></rhs> </prod>
       
  2912 <prod id='NT-BaseChar'><lhs>BaseChar</lhs>
       
  2913 <rhs>[#x0041-#x005A]
       
  2914 |&nbsp;[#x0061-#x007A]
       
  2915 |&nbsp;[#x00C0-#x00D6]
       
  2916 |&nbsp;[#x00D8-#x00F6]
       
  2917 |&nbsp;[#x00F8-#x00FF]
       
  2918 |&nbsp;[#x0100-#x0131]
       
  2919 |&nbsp;[#x0134-#x013E]
       
  2920 |&nbsp;[#x0141-#x0148]
       
  2921 |&nbsp;[#x014A-#x017E]
       
  2922 |&nbsp;[#x0180-#x01C3]
       
  2923 |&nbsp;[#x01CD-#x01F0]
       
  2924 |&nbsp;[#x01F4-#x01F5]
       
  2925 |&nbsp;[#x01FA-#x0217]
       
  2926 |&nbsp;[#x0250-#x02A8]
       
  2927 |&nbsp;[#x02BB-#x02C1]
       
  2928 |&nbsp;#x0386
       
  2929 |&nbsp;[#x0388-#x038A]
       
  2930 |&nbsp;#x038C
       
  2931 |&nbsp;[#x038E-#x03A1]
       
  2932 |&nbsp;[#x03A3-#x03CE]
       
  2933 |&nbsp;[#x03D0-#x03D6]
       
  2934 |&nbsp;#x03DA
       
  2935 |&nbsp;#x03DC
       
  2936 |&nbsp;#x03DE
       
  2937 |&nbsp;#x03E0
       
  2938 |&nbsp;[#x03E2-#x03F3]
       
  2939 |&nbsp;[#x0401-#x040C]
       
  2940 |&nbsp;[#x040E-#x044F]
       
  2941 |&nbsp;[#x0451-#x045C]
       
  2942 |&nbsp;[#x045E-#x0481]
       
  2943 |&nbsp;[#x0490-#x04C4]
       
  2944 |&nbsp;[#x04C7-#x04C8]
       
  2945 |&nbsp;[#x04CB-#x04CC]
       
  2946 |&nbsp;[#x04D0-#x04EB]
       
  2947 |&nbsp;[#x04EE-#x04F5]
       
  2948 |&nbsp;[#x04F8-#x04F9]
       
  2949 |&nbsp;[#x0531-#x0556]
       
  2950 |&nbsp;#x0559
       
  2951 |&nbsp;[#x0561-#x0586]
       
  2952 |&nbsp;[#x05D0-#x05EA]
       
  2953 |&nbsp;[#x05F0-#x05F2]
       
  2954 |&nbsp;[#x0621-#x063A]
       
  2955 |&nbsp;[#x0641-#x064A]
       
  2956 |&nbsp;[#x0671-#x06B7]
       
  2957 |&nbsp;[#x06BA-#x06BE]
       
  2958 |&nbsp;[#x06C0-#x06CE]
       
  2959 |&nbsp;[#x06D0-#x06D3]
       
  2960 |&nbsp;#x06D5
       
  2961 |&nbsp;[#x06E5-#x06E6]
       
  2962 |&nbsp;[#x0905-#x0939]
       
  2963 |&nbsp;#x093D
       
  2964 |&nbsp;[#x0958-#x0961]
       
  2965 |&nbsp;[#x0985-#x098C]
       
  2966 |&nbsp;[#x098F-#x0990]
       
  2967 |&nbsp;[#x0993-#x09A8]
       
  2968 |&nbsp;[#x09AA-#x09B0]
       
  2969 |&nbsp;#x09B2
       
  2970 |&nbsp;[#x09B6-#x09B9]
       
  2971 |&nbsp;[#x09DC-#x09DD]
       
  2972 |&nbsp;[#x09DF-#x09E1]
       
  2973 |&nbsp;[#x09F0-#x09F1]
       
  2974 |&nbsp;[#x0A05-#x0A0A]
       
  2975 |&nbsp;[#x0A0F-#x0A10]
       
  2976 |&nbsp;[#x0A13-#x0A28]
       
  2977 |&nbsp;[#x0A2A-#x0A30]
       
  2978 |&nbsp;[#x0A32-#x0A33]
       
  2979 |&nbsp;[#x0A35-#x0A36]
       
  2980 |&nbsp;[#x0A38-#x0A39]
       
  2981 |&nbsp;[#x0A59-#x0A5C]
       
  2982 |&nbsp;#x0A5E
       
  2983 |&nbsp;[#x0A72-#x0A74]
       
  2984 |&nbsp;[#x0A85-#x0A8B]
       
  2985 |&nbsp;#x0A8D
       
  2986 |&nbsp;[#x0A8F-#x0A91]
       
  2987 |&nbsp;[#x0A93-#x0AA8]
       
  2988 |&nbsp;[#x0AAA-#x0AB0]
       
  2989 |&nbsp;[#x0AB2-#x0AB3]
       
  2990 |&nbsp;[#x0AB5-#x0AB9]
       
  2991 |&nbsp;#x0ABD
       
  2992 |&nbsp;#x0AE0
       
  2993 |&nbsp;[#x0B05-#x0B0C]
       
  2994 |&nbsp;[#x0B0F-#x0B10]
       
  2995 |&nbsp;[#x0B13-#x0B28]
       
  2996 |&nbsp;[#x0B2A-#x0B30]
       
  2997 |&nbsp;[#x0B32-#x0B33]
       
  2998 |&nbsp;[#x0B36-#x0B39]
       
  2999 |&nbsp;#x0B3D
       
  3000 |&nbsp;[#x0B5C-#x0B5D]
       
  3001 |&nbsp;[#x0B5F-#x0B61]
       
  3002 |&nbsp;[#x0B85-#x0B8A]
       
  3003 |&nbsp;[#x0B8E-#x0B90]
       
  3004 |&nbsp;[#x0B92-#x0B95]
       
  3005 |&nbsp;[#x0B99-#x0B9A]
       
  3006 |&nbsp;#x0B9C
       
  3007 |&nbsp;[#x0B9E-#x0B9F]
       
  3008 |&nbsp;[#x0BA3-#x0BA4]
       
  3009 |&nbsp;[#x0BA8-#x0BAA]
       
  3010 |&nbsp;[#x0BAE-#x0BB5]
       
  3011 |&nbsp;[#x0BB7-#x0BB9]
       
  3012 |&nbsp;[#x0C05-#x0C0C]
       
  3013 |&nbsp;[#x0C0E-#x0C10]
       
  3014 |&nbsp;[#x0C12-#x0C28]
       
  3015 |&nbsp;[#x0C2A-#x0C33]
       
  3016 |&nbsp;[#x0C35-#x0C39]
       
  3017 |&nbsp;[#x0C60-#x0C61]
       
  3018 |&nbsp;[#x0C85-#x0C8C]
       
  3019 |&nbsp;[#x0C8E-#x0C90]
       
  3020 |&nbsp;[#x0C92-#x0CA8]
       
  3021 |&nbsp;[#x0CAA-#x0CB3]
       
  3022 |&nbsp;[#x0CB5-#x0CB9]
       
  3023 |&nbsp;#x0CDE
       
  3024 |&nbsp;[#x0CE0-#x0CE1]
       
  3025 |&nbsp;[#x0D05-#x0D0C]
       
  3026 |&nbsp;[#x0D0E-#x0D10]
       
  3027 |&nbsp;[#x0D12-#x0D28]
       
  3028 |&nbsp;[#x0D2A-#x0D39]
       
  3029 |&nbsp;[#x0D60-#x0D61]
       
  3030 |&nbsp;[#x0E01-#x0E2E]
       
  3031 |&nbsp;#x0E30
       
  3032 |&nbsp;[#x0E32-#x0E33]
       
  3033 |&nbsp;[#x0E40-#x0E45]
       
  3034 |&nbsp;[#x0E81-#x0E82]
       
  3035 |&nbsp;#x0E84
       
  3036 |&nbsp;[#x0E87-#x0E88]
       
  3037 |&nbsp;#x0E8A
       
  3038 |&nbsp;#x0E8D
       
  3039 |&nbsp;[#x0E94-#x0E97]
       
  3040 |&nbsp;[#x0E99-#x0E9F]
       
  3041 |&nbsp;[#x0EA1-#x0EA3]
       
  3042 |&nbsp;#x0EA5
       
  3043 |&nbsp;#x0EA7
       
  3044 |&nbsp;[#x0EAA-#x0EAB]
       
  3045 |&nbsp;[#x0EAD-#x0EAE]
       
  3046 |&nbsp;#x0EB0
       
  3047 |&nbsp;[#x0EB2-#x0EB3]
       
  3048 |&nbsp;#x0EBD
       
  3049 |&nbsp;[#x0EC0-#x0EC4]
       
  3050 |&nbsp;[#x0F40-#x0F47]
       
  3051 |&nbsp;[#x0F49-#x0F69]
       
  3052 |&nbsp;[#x10A0-#x10C5]
       
  3053 |&nbsp;[#x10D0-#x10F6]
       
  3054 |&nbsp;#x1100
       
  3055 |&nbsp;[#x1102-#x1103]
       
  3056 |&nbsp;[#x1105-#x1107]
       
  3057 |&nbsp;#x1109
       
  3058 |&nbsp;[#x110B-#x110C]
       
  3059 |&nbsp;[#x110E-#x1112]
       
  3060 |&nbsp;#x113C
       
  3061 |&nbsp;#x113E
       
  3062 |&nbsp;#x1140
       
  3063 |&nbsp;#x114C
       
  3064 |&nbsp;#x114E
       
  3065 |&nbsp;#x1150
       
  3066 |&nbsp;[#x1154-#x1155]
       
  3067 |&nbsp;#x1159
       
  3068 |&nbsp;[#x115F-#x1161]
       
  3069 |&nbsp;#x1163
       
  3070 |&nbsp;#x1165
       
  3071 |&nbsp;#x1167
       
  3072 |&nbsp;#x1169
       
  3073 |&nbsp;[#x116D-#x116E]
       
  3074 |&nbsp;[#x1172-#x1173]
       
  3075 |&nbsp;#x1175
       
  3076 |&nbsp;#x119E
       
  3077 |&nbsp;#x11A8
       
  3078 |&nbsp;#x11AB
       
  3079 |&nbsp;[#x11AE-#x11AF]
       
  3080 |&nbsp;[#x11B7-#x11B8]
       
  3081 |&nbsp;#x11BA
       
  3082 |&nbsp;[#x11BC-#x11C2]
       
  3083 |&nbsp;#x11EB
       
  3084 |&nbsp;#x11F0
       
  3085 |&nbsp;#x11F9
       
  3086 |&nbsp;[#x1E00-#x1E9B]
       
  3087 |&nbsp;[#x1EA0-#x1EF9]
       
  3088 |&nbsp;[#x1F00-#x1F15]
       
  3089 |&nbsp;[#x1F18-#x1F1D]
       
  3090 |&nbsp;[#x1F20-#x1F45]
       
  3091 |&nbsp;[#x1F48-#x1F4D]
       
  3092 |&nbsp;[#x1F50-#x1F57]
       
  3093 |&nbsp;#x1F59
       
  3094 |&nbsp;#x1F5B
       
  3095 |&nbsp;#x1F5D
       
  3096 |&nbsp;[#x1F5F-#x1F7D]
       
  3097 |&nbsp;[#x1F80-#x1FB4]
       
  3098 |&nbsp;[#x1FB6-#x1FBC]
       
  3099 |&nbsp;#x1FBE
       
  3100 |&nbsp;[#x1FC2-#x1FC4]
       
  3101 |&nbsp;[#x1FC6-#x1FCC]
       
  3102 |&nbsp;[#x1FD0-#x1FD3]
       
  3103 |&nbsp;[#x1FD6-#x1FDB]
       
  3104 |&nbsp;[#x1FE0-#x1FEC]
       
  3105 |&nbsp;[#x1FF2-#x1FF4]
       
  3106 |&nbsp;[#x1FF6-#x1FFC]
       
  3107 |&nbsp;#x2126
       
  3108 |&nbsp;[#x212A-#x212B]
       
  3109 |&nbsp;#x212E
       
  3110 |&nbsp;[#x2180-#x2182]
       
  3111 |&nbsp;[#x3041-#x3094]
       
  3112 |&nbsp;[#x30A1-#x30FA]
       
  3113 |&nbsp;[#x3105-#x312C]
       
  3114 |&nbsp;[#xAC00-#xD7A3]
       
  3115 </rhs></prod>
       
  3116 <prod id='NT-Ideographic'><lhs>Ideographic</lhs>
       
  3117 <rhs>[#x4E00-#x9FA5]
       
  3118 |&nbsp;#x3007
       
  3119 |&nbsp;[#x3021-#x3029]
       
  3120 </rhs></prod>
       
  3121 <prod id='NT-CombiningChar'><lhs>CombiningChar</lhs>
       
  3122 <rhs>[#x0300-#x0345]
       
  3123 |&nbsp;[#x0360-#x0361]
       
  3124 |&nbsp;[#x0483-#x0486]
       
  3125 |&nbsp;[#x0591-#x05A1]
       
  3126 |&nbsp;[#x05A3-#x05B9]
       
  3127 |&nbsp;#x05BB#x05BD
       
  3128 |&nbsp;#x05BF
       
  3129 |&nbsp;[#x05C1-#x05C2]
       
  3130 |&nbsp;#x05C4
       
  3131 |&nbsp;#x064B#x0652
       
  3132 |&nbsp;#x0670
       
  3133 |&nbsp;[#x06D6-#x06DC]
       
  3134 |&nbsp;#x06DD#x06DF
       
  3135 |&nbsp;[#x06E0-#x06E4]
       
  3136 |&nbsp;[#x06E7-#x06E8]
       
  3137 |&nbsp;[#x06EA-#x06ED]
       
  3138 |&nbsp;[#x0901-#x0903]
       
  3139 |&nbsp;#x093C
       
  3140 |&nbsp;[#x093E-#x094C]
       
  3141 |&nbsp;#x094D
       
  3142 |&nbsp;[#x0951-#x0954]
       
  3143 |&nbsp;[#x0962-#x0963]
       
  3144 |&nbsp;[#x0981-#x0983]
       
  3145 |&nbsp;#x09BC
       
  3146 |&nbsp;#x09BE
       
  3147 |&nbsp;#x09BF
       
  3148 |&nbsp;[#x09C0-#x09C4]
       
  3149 |&nbsp;[#x09C7-#x09C8]
       
  3150 |&nbsp;[#x09CB-#x09CD]
       
  3151 |&nbsp;#x09D7
       
  3152 |&nbsp;[#x09E2-#x09E3]
       
  3153 |&nbsp;#x0A02
       
  3154 |&nbsp;#x0A3C
       
  3155 |&nbsp;#x0A3E
       
  3156 |&nbsp;#x0A3F
       
  3157 |&nbsp;[#x0A40-#x0A42]
       
  3158 |&nbsp;[#x0A47-#x0A48]
       
  3159 |&nbsp;[#x0A4B-#x0A4D]
       
  3160 |&nbsp;[#x0A70-#x0A71]
       
  3161 |&nbsp;[#x0A81-#x0A83]
       
  3162 |&nbsp;#x0ABC
       
  3163 |&nbsp;[#x0ABE-#x0AC5]
       
  3164 |&nbsp;[#x0AC7-#x0AC9]
       
  3165 |&nbsp;[#x0ACB-#x0ACD]
       
  3166 |&nbsp;[#x0B01-#x0B03]
       
  3167 |&nbsp;#x0B3C
       
  3168 |&nbsp;[#x0B3E-#x0B43]
       
  3169 |&nbsp;[#x0B47-#x0B48]
       
  3170 |&nbsp;[#x0B4B-#x0B4D]
       
  3171 |&nbsp;[#x0B56-#x0B57]
       
  3172 |&nbsp;[#x0B82-#x0B83]
       
  3173 |&nbsp;[#x0BBE-#x0BC2]
       
  3174 |&nbsp;[#x0BC6-#x0BC8]
       
  3175 |&nbsp;[#x0BCA-#x0BCD]
       
  3176 |&nbsp;#x0BD7
       
  3177 |&nbsp;[#x0C01-#x0C03]
       
  3178 |&nbsp;[#x0C3E-#x0C44]
       
  3179 |&nbsp;[#x0C46-#x0C48]
       
  3180 |&nbsp;[#x0C4A-#x0C4D]
       
  3181 |&nbsp;[#x0C55-#x0C56]
       
  3182 |&nbsp;[#x0C82-#x0C83]
       
  3183 |&nbsp;[#x0CBE-#x0CC4]
       
  3184 |&nbsp;[#x0CC6-#x0CC8]
       
  3185 |&nbsp;[#x0CCA-#x0CCD]
       
  3186 |&nbsp;[#x0CD5-#x0CD6]
       
  3187 |&nbsp;[#x0D02-#x0D03]
       
  3188 |&nbsp;[#x0D3E-#x0D43]
       
  3189 |&nbsp;[#x0D46-#x0D48]
       
  3190 |&nbsp;[#x0D4A-#x0D4D]
       
  3191 |&nbsp;#x0D57
       
  3192 |&nbsp;#x0E31
       
  3193 |&nbsp;[#x0E34-#x0E3A]
       
  3194 |&nbsp;[#x0E47-#x0E4E]
       
  3195 |&nbsp;#x0EB1
       
  3196 |&nbsp;[#x0EB4-#x0EB9]
       
  3197 |&nbsp;[#x0EBB-#x0EBC]
       
  3198 |&nbsp;[#x0EC8-#x0ECD]
       
  3199 |&nbsp;[#x0F18-#x0F19]
       
  3200 |&nbsp;#x0F35
       
  3201 |&nbsp;#x0F37
       
  3202 |&nbsp;#x0F39
       
  3203 |&nbsp;#x0F3E
       
  3204 |&nbsp;#x0F3F
       
  3205 |&nbsp;[#x0F71-#x0F84]
       
  3206 |&nbsp;[#x0F86-#x0F8B]
       
  3207 |&nbsp;[#x0F90-#x0F95]
       
  3208 |&nbsp;#x0F97
       
  3209 |&nbsp;[#x0F99-#x0FAD]
       
  3210 |&nbsp;[#x0FB1-#x0FB7]
       
  3211 |&nbsp;#x0FB9
       
  3212 |&nbsp;[#x20D0-#x20DC]
       
  3213 |&nbsp;#x20E1
       
  3214 |&nbsp;[#x302A-#x302F]
       
  3215 |&nbsp;#x3099
       
  3216 |&nbsp;#x309A
       
  3217 </rhs></prod>
       
  3218 <prod id='NT-Digit'><lhs>Digit</lhs>
       
  3219 <rhs>[#x0030-#x0039]
       
  3220 |&nbsp;[#x0660-#x0669]
       
  3221 |&nbsp;[#x06F0-#x06F9]
       
  3222 |&nbsp;[#x0966-#x096F]
       
  3223 |&nbsp;[#x09E6-#x09EF]
       
  3224 |&nbsp;[#x0A66-#x0A6F]
       
  3225 |&nbsp;[#x0AE6-#x0AEF]
       
  3226 |&nbsp;[#x0B66-#x0B6F]
       
  3227 |&nbsp;[#x0BE7-#x0BEF]
       
  3228 |&nbsp;[#x0C66-#x0C6F]
       
  3229 |&nbsp;[#x0CE6-#x0CEF]
       
  3230 |&nbsp;[#x0D66-#x0D6F]
       
  3231 |&nbsp;[#x0E50-#x0E59]
       
  3232 |&nbsp;[#x0ED0-#x0ED9]
       
  3233 |&nbsp;[#x0F20-#x0F29]
       
  3234 </rhs></prod>
       
  3235 <prod id='NT-Extender'><lhs>Extender</lhs>
       
  3236 <rhs>#x00B7
       
  3237 |&nbsp;#x02D0
       
  3238 |&nbsp;#x02D1
       
  3239 |&nbsp;#x0387
       
  3240 |&nbsp;#x0640
       
  3241 |&nbsp;#x0E46
       
  3242 |&nbsp;#x0EC6
       
  3243 |&nbsp;#x3005
       
  3244 |&nbsp;[#x3031-#x3035]
       
  3245 |&nbsp;[#x309D-#x309E]
       
  3246 |&nbsp;[#x30FC-#x30FE]
       
  3247 </rhs></prod>
       
  3248 
       
  3249 </prodgroup>
       
  3250 </scrap>
       
  3251 </p>
       
  3252 <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
       
  3253 <ulist>
       
  3254 <item>
       
  3255 <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>
       
  3256 </item>
       
  3257 <item>
       
  3258 <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>
       
  3259 </item>
       
  3260 <item>
       
  3261 <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>
       
  3262 </item>
       
  3263 <item>
       
  3264 <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>
       
  3265 </item>
       
  3266 <item>
       
  3267 <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
       
  3268 [#x02BB-#x02C1], #x0559, #x06E5, #x06E6$B$H$9$k!#(B</p>
       
  3269 </item>
       
  3270 <item>
       
  3271 <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>
       
  3272 </item>
       
  3273 <item>
       
  3274 <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>
       
  3275 </item>
       
  3276 <item>
       
  3277 <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>
       
  3278 </item>
       
  3279 <item>
       
  3280 <p>i) $BJ8;z(B':'$B5Z$S(B'_'$B$O!$L>A03+;OJ8;z$H$7$F5v$9!#(B</p>
       
  3281 </item>
       
  3282 <item>
       
  3283 <p>j) $BJ8;z(B'-'$B5Z$S(B'.'$B$O!$L>A0J8;z$H$7$F5v$9!#(B</p>
       
  3284 </item>
       
  3285 </ulist>
       
  3286 </p>
       
  3287 </div1>
       
  3288 <inform-div1 id="sec-xml-and-sgml">
       
  3289 <head>XML$B5Z$S(BSGML</head>
       
  3290 
       
  3291 <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
       
  3292 </p>
       
  3293 </inform-div1>
       
  3294 <inform-div1 id="sec-entexpand">
       
  3295 <head>$B<BBN;2>H5Z$SJ8;z;2>H$NE83+(B</head>
       
  3296 <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>
       
  3297 <p>
       
  3298 DTD$B$,!$<!$N@k8@$r4^$`>l9g$r9M$($k!#(B
       
  3299 <eg><![CDATA[<!ENTITY example "<p>An ampersand (&#38;#38;) may be escaped
       
  3300 numerically (&#38;#38;#38;) or with a general entity
       
  3301 (&amp;amp;).</p>" >
       
  3302 ]]></eg>
       
  3303 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
       
  3304 <eg><![CDATA[<p>An ampersand (&#38;) may be escaped
       
  3305 numerically (&#38;#38;) or with a general entity
       
  3306 (&amp;amp;).</p>
       
  3307 ]]></eg>
       
  3308 $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
       
  3309 <eg><![CDATA[An ampersand (&) may be escaped
       
  3310 numerically (&#38;) or with a general entity
       
  3311 (&amp;).
       
  3312 ]]></eg>
       
  3313 </p>
       
  3314 <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
       
  3315 <eg><![CDATA[1 <?xml version='1.0'?>
       
  3316 2 <!DOCTYPE test [
       
  3317 3 <!ELEMENT test (#PCDATA) >
       
  3318 4 <!ENTITY % xx '&#37;zz;'>
       
  3319 5 <!ENTITY % zz '&#60;!ENTITY tricky "error-prone" >' >
       
  3320 6 %xx;
       
  3321 7 ]>
       
  3322 8 <test>This sample shows a &tricky; method.</test>
       
  3323 ]]></eg>
       
  3324 $B$3$l$r=hM}$9$k$H!$<!$N$H$*$j$H$J$k!#(B
       
  3325 <ulist spacing="compact">
       
  3326 <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>
       
  3327 <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>
       
  3328 <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>
       
  3329 <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>
       
  3330 </p></item>
       
  3331 </ulist>
       
  3332 </p>
       
  3333 </inform-div1> 
       
  3334 <inform-div1 id="determinism">
       
  3335 <head>$B7hDjE*FbMF%b%G%k(B</head>
       
  3336 <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
       
  3337 </p>
       
  3338 <!-- FINAL EDIT:  WebSGML allows ambiguity? -->
       
  3339 <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>
       
  3340 <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>
       
  3341 <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
       
  3342 </p>
       
  3343 <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>
       
  3344 </inform-div1>
       
  3345 <inform-div1 id="sec-guessing">
       
  3346 <head>$BJ8;zId9f2=$N<+F08!=P(B</head>
       
  3347 <p>
       
  3348 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>
       
  3349 <p>
       
  3350 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>
       
  3351 <p>
       
  3352 <ulist>
       
  3353 <item>
       
  3354 <p>a) <code>00 00 00 3C</code>: UCS-4, big-endian $B%^%7%s(B (1234$B=g(B)</p>
       
  3355 </item>
       
  3356 <item>
       
  3357 <p>b) <code>3C 00 00 00</code>: UCS-4, little-endian $B%^%7%s(B (4321$B=g(B)</p>
       
  3358 </item>
       
  3359 <item>
       
  3360 <p>c) <code>00 00 3C 00</code>: UCS-4, $BIaDL$G$O$J$$%*%/%F%C%H=g(B (2143)</p>
       
  3361 </item>
       
  3362 <item>
       
  3363 <p>d) <code>00 3C 00 00</code>: UCS-4, $BIaDL$G$O$J$$%*%/%F%C%H=g(B (3412)</p>
       
  3364 </item>
       
  3365 <item>
       
  3366 <p>e) <code>FE FF</code>: UTF-16, big-endian</p>
       
  3367 </item>
       
  3368 <item>
       
  3369 <p>f) <code>FF FE</code>: UTF-16, little-endian</p>
       
  3370 </item>
       
  3371 <item>
       
  3372 <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>
       
  3373 </item>
       
  3374 <item>
       
  3375 <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>
       
  3376 </item>
       
  3377 <item>
       
  3378 <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
       
  3379 </p>
       
  3380 </item>
       
  3381 <item>
       
  3382 <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>
       
  3383 </item>
       
  3384 <item>
       
  3385 <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>
       
  3386 </item>
       
  3387 </ulist>
       
  3388 </p>
       
  3389 <p>
       
  3390 $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
       
  3391 </p>
       
  3392 <p>
       
  3393 $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
       
  3394 </p>
       
  3395 <p>
       
  3396 &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>
       
  3397 <p>
       
  3398 $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
       
  3399 </p>
       
  3400 <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
       
  3401 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
       
  3402 <ulist>
       
  3403 <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
       
  3404 </p></item>
       
  3405 <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
       
  3406 </p></item>
       
  3407 <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
       
  3408 </p></item>
       
  3409 </ulist>
       
  3410 $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
       
  3411 </p>
       
  3412 </inform-div1>
       
  3413 <!--
       
  3414 <div1 id='sec-trival-grammar'>
       
  3415 <head>A Trivial Grammar for XML Documents</head>
       
  3416 <p>The grammar given in the body of this specification is relatively
       
  3417 simple, but for some purposes it is convenient to have an even simpler
       
  3418 one.  
       
  3419 A very simple, though non-conforming, <termref def="dt-xml-proc">XML
       
  3420 processor</termref> could parse a <termref
       
  3421 def="dt-wellformed">well-formed</termref> XML document using the
       
  3422 following simplified grammar, recognizing all element boundaries
       
  3423 correctly, though not expanding entity references and not detecting
       
  3424 all errors:
       
  3425 
       
  3426 <scrap lang="ebnf">
       
  3427 <head>Trivial text grammar</head>
       
  3428 <prodgroup pcw2="5.5" pcw4="17" pcw5="10">
       
  3429 <prod id='NT-simpleDoc'><lhs>simpleDoc</lhs>
       
  3430 <rhs>(<nt def='NT-SimpleData'>SimpleData</nt> 
       
  3431 | <nt def='NT-Markup'>Markup</nt>)*</rhs></prod>
       
  3432 <prod id="NT-SimpleData"><lhs>SimpleData</lhs>
       
  3433 <rhs>[^&lt;&amp;]*</rhs>
       
  3434 <com>cf. PCData</com>
       
  3435 </prod>
       
  3436 <prod id="NT-SimpleLit"><lhs>SimpleLit</lhs>
       
  3437 <rhs>('"' [^"]* '"')</rhs>
       
  3438 <rhs>|&nbsp;("'" [^']* "'")</rhs>
       
  3439 <com>cf. SkipLit</com>
       
  3440 </prod>
       
  3441 <prod id='NT-Markup'><lhs>Markup</lhs>
       
  3442 <rhs>'&lt;' <nt def='NT-Name'>Name</nt> 
       
  3443 (<nt def='NT-S'>S</nt> 
       
  3444 <nt def='NT-Name'>Name</nt> 
       
  3445 <nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?
       
  3446 <nt def='NT-SimpleLit'>SimpleLit</nt>)* 
       
  3447 <nt def='NT-S'>S</nt>? '&gt;'</rhs><com>start-tags </com>
       
  3448 <rhs>| '&lt;' <nt def='NT-Name'>Name</nt> 
       
  3449 (<nt def='NT-S'>S</nt> 
       
  3450 <nt def='NT-Name'>Name</nt> 
       
  3451 <nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?
       
  3452 <nt def='NT-SimpleLit'>SimpleLit</nt>)* 
       
  3453 <nt def='NT-S'>S</nt>? '/&gt;'</rhs><com>empty elements</com>
       
  3454 <rhs>| '&lt;/' 
       
  3455 <nt def='NT-Name'>Name</nt> 
       
  3456 <nt def='NT-S'>S</nt>? '&gt;'</rhs>
       
  3457 <com>end-tags </com>
       
  3458 <rhs>| '&amp;' <nt def='NT-Name'>Name</nt> ';'</rhs>
       
  3459 <com>entity references </com>
       
  3460 <rhs>| '&amp;#' [0-9]+ ';'</rhs>
       
  3461 <com>decimal character references </com>
       
  3462 <rhs>| '&hcro;' [0-9a-fA-F]+ ';'</rhs>
       
  3463 <com>hexadecimal character references </com>
       
  3464 <rhs>| '&lt;!&como;' 
       
  3465 (<nt def='NT-Char'>Char</nt>* - 
       
  3466 (<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*))
       
  3467 '&comc;&gt;'</rhs>
       
  3468 <com>comments </com>
       
  3469 <rhs>| '&lt;?'
       
  3470 (<nt def='NT-Char'>Char</nt>* - 
       
  3471 (<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*))
       
  3472 '&pic;'</rhs>
       
  3473 <com>processing instructions </com>
       
  3474 <rhs>| '&lt;![CDATA[' 
       
  3475 (<nt def='NT-Char'>Char</nt>* - 
       
  3476 (<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-Char'>Char</nt>*))
       
  3477 ']]&gt;'</rhs>
       
  3478 <com>CDATA sections</com>
       
  3479 <rhs>| '&lt;!DOCTYPE' 
       
  3480 (<nt def="NT-Char">Char</nt> - ('[' | ']'))+
       
  3481 ('[' 
       
  3482 <nt def="NT-simpleDTD">simpleDTD</nt>*
       
  3483 ']')? '&gt;'</rhs>
       
  3484 <com>doc type declaration</com>
       
  3485 </prod>
       
  3486 <prod id="NT-simpleDTD"><lhs>simpleDTD</lhs>
       
  3487 <rhs>'&lt;!&como;' 
       
  3488 (<nt def='NT-Char'>Char</nt>* - 
       
  3489 (<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*))
       
  3490 '&comc;&gt;'</rhs>
       
  3491 <com>comment </com>
       
  3492 <rhs>| '&lt;?'
       
  3493 (<nt def='NT-Char'>Char</nt>* - 
       
  3494 (<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*))
       
  3495 '&pic;'</rhs>
       
  3496 <com>processing instruction </com>
       
  3497 <rhs><nt def="NT-SimpleLit">SimpleLit</nt></rhs>
       
  3498 <rhs>(<nt def="NT-Char">Char</nt> - (']' | '&lt;' | '"' | "'"))+
       
  3499 </rhs>
       
  3500 
       
  3501 <rhs>'&lt;!' (<nt def="NT-Char">Char</nt> - ('-'))+</rhs>
       
  3502 <com>declarations other than comment</com>
       
  3503 </prod>
       
  3504 </prodgroup>
       
  3505 </scrap>
       
  3506 Most processors will require the more complex
       
  3507 grammar given in the body of this specification.
       
  3508 
       
  3509 </p>
       
  3510 </div1>
       
  3511 -->
       
  3512 
       
  3513 <inform-div1 id="sec-xml-wg">
       
  3514 <head>&informative;W3C XML $B%o!<%-%s%0%0%k!<%W(B</head>
       
  3515  
       
  3516 <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>
       
  3517  
       
  3518 <!-- parens and spaces removed from role elements by bosak 1997.11.07 -->
       
  3519 <orglist>
       
  3520 <member><name>Jon Bosak, Sun</name><role>Chair</role></member>
       
  3521 <member><name>James Clark</name><role>Technical Lead</role></member>
       
  3522 <member><name>Tim Bray, Textuality and Netscape</name><role>XML Co-editor</role></member>
       
  3523 <member><name>Jean Paoli, Microsoft</name><role>XML Co-editor</role></member>
       
  3524 <member><name>C. M. Sperberg-McQueen, U. of Ill.</name><role>XML Co-editor</role></member>
       
  3525 <member><name>Dan Connolly, W3C</name></member>
       
  3526 <member><name>Steve DeRose, INSO</name></member>
       
  3527 <member><name>Dave Hollander, HP</name></member>
       
  3528 <member><name>Eliot Kimber, Highland</name></member>
       
  3529 <member><name>Eve Maler, ArborText</name></member>
       
  3530 <member><name>Tom Magliery, NCSA</name></member>
       
  3531 <member><name>Murray Maloney, Muzmo and Grif</name></member>
       
  3532 <member><name>$BB<ED!!??!$IY;N%<%m%C%/%9>pJs%7%9%F%`(B($B3t(B)</name></member>
       
  3533 <member><name>Joel Nava, Adobe</name></member>
       
  3534 <member><name>Peter Sharpe, SoftQuad</name></member>
       
  3535 <member><name>John Tigue, DataChannel</name></member>
       
  3536 </orglist>
       
  3537 
       
  3538 </inform-div1>
       
  3539 </back>
       
  3540 </spec>
       
  3541 <!-- Keep this comment at the end of the file
       
  3542 Local variables:
       
  3543 mode: sgml
       
  3544 sgml-omittag:t
       
  3545 sgml-shorttag:t
       
  3546 End:
       
  3547 -->
       
  3548 
       
  3549