| <?xml version="1.0" encoding="iso-2022-jp"?> |
| <!DOCTYPE spec SYSTEM "spec.dtd" [ |
| |
| <!-- $BF|K\8lLu$N$?$a$N2r@OBP>]<BBN!J$3$3$+$i!K(B --> |
| |
| <!ENTITY TR-or-Rec "$B;EMM=q(B"> |
| <!-- <!ENTITY TR-or-Rec "$BI8=`>pJs(B(TR)"> --> |
| <!ENTITY eTR-or-Rec "specification"> |
| <!-- <!ENTITY eTR-or-Rec "technical report(TR)"> --> |
| <!ENTITY application "$B%"%W%j%1!<%7%g%s(B"> |
| <!ENTITY error "$B%(%i!<(B"> |
| <!ENTITY fatal-error "$BCWL?E*%(%i!<(B"> |
| <!ENTITY parsed-data "$B2r@O$5$l$k%G!<%?(B"> |
| <!ENTITY unparsed-data "$B2r@O$5$l$J$$%G!<%?(B"> |
| <!ENTITY parsed-entity "$B2r@OBP>]<BBN(B"> |
| <!ENTITY parser "$B%Q!<%5(B"> |
| <!ENTITY unparsed-entity "$B2r@OBP>]30<BBN(B"> |
| <!ENTITY well-formed "$B@07A<0(B"> |
| <!ENTITY valid "$BBEEv(B"> |
| <!ENTITY validity "$BBEEv@-(B"> |
| <!ENTITY escape "$BJL07$$(B"> |
| <!ENTITY prolog "$B=q$-(B"> |
| <!ENTITY surrogate-blocks "$B%5%m%2!<%H%V%m%C%/(B"> |
| <!ENTITY letter "$B;z(B"> |
| <!ENTITY ideographic "$BE}9g4A;z(B"> |
| <!ENTITY markup "$B%^!<%/IU$1(B"> |
| <!ENTITY left-angle-bracket "$BITEy9f(B($B>.$J$j(B)"> |
| <!ENTITY right-angle-bracket "$BITEy9f(B($BBg$J$j(B)"> |
| <!ENTITY string "$BJ8;zNs(B"> |
| <!ENTITY char-string "$BJ8;zNs(B"><!-- string of chararacters, |
| character strings, strings, |
| characters $B$O$9$Y$FJ8;zNs$H$9$k(B --> |
| <!ENTITY replacement-text "$BCV49%F%-%9%H(B"> |
| <!ENTITY single-quote "$B0l=E0zMQId(B"> |
| <!ENTITY double-quote "$BFs=E0zMQId(B"> |
| <!ENTITY adaptations-annex "$BE,MQImB0=q(B"> |
| <!ENTITY root "$B%k!<%H(B"> |
| <!ENTITY base-character "$B4pDlJ8;z(B"> |
| <!ENTITY diacritical-mark "$BH/2;Id(B"><!--($B%@%$%"%/%j%F%#%+%k%^!<%/(B)$B$r=i=P$N$H$-Jd$&(B--> |
| <!ENTITY composed-form "$B9g@.7A<0(B"> |
| <!ENTITY standalone "$B%9%?%s%I%"%m%s(B"> |
| <!ENTITY double-hyphen "$BFsO"%O%$%U%s(B"> |
| <!--<!ENTITY case-fold "$BBgJ8;z$+>.J8;z$X$NE}0l(B">--> |
| <!-- <!ENTITY case-fold "$BHf3S$N$H$-!$BgJ8;z$H>.J8;z$NF10l;k(B">--> |
| <!ENTITY parameter "$B%Q%i%a%?(B"> |
| <!ENTITY stream "$B%9%H%j!<%`(B"> |
| <!ENTITY validating "$BBEEv@-$r8!>Z$9$k(B"> |
| <!ENTITY non-validating "$BBEEv@-$r8!>Z$7$J$$(B"> |
| <!ENTITY user "$B%f!<%6(B"> |
| <!--<!ENTITY at-user-option "$B%f!<%6$,%*%W%7%g%s$r;XDj$7$?$H$-(B">--> |
| <!ENTITY at-user-option "$B%f!<%6$N%*%W%7%g%s;XDj$K$h$C$F$O(B"> |
| <!ENTITY content-particle "$BFbMFAG;R(B"> |
| <!ENTITY processor "$B%W%m%;%5(B"> |
| <!ENTITY default "$B%G%U%)%k%H(B"> |
| <!ENTITY default-value "$B%G%U%)%k%HCM(B"> |
| <!ENTITY header "$B%X%C%@(B"> |
| <!ENTITY target "$B%?!<%2%C%H(B"> |
| <!ENTITY mixed-content "$B:.9gFbMF(B"> |
| <!ENTITY country-code "$B9q%3!<%I(B"> |
| <!ENTITY language-code "$B8@8l%3!<%I(B"> |
| <!ENTITY version "$BHG(B"> <!-- version 1.0$B$OBh(B1.0$BHG(B --> |
| <!ENTITY match "$B%^%C%A(B"> |
| <!ENTITY character-value "$BJ8;zHV9f(B"> |
| <!ENTITY byte-order-mark "$B%P%$%H=g%^!<%/(B"> |
| <!ENTITY bypass "$B=hM}$7$J$$(B"> |
| <!ENTITY identifier "$B<1JL;R(B"> |
| <!-- <!ENTITY identify "$B<1JL$9$k(B"> --> |
| <!ENTITY identify "$BFCDj$9$k(B"> |
| <!-- <!ENTITY identified "$B<1JL$5$l$k(B"> --> |
| <!ENTITY identified "$BFCDj$5$l$k(B"> |
| <!ENTITY combining-character "$B7k9gJ8;z(B"> |
| <!ENTITY subset "$B%5%V%;%C%H(B"> |
| <!ENTITY token "$B%H!<%/%s(B"> |
| <!ENTITY literal "$B%j%F%i%k(B"> |
| |
| <!ENTITY parenthesis "$B$+$C$3(B"> |
| <!ENTITY left-parenthesis "$B3+$-$+$C$3(B"> |
| <!ENTITY right-parenthesis "$BJD$8$+$C$3(B"> |
| |
| <!-- $B$"$H$G5$$,$D$$$?$b$N(B JIS X0221$B$r8+$kI,MW$"$j(B --> |
| |
| <!ENTITY extender "$B%(%/%9%F%s%@(B"> |
| <!ENTITY property "$B%W%m%Q%F%#(B"> |
| <!ENTITY property-list "$B%W%m%Q%F%#%j%9%H(B"> |
| <!ENTITY property-file "$B%W%m%Q%F%#%U%!%$%k(B"> |
| <!ENTITY font-decomposition "$B%U%)%s%HJ,2r(B"> |
| <!ENTITY compatibility-decomposition "$B8_49@-J,2r(B"> |
| <!ENTITY compatibility-area "$B8_49@-NN0h(B"> |
| |
| <!ENTITY language-identification "$B8@8l<1JL(B"> |
| |
| <!ENTITY space-character "$B%9%Z!<%9J8;z(B"> |
| <!ENTITY space "$B%9%Z!<%9(B"> |
| <!ENTITY code-value "$B%3!<%ICM(B"> |
| <!ENTITY normative "$B5,Dj$N(B"> |
| <!ENTITY hueristics "$B%R%e!<%j%9%F%#%C%/(B"> |
| <!ENTITY informative ""> |
| |
| <!ENTITY WebSGML 'ISO 8879$B$X$N(BWebSGML&adaptations-annex;'> |
| <!ENTITY XML.version "1.0"> |
| <!ENTITY doc.date "1997$BG/(B12$B7n(B8$BF|(B"> |
| <!ENTITY iso6.doc.date "971208"> |
| <!ENTITY w3c.doc.date "97$BG/(B12$B7n(B3$BF|(B"> |
| <!ENTITY draft.day '8$BF|(B'> |
| <!ENTITY draft.month '12$B7n(B'> |
| <!ENTITY draft.year '1997$BG/(B'> |
| |
| <!-- $BF|K\8lLu$N$?$a$N2r@OBP>]<BBN!J$3$3$^$G!K(B --> |
| |
| <!-- LAST TOUCHED BY: Tim Bray, 3 Dec 1997 --> |
| |
| <!-- The words 'FINAL EDIT' in comments mark places where changes |
| need to be made after approval of the document by the ERB, before |
| publication. --> |
| |
| <!ENTITY XML.version "1.0"> |
| <!ENTITY doc.date "8 December 1997"> |
| <!ENTITY iso6.doc.date "971208"> |
| <!ENTITY w3c.doc.date "03-Dec-97"> |
| <!ENTITY draft.day '8'> |
| <!ENTITY draft.month 'December'> |
| <!ENTITY draft.year '1997'> |
| |
| <!ENTITY WebSGML |
| 'WebSGML Adaptations Annex to ISO 8879'> |
| |
| <!ENTITY newline " "> |
| <!-- old: <!ENTITY newline "
"> --> |
| <!ENTITY lt "<"> |
| <!ENTITY gt ">"> |
| <!--<!ENTITY amp "&"> --> |
| <!ENTITY xmlpio "'<?xml'"> |
| <!ENTITY pic "'?>'"> |
| <!ENTITY br "\n"> |
| <!ENTITY cellback '#c0d9c0'> |
| <!ENTITY mdash "--"> <!-- was: <!ENTITY mdash "&#151;"> --> |
| <!ENTITY com "--"> |
| <!ENTITY como "--"> |
| <!ENTITY comc "--"> |
| <!ENTITY hcro "&#x"> |
| <!-- <!ENTITY nbsp ""> --> |
| <!ENTITY nbsp " "> |
| <!ENTITY magicents "<code>amp</code>, |
| <code>lt</code>, |
| <code>gt</code>, |
| <code>apos</code>, |
| <code>quot</code>"> |
| |
| <!--$BF|K\8lLu$K$D$$$F(B: $B%3%a%s%H$OK]LuBP>]$+$i30$7$^$7$?!#NkLZOBIW(B --> |
| <!-- audience and distribution status: for use at publication time --> |
| <!-- --> |
| <!ENTITY doc.audience "$B8x3+%l%S%e!<5Z$S5DO@(B"> |
| <!ENTITY doc.distribution "$B%F%-%9%H5Z$SK!N'>e$NCm0U$r2~JQ$7$J$$8B$j!$(B |
| $B<+M3$KG[I[$7$F$b$h$$(B"> |
| |
| ]> |
| |
| <!-- for Panorama *--> |
| <?VERBATIM "eg" ?> |
| |
| <spec> |
| <header> |
| <title>$B3HD%2DG=$J(B&markup;$B8@8l(B (XML)</title> |
| <version>$BBh(B1.0&version;</version> |
| <w3c-designation>PR-xml-&iso6.doc.date;</w3c-designation> |
| <w3c-doctype>World Wide Web Consortium</w3c-doctype> |
| <pubdate><day>&draft.day;</day><month>&draft.month;</month><year>&draft.year;</year></pubdate> |
| <notice><p>$B$3$NAp0F$O!$(BXML WG$B5Z$SB>$N4X78<T$K$h$k%l%S%e!<$N$?$a$N$b$N$G$"$C$F!$8x3+$N5DO@$N$?$a$N$b$N$G$O$J$$!#(B |
| <!-- FINAL EDIT: FIX --></p></notice> |
| <publoc> |
| <loc href="http://www.w3.org/TR/PR-xml-&iso6.doc.date;"> |
| http://www.w3.org/TR/PR-xml-&iso6.doc.date;</loc></publoc> |
| <prevlocs> |
| <loc href='http://www.w3.org/TR/WD-xml-961114'> |
| http://www.w3.org/TR/WD-xml-961114</loc> |
| <loc href='http://www.w3.org/TR/WD-xml-lang-970331'> |
| http://www.w3.org/TR/WD-xml-lang-970331</loc> |
| <loc href='http://www.w3.org/TR/WD-xml-lang-970630'> |
| http://www.w3.org/TR/WD-xml-lang-970630</loc> |
| <loc href='http://www.w3.org/TR/WD-xml-970807'> |
| http://www.w3.org/TR/WD-xml-970807</loc> |
| <loc href='http://www.w3.org/TR/WD-xml-971117'> |
| http://www.w3.org/TR/WD-xml-971117</loc> |
| </prevlocs> |
| <authlist> |
| <author><name>Tim Bray</name> |
| <affiliation>Textuality and Netscape</affiliation> |
| <email |
| href="mailto:tbray@textuality.com">tbray@textuality.com</email></author> |
| <author><name>Jean Paoli</name> |
| <affiliation>Microsoft</affiliation> |
| <email href="mailto:jeanpa@microsoft.com">jeanpa@microsoft.com</email></author> |
| <author><name>C. M. Sperberg-McQueen</name> |
| <affiliation>University of Illinois at Chicago</affiliation> |
| <email href="mailto:cmsmcq@uic.edu">cmsmcq@uic.edu</email></author> |
| </authlist> |
| <status> |
| <p>$B$3$N(B&TR-or-Rec;$B$O(B, 1997$BG/(B12$B7n$K(BWorld Wide Web Consortium$B$+$i(B |
| $B8xI=$5$l$?4+9p0F(BExtensible Markup Language version$BBh(B1.0$BHG$rK]Lu$7(B, $B5;(B |
| $B=QE*FbMF$rJQ99$9$k$3$H$J$/:n@.$7$?(B&TR-or-Rec;$B$G$"$k!#(BThis &eTR-or-Rec; |
| is a translation of the XML proposed recommendation 1.0 |
| published by the World Wide Web Consortium in December 1997. It is |
| intended that &eTR-or-Rec; is technically identical to the original.</p> |
| |
| <p>$B86J8$K$"$k!"Cx:n8"$K4X$7$F$N5-=R$r<!$K<($9!#(BThe |
| original copyright notice is shown below:</p> |
| |
| <p>$B$3$NHG$N(BXML$B$N5,Dj$O!$8x3+%l%S%e!<5Z$S5DO@$r(B |
| $BL\E*$H$9$k!#%F%-%9%H5Z$SK!N'>e$NCm0U$r2~JQ$7$J$$8B$j!$<+M3$K(B |
| $BG[I[$7$F$b$h$$!#(BThis version of the XML specification is for |
| public review and discussion. It may be distributed freely, |
| as long as all text and legal notices remain intact.</p> |
| |
| <p>$B$3$N(B&TR-or-Rec;$B$N85$H$J$C$?(BXML$B4+9p0F$O!$(B1998$BG/(B2$B7n$K(BWorld |
| Wide Web Consortium$B$+$i8xI=$5$l$?(BXML$B4+9p$K$h$C$F$9$G$KCV$-49(B |
| $B$($i$l$F$$$k!#$3$NI8=`>pJs$O!$(BXML$B4+9p$K=>$C$FD{@5$9$k$3$H$r(B |
| $BM=Dj$7$F$$$k!#(BThe XML Proposed Recommendation is superseded |
| by the XML Recommendation which was published by the World |
| Wide Web Consortium in February 1998. It is intended that |
| this &eTR-or-Rec; be revised accordingly in the near future.</p> |
| |
| <p>$B$3$N(B&TR-or-Rec;$B$O!$0BDj$7$?$b$N$G$"$C$F!$:rG/Mh$N(B<loc |
| href='http://www.w3.org/XML'>XML$B3hF0(B</loc>$B$rDL$8$F:n@.$5$l$?!$0lO"$N:n(B |
| $B6HAp0F$r85$H$9$k!#8=:_!$9-HO0O$K;HMQ$5$l$F$$$k9q:]E*$J%F%-%9%H=hM}$NI8(B |
| $B=`(B($BI8=`0lHL2=(B&markup;$B8@8l!$(BStandard Generalized Markup Language, ISO |
| 8879:1986$B$KDI2C5Z$SD{@5$r2C$($?$b$N(B)$B$N!$(BWWW$B>e$G$N;HMQ$N$?$a$K(B⊂ |
| $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 |
| ⊂$B$K;D$9$+!$$H$$$&7hDj$K$D$$$F$N>\:Y$O!$(B<loc |
| href='http://www.w3.org/XML/#WG-decisions'>$BJLESMQ0U$9$k(B</loc>$B!#(BXML$B$O!$(B |
| $B4{$K$$$/$D$+$N>&IJ$G%5%]!<%H$5$l!$(BXML$B$r%5%]!<%H$9$k(B<loc |
| href='http://www.w3.org/XML/#software'>$B%U%j!<%&%'%"(B</loc>$B$N?t$bA}$($F(B |
| $B$$$k!#(BXML$B$K4X$9$k8x3+$NO@5D$b!$%*%s%i%$%s$G(B<loc |
| href='http://www.w3.org/XML/#discussion'>$BF~<j$G$-$k(B</loc>$B!#(BIt is a |
| stable document derived from a series of working drafts produced over |
| the last year as deliverables of the <loc |
| href='http://www.w3.org/XML'>XML activity</loc>. It specifies a |
| language created by subsetting an existing, widely used international |
| text processing standard (Standard Generalized Markup Language, ISO |
| 8879:1986 as amended and corrected) for use on the World Wide Web. |
| Details of the decisions regarding which features of ISO 8879 to |
| retain in the subset <loc |
| href='http://www.w3.org/XML/#WG-decisions'>are available |
| separately</loc>. XML is already supported by some commercial |
| products, and there are a growing number of <loc |
| href='http://www.w3.org/XML/#software'>free implementations</loc>. |
| Public discussions of XML <loc |
| href='http://www.w3.org/XML/#discussion'>are accessible |
| online</loc>.</p> |
| |
| <p>$B$3$N(B&TR-or-Rec;$B$G$O!$(B<bibref ref="Berners-Lee"/>$B$KDj5A$9$k(B |
| URI(Uniform Resource Identifier)$B$r;HMQ$9$k!#(BURI$B$N@)Dj:n6H$O?J9TCf$G$"$C(B |
| $B$F!$(B<bibref ref="RFC1738"/>$B5Z$S(B<bibref ref="RFC1808"/>$B$r99?7$9$kM=Dj$H(B |
| $B$J$C$F$$$k!#$3$N:n6H$,(BRFC$B$H$7$F<u$1F~$l$i$l$J$$>l9g$O!$$3$N5,DxFb$N(BURI |
| $B$X$N;2>H$O!$(BURL(Uniform Resource Locator)$B$X$N;2>H$KBe$o$k!#(BThis |
| specification uses the term URI, which is defined by <bibref |
| ref="Berners-Lee"/>, a work in progress expected to update <bibref |
| ref="RFC1738"/> and <bibref ref="RFC1808"/>. Should the work not be |
| accepted as an RFC, the references to uniform resource identifiers |
| (URIs) in this specification will become references to uniform |
| resource locators (URLs).</p> |
| |
| <p>XML$B$N;EMM$K=`5r$7$F$$$k$+$I$&$+$N4p=`$H$J$k$O(BW3C$B$N%5%$%H$K$"(B |
| $B$k86J8$G$"$k!#(BThe normative version of the specification is |
| the English version found at the W3C site.</p> |
| |
| <p>$B$3$NI8=`>pJs$O86;EMM$H5;=QE*$KF10l$G$"$k$3$H$r0U?^$7$F$$$k$,!"(B |
| $BK]Lu>e$N8m$j$O$"$jF@$k!#(BAlthough this technical report is |
| intended to be technically identical to the original, it may |
| contain errors from the translation.</p> |
| |
| <p>$BHw9M(B: $B865,Dj$H$N5,Dj2U=j$NBP1~4X78$rL@$i$+$K$9$k$?$a!"$3$N(B |
| &TR-or-Rec;$B$N@a9=@.5Z$S@aHV9f$O!"865,Dj$N$=$l$i$r$G$-$k$@$1J]B8$7$F$$(B |
| $B$k!#$3$N(B&TR-or-Rec;$B$N(BWeb$BHG$O!"865,Dj$N(BHTML$B%?%0$r$=$N$^$^J]B8$7$F$$$k!#(B |
| </p> |
| </status> |
| <!-- out of date |
| <statusp>This is a W3C Working Draft for review by W3C members and other |
| interested parties. It is a draft document and may be updated, |
| replaced, or obsoleted by other documents at any time. It is |
| inappropriate to use W3C Working Drafts as reference material or to |
| cite them as other than "work in progress". A list of current W3C |
| working drafts can be found at |
| <loc href="http://www.w3.org/TR">http://www.w3.org/TR</loc>.</statusp> |
| <statusp><emph>Note:</emph> Since working drafts are subject to frequent |
| change, you are advised to reference the above URL, rather than the |
| URLs for working drafts themselves.</statusp> |
| <statusp>This work is part of the W3C SGML Activity (for current |
| status, see <loc href="http://www.w3.org/MarkUp/SGML/Activity" |
| >http://www.w3.org/MarkUp/SGML/Activity</loc>).</statusp> |
| <p>The current |
| draft of this specification |
| presupposes the successful completion of the current |
| work on the &WebSGML;, being prepared by ISO/IEC JTC1 |
| at the time this draft specification was drafted. |
| If it is not |
| adopted in the expected form, some clauses of this specification |
| may change, and some |
| recommendations now labeled "<termref def="dt-interop">for |
| interoperability</termref>" will become requirements labeled |
| "<termref def="dt-compat">for compatibility</termref>". |
| </p> |
| <p>The current draft of this specification uses the term |
| URI, which is defined by |
| <bibref ref="Berners-Lee"/>, |
| which is work in progress expected to update |
| <bibref ref="RFC1738"/> and <bibref ref="RFC1808"/>. |
| Should the work in this draft not be accepted as an RFC, the |
| references to uniform resource identifiers (URIs) in this |
| specification will become references to uniform resource |
| locators (URLs).</p> |
| </status> --> |
| <abstract> |
| <p>$B3HD%2DG=$J(B&markup;$B8@8l(B(XML)$B$O(BSGML$B$N4JC1$JJ}8@$G$"$C$F!$$3$N(B&TR-or-Rec;$B$G!$$=$N$9$Y$F$r5,Dj$9$k!#(BXML$B$NL\I8$O!$8=:_$N(BHTML$B$HF1MM$K!$0lHL@-$N$"$k(BSGML$B$r%&%'%V>e$GG[I[!$<u?.5Z$S=hM}$G$-$k$3$H$H$9$k!#(BXML$B$O<BAu$,MF0W$G$"$C$F!$(BSGML$B5Z$S(BHTML$B$N$I$A$i$KBP$7$F$bAj8_1?MQ@-$rJ]$D@_7W$,$J$5$l$F$$$k!#(B</p> |
| </abstract> |
| <pubstmt> |
| <p>Chicago, Vancouver, Mountain View, et al.: |
| World-Wide Web Consortium, XML$B:n6H%0%k!<%W(B, 1996, 1997.</p> |
| </pubstmt> |
| <sourcedesc> |
| <p>Created in electronic form.</p> |
| </sourcedesc> |
| <langusage> |
| <language id='EN'>English</language> |
| <language id='ebnf'>Extended Backus-Naur Form (formal grammar)</language> |
| </langusage> |
| <revisiondesc> |
| <slist> |
| <sitem>1997-12-03 : CMSMcQ : yet further changes</sitem> |
| <sitem>1997-12-02 : TB : further changes (see TB to XML WG, |
| 2 December 1997)</sitem> |
| <sitem>1997-12-02 : CMSMcQ : deal with as many corrections and |
| comments from the proofreaders as possible: |
| entify hard-coded document date in pubdate element, |
| change expansion of entity WebSGML, |
| update status description as per Dan Connolly (am not sure |
| about refernece to Berners-Lee et al.), |
| add 'The' to abstract as per WG decision, |
| move Relationship to Existing Standards to back matter and |
| combine with References, |
| re-order back matter so normative appendices come first, |
| re-tag back matter so informative appendices are tagged informdiv1, |
| remove XXX XXX from list of 'normative' specs in prose, |
| move some references from Other References to Normative References, |
| add RFC 1738, 1808, and 2141 to Other References (they are not |
| normative since we do not require the processor to enforce any |
| rules based on them), |
| add reference to 'Fielding draft' (Berners-Lee et al.), |
| move notation section to end of body, |
| drop URIchar non-terminal and use SkipLit instead, |
| lose stray reference to defunct nonterminal 'markupdecls', |
| move reference to Aho et al. into appendix (Tim's right), |
| add prose note saying that hash marks and fragment identifiers are |
| NOT part of the URI formally speaking, and are NOT legal in |
| system identifiers (processor 'may' signal an error). |
| Work through: |
| Tim Bray reacting to James Clark, |
| Tim Bray on his own, |
| Eve Maler, |
| |
| NOT DONE YET: |
| change binary / text to unparsed / parsed. |
| handle James's suggestion about < in attriubte values |
| uppercase hex characters, |
| namechar list, |
| </sitem> |
| <sitem>1997-12-01 : JB : add some column-width parameters</sitem> |
| <sitem>1997-12-01 : CMSMcQ : begin round of changes to incorporate |
| recent WG decisions and other corrections: |
| binding sources of character encoding info (27 Aug / 3 Sept), |
| correct wording of Faust quotation (restore dropped line), |
| drop SDD from EncodingDecl, |
| change text at version number 1.0, |
| drop misleading (wrong!) sentence about ignorables and extenders, |
| modify definition of PCData to make bar on msc grammatical, |
| change grammar's handling of internal subset (drop non-terminal markupdecls), |
| change definition of includeSect to allow conditional sections, |
| add integral-declaration constraint on internal subset, |
| drop misleading / dangerous sentence about relationship of |
| entities with system storage objects, |
| change table body tag to htbody as per EM change to DTD, |
| add rule about space normalization in public identifiers, |
| add description of how to generate our name-space rules from |
| Unicode character database (needs further work!). |
| </sitem> |
| <sitem>1997-10-08 : TB : Removed %-constructs again, new rules |
| for PE appearance.</sitem> |
| <sitem>1997-10-01 : TB : Case-sensitive markup; cleaned up |
| element-type defs, lotsa little edits for style</sitem> |
| <sitem>1997-09-25 : TB : Change to elm's new DTD, with |
| substantial detail cleanup as a side-effect</sitem> |
| <sitem>1997-07-24 : CMSMcQ : correct error (lost *) in definition |
| of ignoreSectContents (thanks to Makoto Murata)</sitem> |
| <sitem>Allow all empty elements to have end-tags, consistent with |
| SGML TC (as per JJC).</sitem> |
| <sitem>1997-07-23 : CMSMcQ : pre-emptive strike on pending corrections: |
| introduce the term 'empty-element tag', note that all empty elements |
| may use it, and elements declared EMPTY must use it. |
| Add WFC requiring encoding decl to come first in an entity. |
| Redefine notations to point to PIs as well as binary entities. |
| Change autodetection table by removing bytes 3 and 4 from |
| examples with Byte Order Mark. |
| Add content model as a term and clarify that it applies to both |
| mixed and element content. |
| </sitem> |
| <sitem>1997-06-30 : CMSMcQ : change date, some cosmetic changes, |
| changes to productions for choice, seq, Mixed, NotationType, |
| Enumeration. Follow James Clark's suggestion and prohibit |
| conditional sections in internal subset. TO DO: simplify |
| production for ignored sections as a result, since we don't |
| need to worry about parsers which don't expand PErefs finding |
| a conditional section.</sitem> |
| <sitem>1997-06-29 : TB : various edits</sitem> |
| <sitem>1997-06-29 : CMSMcQ : further changes: |
| Suppress old FINAL EDIT comments and some dead material. |
| Revise occurrences of % in grammar to exploit Henry Thompson's pun, |
| especially markupdecl and attdef. |
| Remove RMD requirement relating to element content (?). |
| </sitem> |
| <sitem>1997-06-28 : CMSMcQ : Various changes for 1 July draft: |
| Add text for draconian error handling (introduce |
| the term Fatal Error). |
| RE deleta est (changing wording from |
| original announcement to restrict the requirement to validating |
| parsers). |
| Tag definition of validating processor and link to it. |
| Add colon as name character. |
| Change def of %operator. |
| Change standard definitions of lt, gt, amp. |
| Strip leading zeros from #x00nn forms.</sitem> |
| <sitem>1997-04-02 : CMSMcQ : final corrections of editorial errors |
| found in last night's proofreading. Reverse course once more on |
| well-formed: Webster's Second hyphenates it, and that's enough |
| for me.</sitem> |
| <sitem>1997-04-01 : CMSMcQ : corrections from JJC, EM, HT, and self</sitem> |
| <sitem>1997-03-31 : Tim Bray : many changes</sitem> |
| <sitem>1997-03-29 : CMSMcQ : some Henry Thompson (on entity handling), |
| some Charles Goldfarb, some ERB decisions (PE handling in miscellaneous |
| declarations. Changed Ident element to accept def attribute. |
| Allow normalization of Unicode characters. move def of systemliteral |
| into section on literals.</sitem> |
| <sitem>1997-03-28 : CMSMcQ : make as many corrections as possible, from |
| Terry Allen, Norbert Mikula, James Clark, Jon Bosak, Henry Thompson, |
| Paul Grosso, and self. Among other things: give in on "well formed" |
| (Terry is right), tentatively rename QuotedCData as AttValue |
| and Literal as EntityValue to be more informative, since attribute |
| values are the <emph>only</emph> place QuotedCData was used, and |
| vice versa for entity text and Literal. (I'd call it Entity Text, |
| but 8879 uses that name for both internal and external entities.)</sitem> |
| <sitem>1997-03-26 : CMSMcQ : resynch the two forks of this draft, reapply |
| my changes dated 03-20 and 03-21. Normalize old 'may not' to 'must not' |
| except in the one case where it meant 'may or may not'.</sitem> |
| <sitem>1997-03-21 : TB : massive changes on plane flight from Chicago |
| to Vancouver</sitem> |
| <sitem>1997-03-21 : CMSMcQ : correct as many reported errors as possible. |
| </sitem> |
| <sitem>1997-03-20 : CMSMcQ : correct typos listed in CMSMcQ hand copy of spec.</sitem> |
| <sitem>1997-03-20 : CMSMcQ : cosmetic changes preparatory to revision for |
| WWW conference April 1997: restore some of the internal entity |
| references (e.g. to docdate, etc.), change character xA0 to &nbsp; |
| and define nbsp as &#160;, and refill a lot of paragraphs for |
| legibility.</sitem> |
| <sitem>1996-11-12 : CMSMcQ : revise using Tim's edits: |
| Add list type of NUMBERED and change most lists either to |
| BULLETS or to NUMBERED. |
| Suppress QuotedNames, Names (not used). |
| Correct trivial-grammar doc type decl. |
| Rename 'marked section' as 'CDATA section' passim. |
| Also edits from James Clark: |
| Define the set of characters from which [^abc] subtracts. |
| Charref should use just [0-9] not Digit. |
| Location info needs cleaner treatment: remove? (ERB |
| question). |
| One example of a PI has wrong pic. |
| Clarify discussion of encoding names. |
| Encoding failure should lead to unspecified results; don't |
| prescribe error recovery. |
| Don't require exposure of entity boundaries. |
| Ignore white space in element content. |
| Reserve entity names of the form u-NNNN. |
| Clarify relative URLs. |
| And some of my own: |
| Correct productions for content model: model cannot |
| consist of a name, so "elements ::= cp" is no good. |
| </sitem> |
| <sitem>1996-11-11 : CMSMcQ : revise for style. |
| Add new rhs to entity declaration, for parameter entities.</sitem> |
| <sitem>1996-11-10 : CMSMcQ : revise for style. |
| Fix / complete section on names, characters. |
| Add sections on parameter entities, conditional sections. |
| Still to do: Add compatibility note on deterministic content models. |
| Finish stylistic revision.</sitem> |
| <sitem>1996-10-31 : TB : Add Entity Handling section</sitem> |
| <sitem>1996-10-30 : TB : Clean up term & termdef. Slip in |
| ERB decision re EMPTY.</sitem> |
| <sitem>1996-10-28 : TB : Change DTD. Implement some of Michael's |
| suggestions. Change comments back to //. Introduce language for |
| XML namespace reservation. Add section on white-space handling. |
| Lots more cleanup.</sitem> |
| <sitem>1996-10-24 : CMSMcQ : quick tweaks, implement some ERB |
| decisions. Characters are not integers. Comments are /* */ not //. |
| Add bibliographic refs to 10646, HyTime, Unicode. |
| Rename old Cdata as MsData since it's <emph>only</emph> seen |
| in marked sections. Call them attribute-value pairs not |
| name-value pairs, except once. Internal subset is optional, needs |
| '?'. Implied attributes should be signaled to the app, not |
| have values supplied by processor.</sitem> |
| <sitem>1996-10-16 : TB : track down & excise all DSD references; |
| introduce some EBNF for entity declarations.</sitem> |
| <sitem>1996-10-?? : TB : consistency check, fix up scraps so |
| they all parse, get formatter working, correct a few productions.</sitem> |
| <sitem>1996-10-10/11 : CMSMcQ : various maintenance, stylistic, and |
| organizational changes: |
| Replace a few literals with xmlpio and |
| pic entities, to make them consistent and ensure we can change pic |
| reliably when the ERB votes. |
| Drop paragraph on recognizers from notation section. |
| Add match, exact match to terminology. |
| Move old 2.2 XML Processors and Apps into intro. |
| Mention comments, PIs, and marked sections in discussion of |
| delimiter escaping. |
| Streamline discussion of doctype decl syntax. |
| Drop old section of 'PI syntax' for doctype decl, and add |
| section on partial-DTD summary PIs to end of Logical Structures |
| section. |
| Revise DSD syntax section to use Tim's subset-in-a-PI |
| mechanism.</sitem> |
| <sitem>1996-10-10 : TB : eliminate name recognizers (and more?)</sitem> |
| <sitem>1996-10-09 : CMSMcQ : revise for style, consistency through 2.3 |
| (Characters)</sitem> |
| <sitem>1996-10-09 : CMSMcQ : re-unite everything for convenience, |
| at least temporarily, and revise quickly</sitem> |
| <sitem>1996-10-08 : TB : first major homogenization pass</sitem> |
| <sitem>1996-10-08 : TB : turn "current" attribute on div type into |
| CDATA</sitem> |
| <sitem>1996-10-02 : TB : remould into skeleton + entities</sitem> |
| <sitem>1996-09-30 : CMSMcQ : add a few more sections prior to exchange |
| with Tim.</sitem> |
| <sitem>1996-09-20 : CMSMcQ : finish transcribing notes.</sitem> |
| <sitem>1996-09-19 : CMSMcQ : begin transcribing notes for draft.</sitem> |
| <sitem>1996-09-13 : CMSMcQ : made outline from notes of 09-06, |
| do some housekeeping</sitem> |
| </slist> |
| </revisiondesc> |
| </header> |
| <body> |
| <div1 id='sec-intro'> |
| <head>$B0lHL;v9`(B</head> |
| <!-- <div2 id='sec-scope'> |
| <head>$BE,MQHO0O(B</head> --> |
| <p>$B3HD%2DG=$J(B&markup;$B8@8l(BXML(eXtensible Markup Language)$B$O!$(B<termref def="dt-xml-doc">XML$BJ8=q(B</termref>$B$H$$$&%G!<%?%*%V%8%'%/%H$N%/%i%9$r5,Dj$7!$(BXML$BJ8=q$r=hM}$9$k%W%m%0%i%`$NF0:n$N0lIt$r5,Dj$9$k!#(BXML$B$O!$(BSGML($BI8=`0lHL2=(B&markup;$B8@8l!$(BStandard Generalized Markup Language)<bibref ref='ISO8879'/>$B$N@)8B$7$?(B⊂$B$H$9$k!#9=B$>e!$(BXML$BJ8=q$O!$$+$J$i$:(BSGML$B5,3J$KE,9g$9$k!#(B</p> |
| <p>XML$BJ8=q$O!$(B<termref def="dt-entity">$B<BBN(B</termref>$B$H$$$&5-21C10L$+$i$J$j!$<BBN$O!$(B&parsed-data;$BKt$O(B&unparsed-data;$B$+$i$J$k!#(B&parsed-data;$B$O!$(B<termref def="dt-character">$BJ8;z(B</termref>$B$+$i$J$j!$$=$N0lIt$O!$J8=q$N(B<termref def="dt-chardata">$BJ8;z%G!<%?(B</termref>$B$r9=@.$7!$0lIt$O!$(B<termref def="dt-markup">&markup;</termref>$B$r9=@.$9$k!#(B&markup;$B$O!$J8=q$N5-21%l%$%"%&%H5Z$SO@M}9=B$$K$D$$$F$N5-=R$rI=$9Id9f$H$9$k!#(BXML$B$O!$5-21%l%$%"%&%H5Z$SO@M}9=B$$K$D$$$F$N@)Ls>r7o$r5-=R$9$k5!9=$rDs6!$9$k!#(B</p> |
| <p><termdef id="dt-xml-proc" term="XML&processor;"><term>XML&processor;</term>$B$H$$$&%=%U%H%&%'%"%b%8%e!<%k$O!$(BXML$BJ8=q$rFI$_9~$_!$$=$NFbMF5Z$S9=B$$X$N%"%/%;%9$rDs6!$9$k$?$a$KMQ$$$k!#(B </termdef> <termdef id="dt-app" term="&application;">XML&processor;$B$O!$B>$N%b%8%e!<%k$N$?$a$KF0:n$9$k$3$H$rA0Ds$H$7!$$=$N%b%8%e!<%k$r(B<term>&application;</term>$B$H$$$&!#(B</termdef>$B$3$N(B&TR-or-Rec;$B$O!$(BXML&processor;$B$,9T$o$J$1$l$P$J$i$J$$?6Iq$$$r5,Dj$9$k!#$D$^$j!$(BXML$B%G!<%?$NFI9~$_J}K!$r5,Dj$7!$(B&application;$B$KDs6!$9$k>pJs$r5,Dj$9$k!#(B</p> |
| <!-- </div2> --> |
| <div2 id='sec-origin-goals'> |
| <head>$B7P0^5Z$SL\I8(B</head> |
| <p>1996$BG/$K(BWorld Wide Web Consortium(W3C)$B$NCf$K@_N)$7$?(BXML$B:n6H%0%k!<%W(B($B0JA0$O!$(B SGML$BJT=8%l%S%e!<0Q0w2q$H8F$P$l$?(B)$B$,!$(BXML$B$r3+H/$7$?!#$3$N:n6H%0%k!<%W$N5DD9$r!$(BSun Microsystems$B$N(BJon Bosak$B$,6P$a$k!#(BW3C$B$,AH?%$7!$0JA0$O(BSGML$B:n6H%0%k!<%W$H8F$P$l$?(BXML SIG(Special Interest Group)$B$b!$(BXML$B$N@)Dj$KHs>o$K3hH/$K;22h$7$?!#(B |
| <!--JIS$B$G$O(B? XML$B:n6H%0%k!<%W$N%a%s%P$rIUO?$K<($9!#(B-->Dan Connolly$B$O!$:n6H%0%k!<%W$N(BW3C$B$K$*$1$kO"Mm78$rL3$a$?!#(B</p> |
| <p>XML$B$N@_7WL\I8$r!$<!$K<($9!#(B<ulist> |
| <item><p>a) XML$B$O!$(BInternet$B>e$G$=$N$^$^;HMQ$G$-$k!#(B</p></item> |
| <item><p>b) XML$B$O!$9-HO0O$N(B&application;$B$r;Y1g$9$k!#(B</p></item> |
| <item><p>c) XML$B$O!$(BSGML$B$H8_49@-$r$b$D!#(B</p></item> |
| <item><p>d) XML$BJ8=q$r=hM}$9$k%W%m%0%i%`$r=q$/$3$H$O!$MF0W$G$J$1$l$P$J$i$J$$!#(B</p></item> |
| <item><p>e) XML$B$G$O!$%*%W%7%g%s$N5!G=$O$G$-$k$@$1>/$J$/$7!$0l$D$bB8:_$7$J$$$3$H$rL\;X$9!#(B</p></item> |
| <item><p>f) XML$BJ8=q$O!$?M4V$K$H$C$FFI$_$d$9$/!$==J,$KM}2r$7$d$9$$!#(B</p></item> |
| <item><p>g) XML$B$N@_7W$O!$$9$_$d$+$K9T$($J$1$l$P$J$i$J$$!#(B</p></item> |
| <item><p>h) XML$B$N@_7W$O!$87L)5Z$S4J7i$G$J$1$l$P$J$i$J$$!#(B</p></item> |
| <item><p>i) XML$BJ8=q$O!$MF0W$K:n@.$G$-$k!#(B</p></item> |
| <item><p>j) XML$B$G$O!$(B&markup;$B$N?t$r8:$i$9$3$H$O!$=EMW$G$O$J$$!#(B</p></item></ulist> |
| </p> |
| <p>XML$BBh(B&XML.version;&version;$B$rM}2r$7!$$=$l$r=hM}$9$k7W;;5!%W%m%0%i%`$r=q$/$?$a$K==J,$J>pJs$O!$$3$N(B&TR-or-Rec;$B5Z$S4XO"$9$k5,3J(B($BJ8;zMQ$H$7$F!$(BUnicode$B5Z$S(BISO/IEC 10646$B!$(B<!--* XXX for Uniform Resource Identifiers, *-->&language-identification;$B%?%0MQ$H$7$F!$%$%s%?%M%C%H(B RFC 1766$B!$(B&language-code;$BMQ$H$7$F!$(BISO 639$B!$JB$S$K(B&country-code;$BMQ$H$7$F!$(BISO 3166)$B$G!$$9$Y$F<($9!#(B</p> |
| <p>$B$3$N(B&version;$B$N(BXML$B$N5,Dj(B<!-- (&doc.date;) -->$B$O!$8x3+%l%S%e!<5Z$S5DO@$rL\E*$H$9$k!#%F%-%9%H5Z$SK!N'>e$NCm0U$r2~JQ$7$J$$8B$j!$<+M3$KG[I[$7$F$b$h$$!#(B</p> |
| </div2> |
| <div2 id='sec-terminology'> |
| <head>$BDj5A(B</head> |
| <p>XML$BJ8=q$N5,Dj$N$?$a$K;HMQ$9$kMQ8l$O!$$3$N(B&TR-or-Rec;$BFb$GDj5A$9$k!#<!$K<($98l6g$O!$$=$l$i$NMQ8l$rDj5A$9$k$?$a!$5Z$S(BXML&processor;$B$NF0$-$r5,Dj$9$k$?$a$K;HMQ$9$k!#(B |
| <glist> |
| <gitem> |
| <label>1.2.1 $B$7$F$b$h$$(B(may)</label> |
| <def><p><termdef id="dt-may" term="$B$7$F$b$h$$(B">$BE,9g$9$kJ8=qKt$O(BXML&processor;$B$O!$5-=R$5$l$?$H$*$j$KF0:n$7$F$b$h$$$,!$$=$N$H$*$j$K$9$kI,MW$O$J$$!#(B</termdef></p></def> |
| </gitem> |
| <gitem> |
| <label>1.2.2 $B$7$J$1$l$P$J$i$J$$(B(must)</label> |
| <def><p>$BE,9g$9$kJ8=qKt$O(BXML&processor;$B$O!$5-=R$5$l$?$H$*$j$KF0:n$9$k$3$H$,MW5a$5$l$k!#$=$&$G$J$1$l$P!$(B&error;$B$H$9$k!#(B<!-- do NOT change this! this is what defines a violation ofa 'must' clause as 'an error'. -MSM --> |
| </p></def> |
| </gitem> |
| <gitem> |
| <label>1.2.3 &error;(error)</label> |
| <def><p><termdef id="dt-error" term="&error;">$B$3$N(B&TR-or-Rec;$B$,Dj$a$k5,B'$KBP$9$k0cH?!#7k2L$ODj5A$7$J$$!#E,9g$9$k%=%U%H%&%'%"$O!$(B&error;$B$r8!=P$7$FJs9p$7$F$b$h$/!$(B&error;$B$+$i2sI|$7$F$b$h$$!#(B</termdef></p></def> |
| </gitem> |
| <gitem> |
| <label>1.2.4 &fatal-error;(fatal error)</label> |
| <def><p><termdef id="dt-fatal" term="&fatal-error;">$BE,9g$9$k(B<termref def="dt-xml-proc">XML&processor;</termref>$B$,8!=P$7$J$1$l$P$J$i$:!$(B&application;$B$KJs9p$7$J$1$l$P$J$i$J$$(B&error;$B!#(B&fatal-error;$B$rH/8+$7$?$"$H!$(B&processor;$B$O!$$=$l0J9_$N(B&error;$B$rC5$9$?$a$K%G!<%?=hM}$rB39T$7$F$b$h$/!$(B&error;$B$rH/8+$7$?>l9g$O!$$=$N(B&error;$B$r(B&application;$B$KJs9p$7$F$b$h$$!#(B&error;$BD{@5$r%5%]!<%H$9$k$?$a$K!$(B&processor;$B$O!$L$=hM}%G!<%?(B($BJ8;z%G!<%?5Z$S(B&markup;$B$N:.:_$7$?$b$N(B)$B$rJ8=q$+$i<h$j=P$7!$(B&application;$B$KEO$7$F$b$h$$!#$7$+$7!$0lEY!$(B&fatal-error;$B$r8!=P$7$?$i!$(B&processor;$B$O!$DL>o$N=hM}$rB39T$7$F$O$J$i$J$$!#$D$^$j!$(B&processor;$B$O!$J8;z%G!<%?5Z$SJ8=q$NO@M}9=B$$K$D$$$F$N>pJs$r!$DL>o$NJ}K!$G(B&application;$B$KEO$7B3$1$F$O$J$i$J$$!#(B</termdef></p></def> |
| </gitem> |
| <gitem> |
| <label>1.2.5 &at-user-option;(at user option)</label> |
| <def><p>$BE,9g$9$k%=%U%H%&%(%"$O!$5-=R$5$l$?$H$*$j$K?6$kIq$C$F$b$h$$(B(may)$B!$Kt$O?6$kIq$o$J$/$F$O$J$i$J$$(B(must)($BJ8>OCf$N=uF0;l$K$h$k!#(B)$B!#$=$N$H$*$j$K?6$kIq$&>l9g$O!$5-=R$5$l$??6Iq$$$rA*BrKt$O5qH]$9$k<jCJ$r(B&user;$B$KDs6!$7$J$1$l$P$J$i$J$$!#(B</p></def> |
| </gitem> |
| <gitem> |
| <label>1.2.6 &validity;$B@)Ls(B(validity constraint)</label> |
| <def><p>$B$9$Y$F$N(B<termref def="dt-valid">&valid;$B$J(B</termref>XML$BJ8=q$KE,MQ$9$k5,B'!#(B&validity;$B@)Ls$N0cH?$O!$(B&error;$B$H$9$k!#(B&at-user-option;$B!$(B<termref def="dt-validating">$B8!>Z$r9T$&(BXML&processor;</termref>$B$O!$$3$N(B&error;$B$rJs9p$7$J$1$l$P$J$i$J$$!#(B</p></def> |
| </gitem> |
| <gitem> |
| <label>1.2.7 &well-formed;$B@)Ls(B(well-formedness constraint)</label> |
| <def><p>$B$9$Y$F$N(B<termref def="dt-wellformed">&well-formed;</termref>$B$N(BXML$BJ8=q$KE,MQ$9$k5,B'!#(B&well-formed;$B@)Ls$N0cH?$O!$(B<termref def="dt-fatal">&fatal-error;</termref>$B$H$9$k!#(B</p></def> |
| </gitem> |
| <gitem> |
| <label>1.2.8 &match;(match)</label> |
| <def><p>a) <termdef id="dt-match" term="&match;">&string;$BKt$OL>A0$N(B&match;$B!!Hf3S$9$kFs$D$N(B&string;$BKt$OL>A0$O!$F10l$G$J$1$l$P$J$i$J$$!#(BISO/IEC 10646$B$K$*$$$F!$J#?t$NI=8=$,2DG=$JJ8;z!NNc$($P!$(B&composed-form;$B5Z$S4pDl(B+&diacritical-mark;($B%@%$%"%/%j%F%#%+%k%^!<%/(B)$B7A<0!O$O!$$I$A$i$N(B&string;$B$bF1$8I=8=$N$H$-$K8B$j!$(B&match;$B$9$k!#(B&at-user-option;$B!$(B&processor;$B$O!$$=$NJ8;z$rI8=`7A$K@55,2=$7$F$b$h$$!#Hf3S$N$H$-!"BgJ8;z$H>.J8;z$H$N6hJL$r$9$k!#(B<!-- Note that no processing of characters with respect to case is part of the matching process. --><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<BR>c) $BFbMF$HFbMF%b%G%k$H$N(B&match;$B!!$"$kMWAG$,!$(B<titleref href='elementvalid'>$BMWAG$N(B&validity;</titleref>$B$N@)Ls$K<($90UL#$GE,9g$9$k$H$-!$$3$NMWAG$O!$$=$N@k8@$K(B&match;$B$9$k$H$$$&!#(B</termdef></p></def> |
| </gitem> |
| <gitem> |
| <label>1.2.9 $B8_49@-$N$?$a(B(for compatibility)</label> |
| <def><p><termdef id="dt-compat" term="$B8_49@-$N$?$a(B">XML$B$N5!G=$G$"$C$F!$(BXML$B$,(BSGML$B$H8_49$G$"$k$3$H$rJ]>Z$9$k$?$a$@$1$KF3F~$5$l$k$b$N!#(B</termdef></p></def> |
| </gitem> |
| <gitem> |
| <label>1.2.10 $BAj8_1?MQ@-$N$?$a(B(for interoperability)</label> |
| <def><p><termdef id="dt-interop" term="$BAj8_1?MQ@-$N$?$a(B">$B94B+NO$O$b$?$J$$?d>);v9`!#(B&WebSGML;$B0JA0$+$iB8:_$9$k(BSGML&processor;$B$,!$(BXML$BJ8=q$r=hM}$G$-$k2DG=@-$r9b$a$k$?$a$K<h$jF~$l$k$b$N!#(B</termdef></p></def> |
| </gitem> |
| </glist> |
| </p> |
| </div2> |
| </div1> |
| <!-- &Docs; --> |
| <div1 id='sec-documents'> |
| <head>$BJ8=q(B</head> |
| <p><termdef id="dt-xml-doc" term="XML$BJ8=q(B"> |
| <!-- A textual object --> |
| $B$3$N(B&TR-or-Rec;$B$GDj5A$9$k0UL#$G!$(B<termref def="dt-wellformed">&well-formed;</termref>$B$H$9$k%G!<%?%*%V%8%'%/%H$r!$(B<term>XML$BJ8=q(B</term>$B$H$$$&!#(B&well-formed;$B$N(BXML$BJ8=q$,!$$5$i$K!$$"$k@)Ls>r7o$rK~B-$9$l$P!$(B<termref def="dt-valid">&valid;</termref>$B$J(BXML$BJ8=q$H$9$k!#(B |
| </termdef></p> |
| |
| <!-- why this div? -TB |
| <div2 id='sec-log-phys'> |
| <head>Logical and Physical Structure</head> --> |
| |
| <p>$B$$$:$l$N(BXML$BJ8=q$b!$O@M}9=B$5Z$SJ*M}9=B$$r$b$D!#J*M}E*$K$O!$J8=q$O!$(B<termref def="dt-entity">$B<BBN(B</termref>$B$H8F$VC10L$+$i$J$k!#$"$k<BBN$O!$J8=qFb$KB>$N<BBN$r4^$`$?$a$K!$$=$NB>$N<BBN$r(B<termref def="dt-entref">$B;2>H(B</termref>$B$7$F$b$h$$!#J8=q$O!$!H%k!<%H!I$9$J$o$A(B<termref def="dt-docent">$BJ8=q<BBN(B</termref>$B$+$i;O$^$k!#O@M}E*$K$O!$J8=q$O!$@k8@!$MWAG!$%3%a%s%H!$J8;z;2>H5Z$S=hM}L?Na$r4^$_!$$3$l$i$9$Y$F$O!$J8=qFb$GL@<(E*$J(B&markup;$B$K$h$C$F<($9!#O@M}9=B$5Z$SJ*M}9=B$$O!$(B<titleref href="wf-entities">$B0J9_(B</titleref>$B$K<($9$H$*$j$K!$87L)$KF~$l;R$K$J$C$F$$$J$1$l$P$J$i$J$$!#(B</p> |
| |
| <!-- |
| </div2> --> |
| |
| <div2 id='sec-well-formed'> |
| <head>&well-formed;$B$N(BXML$BJ8=q(B</head> |
| <p><termdef id="dt-wellformed" term="&well-formed;">$B$"$k%F%-%9%H%*%V%8%'%/%H$,!$<!$N$$$:$l$+$N$H$-!$$=$N%F%-%9%H%*%V%8%'%/%H$r(B&well-formed;$B$N(BXML$BJ8=q$H8F$V!#(B</termdef> |
| <ulist> |
| <item><p>a) $BA4BN$H$7$F!$(B<nt def='NT-document'>document</nt>$B$H$$$&%i%Y%k$r$b$D@8@.5,B'$K(B&match;$B$9$k!#(B</p></item> |
| <item><p>b) $B$3$N(B&TR-or-Rec;$B$GDj5A$9$k!$$9$Y$F$N(B&well-formed;$B@)Ls$K=>$&!#(B</p> |
| </item> |
| <item><p>c) $B$=$l$>$l$N(B<termref def='dt-parsedent'>&parsed-entity;</termref>$B$,!$(B<titleref href='wf-entities'>&well-formed;</titleref>$B$H$J$k!#(B</p></item> |
| </ulist></p> |
| <p> |
| <scrap lang='ebnf' id='document'> |
| <head>$BJ8=q(B</head> |
| <prod id='NT-document'><lhs>document</lhs> |
| <rhs><nt def='NT-prolog'>prolog</nt> |
| <nt def='NT-element'>element</nt> |
| <nt def='NT-Misc'>Misc</nt>*</rhs></prod> |
| </scrap> |
| </p> |
| <p><nt def="NT-document">document</nt>$B@8@.5,B'$K(B&match;$B$9$k$H$O!$<!$r0UL#$9$k!#(B |
| <ulist> |
| <item><p>a) $B0l$D0J>e$N(B<termref def="dt-element">$BMWAG(B</termref>$B$r4^$`!#(B</p> |
| </item> |
| |
| <!--* N.B. some readers (notably JC) find the following |
| paragraph awkward and redundant. I agree it's logically redundant: |
| it *says* it is summarizing the logical implications of |
| matching the grammar, and that means by definition it's |
| logically redundant. I don't think it's rhetorically |
| redundant or unnecessary, though, so I'm keeping it. It |
| could however use some recasting when the editors are feeling |
| stronger. -MSM *--> |
| |
| <item><p>b) <termdef id="dt-root" term="$B%k!<%HMWAG(B"><term>$B%k!<%H(B</term>$BKt$OJ8=qMWAG$H$$$&MWAG$,0l$D$@$1B8:_$7!$$3$l$O!$B>$NMWAG$N(B<termref def="dt-content">$BFbMF(B</termref>$B$K4^$^$l$J$$!#(B</termdef>$B$3$l0J30$N$9$Y$F$NMWAG$O!$$=$N3+;O%?%0$,B>$NMWAG$NFbMF$K4^$^$l$l$P!$BP1~$9$k=*N;%?%0$bF1$8MWAG$NFbMF$K4^$^$l$k!#$D$^$j!$MWAG$O!$3+;O%?%05Z$S=*N;%?%0$K$h$C$F6h@Z$i$l!$F~$l;R9=B$$r$J$9!#(B |
| </p></item> |
| </ulist> |
| </p> |
| <p><termdef id="dt-parentchild" term="$B?FMWAG(B/$B;RMWAG(B">$B$3$l$i$N7k2L$H$7$F!$J8=qFb$N$I$NHs%k!<%HMWAG(B<code>C</code>$B$KBP$7$F$b!$$"$kB>$NMWAG(B<code>P</code>$B$,B8:_$7!$(B<code>C</code>$B$O!$(B<code>P</code>$B$NFbMF$K4^$^$l$k$,!$(B<code>P</code>$B$NFbMF$K4^$^$l$kB>$NMWAG$K4^$^$l$k$3$H$O$J$$!#$3$N$H$-!$(B<code>P</code>$B$r(B<code>C</code>$B$N(B<code>$B?F(B</code>$B$H$$$$!$(B<code>C</code>$B$r(B<code>P</code>$B$N(B<code>$B;R(B</code>$B$H$$$&!#(B</termdef></p> |
| </div2> |
| <div2 id="charsets"> |
| <head>$BJ8;z(B</head> |
| <p> |
| |
| <!--The data stored in an XML <termref def="dt-entity">entity</termref> is |
| either <termref def="dt-text">parsed</termref> or <termref |
| def="dt-unparsed">unparsed</termref>. --> |
| |
| <termdef id="dt-text" term="$B%F%-%9%H(B">&parsed-entity;$B$O!$(B<term>$B%F%-%9%H(B</term>(<termref def="dt-character">$BJ8;z(B</termref>$B$NJB$S$G$"$C$F!$(B&markup;$BKt$OJ8;z%G!<%?$rI=$7$F$b$h$$!#(B)$B$r4^$`!#(B</termdef><termdef id="dt-character" term="$BJ8;z(B"><term>$BJ8;z(B</term>$B$O!$%F%-%9%H$N:G>.C10L$G$"$C$F!$(BISO/IEC 10646<bibref ref="ISO10646"/>$B$K5,Dj$5$l$k!#(B<!--Users may extend the ISO/IEC 10646 character repertoire by exploiting the private use areas. -->$B5vMF$9$kJ8;z$O!$%?%V!$2~9T!$I|5"JB$S$K(BUnicode$B5Z$S(BISO/IEC 10646$B$,5vMF$9$k?^7AJ8;z$H$9$k!#(B</termdef> |
| <scrap lang="ebnf" id="char32"> |
| <head>$BJ8;z$NHO0O(B</head> |
| <prodgroup pcw2="4" pcw4="17.5" pcw5="11"> |
| <prod id="NT-Char"><lhs>Char</lhs> |
| <rhs>#x9 | #xA | #xD | [#x20-#D7FF] | [#xE000-#xFFFD] |
| | [#x10000-#x10FFFF]</rhs> |
| <com>$BG$0U$N(BUnicode$BJ8;z!#$?$@$7!$(B&surrogate-blocks;$B!$(BFFFE$B5Z$S(BFFFF$B$O=|$/!#(B</com> |
| </prod> |
| </prodgroup> |
| </scrap> |
| </p> |
| <p>&character-value;$B$r%S%C%H%Q%?%s$KId9f2=$9$k5!9=$O!$<BBN$4$H$K0c$C$F$b$h$$!#$9$Y$F$N(BXML&processor;$B$O!$(BISO/IEC 10646$B$N(BUTF-8$BId9f2=5Z$S(BUTF-16$BId9f2=$r<u$1IU$1$J$1$l$P$J$i$J$$!#Fs$D$N$I$A$i$,MQ$$$i$l$F$$$k$+$rL@<($9$k$?$a$N5!9=!$5Z$SB>$NId9f2=J}K!$rMxMQ$9$k$?$a$N5!9=$O!$(B<titleref href='charencoding'>$BJ8;z$NId9f2=(B</titleref>$B$K5-=R$9$k!#(B</p> |
| <p>$B$I$NId9f2=J}K!$rMQ$$$k$+$K4X78$J$/!$(BISO/IEC 10646$B$NJ8;z=89g$K$"$k$9$Y$F$NJ8;z$O!$$=$N(BUCS-4&code-value;<!-- bit string. -->$B$HEy2A$J(B10$B?J?tKt$O(B16$B?J?t$K$h$C$F!$;2>H$G$-$k!#(B</p> |
| </div2> |
| |
| <div2 id='sec-common-syn'> |
| <head>$B6&DL$N9=J89=@.;R(B</head> |
| |
| <p>2.3$B$G$O!$J8K!Fb$G9-$/;HMQ$9$k$$$/$D$+$N5-9f$rDj5A$9$k!#(B</p> |
| <p><nt def="NT-S">S</nt> ($B6uGr(B)$B$O!$0l$D<c$7$/$OJ#?t$N(B&space-character;(#x20)$B!$I|5"!$2~9TKt$O%?%V$+$i@.$k!#(B |
| |
| <scrap lang="ebnf" id='white'> |
| <head>$B6uGr(B</head> |
| <prodgroup pcw2="4" pcw4="17.5" pcw5="11"> |
| <prod id='NT-S'><lhs>S</lhs> |
| <rhs>(#x20 | #x9 | #xD | #xA)+</rhs> |
| </prod> |
| </prodgroup> |
| </scrap></p> |
| <p>$BJX59>e!$J8;z$r!$(B&letter;$B!$?t;zKt$OB>$NJ8;z$KJ,N`$9$k!#(B&letter;$B$O!$%"%k%U%!%Y%C%HE*Kt$OI=2;E*$G$"$k4pK\J8;z(B($B0l$DKt$OJ#?t$N(B&combining-character;$B$,!$8e$KB3$/$3$H$b$"$k!#(B)$B!$(B&ideographic;$B$+$i@.$k!#(B |
| <!-- |
| Certain layout and format-control characters defined by ISO/IEC 10646 |
| should be ignored when recognizing identifiers; these are defined by the |
| classes <nt def='NT-Ignorable'>Ignorable</nt> and <nt def='NT- |
| Extender'>Extender</nt>. |
| --> |
| $B3F%/%i%9$K$*$1$k<B:]$NJ8;z$K$D$$$F$N40A4$JDj5A$O!$(B<titleref href='CharClasses'>$BJ8;z%/%i%9(B</titleref>$B$K4X$9$kIUO?$K5,Dj$9$k!#(B</p> |
| <p><termdef id="dt-name" term="Name"><term>Name</term>$B$O!$(B&letter;$BKt$O$$$/$D$+$N6h@Z$jJ8;z$N0l$D$G;O$^$j!$$=$N8e$K(B&letter;$B!$?t;z!$%O%$%U%s!$2<@~!$%3%m%sKt$O%T%j%*%I$,B3$/(B($B$3$l$i$rL>A0J8;z$H$$$&!#(B)$B!#(B</termdef>&string;"<code>xml</code>"$BKt$O(B<code>(('X'|'x') ('M'|'m') ('L'|'l'))</code>$B$K(B&match;$B$9$kG$0U$N(B&string;$B$G;O$^$kL>A0$O!$$3$N(B&TR-or-Rec;$B$N8=:_$NHGKt$O>-Mh$NHG$G$NI8=`2=$N$?$a$KM=Ls$9$k!#(B |
| </p> |
| <note> |
| <p>XML$B$NL>A0$NCf$N%3%m%s$O!$L>A06u4V$G$N<B83$N$?$a$KM=Ls$9$k!#%3%m%s$N0UL#$O!$>-Mh$N$"$k;~E@$GI8=`2=$9$k$b$N$H$7!$$=$N$H$-$K$O!$<B83E*$JL\E*$G%3%m%s$r;HMQ$9$kJ8=q$r99?7$9$kI,MW$,@8$8$k2DG=@-$,$"$k!#(BXML$B$G:NMQ$9$kL>A06u4V$N5!9=$,!$6h@Z$j;R$H$7$F<B:]$K%3%m%s$r;HMQ$9$k$H$$$&J]>Z$O$J$$!#;v<B>e!$$3$l$O!$L>A06u4V$N<B83$N0l$D$H$7$F0J30$K$O!$(BXML$B$NL>A0$NCf$G%3%m%s$r;HMQ$7$J$$$[$&$,$h$$$3$H$r0UL#$9$k!#$7$+$7!$(BXML&processor;$B$O!$L>A0J8;z$H$7$F%3%m%s$r<u$1IU$1$k$3$H$,K>$^$7$$!#(B |
| </p> |
| </note> |
| <p> |
| <nt def='NT-Nmtoken'>Nmtoken</nt> ($BL>A0(B&token;)$B$O!$L>A0J8;z$G9=@.$9$kNs$H$9$k!#(B |
| <scrap lang='ebnf'> |
| <head>$BL>A05Z$S(B&token;</head> |
| <!-- |
| <prod id='NT-MiscName'><lhs>MiscName</lhs> |
| <rhs></rhs> |
| </prod>--> |
| <prod id='NT-NameChar'><lhs>NameChar</lhs> |
| <rhs><nt def="NT-Letter">Letter</nt> |
| | <nt def='NT-Digit'>Digit</nt> |
| <!--| <nt def='NT-MiscName'>MiscName</nt>--> |
| | '.' | '-' | '_' | ':' |
| | <nt def='NT-CombiningChar'>CombiningChar</nt> |
| <!-- | <nt def='NT-Ignorable'>Ignorable</nt> --> |
| | <nt def='NT-Extender'>Extender</nt></rhs> |
| </prod> |
| <prod id='NT-Name'><lhs>Name</lhs> |
| <rhs>(<nt def='NT-Letter'>Letter</nt> | '_' | ':') |
| (<nt def='NT-NameChar'>NameChar</nt>)*</rhs></prod> |
| <prod id='NT-Names'><lhs>Names</lhs> |
| <rhs><nt def='NT-Name'>Name</nt> |
| (<nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>)*</rhs></prod> |
| <prod id='NT-Nmtoken'><lhs>Nmtoken</lhs> |
| <rhs>(<nt def='NT-NameChar'>NameChar</nt>)+</rhs></prod> |
| <prod id='NT-Nmtokens'><lhs>Nmtokens</lhs> |
| <rhs><nt def='NT-Nmtoken'>Nmtoken</nt> (<nt def='NT-S'>S</nt> <nt |
| def='NT-Nmtoken'>Nmtoken</nt>)*</rhs></prod> |
| </scrap> |
| </p> |
| <p>&literal;$B%G!<%?$O!$0zMQId$G0O$^$l$?(B&string;$B$H$7!$$=$NNs$N6h@Z$j;R$H$7$F;HMQ$9$k0zMQId$O4^$^$J$$!#(B&literal;$B$O!$FbIt<BBN(B(<nt def='NT-EntityValue'>EntityValue</nt>)$B!$B0@-CM(B(<nt def='NT-AttValue'>AttValue</nt>)$B!$30It(B&identifier;(<nt def="NT-SystemLiteral">SystemLiteral</nt>)$B$NFbMF$N;XDj$K;HMQ$9$k!#L\E*$K$h$C$F$O!$(B&literal;$BA4BN$r!$$=$NCf$N(B&markup;$B$NAv::$r9T$J$o$:$K!$%9%-%C%W$9$k$3$H$,$"$k(B(<nt def='NT-SkipLit'>SkipLit</nt>$B!#(B)$B!#(B |
| <scrap lang='ebnf'> |
| <head>&literal;</head> |
| <!-- is marked section end legal in entity values etc.? |
| James says yes. Handbook page 392, sec. 10.4 seems to me to say no. |
| If James is right, leave as is. Otherwise, uncomment |
| the next comment and ... |
| --> |
| <!-- |
| <prod id='NT-EntityValue'><lhs>EntityValue</lhs> |
| <rhs>' " ' |
| (([^%&"] |
| | <nt def='NT-PEReference'>PEReference</nt> |
| | <nt def='NT-Reference'>Reference</nt>)* |
| - (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-char'>Char</nt>*)) |
| ' " ' |
| </rhs> |
| <rhs>| |
| " ' " |
| (([^%&'] |
| | <nt def='NT-PEReference'>PEReference</nt> |
| | <nt def='NT-Reference'>Reference</nt>)* |
| - (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-char'>Char</nt>*)) |
| " ' "</rhs> |
| </prod> |
| <prod id='NT-AttValue'><lhs>AttValue</lhs> |
| <rhs>'"' |
| (([^<&"] |
| | <nt def='NT-Reference'>Reference</nt>)* |
| - (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-char'>Char</nt>*)) |
| ' " ' |
| </rhs> |
| <rhs>| |
| " ' " |
| (([^<&'] |
| | <nt def='NT-Reference'>Reference</nt>)* |
| - (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-char'>Char</nt>*)) |
| " ' "</rhs> |
| <wfc def="CleanAttrVals"/> |
| </prod> |
| --> |
| <!-- ... and comment out the following, down to ... --> |
| <prod id='NT-EntityValue'><lhs>EntityValue</lhs> |
| <rhs>' " ' |
| ([^%&"] |
| | <nt def='NT-PEReference'>PEReference</nt> |
| | <nt def='NT-Reference'>Reference</nt>)* |
| ' " ' |
| </rhs> |
| <rhs>| |
| " ' " |
| ([^%&'] |
| | <nt def='NT-PEReference'>PEReference</nt> |
| | <nt def='NT-Reference'>Reference</nt>)* |
| " ' "</rhs> |
| </prod> |
| <prod id='NT-AttValue'><lhs>AttValue</lhs> |
| <rhs>' " ' |
| ([^<&"] |
| | <nt def='NT-Reference'>Reference</nt>)* |
| ' " ' |
| </rhs> |
| <rhs>| |
| " ' " |
| ([^<&'] |
| | <nt def='NT-Reference'>Reference</nt>)* |
| " ' "</rhs> |
| <!--<wfc def="WF-Attvaldelim"/>--> |
| </prod> |
| <!-- ... down to here. --> |
| <prod id="NT-SystemLiteral"><lhs>SystemLiteral</lhs> |
| <rhs><nt def='NT-SkipLit'>SkipLit</nt></rhs> |
| </prod> |
| <!-- <prod id="NT-URIchar"><lhs>URIchar</lhs> |
| <rhs><com>See <loc href="http://www.w3.org/XXX">XXX</loc></com> |
| </rhs></prod> |
| --> |
| <prod id="NT-PubidLiteral"><lhs>PubidLiteral</lhs> |
| <rhs>' " ' <nt def='NT-PubidChar'>PubidChar</nt>* |
| ' " ' |
| | " ' " (<nt def='NT-PubidChar'>PubidChar</nt> - " ' ")* " ' "</rhs> |
| </prod> |
| <prod id="NT-PubidChar"><lhs>PubidChar</lhs> |
| <rhs>#x20 | #xD | #xA |
| | [a-zA-Z0-9] |
| | [-'()+,./:=?]</rhs> |
| </prod> |
| <prod id="NT-SkipLit"><lhs>SkipLit</lhs> |
| <rhs>(' " ' [^"]* ' " ') |
| | (" ' " [^']* " ' ")</rhs> |
| </prod> |
| <!-- alternate form, making ms end illegal: --> |
| <!-- |
| <prod id="NT-SkipLit"><lhs>SkipLit</lhs> |
| <rhs>(' " ' ([^"]* - ([^"]* ']]>' [^"]*)) ' " ') |
| | (" ' " ([^']* - ([^']* ']]>' [^']*)) " ' ")</rhs> |
| </prod> |
| --> |
| </scrap> |
| </p> |
| <!-- |
| <wfcnote id="WF-Attvaldelim"> |
| <head>Delimiters in Attribute Values</head> |
| <p>After the expansion of character and entity references, |
| an attribute value must not contain a "<code><</code>" |
| or "<code>&</code>" character unless that character was |
| introduced by the expansion of a character reference |
| or one of the entities &magicents;.</p> |
| </wfcnote>--> |
| <!-- |
| This is not quite right: < should be legal, should it not? |
| Suppress this WFC until we get it right. |
| --> |
| <!-- Henry Thompson suggests (in substance, not form: the wording needs |
| to be clarified): |
| "Cooked Attribute values must not contain < & or the |
| quote which closed their uncooked literal, |
| unless arising from the expansion of a character reference or |
| magic reference |
| directly contained in their uncooked literal." |
| I'm not sure I agree with this rule, but it's at least coherent, |
| which is more than I can say for my attempt. |
| --> |
| </div2> |
| |
| <div2 id='syntax'> |
| <head>$BJ8;z%G!<%?5Z$S(B&markup;</head> |
| <p><termref def='dt-text'>$B%F%-%9%H(B</termref>$B$O!$(B<termref def="dt-chardata">$BJ8;z%G!<%?(B</termref>$B5Z$S(B&markup;$B$,:.:_$9$k$b$N$H$7$F9=@.$9$k!#(B<termdef id="dt-markup" term="Markup"><term>&markup;</term>$B$O!$(B<termref def="dt-stag">$B3+;O%?%0(B</termref>$B!$(B<termref def="dt-etag">$B=*N;%?%0(B</termref>$B!$(B<termref def="dt-empty">$B6uMWAG(B</termref>$B!$(B<termref def="dt-entref">$B<BBN;2>H(B</termref>$B!$(B<termref def="dt-charref">$BJ8;z;2>H(B</termref>$B!$(B<termref def="dt-comment">$B%3%a%s%H(B</termref>$B!$(B<termref def="dt-cdsection">CDATA$B%;%/%7%g%s(B</termref> $B$N6h@Z$j;R!$(B<termref def="dt-doctype">$BJ8=q7?@k8@(B</termref>$B5Z$S(B<termref def="dt-pi">$B=hM}L?Na(B</termref>$B$N7A$r<h$k!#(B |
| </termdef> |
| </p> |
| <p><termdef id="dt-chardata" term="Character Data">&markup;$B$G$O$J$$$9$Y$F$N%F%-%9%H$O!$J8=q$N(B<term>$BJ8;z%G!<%?(B</term>$B$r9=@.$9$k!#(B</termdef></p> |
| <p>$B%"%s%Q%5%s%IJ8;z(B (&)$B5Z$S(B&left-angle-bracket; (<)$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;</code>"$B5Z$S(B&string;"<code>&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>&gt;</code>"$B$r;HMQ$7$FI=8=$7$F$b$h$$!#FbMF$NCf$GNs(B"<code>]]></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>&gt;</code>"$BKt$OJ8;z;2>H$r;HMQ$7!$(B&escape;$B$7$J$1$l$P$J$i$J$$!#(B</p> |
| |
| <p>$BMWAG$NFbMF$G$O!$J8;z%G!<%?$O!$$$$+$J$k(B&markup;$B$N3+;O6h@Z$j;R$r4^$^$J$$G$0U$N(B&char-string;$B$H$9$k!#(BCDATA$B%;%/%7%g%s$G$O!$J8;z%G!<%?$H$O!$(BCDATA$B%;%/%7%g%s$N=*N;6h@Z$j;R(B"<code>]]></code>"$B$r4^$^$J$$G$0U$N(B&char-string;$B$H$9$k!#(B |
| </p> |
| <p> |
| $BB0@-CM$K(B&single-quote;$B5Z$S(B&double-quote;$B$r4^$`$?$a$K$O!$%"%]%9%H%m%U%#Kt$O(B&single-quote;(') $B$O!$(B"<code>&apos;</code>"$B$H$7$FI=8=$7!$(B&double-quote;(")$B$O!$(B"<code>&quot;</code>"$B$H$7$FI=8=$9$k!#(B |
| <scrap lang="ebnf"> |
| <head>$BJ8;z%G!<%?(B</head> |
| <prod id='NT-CharData'> |
| <lhs>CharData</lhs> |
| <rhs>[^<&]* - ([^<&]* ']]>' [^<&]*)</rhs> |
| </prod> |
| </scrap> |
| </p> |
| </div2> |
| |
| <div2 id='sec-comments'> |
| <head>$B%3%a%s%H(B</head> |
| |
| <p><termdef id="dt-comment" term="Comment"><term>$B%3%a%s%H(B</term>$B$O!$B>$N(B<termref def='dt-markup'>&markup;</termref>$B$N30$J$i$P!$J8=q$N$I$3$K8=$l$F$b$h$$!#$5$i$K!$J8=q7?@k8@Fb$G!$J8K!$,5v$9>l=j$K8=$l$F$b$h$$!#(B |
| <!-- TB |
| except in a <termref def="dt-cdsection">CDATA section</termref>, i.e. within |
| <termref def="dt-elemcontent">element content</termref>, in |
| <termref def="dt-mixed">mixed content</termref>, or in the prolog. They must |
| not occur within declarations or tags. --> |
| $B%3%a%s%H$O!$J8=q$N(B<termref def="dt-chardata">$BJ8;z%G!<%?(B</termref>$B$N0lIt$G$O$J$$!#(BXML&processor;$B$O!$(B&application;$B$,%3%a%s%H$N%F%-%9%H$r<h$j=P$9$3$H$r2DG=$H$7$F$b$h$$$,!$$=$&$7$J$/$H$b$h$$!#(B |
| <termref def="dt-compat">$B8_49@-$N$?$a(B</termref>$B!$(B&string;"<code>--</code>" $B!J(B&double-hyphen;$B!K$O!$%3%a%s%HFb$G8=$l$F$O$J$i$J$$!#(B |
| <scrap lang="ebnf"> |
| <head>$B%3%a%s%H(B</head> |
| <prod id='NT-Comment'><lhs>Comment</lhs> |
| <rhs>'<!--' |
| ((<nt def='NT-Char'>Char</nt> - '-') |
| | ('-' (<nt def='NT-Char'>Char</nt> - '-')))* |
| '-->'</rhs> |
| <!-- |
| <rhs>'<!&como;' |
| (<nt def='NT-Char'>Char</nt>* - |
| (<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*)) |
| '&comc;>'</rhs> --> |
| </prod> |
| </scrap> |
| </termdef></p> |
| <p>$B%3%a%s%H$NNc$r<!$K<($9!#(B |
| <eg><!&como; declarations for <head> & <body> &comc;></eg> |
| </p> |
| </div2> |
| |
| <div2 id='sec-pi'> |
| <head>$B=hM}L?Na(B</head> |
| |
| <p><termdef id="dt-pi" term="Processing instruction"><term>$B=hM}L?Na(B</term>(PI)$B$K$h$C$F!$(B&application;$B$N$?$a$NL?Na$rJ8=q$KF~$l$k$3$H$,$G$-$k!#(B |
| |
| <scrap lang="ebnf"> |
| <head>$B=hM}L?Na(B</head> |
| <prod id='NT-PI'><lhs>PI</lhs> |
| <rhs>'<?' <nt def='NT-PITarget'>PITarget</nt> |
| (<nt def='NT-S'>S</nt> |
| (<nt def='NT-Char'>Char</nt>* - |
| (<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*)))? |
| &pic;</rhs></prod> |
| <prod id='NT-PITarget'><lhs>PITarget</lhs> |
| <rhs><nt def='NT-Name'>Name</nt> - |
| (('X' | 'x') ('M' | 'm') ('L' | 'l'))</rhs> |
| </prod> |
| </scrap></termdef> |
| PI$B$O!$J8=q$N(B<termref def="dt-chardata">$BJ8;z%G!<%?(B</termref>$B$N0lIt$G$O$J$$$,!$(B&application;$B$KEO$5$l$J$1$l$P$J$i$J$$!#(BPI$B$O!$L?Na$,EO$5$l$k(B&application;$B$r(B&identify;$B$?$a$K;HMQ$9$k(B⌖ (<nt def='NT-PITarget'>PITarget</nt>) $B$G;O$^$k!#(B⌖$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⌖$B$r@k8@$9$k$?$a$K;HMQ$7$F$b$h$$!#(B |
| </p> |
| </div2> |
| |
| <div2 id='sec-cdata-sect'> |
| <head>CDATA$B%;%/%7%g%s(B</head> |
| |
| <p><termdef id="dt-cdsection" term="CDATA Section"><term>CDATA$B%;%/%7%g%s(B</term>$B$O!$J8;z%G!<%?$,=P8=$9$k$H$3$m$G$"$l$P!$$I$3$K=P8=$7$F$b$h$$!#$3$l$O!$$=$&$G$J$1$l$P!$(B&markup;$B$H$7$FG'<1$9$kJ8;z$r4^$`!$%F%-%9%H$N6h2h$r(B&escape;$B$9$k$N$K;HMQ$9$k!#(BCDATA$B%;%/%7%g%s$O!$(B&string;"<code><![CDATA[</code>"$B$G;O$^$j!$(B&string; |
| "<code>]]></code>"$B$G=*$o$k!#(B |
| <scrap lang="ebnf"> |
| <head>CDATA$B%;%/%7%g%s(B</head> |
| <prod id='NT-CDSect'><lhs>CDSect</lhs> |
| <rhs><nt def='NT-CDStart'>CDStart</nt> |
| <nt def='NT-CData'>CData</nt> |
| <nt def='NT-CDEnd'>CDEnd</nt></rhs></prod> |
| <prod id='NT-CDStart'><lhs>CDStart</lhs> |
| <rhs>'<![CDATA['</rhs> |
| </prod> |
| <prod id='NT-CData'><lhs>CData</lhs> |
| |
| <rhs>(<nt def='NT-Char'>Char</nt>* - |
| (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-Char'>Char</nt>*)) |
| </rhs> |
| </prod> |
| <prod id='NT-CDEnd'><lhs>CDEnd</lhs> |
| <rhs>']]>'</rhs> |
| </prod> |
| </scrap> |
| |
| CDATA$B%;%/%7%g%sFb$G$O!$Ns(B<nt def='NT-CDEnd'>CDEnd</nt>$B$@$1$r(B&markup;$B$H$7$FG'<1$9$k$N$G!$(B&left-angle-bracket;$B5Z$S%"%s%Q%5%s%I$O!$$=$N(B&literal;$B7A<0$G=P8=$7$F$h$$!#$=$l$i$O!$(B"<code>&lt;</code>"$B5Z$S(B"<code>&amp;</code>"$B$r;HMQ$7$F(B&escape;$B$9$kI,MW$O$J$$!#(BCDATA$B%;%/%7%g%s$O!$F~$l;R$K$O$G$-$J$$!#(B |
| </termdef> |
| </p> |
| |
| <p>"<code><greeting></code>"$B5Z$S(B"<code></greeting></code>"$B$r!$(B<termref def='dt-markup'>&markup;</termref>$B$G$O$J$/!$(B<termref def='dt-chardata'>$BJ8;z%G!<%?(B</termref>$B$H$7$FG'<1$9$k(BCDATA$B%;%/%7%g%s$NNc$r!$<!$K<($9!#(B |
| <eg><![CDATA[<greeting>Hello, world!</greeting>]]></eg> |
| </p> |
| </div2> |
| |
| <div2 id='sec-prolog-dtd'> |
| <head>&prolog;$B5Z$SJ8=q7?@k8@(B</head> |
| |
| <p><termdef id='dt-xmldecl' term='XML Declaration'>XML$BJ8=q$O!$;HMQ$9$k(BXML$B$N(B&version;$B$r;XDj$9$k(B<term>XML$B@k8@(B</term>$B$G;O$a$F$b$h$/!$Kt$=$&$9$k$N$,K>$^$7$$!#(B |
| </termdef> |
| </p> |
| <p>$B$3$N(B&TR-or-Rec;$B$N$3$N(B&version;$B$KE,9g$9$k$3$H$r<($9$?$a$K$O!$(B&version;$BHV9f(B "<code>1.0</code>" $B$r;HMQ$7$J$1$l$P$J$i$J$$!#$"$kJ8=q$,!$$3$N(B&TR-or-Rec;$B$N$3$N(B&version;$B$KE,9g$7$J$$$H$-!$CM(B"<code>1.0</code>"$B$r;HMQ$9$k$N$O!$(B&error;$B$H$9$k!#$3$N(B&TR-or-Rec;$B$N:#8e$N(B&version;$B$K(B"<code>1.0</code>"$B0J30$NCM$rIUM?$9$k$3$H$,!$(BXML$B:n6H%0%k!<%W$N0U?^$@$,!$(BXML$B$N>-Mh$N(B&version;$B$r:n@.$9$k$3$H$N3NLs$r<($9$o$1$G$O$J$/!$:n@.$7$?$H$7$F$b!$HV9fIU$1$K$D$$$F!$FCDj$NJ}K!$r;HMQ$9$k$3$H$N3NLs$r<($9$o$1$G$b$J$$!#>-Mh$N(B&version;$B$N2DG=@-$r=|30$7$J$$$N$G!$I,MW$J>l9g!$<+F0E*$J(B&version;$B$NG'<1$r2DG=$H$9$k<jCJ$H$7$F!$$3$N9=@.;R$rDs6!$9$k!#(B&processor;$B$O!$%5%]!<%H$7$F$$$J$$(B&version;$B$G%i%Y%kIU$1$7$?J8=q$r<u$1<h$C$?$H$-!$(B&error;$B$rDLCN$7$F$b$h$$!#(B |
| </p> |
| <p>XML$BJ8=qFb$N(B&markup;$B$N5!G=$O!$5-219=B$5Z$SO@M}9=B$$r5-=R$9$k$3$H!$JB$S$KB0@-5Z$SB0@-CM$NBP$rO@M}9=B$$K4XO"$E$1$k$3$H$K$"$k!#(BXML$B$O!$O@M}9=B$$K$D$$$F$N@)Ls>r7o$rDj5A$9$k$?$a!$5Z$S$"$i$+$8$aDj5A$5$l$?5-21C10L$r;HMQ$G$-$k$?$a$N5!9=$H$7$F!$(B<termref def="dt-doctype">$BJ8=q7?@k8@(B</termref>$B$rDs6!$9$k!#(B<!-- old |
| The function of the markup in an XML document is to describe its |
| storage and logical structures, and associate attribute-value pairs with the |
| logical structure. |
| XML provides a |
| mechanism, the <termref def="dt-doctype">document type declaration</termref>, |
| to |
| define constraints on that logical structure and to support the use of |
| predefined storage units. --><termdef id="dt-valid" term="Validity">XML$BJ8=q$,(B<term>&valid;</term>$B$H$O!$J8=q7?@k8@$r$b$A!$$=$NJ8=q7?@k8@$K<($9@)Ls>r7o$rK~$?$9$3$H$H$9$k!#(B |
| </termdef></p> |
| <p>$BJ8=q7?@k8@$O!$J8=q$N:G=i$N(B<termref def="dt-element">$BMWAG(B</termref>$B$NA0$K8=$l$J$1$l$P$J$i$J$$!#(B |
| <scrap lang="ebnf" id='xmldoc'> |
| <head>&prolog;</head> |
| <prodgroup pcw2="6" pcw4="17.5" pcw5="9"> |
| <prod id='NT-prolog'><lhs>prolog</lhs> |
| <rhs><nt def='NT-XMLDecl'>XMLDecl</nt>? |
| <nt def='NT-Misc'>Misc</nt>* |
| (<nt def='NT-doctypedecl'>doctypedecl</nt> |
| <nt def='NT-Misc'>Misc</nt>*)?</rhs></prod> |
| <prod id='NT-XMLDecl'><lhs>XMLDecl</lhs> |
| <rhs>&xmlpio; |
| <nt def='NT-VersionInfo'>VersionInfo</nt> |
| <nt def='NT-EncodingDecl'>EncodingDecl</nt>? |
| <nt def='NT-SDDecl'>SDDecl</nt>? |
| <nt def="NT-S">S</nt>? |
| &pic;</rhs> |
| </prod> |
| <prod id='NT-VersionInfo'><lhs>VersionInfo</lhs> |
| <rhs><nt def="NT-S">S</nt> 'version' <nt def='NT-Eq'>Eq</nt> |
| ('"<nt def="NT-VersionNum">VersionNum</nt>"' |
| | "'<nt def="NT-VersionNum">VersionNum</nt>'")</rhs> |
| </prod> |
| <prod id='NT-Eq'><lhs>Eq</lhs> |
| <rhs><nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?</rhs></prod> |
| <prod id="NT-VersionNum"> |
| <lhs>VersionNum</lhs> |
| <rhs>([a-zA-Z0-9_.:] | '-')+</rhs> |
| </prod> |
| <prod id='NT-Misc'><lhs>Misc</lhs> |
| <rhs><nt def='NT-Comment'>Comment</nt> | <nt def='NT-PI'>PI</nt> | |
| <nt def='NT-S'>S</nt></rhs></prod> |
| </prodgroup> |
| </scrap></p> |
| |
| <p> |
| $BNc$($P!$<!$K<($940A4$J(BXML$BJ8=q$O!$(B<termref def="dt-wellformed">&well-formed;</termref>$B$G$"$k$,(B<termref def="dt-valid">&valid;</termref>$B$G$O$J$$!#(B |
| <eg><![CDATA[<?xml version="1.0"?> |
| <greeting>Hello, world!</greeting> |
| ]]></eg> |
| $B<!$NJ8=q$bF1MM$H$9$k!#(B |
| <eg><![CDATA[<greeting>Hello, world!</greeting> |
| ]]></eg> |
| </p> |
| <p><termdef id="dt-doctype" term="Document Type Declaration"> |
| XML$B$N(B<term>$BJ8=q7?@k8@(B</term>$B$O!$$"$kJ8=q%/%i%9$N$?$a$NJ8K!$rDs6!$9$k(B<termref def='dt-markupdecl'>&markup;$B@k8@(B</termref>$B$r4^$`$+!$Kt$O;2>H$9$k!#$3$NJ8K!$r!$J8=q7?Dj5AKt$O(B<term>DTD</term>$B$H$$$&!#J8=q7?@k8@$O!$(B&markup;$B@k8@$r4^$s$@30It(B⊂($BFCJL$J<oN`$N(B<termref def='dt-extent'>$B30It<BBN(B</termref>)$B$r;2>H$G$-!$Kt$OFbIt(B⊂$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⊂$B$r$^$H$a$?$b$N$H$7$F9=@.$9$k!#(B</termdef> |
| </p> |
| <p><termdef id="dt-markupdecl" term="markup declaration"> |
| <term>&markup;$B@k8@(B</term>$B$O!$(B<termref def="dt-eldecl">$BMWAG7?@k8@(B</termref>$B!$(B <termref def="dt-attdecl">$BB0@-%j%9%H@k8@(B</termref>$B!$(B<termref def="dt-entdecl">$B<BBN@k8@(B</termref>$BKt$O(B<termref def="dt-notdecl">$B5-K!@k8@(B</termref>$B$H$9$k!#(B</termdef>$B<!$K<($9(B&well-formed;$B@)Ls5Z$S(B&validity;$B@)Ls$K5,Dj$9$k$,!$$3$l$i$N@k8@$O!$(B<termref def='dt-PE'>¶meter;$B<BBN(B</termref>$BFb$KA4BNKt$O0lIt$,4^$^$l$F$b$h$$!#>\$7$$5,Dj$O!$(B<titleref xml-link="simple" href="sec-physical-struct">$BJ*M}9=B$(B</titleref>$B$K4X$9$k5,Dj$r;2>H$N$3$H!#(B</p> |
| <scrap lang="ebnf" id='dtd'> |
| <head>$BJ8=q7?Dj5A(B</head> |
| <prodgroup pcw2="6" pcw4="17.5" pcw5="9"> |
| <prod id='NT-doctypedecl'><lhs>doctypedecl</lhs> |
| <rhs>'<!DOCTYPE' <nt def='NT-S'>S</nt> |
| <nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt> |
| <nt def='NT-ExternalID'>ExternalID</nt>)? |
| <nt def='NT-S'>S</nt>? ('[' |
| (<nt def='NT-markupdecl'>markupdecl</nt> |
| | <nt def='NT-PEReference'>PEReference</nt> |
| | <nt def='NT-S'>S</nt>)* |
| ']' |
| <nt def='NT-S'>S</nt>?)? '>'</rhs> |
| <vc def="vc-roottype"/> |
| <!--<vc def="vc-nonnullDTD"/>--> |
| </prod> |
| <!-- |
| <prod id='NT-markupdecls'><lhs>markupdecls</lhs> |
| <rhs> |
| (<nt def='NT-S'>S</nt>? |
| <nt def='NT-markupdecl'>markupdecl</nt> |
| <nt def='NT-S'>S</nt>?)* |
| </rhs></prod> |
| --> |
| <prod id='NT-markupdecl'><lhs>markupdecl</lhs> |
| <rhs><nt def='NT-elementdecl'>elementdecl</nt> |
| | <nt def='NT-AttlistDecl'>AttlistDecl</nt> |
| | <nt def='NT-EntityDecl'>EntityDecl</nt> |
| | <nt def='NT-NotationDecl'>NotationDecl</nt> |
| | <nt def='NT-PI'>PI</nt> |
| | <nt def='NT-Comment'>Comment</nt> |
| <!--| <nt def='NT-InternalPERef'>InternalPERef</nt> --></rhs> |
| <vc def='vc-PEinMarkupDecl'/> |
| <wfc def="wfc-PEinInternalSubset"/> |
| </prod> |
| <!-- |
| <prod id="NT-InternalPERef"><lhs>InternalPERef</lhs> |
| <rhs><nt def="NT-PEReference">PEReference</nt></rhs> |
| <wfc def="wfc-integraldec"/> |
| </prod> |
| --> |
| </prodgroup> |
| </scrap> |
| <vcnote id="vc-roottype"> |
| <head>&root;$BMWAG7?(B</head> |
| <p> |
| $BJ8=q7?@k8@$K$*$1$k(B<nt def='NT-Name'>Name</nt>$B$O!$(B&root;$BMWAG$N7?$H(B&match;$B$7$J$1$l$P$J$i$J$$!#(B |
| </p> |
| </vcnote> |
| <!-- |
| <vcnote id="vc-nonnullDTD"> |
| <head>Non-null DTD</head> |
| <p> |
| The internal and external subsets of the DTD must not both |
| be empty. |
| </p> |
| </vcnote> |
| --> |
| <vcnote id='vc-PEinMarkupDecl'> |
| <head>$B@k8@5Z$S(B¶meter;$B<BBN$,87L)$KF~$l;R$r$J$9$3$H(B</head> |
| <p>¶meter;$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'>¶meter;$B<BBN;2>H(B</termref>$B$NBP>]$H$J$k(B&replacement-text;$B$K4^$^$l$l$P!$N>J}$H$bF1$8(B&replacement-text;$B$K4^$^$l$J$1$l$P$J$i$J$$!#(B</p> |
| </vcnote> |
| <wfcnote id="wfc-PEinInternalSubset"> |
| <head>$BFbIt(B⊂$BFb$N(B¶meter;$B<BBN(B</head> |
| <p>DTD$B$NFbIt(B⊂$B$G$O!$(B<termref def='dt-PERef'>¶meter;$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¶meter;$B<BBNKt$O30It(B⊂$B$G$N;2>H$K$OE,MQ$7$J$$!#(B)$B!#(B |
| </p> |
| </wfcnote> |
| <p> |
| $BFbIt(B⊂$B$N$H$-$HF1MM$K!$30It(B⊂$B5Z$S(BDTD$B$K$*$$$F;2>H$9$kG$0U$N30It(B¶meter;$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">¶meter;$B<BBN;2>H(B</termref>$B$rCV$$$F$b$h$$!#$7$+$7!$30It(B⊂$BKt$O30It(B¶meter;$B<BBN$NFbMF$N0lIt$O!$(B<termref def="dt-cond-section">$B>r7oIU$-%;%/%7%g%s(B</termref>$B$r;HMQ$7$FL5;k$7$F$b$h$$!#FbIt%5%V%;%C%H$G$O!$$3$l$O5v$5$l$J$$!#(B |
| <!--In the external subset, however, parameter-entity references can |
| be used to replace constructs prefixed by "<code>%</code>" in a production of |
| the grammar, and <termref def="dt-cond-section">conditional sections</termref> |
| may occur. |
| In the internal subset, by contrast, conditional sections may not |
| occur and the only parameter-entity references |
| allowed are those which match the non-terminal |
| <nt def="NT-InternalPERef">InternalPERef</nt> |
| within the rule for <nt def="NT-doctypedecl">markupdecl</nt>. |
| --> |
| <scrap id="ext-Subset"> |
| <head>$B30It(B⊂</head> |
| <prodgroup pcw2="6" pcw4="17.5" pcw5="9"> |
| <prod id='NT-extSubset'><lhs>extSubset</lhs> |
| <rhs>( |
| <nt def='NT-markupdecl'>markupdecl</nt> |
| | <nt def='NT-conditionalSect'>conditionalSect</nt> |
| | <nt def='NT-PEReference'>PEReference</nt> |
| | <nt def='NT-S'>S</nt> |
| )*</rhs> |
| </prod> |
| </prodgroup> |
| </scrap></p> |
| <p>$B30It(B⊂$B5Z$S30It(B¶meter;$B<BBN$O!$$=$NFb$G$O!$(B¶meter;$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⊂$B$H$O0[$J$k!#(B |
| </p> |
| <p>$BJ8=q7?@k8@IU$-$N(BXML$BJ8=q$NNc$r!$<!$K<($9!#(B |
| <eg><![CDATA[<?xml version="1.0"?> |
| <!DOCTYPE greeting SYSTEM "hello.dtd"> |
| <greeting>Hello, world!</greeting> |
| ]]></eg> |
| <termref def="dt-sysid">$B%7%9%F%`(B&identifier;</termref> "<code>hello.dtd</code>"$B$,!$J8=q$N(BDTD$B$N(BURI$B$H$J$k!#(B</p> |
| <p>$B<!$NNc$N$H$*$j!$@k8@$r6I=jE*$KM?$($k$3$H$b$G$-$k!#(B |
| <eg><![CDATA[<?xml version="1.0" encoding="UTF-8" ?> |
| <!DOCTYPE greeting [ |
| <!ELEMENT greeting (#PCDATA)> |
| ]> |
| <greeting>Hello, world!</greeting> |
| ]]></eg> |
| $B30It(B⊂$B5Z$SFbIt(B⊂$B$NN>J}$r;HMQ$9$k$H$-$O!$FbIt(B⊂$B$,30It(B⊂$B$h$j@h$K=P8=$7$?$H8+$J$9!#(B<!--* 'is considered to'? boo. whazzat mean? -->$B$3$l$O!$FbIt(B⊂$B$N<BBN5Z$SB0@-%j%9%H@k8@$,!$30It(B⊂$B$N<BBN5Z$SB0@-%j%9%H@k8@$h$jM%@h$9$k$H$$$&8z2L$r$b$?$i$9!#(B |
| </p> |
| </div2> |
| |
| <div2 id='sec-rmd'> |
| <head>&standalone;$BJ8=q@k8@(B</head> |
| <p><termref def="dt-xml-proc">XML&processor;</termref>$B$O!$(B&application;$B$KJ8=q$NFbMF$rEO$9$,!$(B&markup;$B@k8@$O!$$3$NFbMF$K1F6A$rM?$($k$3$H$,$"$k!#B0@-$N(B&default-value;$B5Z$S<BBN@k8@$r$=$NNc$H$9$k!#(BXML$B@k8@$N0lItJ,$H$7$F=P8=$G$-$k(B&standalone;$BJ8=q@k8@$O!$J8=q$,!$$=$N(B&markup;$B@k8@$NB8:_$K$h$C$F1F6A$5$l$J$$$3$H$r;X$7<($9!JIaDL!$$=$N(B&markup;$B@k8@$,B8:_$7$J$$$?$a$K!$$3$l$,$$$($k!#!K!#(B |
| <scrap lang="ebnf" id='fulldtd'> |
| <head>&standalone;$BJ8=q@k8@(B</head> |
| <prodgroup pcw2="4" pcw4="19.5" pcw5="9"> |
| <prod id='NT-SDDecl'><lhs>SDDecl</lhs> |
| <rhs> |
| <nt def="NT-S">S</nt> |
| 'standalone' <nt def='NT-Eq'>Eq</nt> "'" ('yes' | 'no') "'" |
| </rhs> |
| <rhs> |
| | <nt def="NT-S">S</nt> |
| 'standalone' <nt def='NT-Eq'>Eq</nt> '"' ('yes' | 'no') '"' |
| </rhs><vc def='vc-check-rmd'/></prod> |
| </prodgroup> |
| </scrap></p> |
| <p>&standalone;$BJ8=q@k8@$K$*$$$F$O(B, "<code>yes</code>"$B$NCM$O!$(B<termref def='dt-docent'>$BJ8=q<BBN(B</termref>$B$N30It$K!J(BDTD$B$N30It(B⊂$BFb$K!$Kt$OFbIt(B⊂$B$+$i;2>H$5$l$k30It%Q%i%a%?<BBNFb$K!K!$(BXML&processor;$B$+$i(B&application;$B$X$HEO$5$l$k>pJs$K1F6A$9$k(B&markup;$B@k8@$,B8:_$7$J$$$3$H$r0UL#$9$k!#(B"<code>no</code>"$B$NCM$O!$$=$N30It(B&markup;$B@k8@$,B8:_$9$k$+!$Kt$OB8:_$9$k2DG=@-$,$"$k$3$H$r0UL#$9$k!#(B&standalone;$BJ8=q@k8@$O!$$=$N(B<emph>$B@k8@(B</emph>$B$,J8=q30It$KB8:_$9$k$+$I$&$+$r<($9$@$1$KCm0U$9$k$3$H!#30It<BBN$X$N;2>H$,J8=qFb$KB8:_$7$F$$$F$b!$$=$N<BBN$,FbItE*$K@k8@$5$l$F$$$k$H$-$O!$J8=q$N(B&standalone;$B$N>uBV$K$O1F6A$rM?$($J$$!#(B</p> |
| |
| <p>$B30It$K(B&markup;$B@k8@$,B8:_$7$J$1$l$P!$(B&standalone;$BJ8=q@k8@$O0UL#$r$b$?$J$$!#30It$K(B&markup;$B@k8@$,B8:_$7!$(B&standalone;$BJ8=q@k8@$,B8:_$7$J$$>l9g$O!$(B<code>"no"</code> $B$NCM$N@_Dj$r2>Dj$9$k!#(B</p> |
| <p>XML$BJ8=q$G(B <code>standalone="no"</code> $B$,@_Dj$5$l$F$$$k$b$N$O!$$"$k%"%k%4%j%:%`$G(B&standalone;$BJ8=q$KJQ49$G$-!$$3$NJ8=q$O!$%M%C%H%o!<%/G[?.(B&application;$B$K$H$C$FK>$^$7$$$+$b$7$l$J$$!#(B</p> |
| <vcnote id='vc-check-rmd'> |
| <head>&standalone;$BJ8=q@k8@(B</head> |
| <p>&standalone;$BJ8=q@k8@$O!$2?$i$+$N30It(B&markup;$B@k8@$,<!$N$$$:$l$+$r@k8@$7$F$$$k$H$-$O!$CM(B "<code>no</code>" $B$r<h$i$J$1$l$P$J$i$J$$!#(B |
| <ulist> |
| <item><p>a) <termref def="dt-default">&default;</termref>$BCMIU$-$NB0@-$G$"$C$F!$$3$NB0@-$,E,MQ$5$l$kMWAG$,!$B0@-CM$r;XDj$;$:$KJ8=qFb$K8=$l$k$b$N!#(B</p></item> |
| <item><p>b) &magicents;$B0J30$N<BBN$G$"$C$F!$$=$N<BBN$KBP$9$k(B<termref def="dt-entref">$B;2>H(B</termref>$B$,J8=qFb$K=P8=$9$k$b$N!#(B</p> |
| </item> |
| <item><p>c) $BCM$,(B<titleref href='AVNormalize'>$B@55,2=(B</titleref>$B$NBP>]$H$J$kB0@-$G$"$C$F!$@55,2=$N7k2L$H$7$FJQ2=$9$kCM$,J8=qFb$GB0@-$K;XDj$5$l$k$b$N!#(B</p></item> |
| <item> |
| <p>d) <termref def="dt-elemcontent">$BMWAGFbMF(B</termref>$B$r$b$DMWAG7?$G$"$C$F!$6uGr$,$=$NMWAG7?$N$$$:$l$+$N%$%s%9%?%s%9Fb$KD>@\8=$l$k$b$N!#(B |
| </p></item> |
| </ulist> |
| </p> |
| </vcnote> |
| <p>&standalone;$BJ8=q@k8@IU$-$N(BXML$B@k8@$NNc$r!$<!$K<($9!#(B |
| <eg><?xml version="&XML.version;" standalone='yes'?></eg></p> |
| </div2> |
| <div2 id='sec-white-space'> |
| <head>$B6uGr$N<h07$$(B</head> |
| <p>XML$BJ8=q$rJT=8$9$k$H$-$O!$(B&markup;$B$rL\N)$?$;FI$_$d$9$/$9$k$?$a$K!$!H6uGr!I(B(&space;$B!$%?%V5Z$S6uGr9T!#$3$N(B&TR-or-Rec;$B$G$O!$Hs=*C<5-9f$N(B<nt def='NT-S'>S</nt>$B$GI=$9(B)$B$r;H$&$HJXMx$J$3$H$,B?$$!#$=$N6uGr$O!$G[I[$9$k(B&version;$B$NJ8=q$N0lIt$H$7$F4^$a$k$3$H$r0U?^$7$J$$$N$rIaDL$H$9$k!#$7$+$7!$!H0UL#$N$"$k!I6uGr$G$"$C$F!$G[I[$9$k(B&version;$B$K;D$5$J$1$l$P$J$i$J$$$b$N$bB?$$!#Nc$($P!$;m5Z$S%=!<%9%3!<%I$K$*$1$k6uGr$,$"$k!#(B</p> |
| <p><termref def='dt-xml-proc'>XML&processor;</termref>$B$O!$J8=qFb$N(B&markup;$B0J30$N$9$Y$F$NJ8;z$r!$$=$N$^$^JQ99$;$:$K(B&application;$B$KEO$5$J$1$l$P$J$i$J$$!#(B<termref def='dt-validating'>&validating;XML&processor;</termref>$B$O!$(B<termref def="dt-elemcontent">$BMWAGFbMF(B</termref>$B$NCf$N6uGr$rB>$NHs(B&markup;$BJ8;z$+$i6hJL$7!$(B&application;$BB&$KMWAGFbMF$NCf$N6uGr$,=EMW$G$J$$$H$$$&$3$H$rEA$($J$1$l$P$J$i$J$$!#(B</p> |
| <p> |
| "<code>xml:space</code>"$B$H$$$&FCJL$J(B<termref def='dt-attr'>$BB0@-(B</termref>$B$rJ8=q$KA^F~$9$k$3$H$K$h$C$F!$6uGr$r=EMW$H$9$k0U?^$r<($7$F$b$h$$!#$3$NB0@-$rE,MQ$9$kMWAG$K8=$l$k6uGr$r!$%"%W%j%1!<%7%g%s$,=EMW$J$b$N$H$7$F07$&$3$H$rMW5a$9$k!$$H$$$&0U?^$r<($9!#(B</p> |
| <p>&valid;$B$JJ8=q$G$O!$$3$NB0@-$r;HMQ$9$k>l9g$O!$B>$NB0@-$HF1$8$h$&$K(B<termref def="dt-attdecl">$B@k8@(B</termref>$B$7$J$1$l$P$J$i$J$$!#@k8@$9$k$H$-$O!$<h$jF@$kCM$r(B"<code>default</code>"$B5Z$S(B "<code>preserve</code>"$B$@$1$H$9$k(B<termref def='dt-enumerated'>$BNs5s7?(B</termref>$B$G$J$1$l$P$J$i$J$$!#(B |
| </p> |
| <p>$BCM(B"<code>default</code>"$B$O!$(B&application;$B$N(B&default;$B$N6uGr=hM}%b!<%I$r!$$=$NMWAG$KE,MQ2DG=$H$9$k$3$H$r0UL#$9$k!#CM(B"<code>preserve</code>"$B$O!$(B&application;$B$,$9$Y$F$N6uGr$rJ]B8$9$k$3$H$r0UL#$9$k!#$3$N@k8@$N0U?^$O!$(B"<code>xml:space</code>" $BB0@-$NJL$N;XDj$G>e=q$-$7$J$$8B$j!$MWAG$NFbMF$K8=$l$k$9$Y$F$NMWAG$KE,MQ$9$k$H2r<a$9$k!#(B</p> |
| <p>$BJ8=q$N(B<termref def='dt-root'>&root;$BMWAG(B</termref>$B$K$D$$$F$O!$$3$NB0@-$NCM$r;XDj$9$k$+!$Kt$O$3$NB0@-$N(B&default-value;$B$,$"$k>l9g$r=|$$$F$O!$(B&application;$B$K$h$k6uGr$N<h07$$$K$D$$$F!$$$$+$J$k0U?^$b<($5$J$$$H2r<a$9$k!#(B</p> |
| <p>$BNc$r<!$K<($9!#(B |
| <eg><![CDATA[ <!ATTLIST poem xml:space (default|preserve) 'preserve'>]]></eg> |
| </p> |
| </div2> |
| <div2 id='sec-line-ends'> |
| <head>$B9TKv$N<h07$$(B</head> |
| <p>XML$B$N(B<termref def='dt-parsedent'>$B9=J8(B&parsed-entity;</termref>$B$O!$DL>o%3%s%T%e!<%?$N%U%!%$%kFb$KJ]B8$5$l!$JT=8$NJX59$N$?$a$KJ#?t$N9T$KJ,$1$k$3$H$,B?$$!#$3$l$i$N9T$O!$IaDL$O!$(B<code>CR</code> (#xD)$B%3!<%I5Z$S(B <code>LF</code> (#xA)$B%3!<%I$N2?$i$+$NAH9g$;$K$h$C$FJ,$1$i$l$k!#(B</p> |
| <p><termref def='dt-app'>&application;</termref>$B$N=hM}$r4JC1$K$9$k$?$a!$30It(B&parsed-entity;$BKt$OFbIt(B&parsed-entity;$B$N(B&literal;$B<BBNCM$,!$(B"<code>#xD#xA</code>" $B$N#2J8;z$NO"B3$H$9$k(B&literal;$BKt$O(B<code>#xD</code>$B$NC1FH$N(B&literal;$B$r4^$`>l9g$K!$(B<termref def='dt-xml-proc'>XML&processor;</termref>$B$O!$(B&application;$B$KC10l$NJ8;z(B<code>#xA</code>$B$@$1$rEO$5$J$1$l$P$J$i$J$$(B($B$3$N=hM}$O!$F~NOFb$KB8:_$9$k2~9T%3!<%I$r9=J82r@O$NA0$K@55,2=$9$k$3$H$K$h$C$F!$MF0W$K<B8=$G$-$k!#(B)$B!#(B</p> |
| </div2> |
| <div2 id='sec-lang-tag'> |
| <head>&language-identification;</head> |
| <p>$BJ8=q=hM}$K$*$$$F$O!$$=$NJ8=q$NCf?H$,$I$s$J<+A38@8lKt$O7A<08@8l$G=q$+$l$F$$$k$+L@<($9$k$3$H$,!$Lr$KN)$D$3$H$,B?$$!#(B<!--$B$3$3$G;HMQ$9$k!H8@8l!I$H$$$&8@MU$N0UL#$O!$(B"Español" $B5Z$S(B"EBNF"$B$NAPJ}$GNc<($5$l$k0UL#$H$9$k!#(B--><!-- x00F1: spanish's small ntilde--></p> |
| <!--; $B$3$N>pJs$O!JNc$r$"$2$l$P!KJ8=q$NJ8;z$NI=<(!$JB$S$K>pJsCj=P$N$?$a$N8l44!&7ABVAG2r@O5Z$S%F%-%9%H%V%m%C%/$N@07A$K1F6A$r5Z$\$92DG=@-$,$"$k!#(B--> |
| <p>XML$BJ8=qFb$NMWAG$N$b$DFbMFKt$OB0@-CM$K$*$$$F;HMQ$9$k(B<!--$B<+A3Kt$O7A<0(B-->$B8@8l$r;XDj$9$k$?$a$K!$(B"<code>xml:lang</code>" $B$H$$$&L>A0$NFCJL$J(B<termref def="dt-attr">$BB0@-(B</termref>$B$r!$J8=qFb$KA^F~$7$F$b$h$$!#(B |
| <!--; $B$3$NB0@-$O(BXML$B5,Dj$N0lIt$H$7$F!$J#?t$N(BXML&application;$B$NAj8_1?MQ@-$r9b$a$k$?$a$KDj5A$9$k!#(B--> |
| $BB0@-$NCM$O!$(B<bibref ref="RFC1766"/>$B!H(BRFC1766$B!'(B&language-identification;$B$N$?$a$N%?%0!I$K$h$C$F5,Dj$5$l$k(B&language-identification;$B%3!<%I$K=>$&!#(B |
| <scrap lang='ebnf'> |
| <head>&language-identification;</head> |
| <prod id='NT-LanguageID'><lhs>LanguageID</lhs> |
| <rhs><nt def='NT-Langcode'>Langcode</nt> |
| ('-' <nt def='NT-Subcode'>Subcode</nt>)*</rhs></prod> |
| <prod id='NT-Langcode'><lhs>Langcode</lhs> |
| <rhs><nt def='NT-ISO639Code'>ISO639Code</nt> | |
| <nt def='NT-IanaCode'>IanaCode</nt> | |
| <nt def='NT-UserCode'>UserCode</nt></rhs> |
| </prod> |
| <prod id='NT-ISO639Code'><lhs>ISO639Code</lhs> |
| <rhs>([a-z] | [A-Z]) ([a-z] | [A-Z])</rhs></prod> |
| <prod id='NT-IanaCode'><lhs>IanaCode</lhs> |
| <rhs>('i' | 'I') '-' ([a-z] | [A-Z])+</rhs></prod> |
| <prod id='NT-UserCode'><lhs>UserCode</lhs> |
| <rhs>('x' | 'X') '-' ([a-z] | [A-Z])+</rhs></prod> |
| <prod id='NT-Subcode'><lhs>Subcode</lhs> |
| <rhs>([a-z] | [A-Z])+</rhs></prod> |
| </scrap> |
| <nt def='NT-Langcode'>Langcode</nt>$B$O!$<!$N$I$l$G$b$h$$!#(B |
| <ulist> |
| <item><p>a) <bibref ref="ISO639"/>$B!H8@8l$NL>A0I=8=$N$?$a$N%3!<%I!I$G5,Dj$5$l$k(B2$BJ8;z$N(B&language-code;</p></item> |
| <item><p>b) Internet Assigned Numbers Authority (IANA)$B$GEPO?$5$l$F$$$k(B&language-code;$B!#$3$l$O!$@hF,$,(B "<code>i-</code>" ($BKt$O(B"<code>I-</code>")$B$G;O$^$k!#(B</p></item> |
| <item><p>c) &user;$B$K$h$C$FDj$a$i$l$?(B&language-code;$B!$Kt$O;dE*$J;HMQ$N$?$a$KJ#?t$NCDBN4V$,<h$j7h$a$?%3!<%I!#$3$l$i$O!$:#8e(BIANA$B$K$*$$$FI8=`2=Kt$OEPO?$5$l$k%3!<%I$H$N6%9g$rHr$1$k$?$a$K!$@hF,$r(B"<code>x-</code>" $BKt$O(B "<code>X-</code>" $B$G;O$a$k!#(B</p></item> |
| </ulist></p> |
| <p><nt def='NT-Subcode'>Subcode</nt>$B$O!$J#?t2s;H$C$F$b$h$$!#:G=i$N%5%V%3!<%I$,B8:_$7!$$=$NFbMF$,Fs$D$NJ8;z$+$i@.$k$H$-$O!$(B<bibref ref="ISO3166"/>ISO3166$B$N!H9qL>$rI=$9%3!<%I(B($B9q%3!<%I(B)$B!I$G$J$1$l$P$J$i$J$$!#:G=i$N%5%V%3!<%I$,(B3$BJ8;z0J>e$+$i@.$k$H$-$O!$(B<nt def='NT-Langcode'>Langcode</nt>$B$N@hF,$,!$(B"<code>x-</code>" $BKt$O(B "<code>X-</code>"$B$G;O$^$i$J$$8B$j!$;XDj$7$?8@8l$KBP$9$k%5%V%3!<%I$H$7!$(BIANA$B$KEPO?$5$l$?$b$N$G$J$1$l$P$J$i$J$$!#(B</p> |
| <p>&language-code;$B$O!$>.J8;z$G$NI=5-$r!$(B&country-code;$B$O!$(B($BB8:_$9$k$J$i$P(B)$BBgJ8;z$G$NI=5-$r479T$H$9$k!#$7$+$7!$(BXML$BJ8=qFb$K$*$1$kB>$NL>A0$H$O0[$J$j!$$3$l$i$NCM$K$D$$$F$O!$BgJ8;z5Z$S>.J8;z$N6hJL$r$7$J$$$3$H$KCm0U$9$k$3$H!#(B</p> |
| <p>$BNc$r<!$K<($9!#(B |
| <eg><![CDATA[<p xml:lang="en">The quick brown fox jumps over the lazy dog.</p> |
| <p xml:lang="en-GB">What colour is it?</p> |
| <p xml:lang="en-US">What color is it?</p> |
| <sp who="Faust" desc='leise' xml:lang="de"> |
| <l>Habe nun, ach! Philosophie,</l> |
| <l>Juristerei, und Medizin</l> |
| <l>und leider auch Theologie</l> |
| <l>]]><!-- x00DF german's es-zet; x00FC german's u-umlaut -->durchaus studiert mit heißem Bemüh'n.<![CDATA[</l> |
| </sp>]]></eg></p> |
| <!--<p>xml:lang $B$NCM$O!$MWAG$NFbMF5Z$S(B($BB0@-$N(B&default-value;$B$GDj$a$J$$8B$j(B)$B%U%j!<%F%-%9%H(B(CDATA)$B$NCM$r$b$D$=$NMWAG$X$N$9$Y$F$NB0@-$NCM$K$D$$$F!$$=$NN>J}$KE,MQ$9$k!#(B--> |
| <p><code>xml:lang</code>$B$G@k8@$9$k0U?^$O!$(B<code>xml:lang</code>$B$NJL$N;XDj$G>e=q$7$J$$8B$j!$;XDj$7$?MWAG$NFbMF$K4^$`$9$Y$F$NMWAG$KE,MQ$9$k!#(B</p> |
| <!--$B$"$kMWAG$K$*$1$k(B xml:lang $BB0@-$NCM$,Dj$a$i$l$F$*$i$:!$(BDTD$B$K$*$$$F$=$N(B&default-value;$B$,Dj$a$i$l$F$$$J$$>l9g!$$=$NMWAG$N(Bxml:lang $BB0@-$NCM$O!$?FMWAG$G$NCM$,B8:_$9$k>l9g$O!$$=$l$r0z$-7Q$0!#(B $B<!$NNc$K$*$1$kFs$D$N(B<term>$B$H$$$&L>A0$N@lLgMQ8l$rI=$9MWAG$O!$(Bxml:lang$B$NCM$K4X$7$F$O!$<B:]>e!$F1$8CM$r$b$D!#(B |
| |
| <p xml:lang="en">Here the keywords are |
| <term xml:lang="en">shift</term> and |
| <term>reduce</term>. ...</p> |
| |
| XML&processor;$B$G$O$J$/(B&application;$B$,!$$3$NB0@-CM$N7Q>5$K$D$$$F@UG$$r$b$D!#(B |
| --> |
| <p> |
| &valid;$B$JJ8=q$K$*$$$F$O!$$3$N(B&TR-or-Rec;$B$NB>$N>l=j$G5,Dj$9$k$H$*$j!$$3$NB0@-$rI,$:@k8@$7$J$1$l$P$J$i$J$$!#DL>o!$@k8@$O!$<!$N7A$H$9$k!#(B |
| <eg>xml:lang NMTOKEN #IMPLIED</eg> |
| $BI,MW$J$i$P!$FCDj$N(B&default-value;$B$rM?$($F$b$h$$!#1Q8l$rJl8l$H$9$k3X@8MQ$N%U%i%s%98l$N;m=8$G$O!$@bL@5Z$SCm$r1Q8l$G5-=R$9$l$P!$(Bxml:lang $BB0@-$r<!$N$H$*$j$K@k8@$9$k$3$H$H$J$k!#(B |
| <eg><![CDATA[ <!ATTLIST poem xml:lang NMTOKEN 'fr'> |
| <!ATTLIST gloss xml:lang NMTOKEN 'en'> |
| <!ATTLIST note xml:lang NMTOKEN 'en'>]]></eg> |
| </p> |
| <!-- |
| DTD$B$N@_7W<T$O!$%9%/%j%W%H$r8@8l(B($B5Z$S$=$NGI@8BN(B)$B$KJq@]$7$F07$&$N$G$O$J$/!$%9%/%j%W%H5Z$S8@8l$rF1<!85$G07$&$N$,E,Ev$J>l9g!$8@8lB0@-$HF1MM$K%9%/%j%W%HB0@-$,B8:_$9$l$PM-MQ$@$H;W$&$+$b$7$l$J$$!#%j%s%/MWAG$K$*$$$F!$;2>H$5$l$?Kt$O%j%s%/$5$l$?%j%=!<%9$K$*$1$k(B($B<gMW$J(B)$B8@8l(B($B>l9g$K$h$C$F$OJ#?t(B)$B$rI=$9MWAG$rDj5A$9$k$N$bK>$^$7$$!#$7$+$7!$$3$l$i$N(B&application;$B$O!$$3$N(B&TR-or-Rec;$B$,5,Dj$9$kHO0O30$H$9$k!#(B--> |
| </div2> |
| </div1> |
| <!-- &Elements; --> |
| |
| <div1 id='sec-logical-struct'> |
| <head>$BO@M}9=B$(B</head> |
| |
| <p><termdef id="dt-element" term="Element">$B$$$+$J$k(B<termref def="dt-xml-doc">XML$BJ8=q(B</termref>$B$b!$0l$D0J>e$N(B<term>$BMWAG(B</term>$B$r4^$`!#MWAG$N6-3&$O(B, <termref def="dt-stag">$B3+;O%?%0(B</termref>$B5Z$S(B<termref def="dt-etag">$B=*N;%?%0(B</termref>$B$K$h$C$F6h@Z$k!#MWAG$,(B<termref def="dt-empty">$B6u(B</termref>$BMWAG$N$H$-$O!$(B<termref def="dt-eetag">$B6uMWAG%?%0(B</termref>$B$G<($9!#3F!9$NMWAG$O!$7?$r$b$D!#MWAG7?$OL>A0(B($B6&DL(B&identifier;(generic identifier)$BKt$O(BGI$B$H8F$V$3$H$,$"$k!#(B)$B$K$h$C$F(B&identified;$B!#MWAG$O!$$$$/$D$+$NB0@-$r$b$D$3$H$,$G$-$k!#(B</termdef>$BB0@-$O!$(B<termref def="dt-attrname">$BL>A0(B</termref>$B5Z$S(B<termref def="dt-attrval">$BCM(B</termref>$B$r$b$D!#(B</p> |
| |
| <scrap lang='ebnf'><head>$BMWAG(B</head> |
| <prod id='NT-element'><lhs>element</lhs> |
| <rhs><nt def='NT-EmptyElemTag'>EmptyElemTag</nt></rhs> |
| <rhs>| <nt def='NT-STag'>STag</nt> <nt def='NT-content'>content</nt> |
| <nt def='NT-ETag'>ETag</nt></rhs><wfc def='GIMatch'/></prod> |
| </scrap> |
| <p>$B$3$N(B&TR-or-Rec;$B$O!$MWAG7?5Z$SB0@-$N0UL#!$;HMQJ}K!!$Kt$O(B($B9=J8$K4X$9$k$3$H$r=|$-(B)$BL>A0$K@)Ls$rM?$($J$$!#$?$@$7!$@hF,$,(B<code>(('X'|'x')('M'|'m')('L'|'l'))</code>$B$K(B&match;$B$9$kL>A0$O!$$3$NHGKt$O:#8e$NHG$N$3$N(B&TR-or-Rec;$B$G$NI8=`2=$N$?$a$KM=Ls$9$k!#(B</p> |
| |
| <wfcnote id='GIMatch'><head>$BMWAG7?$N(B&match;</head> |
| <p>$BMWAG$N=*N;%?%0$N(B<nt def='NT-Name'>$BL>A0(B</nt>$B$O!$$=$NMWAG$N3+;O%?%0$K$*$1$k7?$H(B&match;$B$7$J$1$l$P$J$i$J$$!#(B</p> |
| </wfcnote> |
| |
| <div2 id='sec-starttags'> |
| <head>$B3+;O%?%0!$=*N;%?%05Z$S6uMWAG%?%0(B</head> |
| <p><termdef id="dt-stag" term="Start-Tag">$B6u$G$J$$G$0U$N(BXML$BMWAG$N;O$^$j$O!$(B<term>$B3+;O%?%0(B</term>$B$K$h$C$F(B&markup;$B$9$k!#(B |
| <scrap lang='ebnf'><head>$B3+;O%?%0(B</head> |
| <prodgroup pcw2="6" pcw4="15" pcw5="11.5"> |
| <prod id='NT-STag'><lhs>STag</lhs><rhs>'<' <nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt> <nt def='NT-Attribute'>Attribute</nt>)* <nt def='NT-S'>S</nt>? '>'</rhs><wfc def="uniqattspec"/></prod> |
| <prod id='NT-Attribute'><lhs>Attribute</lhs><rhs><nt def='NT-Name'>Name</nt> <nt def='NT-Eq'>Eq</nt> <nt def='NT-AttValue'>AttValue</nt></rhs><vc def='ValueType'/><wfc def='NoExternalRefs'/><wfc def='CleanAttrVals'/></prod> |
| </prodgroup> |
| </scrap> |
| $B3+;O%?%05Z$S=*N;%?%0Fb$N(B<nt def='NT-Name'>Name</nt>$B$O!$MWAG$N(B<term>$B7?(B</term>$B$rI=$o$9!#(B</termdef><termdef id="dt-attr" term="Attribute"><nt def='NT-Name'>Name</nt>$B5Z$S(B<nt def='NT-AttValue'>AttValue</nt>$B$NBP$rMWAG$N(B<term>$BB0@-;XDj(B</term>$B$H$$$$(B</termdef>$B!$(B<termdef id="dt-attrname" term="Attribute Name">$B8D!9$NBP$K$*$1$k(B<nt def='NT-Name'>Name</nt>$B$O!$(B<term>$BB0@-L>(B</term></termdef>$B5Z$S(B<termdef id="dt-attrval" term="Attribute Value"><nt def='NT-AttValue'>AttValue</nt>$B$NFbMF(B($B6h@Z$j;R(B<code>'</code>$BKt$O(B<code>"</code>$B$N4V$N(B&string;)$B$r(B<term>$BB0@-CM(B</term>$B$H$$$&!#(B</termdef></p> |
| |
| <wfcnote id='uniqattspec'><head>$BB0@-;XDj$N0l0U@-(B</head> |
| <p>$B3+;O%?%0Kt$O6uMWAG%?%0$G$O!$F10l$NB0@-L>$,#2EY0J>e=P8=$7$F$O$J$i$J$$!#(B</p></wfcnote> |
| <vcnote id='ValueType'><head>$BB0@-CM$N7?(B</head> |
| <p>$BB0@-$O@k8@$5$l$F$$$J$1$l$P$J$i$J$$!#B0@-CM$N7?$O!$$=$NB0@-$KBP$7$F@k8@$7$?7?$G$J$1$l$P$J$i$J$$(B($BB0@-$N7?$K$D$$$F$O!$(B<titleref href='AttDecls'>$BB0@-%j%9%H@k8@(B</titleref>$B$K$D$$$F$N5,Dj$r;2>H!#(B)$B!#(B</p></vcnote> |
| <wfcnote id='NoExternalRefs'><head>$B30It<BBN$X$N;2>H$,$J$$$3$H(B</head> |
| <p>$BB0@-CM$K$O!$30It<BBN$X$ND>@\E*Kt$O4V@\E*$J;2>H$r4^$`$3$H$O$G$-$J$$!#(B</p></wfcnote> |
| <wfcnote id='CleanAttrVals'><head>$BB0@-CM$K(B<code><</code>$B$r4^$^$J$$$3$H(B</head> |
| <p>$BB0@-CMFb$GD>@\E*Kt$O4V@\E*$K;2>H$9$k<BBN(B(<code>&lt;</code>$B$r=|$/!#(B)$B$N(B<termref def='dt-repltext'>&replacement-text;</termref>$B$K$O!$(B<code><</code>$B$r4^$s$G$O$J$i$J$$!#(B</p></wfcnote> |
| |
| <p>$B3+;O%?%0$NNc$r!$<!$K<($9!#(B |
| <eg><termdef id="dt-dog" term="dog"></eg></p> |
| <p><termdef id="dt-etag" term="End Tag">$B3+;O%?%0$G;O$^$kMWAG$N=*$o$j$O!$(B<term>$B=*N;%?%0(B</term>$B$G(B&markup;$B$7$J$1$l$P$J$i$J$$!#$3$N=*N;%?%0$O!$BP1~$9$k3+;O%?%0$NMWAG7?$HF1$8L>A0$r$b$D!#(B |
| <scrap lang='ebnf'><head>$B=*N;%?%0(B</head><prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-ETag'><lhs>ETag</lhs><rhs>'</' <nt def='NT-Name'>Name</nt> <nt def='NT-S'>S</nt>? '>'</rhs></prod></prodgroup></scrap></termdef></p> |
| <p>$B=*N;%?%0$NNc$r!$<!$K<($9!#(B |
| <eg></termdef></eg></p> |
| |
| <p><termdef id="dt-content" term="Content">$BMWAG$N3+;O%?%0$H=*N;%?%0$H$N4V$N(B<termref def='dt-text'>$B%F%-%9%H(B</termref>$B$r!$$=$NMWAG$N(B<term>$BFbMF(B</term>$B$H$$$&!#(B |
| <scrap lang='ebnf'><head>$BMWAG$NFbMF(B</head> |
| <prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-content'><lhs>content</lhs><rhs>(<nt def='NT-element'>element</nt> | <nt def='NT-CharData'>CharData</nt> | <nt def='NT-Reference'>Reference</nt> | <nt def='NT-CDSect'>CDSect</nt> | <nt def='NT-PI'>PI</nt> | <nt def='NT-Comment'>Comment</nt>)*</rhs></prod></prodgroup></scrap></termdef></p> |
| |
| <p><termdef id="dt-empty" term="Empty">$BMWAG$,(B<term>$B6u(B</term>$B$N$H$-!$$=$NMWAG$O!$D>8e$K=*N;%?%0$r$b$D3+;O%?%0Kt$O6uMWAG%?%0$GI=8=$7$J$1$l$P$J$i$J$$!#(B</termdef><termdef id="dt-eetag" term="empty-element tag"><term>$B6uMWAG%?%0(B</term>$B$O!$<!$NFCJL$J7A<0$r$H$k!#(B |
| <scrap lang='ebnf'><head>$B6uMWAG$N$?$a$N%?%0(B</head><prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-EmptyElemTag'><lhs>EmptyElemTag</lhs><rhs>'<' <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></prodgroup></scrap></termdef></p> |
| |
| <!-- $BLgGO!'>e$N!H6uMWAG$N$?$a$N%?%0(B(tags for empty elements)$B!I$O!H6uMWAG%?%0(B(empty-element tag)$B!I$H$9$Y$-$@$H;W$$$^$9$,!$$$$+$,$G$7$g$&$+(B --> |
| |
| <p>$B6uMWAG%?%0$O!$FbMF$r$b$?$J$$G$0U$NMWAG$NI=8=$KMxMQ$G$-$k!#6uMWAG%?%0$GI=8=$9$kMWAG$r!$%-!<%o!<%I(B<kw>EMPTY</kw>$B$rMQ$$$F@k8@$7$J$/$H$b$h$$!#(B</p> |
| <p>$B6uMWAG$NNc$r!$<!$K<($9!#(B |
| <eg><IMG align="left" src="http://www.w3.org/Icons/WWW/w3c_home" /><br></br><br/></eg></p> |
| </div2> |
| |
| <div2 id='elemdecls'><head>$BMWAG@k8@(B</head> |
| <p><termref def="dt-valid">&validity;</termref>$B$rJ]>Z$9$k$?$a!$MWAG@k8@5Z$SB0@-%j%9%H@k8@$rMQ$$$F(B<termref def="dt-xml-doc">XML$BJ8=q(B</termref>$B$N(B<termref def="dt-element">$BMWAG(B</termref>$B$N9=B$$K!$@)Ls$r2C$($k$3$H$,$G$-$k!#(B</p> |
| <p>$BMWAG@k8@$O!$MWAG$N(B<termref def="dt-content">$BFbMF(B</termref>$B$K$D$$$F$N@)Ls$H$9$k!#(B</p> |
| <p>$BMWAG@k8@$O!$MWAG$N(B<termref def="dt-parentchild">$B;R(B</termref>$B$H$7$F=P8=2DG=$JMWAG7?$K$D$$$F!$@)Ls$r2C$($k$3$H$,B?$$!#(B&at-user-option;$B!$MWAG@k8@$r$b$?$J$$MWAG7?$,B>$NMWAG@k8@$K$h$C$F;2>H$5$l$l$P!$(BXML&processor;$B$O!$7Y9p$r=P$7$F$b$h$$!#$7$+$7!$$3$l$O(B&error;$B$H$O$7$J$$!#(B</p> |
| |
| <p><termdef id="dt-eldecl" term="Element Type declaration"><term>$BMWAG7?@k8@(B</term>$B$O!$<!$N7A<0$r$H$k!#(B |
| <scrap lang='ebnf'><head>$BMWAG7?@k8@(B</head><prodgroup pcw2="5.5" pcw4="18" pcw5="9"> |
| <prod id='NT-elementdecl'><lhs>elementdecl</lhs> |
| <rhs>'<!ELEMENT' <nt def='NT-S'>S</nt> |
| <nt def='NT-Name'>Name</nt> |
| <nt def='NT-S'>S</nt> |
| <nt def='NT-contentspec'>contentspec</nt> |
| <nt def='NT-S'>S</nt>? '>'</rhs> |
| <vc def='EDUnique'/></prod> |
| <prod id='NT-contentspec'><lhs>contentspec</lhs> |
| <rhs>'EMPTY' |
| | 'ANY' |
| | <nt def='NT-Mixed'>Mixed</nt> |
| | <nt def='NT-children'>children</nt> |
| </rhs> |
| <vc def='elementvalid'/> |
| </prod> |
| </prodgroup> |
| </scrap> |
| $B$3$3$G!$(B<nt def='NT-Name'>Name</nt>$B$O!$@k8@$5$l$F$$$kMWAG$N7?$H$9$k!#(B</termdef></p> |
| |
| <vcnote id='EDUnique'><head>$BMWAG@k8@$N0l0U@-(B</head> |
| <p>$BMWAG7?$r#2EY0J>e@k8@$G$-$J$$!#(B</p></vcnote> |
| |
| <vcnote id='elementvalid'><head>$BMWAG$N(B&validity;</head> |
| <p>$BMWAG$,(B<!-- said to be -->&valid;$B$H$O!$(B<nt def='NT-elementdecl'>elementdecl</nt>$B$K(B&match;$B$9$k@k8@$G$"$C$F!$$=$N(B<nt def='NT-Name'>Name</nt>$B$,$=$NMWAG7?$H(B&match;$B$7!$<!$N$$$:$l$+$N>r7o$rK~$?$9>l9g$H$9$k!#(B<ulist> |
| <item><p>a) $B@k8@$,(B<kw>EMPTY</kw>$B$K(B&match;$B$7!$MWAG$,(B<termref def='dt-content'>$BFbMF(B</termref>$B$r$b$?$J$$!#(B</p></item> |
| <item><p>b) $B@k8@$,(B<nt def='NT-children'>children</nt>$B$K(B&match;$B$7!$MWAG$N(B<termref def="dt-parentchild">$B;RMWAG(B</termref>$B$NJB$S$,!$FbMF%b%G%k$N@55,I=8=$K$h$C$F@8@.$5$l$k8@8l$KB0$9$k!#(B</p></item> |
| <item><p>c) $B@k8@$,(B<nt def='NT-Mixed'>mixed</nt>$B$K(B&match;$B$7!$MWAG$NFbMF$,(B<termref def='dt-chardata'>$BJ8;z%G!<%?(B</termref>$B5Z$S(B<termref def='dt-parentchild'>$B;RMWAG(B</termref>$B$+$i$J$k!#;RMWAG$NMWAG7?$O!$MWAG$NFbMF%b%G%k$K=P8=$9$kL>A0$K(B&match;$B$9$k!#(B</p></item> |
| <item><p>d) $B@k8@$,(B<kw>ANY</kw>$B$K(B&match;$B$7!$$I$N(B<termref def='dt-parentchild'>$B;RMWAG(B</termref>$B$NMWAG7?$b@k8@$5$l$F$$$k!#(B</p></item></ulist> |
| |
| </p></vcnote> |
| <!-- with the new VC, I don't think the next few paras add anything -TWB |
| <p><termdef id="dt-model" term="content model">An element can declared using a <term>content model</term>, in which case its content can be categorized as <termref def="dt-elemcontent">element content</termref> or <termref def='dt-mixed'>mixed content</termref>, as explained below.</termdef></p> |
| <p>An element whose type declared using the keyword <kw>EMPTY</kw> must be <termref def="dt-empty">empty</termref> and may be tagged using an <termref def="dt-eetag">empty-element tag</termref> when it appears in the document.</p> |
| <p>If an element type is declared using the keyword <kw>ANY</kw>, then there are no validity constraints on its content: it may contain <termref def='dt-parentchild'>child elements</termref> of any type and number, interspersed with character data.</p> --> |
| |
| <p>$BMWAG@k8@$NNc$r!$<!$K<($9!#(B |
| <eg> |
| <!ELEMENT br EMPTY> |
| <!ELEMENT p (#PCDATA|emph)* > |
| <!ELEMENT %name.para; %content.para; > |
| <!ELEMENT container ANY> |
| </eg></p> |
| |
| <div3 id='sec-element-content'><head>$BMWAGFbMF(B</head> |
| |
| <p><termdef id='dt-elemcontent' term='Element content'>$B$"$k7?$NMWAG$,(B<termref def='dt-parentchild'>$B;R(B</termref>$BMWAG$@$1$r4^$`(B($BJ8;z%G!<%?$r4^$^$J$$!#(B)$B$H$-!$$=$NMWAG(B<termref def="dt-stag">$B7?(B</termref>$B$O!$(B<term>$BMWAGFbMF(B</term>$B$r$b$D!$$H$$$&!#(B</termdef>$B$3$N>l9g!$@)Ls$O!$FbMF%b%G%k$r4^$`!#FbMF%b%G%k$O!$;RMWAG$N7?5Z$S;RMWAG$N=P8==g=x$r@)8f$9$k4JC1$JJ8K!$H$9$k!#$3$NJ8K!$O!$(B&content-particle;(<nt def='NT-cp'>cp</nt>s)$B$+$i$J$k!#(B&content-particle;$B$O!$L>A0!$(B&content-particle;$B$NA*Br%j%9%HKt$O(B&content-particle;$B$NNs%j%9%H$+$i9=@.$5$l$k!#(B |
| <scrap lang='ebnf'><head>$BMWAGFbMF%b%G%k(B</head><prodgroup pcw2="5.5" pcw4="16" pcw5="11"> |
| <prod id='NT-children'><lhs>children</lhs><rhs>(<nt def='NT-choice'>choice</nt> | <nt def='NT-seq'>seq</nt>) ('?' | '*' | '+')?</rhs></prod><prod id='NT-cp'><lhs>cp</lhs><rhs>(<nt def='NT-Name'>Name</nt> | <nt def='NT-choice'>choice</nt> | <nt def='NT-seq'>seq</nt>) ('?' | '*' | '+')?</rhs></prod> |
| <prod id='NT-choice'><lhs>choice</lhs><rhs>'(' <nt def='NT-S'>S</nt>? cp ( <nt def='NT-S'>S</nt>? '|' <nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> )*<nt def='NT-S'>S</nt>? ')'</rhs><vc def='vc-PEinGroup'/></prod> |
| <prod id='NT-seq'><lhs>seq</lhs><rhs>'(' <nt def='NT-S'>S</nt>? cp ( <nt def='NT-S'>S</nt>? ',' <nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> )*<nt def='NT-S'>S</nt>? ')'</rhs><vc def='vc-PEinGroup'/></prod> |
| <!-- <prod id='NT-cps'><lhs>cps</lhs><rhs><nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> <nt def='NT-S'>S</nt>?</rhs></prod> |
| <prod id='NT-choice'><lhs>choice</lhs><rhs>'(' <nt def='NT-S'>S</nt>? <nt def='NT-ctokplus'>ctokplus</nt> (<nt def='NT-S'>S</nt>? '|' <nt def='NT-S'>S</nt>? <nt def='NT-ctoks'>ctoks</nt>)* <nt def='NT-S'>S</nt>? ')'</rhs></prod> |
| <prod id="NT-ctokplus"><lhs>ctokplus</lhs><rhs><nt def="NT-cps">cps</nt>('|' <nt def="NT-cps">cps</nt>)+</rhs></prod> |
| <prod id="NT-ctoks"><lhs>ctoks</lhs><rhs><nt def="NT-cps">cps</nt>('|' <nt def="NT-cps">cps</nt>)*</rhs></prod> |
| <prod id='NT-seq'><lhs>seq</lhs><rhs>'(' <nt def='NT-S'>S</nt>?<nt def='NT-stoks'>stoks</nt> (<nt def='NT-S'>S</nt>? ',' <nt def='NT-S'>S</nt>? <nt def='NT-stoks'>stoks</nt>)*<nt def='NT-S'>S</nt>? ')'</rhs></prod> |
| <prod id="NT-stoks"><lhs>stoks</lhs><rhs><nt def="NT-cps">cps</nt>(',' <nt def="NT-cps">cps</nt>)*</rhs></prod> |
| --> |
| </prodgroup></scrap> |
| $B$3$3$G!$(B<nt def='NT-Name'>Name</nt>$B$O!$(B<termref def="dt-parentchild">$B;R(B</termref>$B$H$7$F=P8=$7$F$h$$MWAG$N7?$r<($9!#$3$NJ8K!$GA*Br%j%9%H$,8=$l$k0LCV$G$O!$A*Br%j%9%HFb$N$$$:$l$N(B&content-particle;$B$b(B<termref def="dt-elemcontent">$BMWAGFbMF(B</termref>$B$NCf$K8=$l$F$h$$!#Ns%j%9%H$K8=$l$k(B&content-particle;$B$O!$%j%9%H$G;XDj$9$k=gHV$N$H$*$j$K!$(B<termref def="dt-elemcontent">$BMWAGFbMF(B</termref>$B$K8=$l$J$1$l$P$J$i$J$$!#L>A0Kt$O%j%9%H$N8e$K=P8=$9$k%*%W%7%g%s$NJ8;z(B<!-- $BLgGO!'(Bcharacter$B$rJ8;z$HLu$7$^$7$?(B -->$B$O!$%j%9%HFb$NMWAGKt$O(B&content-particle;$B$,!$(B1$B2s0J>eG$0U$N2s?t(B(<code>+</code>)$B!$(B0$B2s0J>eG$0U$N2s?t(B(<code>*</code>)$BKt$O(B0$B2s<c$7$/$O(B1$B2s(B(<code>?</code>)$B=P8=2DG=$J$3$H$r5,Dj$9$k!#$3$3$G<($99=J85Z$S0UL#$O!$$3$N(B&TR-or-Rec;$B$K$*$1$k@8@.5,B'$GMQ$$$k$b$N$HF10l$H$9$k!#(B</p> |
| |
| <!-- $BLgGO!'>e$NJ8$G$O!$!H(Bname$BKt$O(Blist$B$N8e$KB3$/J8;z!I$,!H(Blist$B$N=P8=$r5,Dj$9$k!I$H$"$C$F!$(Bname$B$N=P8=$r5,Dj$9$k$H$O=q$$$F$"$j$^$;$s!#=$@5$,I,MW$H9M$($^$9!#(B --> |
| |
| <p>$BMWAG$NFbMF$,FbMF%b%G%k$K(B&match;$B$9$k$N$O!$Ns!$A*Br5Z$S7+JV$71i;;;R$K$7$?$,$C$F!$FbMF$NCf$NMWAG$HFbMF%b%G%kFb$NMWAG7?$H$r(B&match;$B$5$;$J$,$i!$FbMF%b%G%kFb$N0l$D$N%Q%9$r$?$I$l$k$H$-$K8B$k!#(B<termref def='dt-compat'>$B8_49@-$N$?$a(B</termref>$B!$J8=qFb$NMWAG$,!$FbMF%b%G%k$K$*$1$kMWAG7?$NJ#?t$N=P8=0LCV$H(B&match;$B$9$k$3$H$O!$(B&error;$B$H$9$k!#>\:Y$J5,Dj$K$D$$$F$O!$ImB0=q$N(B<titleref xml-link="simple" href="determinism">$B7hDjE*FbMF%b%G%k(B</titleref>$B$N9`$r;2>H!#(B |
| <!-- appendix <specref ref="determinism"/>. --> |
| <!-- appendix on deterministic content models. --> |
| </p> |
| |
| <vcnote id='vc-PEinGroup'> |
| <head>$B%0%k!<%W5Z$S%Q%i%a%?<BBN$,87L)$JF~$l;R$r$J$7$F$$$k$3$H(B</head> |
| <p>$B%Q%i%a%?<BBN$N(B<termref def='dt-repltext'>&replacement-text;</termref>$B$O!$(B&parenthesis;$B$G0O$^$l$?%0%k!<%W$K$h$C$F!$87L)$JF~$l;R$r9=@.$7$J$1$l$P$J$i$J$$!#$D$^$j!$(B<nt def='NT-choice'>$BA*Br(B</nt>$B!$(B<nt def='NT-seq'>$BNs(B</nt>$BKt$O(B<nt def='NT-Mixed'>$B:.:_(B</nt>$BItIJ$K!$(B&left-parenthesis;$BKt$O(B&right-parenthesis;$B$N$$$:$l$+0lJ}$,(B<termref def='dt-PERef'>$B%Q%i%a%?<BBN(B</termref>$B$N(B&replacement-text;$B$K4^$l$l$P!$B>J}$bF1$8(B&replacement-text;$B$K4^$^$l$J$1$l$P$J$i$J$$!#(B</p> |
| <p><termref def='dt-interop'>$BAj8_1?MQ@-$N$?$a(B</termref>$B!$%Q%i%a%?<BBN;2>H$,(B<nt def='NT-choice'>$BA*Br(B</nt>$B!$(B<nt def='NT-seq'>$BNs(B</nt>$BKt$O(B<nt def='NT-Mixed'>$B:.:_(B</nt>$BFbMF$K4^$^$l$l$P!$$=$N(B&replacement-text;$B$O6u$G$J$$$3$H$,K>$^$7$/!$(B&replacement-text;$B$N@hF,5Z$SKvHx$N6uGr$G$J$$J8;z$O!$%3%M%/%?(B(<code>|</code>$BKt$O(B<code>,</code>)$B$G$J$$J}$,$h$$!#(B |
| </p> |
| </vcnote> |
| <p>$BMWAGFbMF%b%G%k$N$$$/$D$+$NNc$r!$<!$K<($9!#(B |
| <eg><!ELEMENT spec (front, body, back?)> |
| <!ELEMENT div1 (head, (p | list | note)*, div2*)> |
| <!ELEMENT dictionary-body (%div.mix; | %dict.mix;)*></eg></p> |
| </div3> |
| |
| <div3 id='sec-mixed-content'> |
| <head>&mixed-content;</head> |
| |
| <p><termdef id='dt-mixed' term='Mixed Content'>$B$"$kMWAG7?$NMWAGFb$K!$(B<termref def="dt-parentchild">$B;R(B</termref>$BMWAG$K:.:_$7$FJ8;z%G!<%?$,4^$^$l$k2DG=@-$,$"$k$H$-!$$=$NMWAG(B<termref def='dt-stag'>$B7?(B</termref>$B$O!$(B<term>&mixed-content;</term>$B$r$b$D$H$$$&!#(B</termdef>$B$3$N>l9g!$;RMWAG$N7?$K$D$$$F$N@)Ls$,B8:_$7$F$b$h$$(B<!-- $BLgGO!'!H(Bmay be constrained$B!I$rC1$K!V@)Ls$5$l$k!W$HLu$7$^$7$?!#(B -->$B$,!$;RMWAG$N=g=xKt$O=P8=2s?t$K$D$$$F$N@)Ls$O$J$$$H$9$k!#(B |
| <scrap lang='ebnf'> |
| <head>&mixed-content;$B@k8@(B</head> |
| <prodgroup pcw2="5.5" pcw4="16" pcw5="11"> |
| <prod id='NT-Mixed'><lhs>Mixed</lhs> |
| <rhs>'(' <nt def='NT-S'>S</nt>? |
| '#PCDATA' |
| (<nt def='NT-S'>S</nt>? |
| '|' |
| <nt def='NT-S'>S</nt>? |
| <nt def='NT-Name'>Name</nt>)* |
| <nt def='NT-S'>S</nt>? |
| ')*' </rhs> |
| <rhs>| '(' <nt def='NT-S'>S</nt>? '#PCDATA' <nt def='NT-S'>S</nt>? ')' |
| </rhs><vc def='vc-PEinGroup'/> |
| <vc def='vc-MixedChildrenUnique'/> |
| </prod> |
| <!-- |
| <prod id="NT-Mtoks"><lhs>Mtoks</lhs> |
| <rhs><nt def="NT-Name">Name</nt> |
| (<nt def='NT-S'>S</nt>? |
| '|' |
| <nt def='NT-S'>S</nt>? |
| <nt def="NT-Name">Name</nt>)* |
| </rhs> |
| </prod> |
| --> |
| </prodgroup> |
| </scrap> |
| $B$3$3$G!$(B<nt def='NT-Name'>Name</nt>$B$O!$;R$H$7$F=P8=$7$F$b$h$$MWAG$N7?$r<($9!#(B |
| </p> |
| |
| <vcnote id='vc-MixedChildrenUnique'> |
| <head>$BMWAG7?$N=EJ#$N6X;_(B</head> |
| <p>$B0l$D$N(B&mixed-content;$B@k8@Fb$K!$F1$8L>A0$,J#?t2s=P8=$7$F$O$J$i$J$$!#(B |
| </p></vcnote> |
| <p>&mixed-content;$B@k8@$NNc$r!$<!$K<($9!#(B |
| <eg><!ELEMENT p (#PCDATA|a|ul|b|i|em)*> |
| <!ELEMENT p (#PCDATA | %font; | %phrase; | %special; | %form;)* > |
| <!ELEMENT b (#PCDATA)></eg></p> |
| </div3> |
| </div2> |
| |
| |
| <div2 id='attdecls'> |
| <head>$BB0@-%j%9%H@k8@(B</head> |
| <p> |
| <termref def="dt-attr">$BB0@-(B</termref>$B$O!$L>A05Z$SCM$NBP$r(B<termref def="dt-element">$BMWAG(B</termref>$B$K4XO"IU$1$k$?$a$KMQ$$$k!#B0@-;XDj$O!$(B<termref def="dt-stag">$B3+;O%?%0(B</termref>$BKt$O(B<termref def="dt-eetag">$B6uMWAG(B</termref>$B%?%0Fb$G$@$12DG=$H$9$k!#$7$?$,$C$F!$B0@-$rG'<1$9$k$?$a$N@8@.5,B'$O!$(B<titleref href='sec-starttags'>$B3+;O%?%0(B</titleref>$B$K$D$$$F$N5,Dj$G<($9!#B0@-%j%9%H@k8@$O!$<!$NL\E*$GMQ$$$k!#(B |
| <ulist> |
| <item><p>a) $B$"$kMWAG7?$KE,MQ$9$kB0@-$N=89g$r5,Dj$9$k!#(B</p></item> |
| <item><p>b) $BB0@-$X$N7?@)Ls$r@_Dj$9$k!#(B</p></item> |
| <item><p>c) $BB0@-$N(B<termref def="dt-default">&default-value;</termref>$B$r5,Dj$9$k!#(B</p></item> |
| </ulist> |
| </p> |
| <p> |
| <termdef id="dt-attdecl" term="Attribute-List Declaration"> |
| <term>$BB0@-%j%9%H@k8@(B</term>$B$O!$$"$kMWAG7?$H4XO"IU$1$i$l$?3FB0@-$KBP$7!$L>A0!$%G!<%?7?5Z$S(B($BB8:_$9$l$P(B)&default-value;$B$r5,Dj$9$k!#(B |
| <scrap lang='ebnf'> |
| <head>$BB0@-%j%9%H@k8@(B</head> |
| <prod id='NT-AttlistDecl'><lhs>AttlistDecl</lhs> |
| <rhs>'<!ATTLIST' <nt def='NT-S'>S</nt> |
| <nt def='NT-Name'>Name</nt> |
| <nt def='NT-AttDef'>AttDef</nt>* |
| <nt def='NT-S'>S</nt>? '>'</rhs> |
| </prod> |
| <prod id='NT-AttDef'><lhs>AttDef</lhs> |
| <rhs><nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt> |
| <nt def='NT-S'>S</nt> <nt def='NT-AttType'>AttType</nt> |
| <nt def='NT-S'>S</nt> <nt def='NT-Default'>Default</nt></rhs> |
| </prod> |
| </scrap> |
| |
| <nt def='NT-AttlistDecl'>AttlistDecl</nt>$B5,B'$KB8:_$9$k(B<nt def="NT-Name">Name</nt>$B$O!$MWAG7?$NL>A0$H$9$k!#(B&at-user-option;$B!$@k8@$7$F$$$J$$MWAG7?$KBP$7B0@-$r@k8@$7$?$J$i$P!$(BXML&processor;$B$O!$7Y9p$r=P$7$F$b$h$$!#$7$+$7!$$3$l$O(B&error;$B$H$O$7$J$$!#(B |
| <nt def='NT-AttDef'>AttDef</nt>$B5,B'$K$*$1$k(B<nt def='NT-Name'>Name</nt>$B$O!$B0@-$NL>A0$H$9$k!#(B |
| </termdef> |
| </p> |
| <p> |
| $B$"$kMWAG$KBP$7$F!$J#?t$N(B<nt def='NT-AttlistDecl'>AttlistDecl</nt>$B$rM?$($k>l9g!$$3$l$i$9$Y$F$NFbMF$O%^!<%8$9$k!#$"$kMWAG7?$NF1$8B0@-$K!$J#?t$NDj5A$rM?$($k>l9g$K$O!$:G=i$N@k8@$rM-8z$H$7!$B>$N@k8@$OL5;k$9$k!#(B<termref def='dt-interop'>$BAj8_1?MQ@-$N$?$a$K(B</termref>$B!$(BDTD$B$N:n@.<T$O!$$"$kMWAG7?$K$O9b!90l$D$NB0@-%j%9%H@k8@$7$+M?$($J$$!$$"$kB0@-L>$K$O9b!90l$D$NB0@-Dj5A$7$+M?$($J$$!$5Z$S$9$Y$F$NB0@-%j%9%H@k8@$K$O>/$J$/$H$b0l$D$NB0@-Dj5A$rM?$($k!$$H$$$&A*Br$r$7$F$b$h$$!#Aj8_1?MQ@-$N$?$a$K!$(BXML&processor;$B$O!$(B&at-user-option;$B!$$"$kMWAG7?$KJ#?t$NB0@-%j%9%H@k8@$rM?$($?$j!$$"$kB0@-$KJ#?t$NB0@-Dj5A$rM?$($?$j$7$?$H$-$K!$7Y9p$r=P$7$F$b$h$$!#$7$+$7!$$3$l$O!$(B&error;$B$H$O$7$J$$!#(B |
| </p> |
| |
| <div3 id='sec-attribute-types'> |
| <head>$BB0@-$N7?(B</head> |
| <p> |
| XML$B$NB0@-$N7?$O!$#3<oN`$H$9$k!#$3$l$i$O!$(B&string;$B7?!$(B&token;$B2=7?5Z$SNs5s7?$H$9$k!#(B&string;$B7?$O!$CM$H$7$FG$0U$N(B&string;$B$r$H$k!#(B&token;$B2=7?$O!$<!$K<($9;z6g5Z$S0UL#$K4X$9$kMM!9$J@)Ls$r$b$D!#(B |
| |
| <scrap lang='ebnf'> |
| <head>Attribute Types</head> |
| <prodgroup pcw4="14" pcw5="11.5"> |
| <prod id='NT-AttType'><lhs>AttType</lhs> |
| <rhs><nt def='NT-StringType'>StringType</nt> |
| | <nt def='NT-TokenizedType'>TokenizedType</nt> |
| | <nt def='NT-EnumeratedType'>EnumeratedType</nt> |
| </rhs> |
| </prod> |
| <prod id='NT-StringType'><lhs>StringType</lhs> |
| <rhs>'CDATA'</rhs> |
| </prod> |
| <prod id='NT-TokenizedType'><lhs>TokenizedType</lhs> |
| <rhs>'ID'</rhs> |
| <vc def='id'/> |
| <vc def='one-id-per-el'/> |
| <vc def='id-default'/> |
| <rhs>| 'IDREF'</rhs> |
| <vc def='idref'/> |
| <rhs>| 'IDREFS'</rhs> |
| <vc def='idref'/> |
| <rhs>| 'ENTITY'</rhs> |
| <vc def='entname'/> |
| <rhs>| 'ENTITIES'</rhs> |
| <vc def='entname'/> |
| <rhs>| 'NMTOKEN'</rhs> |
| <vc def='nmtok'/> |
| <rhs>| 'NMTOKENS'</rhs> |
| <vc def='nmtok'/></prod> |
| </prodgroup> |
| </scrap> |
| </p> |
| |
| <vcnote id='id' > |
| <head>ID</head> |
| <p> |
| $B$3$N7?$NCM$O!$@8@.5,B'(B<code>Name</code>$B$K(B&match;$B$7$J$1$l$P$J$i$J$$!#0l$D$N(BXML$BJ8=qFb$G$O!$0l$D$NL>A0$,!$$3$N7?$NCM$H$7$FJ#?t2s8=$l$F$O$J$i$J$$!#$D$^$j!$(BID$B$NCM$O!$MWAG$r0l0U$K(B&identify;$B$7$J$1$l$P$J$i$J$$!#(B |
| </p> |
| </vcnote> |
| <vcnote id='one-id-per-el'> |
| <head>1$BMWAG$4$H$K(B1ID</head> |
| <p> |
| $BMWAG7?$O!$J#?t$N(BID$BB0@-CM$r$b$C$F$O$J$i$J$$!#(B |
| </p> |
| </vcnote> |
| <vcnote id='id-default'> |
| <head>ID$BB0@-$N(B&default;</head> |
| <p> |
| ID$BB0@-$O!$(B&default;$B$H$7$F!$(B<code>#IMPLIED</code>$BKt$O(B<code>#REQUIRED</code>$B$r@k8@$7$J$1$l$P$J$i$J$$!#(B |
| </p> |
| </vcnote> |
| <vcnote id='idref'> |
| <head>IDREF</head> |
| <p> |
| <kw>IDREF</kw>$B7?$NCM$O!$@8@.5,B'(B<nt def="NT-Name">Name</nt>$B$K(B&match;$B$7$J$1$l$P$J$i$J$$!#(B<kw>IDREFS</kw>$B7?$NCM$O!$@8@.5,B'(B<nt def="NT-Names">Names</nt>$B$K(B&match;$B$7$J$1$l$P$J$i$J$$!#3F!9$N(B<nt def='NT-Name'>Name</nt>$B$O!$(BXML$BJ8=qFb$KB8:_$9$kMWAG$N(BID$BB0@-$NCM$H(B&match;$B$7$J$1$l$P$J$i$J$$!#$D$^$j!$(B<kw>IDREF</kw>$B$NCM$O!$$"$k(BID$BB0@-$NCM$H(B&match;$B$7$J$1$l$P$J$i$J$$!#(B |
| </p> |
| </vcnote> |
| <vcnote id='entname'> |
| <head>$B<BBNL>(B</head> |
| <p> |
| <kw>ENTITY</kw>$B7?$NCM$O!$@8@.5,B'(B<nt def="NT-Name">Name</nt>$B$K(B&match;$B$7$J$1$l$P$J$i$J$$!#(B<kw>ENTITIES</kw>$B7?$NCM$O!$@8@.5,B'(B<nt def="NT-Names">Names</nt>$B$K(B&match;$B$7$J$1$l$P$J$i$J$$!#3F!9$N(B<nt def="NT-Name">Name</nt>$B$O!$(B<termref def="dt-doctype">DTD</termref>$B$G@k8@$9$k(B<termref def="dt-unparsed">&unparsed-entity;</termref>$B$H(B&match;$B$7$J$1$l$P$J$i$J$$!#(B |
| </p> |
| </vcnote> |
| <vcnote id='nmtok'> |
| <head>$BL>A0(B&token;</head> |
| <p> |
| <kw>NMTOKEN</kw>$B7?$NCM$O!$Hs=*C<5-9f(B<termref def="NT-Nmtoken">Nmtoken</termref>$B$H(B&match;$B$9$k(B&string;$B$+$i9=@.$5$l$J$1$l$P$J$i$J$$!#(B<kw>NMTOKENS</kw>$B7?$NCM$O!$Hs=*C<5-9f(B<termref def="NT-Nmtokens">Nmtokens</termref>$B$H(B&match;$B$9$k(B&string;$B$+$i9=@.$5$l$J$1$l$P$J$i$J$$!#(B |
| </p> |
| </vcnote> |
| <p> |
| XML&processor;$B$O!$(B&application;$B$KB0@-CM$rEO$9A0$K!$(B<titleref href="AVNormalize">$BB0@-CM$N@55,2=(B</titleref>$B$G5,Dj$9$k$H$*$j$K!$B0@-CM$r@55,2=$7$J$1$l$P$J$i$J$$!#(B |
| </p> |
| <p> |
| <termdef id='dt-enumerated' term='Enumerated Attribute Values'><term>$BNs5s7?$NB0@-(B</term>$B$O!$@k8@$7$?CM$N0l$D$r<h$k$3$H$,$G$-$k!#(B</termdef>$BNs5s7?$K$O!$(B2$B<oN`$"$k!#(B |
| |
| <scrap lang='ebnf'> |
| <head>$BNs5sB0@-$N7?(B</head> |
| <prod id='NT-EnumeratedType'><lhs>EnumeratedType</lhs> |
| <rhs><nt def='NT-NotationType'>NotationType</nt> |
| | <nt def='NT-Enumeration'>Enumeration</nt> |
| </rhs></prod> |
| <prod id='NT-NotationType'><lhs>NotationType</lhs> |
| <rhs>'NOTATION' |
| <nt def='NT-S'>S</nt> |
| '(' |
| <nt def='NT-S'>S</nt>? |
| <nt def='NT-Name'>Name</nt> |
| (<nt def='NT-S'>S</nt>? '|' <nt def='NT-Name'>Name</nt>)* |
| <nt def='NT-S'>S</nt>? ')' |
| </rhs> |
| <vc def='notatn' /></prod> |
| <prod id='NT-Enumeration'><lhs>Enumeration</lhs> |
| <rhs>'(' <nt def='NT-S'>S</nt>? |
| <nt def='NT-Nmtoken'>Nmtoken</nt> |
| (<nt def='NT-S'>S</nt>? '|' |
| <nt def='NT-S'>S</nt>? |
| <nt def='NT-Nmtoken'>Nmtoken</nt>)* |
| <nt def='NT-S'>S</nt>? |
| ')'</rhs> |
| <vc def='enum'/></prod> |
| </scrap> |
| </p> |
| |
| <vcnote id='notatn'> |
| <head>$B5-K!B0@-(B</head> |
| <p>$B$3$N7?$NCM$O!$@k8@$7$F$$$k(B<titleref href='Notations'>$B5-K!(B</titleref>$B$NL>A0$N0l$D$H(B&match;$B$7$J$1$l$P$J$i$J$$!#$D$^$j!$@k8@$KB8:_$9$k5-K!L>$O!$$9$Y$F@k8@$5$l$F$$$J$1$l$P$J$i$J$$!#(B |
| </p> |
| </vcnote> |
| <vcnote id='enum'> |
| <head>$BNs5s(B</head> |
| <p> |
| $B$3$N7?$NCM$O!$@k8@$KB8:_$9$k(B<nt def='NT-Nmtoken'>Nmtoken</nt>&token;$B$N0l$D$H(B&match;$B$7$J$1$l$P$J$i$J$$!#(B |
| </p> |
| </vcnote> |
| <p> |
| <termref def='dt-interop'>$BAj8_1?MQ@-$N$?$a(B</termref>$B!$F1$8(B<nt def='NT-Nmtoken'>Nmtoken</nt>$B$O!$C10lMWAG7?$NNs5s7?$NB0@-$H$7$F!$J#?t2s8=$l$J$$J}$,$h$$!#(B |
| </p> |
| </div3> |
| |
| <div3 id='sec-attr-defaults'> |
| <head>$BB0@-$N(B&default;</head> |
| |
| <p> |
| <termref def="dt-attdecl">$BB0@-@k8@(B</termref>$B$O!$B0@-$N;XDj$,I,?\$+$I$&$+$K$D$$$F$N>pJs$rM?$($k!#I,?\$G$J$$>l9g$K$O!$J8=qFb$GB0@-$r;XDj$7$J$$$H$-!$(BXML&processor;$B$N=hM}J}K!$N>pJs$bM?$($k!#(B |
| |
| <scrap lang='ebnf'> |
| <head>$BB0@-$N(B&default;</head> |
| <prodgroup pcw4="14" pcw5="11.5"> |
| <prod id='NT-Default'><lhs>Default</lhs> |
| <rhs>'#REQUIRED' |
| | '#IMPLIED' </rhs> |
| <rhs>| (('#FIXED' S)? <nt def='NT-AttValue'>AttValue</nt>)</rhs> |
| <vc def='defattrvalid'/> |
| <wfc def="CleanAttrVals"/> |
| </prod> |
| </prodgroup> |
| </scrap> |
| <!-- improved by bosak |
| <scrap lang='ebnf'> |
| <head>Attribute Defaults</head> |
| <prod id='NT-Default'><lhs>Default</lhs> |
| <rhs>'#REQUIRED' |
| | '#IMPLIED' </rhs> |
| <vc def='defattrvalid'/> |
| <wfc def="CleanAttrVals"/> |
| <rhs>| (('#FIXED' S)? <nt def='NT-AttValue'>AttValue</nt>)</rhs> |
| </prod> |
| </scrap>--> |
| </p> |
| |
| <vcnote id='defattrvalid'> |
| <head>$BB0@-(B&default;$B$N@5$7$5(B</head> |
| <p> |
| $B@k8@$7$?(B&default-value;$B$O!$@k8@$7$?B0@-7?$N;z6g@)Ls$rK~$?$5$J$1$l$P$J$i$J$$!#(B |
| </p> |
| </vcnote> |
| <p> |
| <kw>#REQUIRED</kw>$B$r;XDj$7$?$H$-!$$3$NMWAG7?$N(B<termref def="dt-stag">$B3+;O%?%0(B</termref>$B$G$"$C$F!$$3$NB0@-$KCM$rM?$($J$$$b$N$r(BXML&processor;$B$,8+$D$1$?$J$i$P!$$=$NJ8=q$O(B<termref def="dt-valid">&valid;</termref>$B$H$O$7$J$$!#(B<kw>#IMPLIED</kw>$B$r;XDj$7$?$H$-!$$3$NB0@-$r>JN,$7$?$i!$(BXML&processor;$B$O!$B0@-CM$r;XDj$7$J$$$3$H$r%"%W%j%1!<%7%g%s$KEA$($J$1$l$P$J$i$J$$!#$3$N$H$-!$(B&application;$B$N?6Iq$$$K$D$$$F$N@)Ls$O$J$$!#(B |
| </p> |
| <p> |
| <termdef id="dt-default" term="Attribute Default"> |
| $BB0@-$,(B<kw>#REQUIRED</kw>$B$G$b(B<kw>#IMPLIED</kw>$B$G$b$J$$$H$-$K$O!$(B<nt def='NT-AttValue'>AttValue</nt>$B$NCM$,!$(B<term>&default-value;</term>$B$H$J$k!#(B<kw>#FIXED</kw>$B$N>l9g!$(B&default-value;$B$H0[$J$kCM$,;XDj$5$l$l$P!$$=$NJ8=q$O!$(B<termref def="dt-valid">&valid;</termref>$B$H$7$J$$!#(B&default-value;$B$r@k8@$7$F$$$k>l9g!$$3$NB0@-$N>JN,$r8+$D$1$?$i!$@k8@$7$?(B&default-value;$B$rB0@-CM$K;XDj$7$F$$$k$H$7$F!$(BXML&processor;$B$O?6$kIq$&$3$H$,K>$^$7$$!#(B |
| </termdef></p> |
| |
| <p>$BB0@-%j%9%H@k8@$NNc$r!$<!$K<($9!#(B |
| |
| <eg><!ATTLIST termdef |
| id ID #REQUIRED |
| name CDATA #IMPLIED> |
| <!ATTLIST list |
| type (bullets|ordered|glossary) "ordered"> |
| <!ATTLIST form |
| method CDATA #FIXED "POST"></eg></p> |
| </div3> |
| |
| <div3 id='AVNormalize'> |
| <head>$BB0@-CM$N@55,2=(B</head> |
| <p> |
| XML&processor;$B$O!$B0@-CM$r(B&application;$B$KEO$9A0$K!$<!$N$H$*$j$K@55,2=$7$J$1$l$P$J$i$J$$!#(B |
| |
| <ulist> |
| <item> |
| <p>a) $B$^$:!$B0@-CM5Z$S$=$NCf$N<BBNFb$G!$9TKvKt$O9T6-3&(B($BKt$O%7%9%F%`$K$h$C$F$O%l%3!<%I6-3&(B)$B$H$7$F;H$o$l$k(B&string;$B$r!$(B&space-character;(#x20)$B0l$D$KCV$-49$($J$1$l$P$J$i$J$$(B($B!V(B<titleref xml-link="simple" href="sec-line-ends">$B9TKv$N07$$(B</titleref>$B!W$b;2>H$N$3$H!#(B)$B!#(B |
| </p></item> |
| <item> |
| <p>b) $B<!$K!$J8;z;2>H5Z$SFbIt(B&parsed-entity;$B$X$N;2>H$O!$E83+$7$J$1$l$P$J$i$J$$!#30It<BBN$X$N;2>H$O!$(B&error;$B$H$9$k!#(B |
| </p></item> |
| <item> |
| <p>c) $B:G8e$K!$B0@-$N7?$,(B<kw>CDATA</kw>$B$G$J$1$l$P!$6uGr(B&string;$B$O!$$9$Y$F(B&space-character;(#x20)$B0l$D$K@55,2=$7!$;D$j$N6uGrJ8;z$O!$:o=|$7$J$1$l$P$J$i$J$$!#(B |
| </p></item> |
| </ulist> |
| |
| &non-validating;&parser;$B$O!$@k8@$,8+$D$+$i$J$$B0@-$O!$$9$Y$F!$(B<kw>CDATA</kw>$B$r@k8@$7$F$$$k$H$7$F07$&$3$H$,K>$^$7$$!#(B</p> |
| </div3> |
| </div2> |
| |
| <div2 id='sec-condition-sect'> |
| <head>$B>r7oIU$-%;%/%7%g%s(B</head> |
| <p> |
| <termdef id='dt-cond-section' term='conditional section'> |
| <term>$B>r7oIU$-%;%/%7%g%s(B</term>$B$H$O!$(B<termref def='dt-doctype'>$BJ8=q7?@k8@$N30It(B⊂</termref>$B$N0lIt$H$7!$@)8f%-!<%o!<%I$N;XDj$K$h$C$F!$(BDTD$B$NO@M}9=B$$K4^$a$?$j!$=|$$$?$j$9$kItJ,$H$9$k!#(B |
| </termdef> |
| |
| <scrap lang='ebnf'> |
| <head>$B>r7oIU$-%;%/%7%g%s(B</head> |
| <prodgroup pcw2="9" pcw4="14.5"> |
| <prod id='NT-conditionalSect'><lhs>conditionalSect</lhs> |
| <rhs><nt def='NT-includeSect'>includeSect</nt> |
| | <nt def='NT-ignoreSect'>ignoreSect</nt> |
| </rhs> |
| </prod> |
| <prod id='NT-includeSect'><lhs>includeSect</lhs> |
| <rhs>'<![' S? 'INCLUDE' S? '[' |
| <!-- (<nt def='NT-markupdecl'>markupdecl</nt> |
| | <nt def="NT-conditionalSect">conditionalSect</nt> |
| | <nt def="NT-S">S</nt>)* |
| --> |
| <nt def="NT-extSubset">extSubset</nt> |
| ']]>' |
| </rhs> |
| </prod> |
| <prod id='NT-ignoreSect'><lhs>ignoreSect</lhs> |
| <rhs>'<![' S? 'IGNORE' S? '[' |
| <nt def="NT-ignoreSectContents">ignoreSectContents</nt>* |
| ']]>'</rhs> |
| </prod> |
| <prod id='NT-ignoreSectContents'><lhs>ignoreSectContents</lhs> |
| <rhs><nt def='NT-Ignore'>Ignore</nt> |
| ('<![' <nt def='NT-ignoreSectContents'>ignoreSectContents</nt> |
| ']]>' |
| <nt def='NT-Ignore'>Ignore</nt>)*</rhs></prod> |
| <prod id='NT-Ignore'><lhs>Ignore</lhs> |
| <rhs><nt def='NT-Char'>Char</nt>* - |
| (<nt def='NT-Char'>Char</nt>* ('<![' | ']]>') |
| <nt def='NT-Char'>Char</nt>*) |
| </rhs></prod> |
| <!--<rhs> |
| ((<nt def='NT-SkipLit'>SkipLit</nt> |
| | <nt def='NT-Comment'>Comment</nt> |
| | <nt def='NT-PI'>PI</nt>) - |
| (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-Char'>Char</nt>*)) |
| | ('<![' <nt def='NT-ignoreSectContents'>ignoreSectContents</nt>* |
| ']]>') |
| </rhs> |
| <rhs> |
| | (<nt def='NT-Char'>Char</nt> - (']' | [<'"])) |
| </rhs> |
| <rhs> |
| | ('<!' (<nt def='NT-Char'>Char</nt> - ('-' | '['))) |
| </rhs>--> |
| </prodgroup> |
| </scrap> |
| </p> |
| |
| <p>$B>r7oIU$-%;%/%7%g%s$O!$(BDTD$B$NFbIt(B⊂$B5Z$S30It(B⊂$B$HF1MM$K!$40A4$J@k8@!$%3%a%s%HKt$OF~$l;R$K$J$C$?>r7oIU$-%;%/%7%g%s$r!$$$$/$D$+4^$s$G$h$$!#$3$l$i$N4V$K!$6uGr$,8=$l$F$b$h$$!#(B |
| </p> |
| <p> |
| $B>r7oIU$-%;%/%7%g%s$N%-!<%o!<%I$,(B<code>INCLUDE</code>$B$J$i$P!$(BXML&processor;$B$O!$$3$N>r7oIU$-%;%/%7%g%s$NFbMF$r!$J8=q$N0lIt$H$7$F07$o$J$1$l$P$J$i$J$$!#>r7oIU$-%;%/%7%g%s$N%-!<%o!<%I$,(B<code>IGNORE</code>$B$J$i$P!$$=$N>r7oIU$-%;%/%7%g%s$NFbMF$O!$J8=q$N0lIt$H$7$F07$o$J$$!#9=J82r@O$r@5$7$/9T$&$?$a$K$O!$L5;k$9$k>r7oIU$-%;%/%7%g%s(B(IGNORE)$B$K4X$7$F$b!$FbMF$rFI$^$J$1$l$P$J$i$J$$$3$H$KCm0U$9$k$3$H!#$3$l$O!$F~$l;R$K$J$C$?>r7oIU$-%;%/%7%g%s$r8+$D$1!$(B($BL5;k$9$k(B)$B:G$b30B&$N>r7oIU$-%;%/%7%g%s$r@5$7$/8!=P$9$k$?$a$H$9$k!#%-!<%o!<%I$r(B<code>INCLUDE</code>$B$H$9$k>.$5$J>r7oIU$-%;%/%7%g%s$,!$%-!<%o!<%I$r(B<code>IGNORE</code>$B$H$9$k$h$jBg$-$J>r7oIU$-%;%/%7%g%s$K4^$^$l$k$J$i$P!$30B&5Z$SFbB&$N>r7oIU$-%;%/%7%g%s$NN>J}$H$bL5;k$9$k!#(B |
| </p> |
| <p> |
| $B>r7oIU$-%;%/%7%g%s$N%-!<%o!<%I$,%Q%i%a%?<BBN;2>H$J$i$P!$(BXML&processor;$B$O>r7oIU$-%;%/%7%g%s$N07$$$rH=CG$9$kA0$K!$$3$N%Q%i%a%?<BBN$rE83+$7$J$1$l$P$J$i$J$$!#(B |
| </p> |
| |
| <p>$BNc$r<!$K<($9!#(B |
| |
| <eg><!ENTITY % draft 'INCLUDE' > |
| <!ENTITY % final 'IGNORE' > |
| |
| <![%draft;[ |
| <!ELEMENT book (comments*, title, body, supplements?)> |
| ]]> |
| <![%final;[ |
| <!ELEMENT book (title, body, supplements?)> |
| ]]> |
| </eg> |
| </p> |
| </div2> |
| <!-- |
| <div2 id='sec-pass-to-app'> |
| <head>XML Processor Treatment of Logical Structure</head> |
| <p>When an XML processor encounters a start-tag, it must make |
| at least the following information available to the application: |
| <ulist> |
| <item> |
| <p>the element type's generic identifier</p> |
| </item> |
| <item> |
| <p>the names of attributes known to apply to this element type |
| (validating processors must make available names of all attributes |
| declared for the element type; non-validating processors must |
| make available at least the names of the attributes for which |
| values are specified. |
| </p> |
| </item> |
| </ulist> |
| </p> |
| </div2> |
| --> |
| |
| </div1> |
| <!-- &Entities; --> |
| |
| <div1 id='sec-physical-struct'> |
| <head>$BJ*M}9=B$(B</head> |
| |
| <p> |
| <termdef id="dt-entity" term="Entity"> |
| XML$BJ8=q$O!$0l$D0J>e$N5-21C10L$+$i9=@.$9$k!#$3$N5-21C10L$r!$(B<term>$B<BBN(B</term>$B$H$$$&!#<BBN$O!$(B<term>$BFbMF(B</term>$B$r$b$A!$J8=q<BBN(B($B0J9_;2>H(B)$B5Z$S(B<termref def='dt-doctype'>$B30It(BDTD⊂</termref>$B$r=|$$$F!$(B<term>$BL>A0(B</term>$B$G(B&identified;$B!#(B |
| </termdef> |
| |
| <!-- Added for CFG --> |
| <!-- obscurity amputated by TWB --> |
| <!-- entire sentence amputated by CMSMcQ: no one but NO ONE is |
| ready for entities declared as |
| <!ENTITY foo "http://www.foo.com/bar.xml#id"> |
| and it's pointless to suggest that it's possible |
| under current circumstances. --> |
| <!-- An entity may be stored in, --> |
| <!--but need not be coterminous with, --> |
| <!-- but need not comprise the whole of, --> |
| <!-- a single physical storage object such as a file or --> |
| <!-- database field. --> |
| <!-- End sentence added for CFG -->$B3F(BXML$BJ8=q$O!$(B<termref def="dt-docent">$BJ8=q<BBN(B</termref>$B$H8F$V<BBN$r0l$D$b$D!#(B<termref def="dt-xml-proc">XML&processor;</termref>$B$O!$$3$NJ8=q<BBN$+$i=hM}$r3+;O$9$k!#J8=q<BBN$,!$J8=q$N$9$Y$F$r4^$s$G$b$h$$!#(B</p> |
| |
| <p>$B<BBN$O!$(B&parsed-entity;$BKt$O(B&unparsed-entity;$B$H$9$k!#(B<termdef id="dt-parsedent" term="Text Entity"><term>&parsed-entity;</term>$B$NFbMF$O!$(B&parsed-entity;$B$N(B<termref def='dt-repltext'>&replacement-text;</termref>$B$H8F$V!#$3$N(B<termref def="dt-text">$B%F%-%9%H(B</termref>$B$O!$J8=q$NK\BN$N0lIt$H$7$F2r<a$9$k!#(B |
| </termdef> |
| </p> |
| |
| <p> |
| <termdef id="dt-unparsed" term="Unparsed Entity"> |
| <term>&unparsed-entity;</term>$B$O!$FbMF$,(B<termref def='dt-text'>$B%F%-%9%H(B</termref>$B$G$b$=$&$G$J$/$H$b$h$$%j%=!<%9$H$9$k!#%F%-%9%H$N>l9g!$(BXML$B$G$J$/$H$b$h$$!#3F(B&unparsed-entity;$B$K$O!$(B<termref def="dt-notation">$B5-K!(B</termref>$B$,4XO"IU$1$i$l!$$3$N5-K!$O!$L>A0$G(B&identified;$B!#5-K!$NL>A05Z$S4XO"IU$1$i$l$?(B&identifier;$B$r!$(BXML&processor;$B$,(B&application;$B$KEO$9$H$$$&MW7o0J30$O!$(BXML$B$O!$(B&unparsed-entity;$B$NFbMF$r@)8B$7$J$$!#(B |
| </termdef> |
| </p> |
| |
| <p>&parsed-entity;$B$O!$<BBN;2>H$K$h$C$FL>A0$G8F$S=P$9!#(B&unparsed-entity;$B$O!$(B<kw>ENTITY</kw>$B7?Kt$O(B<kw>ENTITIES</kw>$B7?$NB0@-$NCM$H$7$F!$L>A0$G;2>H$9$k!#(B</p> |
| |
| <p> |
| <termdef id='gen-entity' term='general entity'><term>$B0lHL<BBN(B</term>$B$O!$J8=qFbMF$NCf$G;HMQ$9$k(B&parsed-entity;$B$H$9$k!#$"$$$^$$$K$J$i$J$$8B$j!$$3$N(B&TR-or-Rec;$B$G$O!$0lHL<BBN$rC1$K(B<emph>$B<BBN(B</emph>$B$H8F$V!#(B</termdef><termdef id='dt-PE' term='Parameter entity'>$B%Q%i%a%?<BBN$O!$(BDTD$BFb$G;HMQ$9$k(B&parsed-entity;$B$H$9$k!#(B</termdef>$B$3$l$i$N#2<oN`$N<BBN$O!$0[$J$k=q<0$G;2>H$7!$0[$J$kJ8L.$GG'<1$9$k!#(B</p> |
| |
| <!-- |
| <div2 id='sec-synchro'> |
| <head>Logical and Physical Structures</head> |
| <p>The logical and physical structures (elements and entities) |
| in an XML document must |
| be properly nested. |
| <termref def='dt-stag'>Tags</termref> and <termref def='dt-element'>elements</termref> must |
| each begin and end in the same <termref def='dt-entity'>entity</termref>, but may |
| refer to other |
| entities internally; <termref def='dt-comment'>comments</termref>, |
| <termref def='dt-pi'>processing instructions</termref>, |
| <termref def='dt-charref'>character |
| references</termref>, and |
| <termref def='dt-entref'>entity references</termref> must each be contained entirely |
| within a single entity. Entities must each contain an integral number |
| of elements, comments, processing instructions, and references, |
| possibly together with character data not contained within any element |
| in the entity, or else they must contain non-textual data, which by |
| definition contains no elements.</p></div2> |
| --> |
| |
| <div2 id='sec-references'> |
| <head>$BJ8;z;2>H5Z$S<BBN;2>H(B</head> |
| <p> |
| <termdef id="dt-charref" term="Character Reference"> |
| <term>$BJ8;z;2>H(B</term>$B$O!$(BISO/IEC 10646$BJ8;z=89g$NFCDj$NJ8;z!$Nc$($P!$F~NO5!4o$+$iD>@\F~NOIT2DG=$JJ8;z$r;2>H$9$k!#(B |
| |
| <scrap lang='ebnf'> |
| <head>$BJ8;z;2>H(B</head> |
| <prod id='NT-CharRef'><lhs>CharRef</lhs> |
| <rhs>'&#' [0-9]+ ';' </rhs> |
| <rhs>| '&hcro;' [0-9a-fA-F]+ ';'</rhs> |
| <wfc def="wf-Legalchar"/> |
| </prod> |
| </scrap> |
| <wfcnote id="wf-Legalchar"> |
| <head>$B@5Ev$JJ8;z(B</head> |
| <p>$BJ8;z;2>H$G;2>H$9$kJ8;z$O!$Hs=*C<5-9f(B<termref def="NT-Char">Char</termref>$B$K=>$o$J$1$l$P$J$i$J$$!#(B</p> |
| </wfcnote> |
| $BJ8;z$,(B "<code>&#x</code>" $B$G;O$^$l$P!$=*C<$N(B "<code>;</code>" $B$^$G$N?t;z5Z$S%"%k%U%!%Y%C%H$O!$(BISO/IEC 10646 $B$NJ8;z%3!<%I$N(B16$B?J?tI=8=$H$9$k!#(B |
| <!--$BF|K\8lLu$K$D$$$F(B: letter$B$O%"%k%U%!%Y%C%H$HLu$7$?!#(B $B;09%(B --> |
| $BJ8;z$,(B "<code>&#</code>" $B$G;O$^$l$P!$=*C<$N(B "<code>;</code>" $B$^$G$N?t;z$O!$J8;z%3!<%I$N(B10$B?J?tI=8=$H$9$k!#(B |
| </termdef> |
| </p> |
| |
| <p> |
| <termdef id="dt-entref" term="Entity Reference"> |
| <term>$B<BBN;2>H(B</term>$B$O!$L>A0$NIU$$$?<BBN$NFbMF$r;2>H$9$k!#(B</termdef><termdef id='dt-GERef' term='General Entity Reference'>$B0lHL<BBN$X$N;2>H$O!$%"%s%Q%5%s%I(B(<code>&</code>)$B5Z$S%;%_%3%m%s(B(<code>;</code>)$B$r6h@Z$j;R$H$7$FMQ$$$k!#(B</termdef><termdef id='dt-PERef' term='Parameter-entity reference'><term>$B%Q%i%a%?<BBN(B</term>$B$X$N;2>H$O!$%Q!<%;%s%H5-9f(B(<code>%</code>)$B5Z$S%;%_%3%m%s(B(<code>;</code>)$B$r6h@Z$j;R$H$7$FMQ$$$k!#(B |
| </termdef> |
| </p> |
| |
| <scrap lang="ebnf"> |
| <head>$B<BBN;2>H(B</head> |
| <prod id='NT-Reference'><lhs>Reference</lhs> |
| <rhs><nt def='NT-EntityRef'>EntityRef</nt> |
| | <nt def='NT-CharRef'>CharRef</nt></rhs></prod> |
| <prod id='NT-EntityRef'><lhs>EntityRef</lhs> |
| <rhs>'&' <nt def='NT-Name'>Name</nt> ';'</rhs> |
| <wfc def='wf-entdeclared'/> |
| <vc def='vc-entdeclared'/> |
| <wfc def='textent'/> |
| <wfc def='norecursion'/> |
| </prod> |
| <prod id='NT-PEReference'><lhs>PEReference</lhs> |
| <rhs>'%' <nt def='NT-Name'>Name</nt> ';'</rhs> |
| <wfc def='wf-entdeclared'/> |
| <vc def='vc-entdeclared'/> |
| <wfc def='textent'/> |
| <wfc def='norecursion'/> |
| <wfc def='indtd'/> |
| </prod> |
| </scrap> |
| |
| <wfcnote id='wf-entdeclared'> |
| <head>$B<BBN$,@k8@$5$l$F$$$k$3$H(B</head> |
| <p>DTD$B$r$b$?$J$$J8=q!$%Q%i%a%?<BBN;2>H$r4^$^$J$$FbIt(BDTD⊂$B$@$1$r$b$DJ8=q!$Kt$O(B "<code>standalone='yes'</code>" $B$r$b$DJ8=q$K$*$$$F!$<BBN;2>H$GMQ$$$k(B <nt def='NT-Name'>Name</nt> $B$O!$$=$N<BBN$N@k8@$GM?$($kL>A0$H!$(B<termref def="dt-match">&match;</termref>$B$7$J$1$l$P$J$i$J$$!#$?$@$7!$(B&well-formed;$B$NJ8=q$O!$<BBN(B&magicents; $B$r@k8@$9$kI,MW$O$J$$!#%Q%i%a%?<BBN$N>l9g$O!$@k8@$O!$;2>H$K@h9T$7$J$1$l$P$J$i$J$$!#F1MM$K!$0lHL<BBN$N>l9g$O!$B0@-%j%9%H@k8@$N(B&default-value;$BFb$G$N;2>H$h$j@h$K!$@k8@$,8=$l$J$1$l$P$J$i$J$$!#(B</p> |
| |
| <p>$B30It(B⊂$BKt$O30It%Q%i%a%?<BBN$G<BBN$r@k8@$9$k$H$-!$(B&non-validating;&processor;$B$,!$@k8@$rFI$_!$=hM}$9$k$3$H$r(B<titleref href='include-if-valid'>$B5AL3$E$1$J$$(B</titleref>$B!#$=$l$i$NJ8=q$G$O!$<BBN$O@k8@$5$l$J$1$l$P$J$i$J$$$H$$$&5,B'$O!$(B&well-formed;$B@)Ls$G$O$J$$!#(B |
| </p> |
| </wfcnote> |
| |
| <vcnote id="vc-entdeclared"> |
| <head>$B<BBN$,@k8@$5$l$F$$$k$3$H(B</head> |
| <p> |
| $B30It(B⊂$BKt$O30It%Q%i%a%?<BBN$r$b$C$F$$$F!$(B"<code>standalone='no'</code>"$B$r$b$DJ8=q$K$*$$$F!$<BBN;2>H$GMQ$$$k(B <nt def='NT-Name'>Name</nt> $B$O!$$=$N<BBN$N@k8@$GM?$($kL>A0$H(B<termref def="dt-match">&match;</termref>$B$7$J$1$l$P$J$i$J$$!#Aj8_1?MQ@-$N$?$a!$(B&valid;$B$JJ8=q$O(B<titleref href="sec-escapes">$B$"$i$+$8$aDj5A$7$?<BBN$N5,Dj(B</titleref>$B$G;XDj$7$?=q<0$K$h$C$F!$<BBN(B &magicents;$B$r@k8@$9$k$3$H$,K>$^$7$$!#%Q%i%a%?<BBN$N>l9g$O!$@k8@$O!$;2>H$K@h9T$7$J$1$l$P$J$i$J$$!#F1MM$K!$0lHL<BBN$N>l9g$O!$B0@-%j%9%H@k8@$N(B&default-value;$BFb$G$N;2>H$h$j$b@h$K!$@k8@$,8=$l$J$1$l$P$J$i$J$$!#(B |
| </p> |
| </vcnote> |
| |
| <!-- FINAL EDIT: is this duplication too clumsy? --> |
| |
| <wfcnote id='textent'> |
| <head>&parsed-entity;</head> |
| <p> |
| $B<BBN;2>H$O!$(B<termref def="dt-unparsed">&unparsed-entity;</termref>$B$NL>A0$r4^$s$G$$$F$O$J$i$J$$!#(B&unparsed-entity;$B$O!$(B<kw>ENTITY</kw>$B7?Kt$O(B<kw>ENTITIES</kw> $B7?$H$7$F@k8@$7$?(B<termref def="dt-attrval">$BB0@-CM(B</termref>$B$H$7$F$@$1;2>H$G$-$k!#(B |
| </p> |
| </wfcnote> |
| |
| <wfcnote id='norecursion'> |
| <head>$B:F5"$J$7(B</head> |
| <p>&parsed-entity;$B$O!$$=$l<+BN$X$N;2>H$r!$D>@\$K$b4V@\$K$b4^$s$G$O$J$i$J$$!#(B</p> |
| </wfcnote> |
| |
| <wfcnote id='indtd'> |
| <head>DTD$B$NCf(B</head> |
| <p> |
| $B%Q%i%a%?<BBN;2>H$O!$(B<termref def='dt-doctype'>DTD</termref>$BFb$K$@$1!$=P8=$7$F$h$$!#(B |
| <!-- |
| In the external DTD subset, a parameter-entity reference is |
| recognized only at the locations where |
| the nonterminal <nt def="NT-PEReference">PEReference</nt> or the |
| special operator <code>%</code> appears in a production of the |
| grammar. In the internal subset, parameter-entity references |
| are recognized only when they match |
| the <nt def="NT-InternalPERef">InternalPERef</nt> non-terminal |
| in the production for <nt def="NT-markupdecl">markupdecl</nt>. |
| --> |
| </p> |
| </wfcnote> |
| |
| <p> |
| $BJ8;z;2>H5Z$S<BBN;2>H$NNc$r!$<!$K<($9!#(B |
| <eg>Type <key>less-than</key> (&hcro;3C;) to save options. |
| This document was prepared on &docdate; and |
| is classified &security-level;.</eg> |
| </p> |
| |
| <p> |
| $B%Q%i%a%?<BBN;2>H$NNc$r!$<!$K<($9!#(B |
| <eg><!ENTITY % ISOLat2 |
| SYSTEM "http://www.xml.com/iso/isolat2-xml.entities" > |
| %ISOLat2; |
| </eg> |
| </p> |
| </div2> |
| |
| <div2 id='sec-entity-decl'> |
| <head>$B<BBN@k8@(B</head> |
| |
| <p> |
| <termdef id="dt-entdecl" term="entity declaration"> |
| $B<BBN$O!$<!$N$H$*$j$K@k8@$9$k!#(B |
| <scrap lang='ebnf'> |
| <head>$B<BBN@k8@(B</head> |
| <prodgroup pcw2="5" pcw4="18.5"> |
| <prod id='NT-EntityDecl'><lhs>EntityDecl</lhs> |
| <rhs><nt def="NT-GEDecl">GEDecl</nt></rhs><com>$B0lHL<BBN(B</com> |
| <rhs>| <nt def="NT-PEDecl">PEDecl</nt></rhs><com>$B%Q%i%a%?<BBN(B</com> |
| </prod> |
| <prod id='NT-GEDecl'><lhs>GEDecl</lhs> |
| <rhs>'<!ENTITY' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt> |
| <nt def='NT-S'>S</nt> <nt def='NT-EntityDef'>EntityDef</nt> |
| <nt def='NT-S'>S</nt>? '>'</rhs> |
| </prod> |
| <prod id='NT-PEDecl'><lhs>PEDecl</lhs> |
| <rhs>| '<!ENTITY' <nt def='NT-S'>S</nt> '%' <nt def='NT-S'>S</nt> |
| <nt def='NT-Name'>Name</nt> <nt def='NT-S'>S</nt> |
| <nt def='NT-PEDef'>PEDef</nt> <nt def='NT-S'>S</nt>? '>'</rhs> |
| <com>$B%Q%i%a%?<BBN(B</com> |
| </prod> |
| <prod id='NT-EntityDef'><lhs>EntityDef</lhs> |
| <rhs><nt def='NT-EntityValue'>EntityValue</nt> |
| </rhs> |
| <!--<wfc def="WF-EntityValue"/>--> |
| <rhs>| <nt def='NT-ExternalDef'>ExternalDef</nt></rhs> |
| <!--<wfc def="WF-External"/>--> |
| </prod> |
| <!-- FINAL EDIT: what happened to WFs here? --> |
| <prod id='NT-PEDef'><lhs>PEDef</lhs> |
| <rhs><nt def='NT-EntityValue'>EntityValue</nt> |
| | <nt def='NT-ExternalID'>ExternalID</nt></rhs></prod> |
| </prodgroup> |
| </scrap> |
| |
| <nt def='NT-Name'>Name</nt> $B$O!$(B<termref def="dt-entref">$B<BBN;2>H(B</termref>$B$K$*$$$F<BBN$r(B&identify;$B!#(B&unparsed-entity;$B$J$i$P!$(B<kw>ENTITY</kw> $B7?Kt$O(B<kw>ENTITIES</kw>$B7?$NB0@-CMFb$G!$<BBN$r(B&identify;$B!#F10l$N<BBN$,0l2s0J>e@k8@$5$l$l$P!$:G=i$N@k8@$rMQ$$$k!#(B&at-user-option;$B!$J#?t2s@k8@$5$l$k<BBN$K4X$7!$(BXML&processor;$B$O!$7Y9p$r=P$7$F$b$h$$!#(B |
| </termdef> |
| </p> |
| |
| <!-- |
| <wfcnote id="WF-Entityvalue"> |
| <head>Well-Formed Internal Entity</head> |
| <p>General entities defined by an <nt |
| def="NT-EntityValue">EntityValue</nt> must be well-formed, as defined |
| in section <specref ref="wf-entities"/>. |
| </p> |
| </wfcnote> |
| <wfcnote id="WF-External"> |
| <head>Well-Formed External Entity</head> |
| <p>General text entities defined by an <nt |
| def="NT-ExternalDef">ExternalDef</nt>, must be well-formed, as defined |
| in the section on <titleref xml-link="simple" |
| href="wf-entities">well-formed entities.</titleref>.</p> |
| </wfcnote> |
| --> |
| |
| <div3 id='sec-internal-ent'> |
| <head>$BFbIt<BBN(B</head> |
| <p> |
| <termdef id='dt-internent' term="Internal Entity Replacement Text"> |
| $B<BBN$NDj5A$,(B <nt def='NT-EntityValue'>EntityValue</nt>$B$N$H$-!$$3$l$r(B<term>$BFbIt<BBN(B</term>$B$H$$$&!#$3$l$O!$JL8D$NJ*M}E*5-21C10L$r$b$?$:!$<BBN$NFbMF$O!$@k8@Fb$GM?$($k!#(B</termdef>$B@5$7$/(B<termref def='dt-repltext'>&replacement-text;</termref>$B$r@8@.$9$k$K$O!$(B<termref def='dt-litentval'>&literal;$B<BBNCM(B</termref>$BFb$G$N<BBN;2>H5Z$SJ8;z;2>H$N=hM}$,!$I,MW$H$J$k$+$b$7$l$J$$$3$H$KCm0U$9$k!#>\:Y$O!$(B<titleref href='intern-replacement'>$BFbIt<BBN$N(B&replacement-text;$B$N9=C[(B</titleref>$B$r;2>H!#(B |
| |
| <!-- redundant -TWB |
| Within the <nt def="NT-EntityValue">EntityValue</nt>, |
| parameter-entity references and character references are recognized |
| and expanded immediately. |
| General-entity references within the |
| replacement text are not recognized |
| at the time the entity declaration is parsed, though they may be |
| recognized when the entity itself is referred to. |
| --> |
| |
| </p> |
| |
| <p> |
| $BFbIt<BBN$O!$(B<termref def="dt-parsedent">&parsed-entity;</termref>$B$H$9$k!#(B |
| </p> |
| |
| <p>$BFbIt<BBN@k8@$NNc$r!$<!$K<($9!#(B |
| <eg><!ENTITY Pub-Status "This is a pre-release of the specification."></eg></p> |
| </div3> |
| |
| <div3 id='sec-external-ent'> |
| <head>$B30It<BBN(B</head> |
| <p> |
| <termdef id="dt-extent" term="External Entity"> |
| $B<BBN$,FbIt<BBN$G$J$1$l$P!$(B<term>$B30It<BBN(B</term>$B$H$7!$<!$N$H$*$j$K@k8@$9$k!#(B |
| |
| <scrap lang='ebnf'> |
| <head>$B30It<BBN@k8@(B</head> |
| <prod id='NT-ExternalDef'><lhs>ExternalDef</lhs> |
| <rhs><nt def='NT-ExternalID'>ExternalID</nt> |
| <nt def='NT-NDataDecl'>NDataDecl</nt>?</rhs></prod> |
| <prod id='NT-ExternalID'><lhs>ExternalID</lhs> |
| <rhs>'SYSTEM' <nt def='NT-S'>S</nt> |
| <nt def='NT-SystemLiteral'>SystemLiteral</nt></rhs> |
| <rhs>| 'PUBLIC' <nt def='NT-S'>S</nt> |
| <nt def='NT-PubidLiteral'>PubidLiteral</nt> |
| <nt def='NT-S'>S</nt> |
| <nt def='NT-SystemLiteral'>SystemLiteral</nt> |
| </rhs> |
| </prod> |
| <prod id='NT-NDataDecl'><lhs>NDataDecl</lhs> |
| <rhs><nt def='NT-S'>S</nt> 'NDATA' <nt def='NT-S'>S</nt> |
| <nt def='NT-Name'>Name</nt></rhs> |
| <vc def='not-declared'/></prod> |
| </scrap> |
| |
| <nt def='NT-NDataDecl'>NDataDecl</nt> $B$,B8:_$9$l$P!$$3$N<BBN$O!$(B<termref def="dt-unparsed">&unparsed-entity;</termref>$B$H$7!$$=$&$G$J$1$l$P!$(B&parsed-entity;$B$H$9$k!#(B</termdef> |
| </p> |
| |
| <vcnote id='not-declared'> |
| <head>$B5-K!$,@k8@$5$l$F$$$k$3$H(B</head> |
| <p> |
| <nt def='NT-Name'>Name</nt> $B$O!$@k8@$7$?(B<termref def="dt-notation">$B5-K!(B</termref>$B$NL>A0$H(B&match;$B$7$J$1$l$P$J$i$J$$!#(B |
| </p> |
| </vcnote> |
| |
| <p> |
| <termdef id="dt-sysid" term="System Identifier"> |
| $B%-!<%o!<%I(B <kw>SYSTEM</kw> $B$N8e$N(B <nt def='NT-SystemLiteral'>SystemLiteral</nt> $B$r!$<BBN$N(B<term>$B%7%9%F%`(B&identifier;</term>$B$H8F$V!#$3$l$O(BURI$B$H$7!$$=$N<BBN$NFbMF$r<h$j=P$9$N$KMQ$$$F$b$h$$!#(B</termdef>URI$B$H6&$K;H$&$3$H$NB?$$%O%C%7%e(B("<code>#</code>")$B5Z$S%U%i%0%a%s%H(B&identifier;$B$O!$@5<0$K$O!$(BURI$B<+BN$N0lIt$H$O$7$J$$!#%U%i%0%a%s%H(B&identifier;$B$,!$%7%9%F%`(B&identifier;$B$NItJ,$H$7$FM?$($i$l$F$$$k>l9g!$(BXML&processor;$B$O!$(B&error;$B$r=P$7$F$b$h$$!#$3$N(B&TR-or-Rec;$B$NHO0O30$N>pJs(B($BNc$($P!$$"$kFCDj$N(BDTD$B$NFCJL$J(BXML$BMWAGKt$OFCDj$N(B&application;$B$N;EMM$K$h$C$FDj5A$5$l$?=hM}L?Na(B)$B$K$h$C$F>e=q$-$5$l$J$$8B$j!$AjBPE*$J(BURI$B$O!$$=$N<BBN$N0LCV!$$9$J$o$A!$$=$N<BBN$N@k8@$,$"$k%U%!%$%k$KAjBPE*$H$9$k!#$7$?$,$C$F!$(BDTD$B$NFbIt(B⊂$B$K$"$k<BBN@k8@$G$NAjBPE*$J(BURI$B$O!$J8=q$N0LCV$K$D$$$FAjBPE*$H$9$k!#30It(B⊂$B$K$"$k<BBN@k8@$G$NAjBPE*$J(BURI$B$O!$$=$N30It(B⊂$B$r4^$`%U%!%$%k$N0LCV$KAjBPE*$H$9$k!#(B |
| </p> |
| |
| <p> |
| <termdef id="dt-pubid" term="Public identifier"> |
| $B%7%9%F%`(B&identifier;$B0J30$K!$30It<BBN$O!$(B<term>$B8x3+(B&identifier;</term>$B$r4^$s$G$b$h$$!#(B |
| </termdef> |
| $B<BBN$NFbMF$r<h$j=P$9(BXML&processor;$B$O!$$3$N8x3+(B&identifier;$B$rMQ$$$F!$Be$o$j$N(BURI$B$N@8@.$r;n$_$F$b$h$$!#(BXML&processor;$B$,$3$l$K<:GT$7$?>l9g$O!$%7%9%F%`(B&literal;$B$H$7$F;XDj$7$?(BURI$B$rMQ$$$J$1$l$P$J$i$J$$!#(B&match;$B$9$kA0$K!$8x3+(B&identifier;$BFb$K$"$k6uGrJ8;z$+$i$J$k(B&string;$B$O!$$9$Y$FC10l$N(B&space-character;(#x20)$B$K@55,2=$7$J$1$l$P$J$i$:!$A08e$N6uGrJ8;z$O:o=|$7$J$1$l$P$J$i$J$$!#(B |
| </p> |
| |
| <p>$B30It<BBN@k8@$NNc$r!$<!$K<($9!#(B |
| <eg><!ENTITY open-hatch |
| SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml"> |
| <!ENTITY open-hatch |
| PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN" |
| "http://www.textuality.com/boilerplate/OpenHatch.xml"> |
| <!ENTITY hatch-pic |
| SYSTEM "../grafix/OpenHatch.gif" |
| NDATA gif ></eg></p> |
| </div3> |
| |
| </div2> |
| |
| <div2 id='TextEntities'> |
| <head>&parsed-entity;</head> |
| <div3 id='sec-TextDecl'> |
| <head>$B%F%-%9%H@k8@(B</head> |
| <p>$B30It(B&parsed-entity;$B$O!$(B<term>$B%F%-%9%H@k8@(B</term>$B$G;O$^$C$F$b$h$$!#(B |
| <scrap lang='ebnf'> |
| <head>$B%F%-%9%H@k8@(B</head> |
| <prodgroup pcw4="12.5" pcw5="13"> |
| <prod id='NT-TextDecl'><lhs>TextDecl</lhs> |
| <rhs>&xmlpio; |
| <nt def='NT-VersionInfo'>VersionInfo</nt>? |
| <nt def='NT-EncodingDecl'>EncodingDecl</nt> |
| <nt def='NT-S'>S</nt>? &pic;</rhs> |
| <!-- <wfc def='wfc-xmldecliteral'/> --> |
| <!-- <wfc def='wfc-no-nonleading-encdec'/> --> |
| </prod> |
| </prodgroup> |
| </scrap> |
| </p> |
| <p>$B%F%-%9%H@k8@$O!$$=$N$^$^$N7A$G8=$l$J$1$l$P$J$i$:!$(B&parsed-entity;$B$X$N;2>H$r7PM3$7$F$O$J$i$J$$$3$H$KCm0U$9$k!#(B</p> |
| <p>$B30It(B&parsed-entity;$B$K$*$$$F!$%F%-%9%H@k8@$O!$@hF,0J30$N$$$+$J$k0LCV$K$b=P8=$7$J$$!#(B</p> |
| </div3> |
| <div3 id='wf-entities'> |
| <head>&well-formed;$B$N(B&parsed-entity;</head> |
| <p>$B%i%Y%k(B<nt def='NT-document'>document</nt>$B$r$b$D@8@.5,B'$K(B&match;$B$9$l$P!$J8=q<BBN$O!$(B&well-formed;$B$H$9$k!#%i%Y%k(B<nt def='NT-ExtParsedEnt'>ExtParsedEnt</nt>$B$r$b$D@8@.5,B'$K(B&match;$B$9$l$P!$30It$N0lHL(B&parsed-entity;$B$O!$(B&well-formed;$B$H$9$k!#%i%Y%k(B<nt def='NT-ExtPE'>ExtPE</nt>$B$r$b$D@8@.5,B'$K(B&match;$B$9$l$P!$30It%Q%i%a%?<BBN$O!$(B&well-formed;$B$H$9$k!#(B |
| |
| <scrap lang='ebnf'> |
| <head>&well-formed;$B$N(B&parsed-entity;</head> |
| <prod id='NT-ExtParsedEnt'><lhs>ExtParsedEnt</lhs> |
| <rhs><nt def='NT-TextDecl'>TextDecl</nt>? |
| <nt def='NT-content'>content</nt></rhs> |
| </prod> |
| <prod id='NT-ExtPE'><lhs>ExtPE</lhs> |
| <rhs><nt def='NT-TextDecl'>TextDecl</nt>? |
| <nt def='NT-extSubset'>extSubset</nt></rhs> |
| </prod> |
| </scrap> |
| &replacement-text;$B$,!$%i%Y%k(B<nt def='NT-content'>content</nt>$B$r$b$D@8@.5,B'$K(B&match;$B$9$l$P!$FbIt$N0lHL(B&parsed-entity;$B$O!$(B&well-formed;$B$H$9$k!#(BDTD$B$r:G8e$^$GFI$_9~$^$J$$$H!$3N<B$K$3$l$rH=Dj$G$-$J$$$3$H$KCm0U!#$9$Y$F$NFbIt$N%Q%i%a%?<BBN$O!$Dj5A$K$h$C$F(B&well-formed;$B$H$9$k!#(B |
| </p> |
| <p>$B<BBN$,(B&well-formed;$B$J7k2L$H$7$F!$(BXML$BJ8=q$NO@M}E*5Z$SJ*M}E*9=B$$O!$@5$7$/F~$l;R$H$J$k!#(B<termref def='dt-stag'>$B3+;O%?%0(B</termref>$B!$(B<termref def='dt-etag'>$B=*N;%?%0(B</termref>$B!$(B<termref def="dt-empty">$B6uMWAG%?%0(B</termref>$B!$(B<termref def='dt-element'>$BMWAG(B</termref>$B!$(B<termref def='dt-comment'>$B%3%a%s%H(B</termref>$B!$(B<termref def='dt-pi'>$B=hM}L?Na(B</termref>$B!$(B<termref def='dt-charref'>$BJ8;z;2>H(B</termref>$B5Z$S(B<termref def='dt-entref'>$B<BBN;2>H(B</termref>$B$,!$0l$D$N<BBN$G3+;O$7!$JL$N<BBN$G=*N;$9$k$3$H$O$J$$!#(B</p> |
| </div3> |
| <div3 id='charencoding'> |
| <head>$B<BBN$K$*$1$kJ8;zId9f2=(B</head> |
| |
| <p>XML$BJ8=qFb$N30It(B&parsed-entity;$B$O!$3F!9!$JL$NJ8;zId9f2=J}<0$rMQ$$$F$b$h$$!#$9$Y$F$N(BXML&processor;$B$O!$(BUTF-8$B$GId9f2=$7$?<BBN!$(BUTF-16$B$GId9f2=$7$?<BBN$r=hM}$G$-$J$1$l$P$J$i$J$$!#(B |
| <!-- |
| It is recognized that for some purposes, the use of additional |
| ISO/IEC 10646 planes other than the Basic Multilingual Plane |
| may be required. |
| A facility for handling characters in these planes is therefore a |
| desirable characteristic in XML processors and applications. |
| --> |
| </p> |
| <p>UTF-16$B$GId9f2=$7$?<BBN$O!$(BISO/IEC 10646$B$NIUO?(BE$B5Z$S(BUnicode$B$NIUO?(BB$B$G5,Dj$9$k(B&byte-order-mark;(ZERO WIDTH NO-BREAK SPACE$BJ8;z!$(B#xFEFF)$B$G;O$^$i$J$1$l$P$J$i$J$$!#$3$l$O!$Id9f2=$NI8<1$G$"$C$F!$(BXML$BJ8=q$N(B&markup;$B$N0lIt$G$b!$J8;z%G!<%?$N0lIt$G$b$J$$!#(BXML&processor;$B$O!$(BUTF-8$B$GId9f2=$7$?J8=q$H(BUTF-16$B$GId9f2=$7$?J8=q$H$N6hJL$r9T$&$?$a$K!$$3$NJ8;z$r;HMQ2DG=$G$J$1$l$P$J$i$J$$!#(B</p> |
| <p>XML&processor;$B$O!$(BUTF-8$B5Z$S(BUTF-16$B$GId9f2=$7$?<BBN$@$1$rFI$`$3$H$rI,?\$H$9$k$,!$B>$NId9f2=$r@$3&$G$OMQ$$$F$*$j!$$=$l$i$NId9f2=$rMQ$$$k<BBN$r(BXML&processor;$B$,=hM}$G$-$k$3$H$,K>$^$7$$!#(BUTF-8$BKt$O(BUTF-16$B0J30$NId9f2=J}<0$rMQ$$$F3JG<$9$k(B&parsed-entity;$B$O!$Id9f2=@k8@$r4^$`(B<titleref href='TextDecl'>$B%F%-%9%H@k8@(B</titleref>$B$G;O$a$J$1$l$P$J$i$J$$!#(B |
| <scrap lang='ebnf'> |
| <head>$BId9f2=@k8@(B</head> |
| <prod id='NT-EncodingDecl'><lhs>EncodingDecl</lhs> |
| <rhs><nt def="NT-S">S</nt> |
| 'encoding' <nt def='NT-Eq'>Eq</nt> |
| '"' <nt def='NT-EncName'>EncName</nt> '"' | "'" |
| <nt def='NT-EncName'>EncName</nt> "'" |
| </rhs> |
| </prod> |
| <prod id='NT-EncName'><lhs>EncName</lhs> |
| <rhs>[A-Za-z] ([A-Za-z0-9._] | '-')*</rhs> |
| <com>$B%i%F%sJ8;z$@$1$r4^$`Id9f2=L>(B</com> |
| </prod> |
| </scrap> |
| <termref def='dt-docent'>$BJ8=q<BBN(B</termref>$B$G$O!$Id9f2=@k8@$O!$(B<termref def="dt-xmldecl">XML$B@k8@(B</termref>$B$N0lIt$H$9$k!#(B<nt def="NT-EncName">EncName</nt>$B$O!$;HMQ$9$kId9f2=J}<0$NL>A0$H$9$k!#(B |
| </p> |
| <!-- FINAL EDIT: check name of IANA and charset names --> |
| <p>$BId9f2=@k8@$G$O!$CM(B<code>UTF-8</code>$B!$(B<code>UTF-16</code>$B!$(B<code>ISO-10646-UCS-2</code>$B5Z$S(B<code>ISO-10646-UCS-4</code>$B$O!$(BUnicode$B5Z$S(BISO/IEC 10646$B$N3F<oId9f2=$N$?$a$KMQ$$$k!#CM(B<code>ISO-8859-1</code>$B$+$i(B<code>ISO-8859-9</code>$B$^$G$O!$(BISO 8859$B$NBP1~$9$k%Q!<%H$N$?$a$KMQ$$$k!#CM(B<code>ISO-2022-JP</code>$B!$(B<code>Shift_JIS</code>$B5Z$S(B<code>EUC-JP</code>$B$O!$(BJIS X-0208-1997$B$N3F<oId9f2=$N$?$a$KMQ$$$k!#(BXML&processor;$B$O!$$=$l0J30$NId9f2=J}<0$rG'<1$7$F$b$h$$!#(BInternet Assigned Numbers Authority (IANA)$B$K!$(B(<emph>charset</emph>s$B$H$7$F(B)$BEPO?$5$l$?J8;zId9f2=J}<0$K$D$$$F$O!$$3$l$i0J30$K$D$$$F$b!$EPO?$5$l$?L>A0$G;2>H$9$k$3$H$,K>$^$7$$!#$3$l$i$NEPO?$5$l$?L>A0$O!$BgJ8;z!&>.J8;z$N6hJL$r$;$:$KDj5A$5$l$F$$$k$N$G!$$3$l$i$KBP$9$kHf3S$r;n$_$k(B&processor;$B$O!$BgJ8;z!&>.J8;z$N6hJL$r$7$J$$J}K!$r$H$k$N$,K>$^$7$$$3$H$KCm0U$9$k!#(B</p> |
| <p>XML$B=hM}7O$KEO$5$l$?<BBN$,!$Id9f2=@k8@$r4^$`$K$b$+$+$o$i$:!$@k8@$G<($7$?$b$N0J30$NJ}<0$GId9f2=$5$l$F$$$?$j!$Id9f2=@k8@$,!$30It<BBN$N:G=i0J30$N0LCV$K=P8=$9$l$P!$(B<termref def="dt-error">&error;</termref>$B$H$9$k!#(B |
| </p> |
| <p>&byte-order-mark;$B$G$bId9f2=@k8@$G$b;O$^$i$J$$<BBN$O!$(BUTF-8$BId9f2=$G$J$1$l$P$J$i$J$$!#(B</p> |
| |
| <p><!-- XML processors should make an effort to use all available |
| information, internal and external, to aid in detecting an entity's correct |
| encoding. Such information may include, but is not limited to: |
| <ulist><item><p>An HTTP header</p></item> |
| <item><p>A MIME header obtained other than through HTTP</p></item> |
| <item><p>Metadata provided by the native OS file system or by document |
| management software</p></item> |
| <item><p>The bit patterns at the front of an entity, which may |
| be analyzed to determine if |
| the application of any known encoding yields a valid encoding |
| declaration. See <titleref href='sec-guessing'>the appendix on |
| autodetection of character sets</titleref> |
| for a fuller description.</p></item></ulist> --> |
| $B=hM}$G$-$J$$Id9f2=$r$b$C$?<BBN$r(BXML&processor;$B$,H/8+$7$?$H$-$O!$(B&application;$B$K$=$N;v<B$rDLCN$7!$(B<termref def='dt-fatal'>&fatal-error;</termref>$B$H$7$F!$=hM}$r=*N;$7$J$1$l$P$J$i$J$$!#(B |
| <!-- |
| inform the application of this fact and |
| may |
| allow the application to |
| request either that the entity should be treated as an <termref |
| def="dt-unparsed">unparsed entity</termref>, or that processing should |
| cease.--> |
| </p> |
| <p>$BId9f2=@k8@$NNc$r!$<!$K<($9!#(B |
| <eg><?xml encoding='UTF-8'?> |
| <?xml encoding='EUC-JP'?></eg></p> |
| </div3> |
| </div2> |
| <div2 id='entproc'> |
| <head>XML&processor;$B$K$h$k<BBN5Z$S;2>H$N07$$(B</head> |
| <p>$B<!$NI=$O!$J8;z;2>H!$<BBN;2>H5Z$S(B&unparsed-entity;$B$N8F=P$7$,8=$l$kJ8L.5Z$S3F!9$N>l9g$K$*$1$k(B<termref def='dt-xml-proc'>XML&processor;</termref>$B$KMW5a$9$k?6Iq$$$rMWLs$9$k!#0lHV:8$NNs$N%i%Y%k$O!$G'<1$NJ8L.$r<($9!#(B |
| <glist> |
| <gitem><label>$BFbMF$K$*$1$k;2>H(B</label> |
| <def><p>$BMWAG$N(B<termref def='dt-stag'>$B3+;O%?%0(B</termref>$B5Z$S(B<termref def='dt-etag'>$B=*N;%?%0(B</termref>$B$N4V$NG$0U$N>l=j$G$N;2>H!#Hs=*C<5-9f(B<nt def='NT-content'>content</nt>$B$KBP1~$9$k!#(B</p></def> |
| </gitem> |
| <gitem> |
| <label>$BB0@-CM$K$*$1$k;2>H(B</label> |
| <def><p><termref def='dt-stag'>$B3+;O%?%0(B</termref>$B$NB0@-$NCM!$Kt$O(B<termref def='dt-attdecl'>$BB0@-@k8@(B</termref>$B$K$*$1$k(B&default-value;$B$N$$$:$l$+$G$N;2>H!#Hs=*C<5-9f(B<nt def='NT-AttValue'>AttValue</nt>$B$KBP1~$9$k!#(B</p></def></gitem> |
| <gitem> |
| <label>$BB0@-CM$H$7$F=P8=(B</label> |
| <def><p>$B;2>H$G$O$J$/!$(B<nt def='NT-Name'>Name</nt>$B$H$7$F=P8=!#(B<code>ENTITY</code>$B7?$H$7$F@k8@$7$?B0@-$NCM!$Kt$O(B<code>ENTITIES</code>$B7?$H$7$F@k8@$7$?B0@-$NCM$K$*$1$k(B&space;$B$G6h@Z$k(B&token;$B$N0l$D$H$7$F=P8=$9$k!#(B</p> |
| </def></gitem> |
| <gitem><label>$B<BBNCM$K$*$1$k;2>H(B</label> |
| <def><p>$B<BBN$N@k8@$K$*$1$k!$%Q%i%a%?Kt$OFbIt<BBN$N(B<termref def='dt-litentval'>&literal;$B<BBNCM(B</termref>$BFb$N;2>H!#Hs=*C<5-9f(B<nt def='NT-EntityValue'>EntityValue</nt>$B$KBP1~$9$k!#(B</p></def></gitem> |
| <gitem><label>DTD$B$K$*$1$k;2>H(B</label> |
| <def><p><termref def='dt-doctype'>DTD</termref>$B$NFbIt(B⊂$BKt$O30It(B⊂$B$G$N;2>H!#$?$@$7!$(B<nt def='NT-EntityValue'>EntityValue</nt>$BKt$O(B<nt def="NT-AttValue">AttValue</nt>$B$N30B&$H$9$k!#(B</p></def> |
| </gitem> |
| </glist></p> |
| <!-- border value changed by bosak --> |
| <htable border='1' cellpadding='7' align='center'> |
| <!-- tbody wrapper added by bosak --> |
| <htbody> |
| <tr><td bgcolor='&cellback;' rowspan='2' colspan='1'></td> |
| <td bgcolor='&cellback;' align='center' valign='bottom' colspan='4'>$B<BBN$N7?(B</td> |
| <td bgcolor='&cellback;' rowspan='2' align='center'>$BJ8;z(B</td> |
| </tr> |
| <tr align='center' valign='bottom'> |
| <td bgcolor='&cellback;'>$B%Q%i%a%?(B</td> |
| <td bgcolor='&cellback;'>$BFbIt(B&newline;$B0lHL(B</td> |
| <td bgcolor='&cellback;'>$B30It(B&newline;&parsed-entity;&newline;$B0lHL(B</td> |
| <td bgcolor='&cellback;'>&unparsed-entity;</td> |
| </tr> |
| <tr align='center' valign='middle'> |
| <!--<td bgcolor='&cellback;' rowspan='4'>Recognition |
| Context</td>--> |
| <td bgcolor='&cellback;' align='right'>$BFbMF$G$N(B&newline;$B;2>H(B</td> |
| <td bgcolor='&cellback;'><titleref href='not-recognized'>$BG'<1(B&newline;$B$7$J$$(B</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='include-if-valid'>$B8!>Z$N$?$a$K<h9~$_(B</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td> |
| </tr> |
| <tr align='center' valign='middle'> |
| <td bgcolor='&cellback;' align='right'>$BB0@-CM$G$N(B&newline;$B;2>H(B</td> |
| <td bgcolor='&cellback;'><titleref href='not-recognized'>$BG'<1(B&newline;$B$7$J$$(B</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td> |
| </tr> |
| <tr align='center' valign='middle'> |
| <td bgcolor='&cellback;' align='right'>$BB0@-CM$H$7$F(B&newline;$B=P8=(B</td> |
| <td bgcolor='&cellback;'><titleref href='not-recognized'>$BG'<1(B&newline;$B$7$J$$(B</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='not-recognized'>$B6X;_(B</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='not-recognized'>$B6X;_(B</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='notify'>$BDLCN(B</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='not recognized'>$BG'<1(B&newline;$B$7$J$$(B</titleref></td> |
| </tr> |
| <tr align='center' valign='middle'> |
| <td bgcolor='&cellback;' align='right'>$B<BBNCM$G$N(B&newline;$B;2>H(B</td> |
| <td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='bypass'>&bypass;</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='bypass'>&bypass;</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td> |
| </tr> |
| <tr align='center' valign='middle'> |
| <td bgcolor='&cellback;' align='right'>DTD$B$G$N(B&newline;$B;2>H(B</td> |
| <td bgcolor='&cellback;'><titleref href='as-PE'>PE$B$H$7$F(B&newline;$B<h9~$_(B</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td> |
| </tr> |
| </htbody> |
| </htable> |
| <div3 id='not-recognized'> |
| <head>$B!HG'<1$7$J$$!I(B</head> |
| <p>DTD$B$N30$G$O!$(B<code>%</code>$BJ8;z$O!$$$$+$J$kFCDj$N0UL#$b!$$b$?$J$$!#$7$?$,$C$F!$(BDTD$B$G$O%Q%i%a%?<BBN;2>H$H$7$FG'<1$9$k$b$N$G$"$C$F$b!$(B<nt def='NT-content'>content</nt>$BFb$G$O(B&markup;$B$H$7$F$OG'<1$7$J$$!#F1MM$K!$E,@Z$K@k8@$7$?B0@-$NCM$NCf$K8=$l$k>l9g$r=|$-!$(B&unparsed-entity;$B$NL>A0$O!$G'<1$7$J$$!#(B |
| </p> |
| </div3> |
| <div3 id='included'> |
| <head>$B!H<h9~$_!I(B</head> |
| <p><termdef id="dt-include" term="Include">$B<BBN$O!$$=$N(B<termref def='dt-repltext'>&replacement-text;</termref>$B$r<h$j=P$7!$=hM}$9$k$H!$;2>H<+BN$NBe$o$j$K!$;2>H$,$"$C$?0LCV$G!$J8=q$N0lIt$H$7$F4^$^$l$k$+$N$h$&$K(B<term>$B<h$j9~$^$l$k(B</term>$B!#(B&replacement-text;$B$O!$(B<termref def='dt-chardata'>$BJ8;z%G!<%?(B</termref>$B5Z$S(B($B%Q%i%a%?<BBN$r=|$/!#(B)<termref def="dt-markup">&markup;</termref>$B$N$$$:$l$r4^$s$G$b$h$/!$$3$l$i$O!$DL>o$NJ}K!$GG'<1$5$l$J$1$l$P$J$i$J$$!#$?$@$7!$(B&markup;$B$N6h@Z$j;R$r(B&escape;$B$9$k$?$a$KMQ$$$k<BBN(B(&magicents;)$B$N(B&replacement-text;$B$O!$>o$K%G!<%?$H$7$F07$&(B(&string;"<code>AT&amp;T;</code>"$B$O!$(B"<code>AT&T;</code>"$B$KE83+$5$l!$;D$5$l$?%"%s%Q%5%s%I$O!$<BBN;2>H$N6h@Z$j;R$H$7$F$OG'<1$7$J$$!#(B)$B!#J8;z;2>H$O!$<($7$?J8;z$r;2>H<+BN$NBe$o$j$K=hM}$9$k$H$-!$(B<term>$B<h$j9~$^$l$k(B</term>$B!#(B |
| </termdef></p> |
| </div3> |
| <div3 id='include-if-valid'> |
| <head>$B!H8!>Z$N$?$a$K<h9~$_!I(B</head> |
| <p>$BJ8=q$N(B&validity;$B$r(B<termref def="dt-valid">$B8!>Z(B</termref>$B$9$k$K$O!$(BXML&processor;$B$,(B&parsed-entity;$B$X$N;2>H$rG'<1$7$?$H$-!$$=$N(B&replacement-text;$B$r(B<termref def="dt-include">$B<h$j9~$^(B</termref>$B$J$1$l$P$J$i$J$$!#<BBN$,30It<BBN$G$"$C$F!$(BXML$BJ8=q$N(B&validity;$B$r8!>Z$7$J$1$l$P!$<BBN$N(B&replacement-text;$B$r<h$j9~$s$G$b(B<termref def="dt-may">$B$h$$(B</termref>$B$,!$$=$&$7$J$/$H$b$h$$!#(B</p> |
| <p>$B$3$N<h7h$a$O!$(BSGML$B5Z$S(BXML$B$N<BBN$N5!9=$,Ds6!$9$k<+F0<h9~$_5!G=$,!$J8=q:n@.;~$N%b%8%e!<%k2=$r<g$JL\E*$H$7$F@_7W$5$l$F$*$j!$$=$NB>$N(B&application;($BFC$K!$J8=q$N%V%i%&%:(B)$B$K$O!$I,$:$7$bE,@Z$G$O$J$$!$$H$$$&G'<1$K$h$k!#Nc$($P!$%V%i%&%6$O30It(B&parsed-entity;$B$X$N;2>H$r8+$D$1$k$H!$$=$N<BBN$,B8:_$9$k$H$$$&I=<($@$1$r9T$$!$I=<($rMW5a$5$l$?$H$-$K$@$1!$FbMF$r<h$j=P$9$+$b$7$l$J$$!#(B |
| </p> |
| </div3> |
| <div3 id='forbidden'> |
| <head>$B!H6X;_!I(B</head> |
| <p>$B<!$O6X;_$5$l$F$*$j!$(B<termref def='dt-fatal'>&fatal-error;</termref>$B$H$9$k!#(B |
| <ulist> |
| <item><p>a) <termref def='dt-unparsed'>&unparsed-entity;</termref>$B$X$N;2>H$N=P8=!#(B |
| </p></item> |
| <item><p>b) DTD$B$N(B<nt def='NT-EntityValue'>EntityValue</nt>$BKt$O(B<nt def="NT-AttValue">AttValue</nt>$B0J30$NItJ,$K$*$1$k!$J8;z;2>HKt$O0lHL<BBN$X$N;2>H$N=P8=!#(B</p></item> |
| <item><p>c) $BB0@-CMFb$N30It<BBN$X$N;2>H!#(B</p> |
| </item> |
| </ulist> |
| </p> |
| </div3> |
| <div3 id='notify'> |
| <head>$B!HDLCN!I(B</head> |
| <p><termref def='dt-unparsed'>&unparsed-entity;</termref>$B$NL>A0$,!$(B<kw>ENTITY</kw>$BKt$O(B<kw>ENTITIES</kw>$B$NB0@-$NCM$K$*$$$F(B&token;$B$H$7$F8=$l$?$H$-!$(B&processor;$B$O!$(B&application;$B$KBP$7$F!$4XO"IU$1$i$l$?(B<termref def="dt-notation">$B5-K!(B</termref>$BL>!$5-K!$KBP$9$k(B<termref def='dt-sysid'>$B%7%9%F%`(B</termref>&identifier;$B5Z$S(B($BB8:_$9$l$P(B)<termref def='dt-pubid'>$B8x3+(B</termref>&identifier;$B$rDLCN$7$J$1$l$P$J$i$J$$!#(B</p> |
| </div3> |
| <div3 id='bypass'> |
| <head>$B!H(B&bypass;$B!I(B</head> |
| <p>$B0lHL<BBN;2>H$,!$<BBN@k8@$K$*$1$k(B<nt def='NT-EntityValue'>EntityValue</nt>$BFb$K8=$l$k$H$-!$$=$l$OL5;k$5$l!$$=$N$^$^;D$k!#(B</p> |
| </div3> |
| <div3 id='as-PE'> |
| <head>$B!H(BPE$B$H$7$F<h9~$_!I(B</head> |
| <p>$B30It(B&parsed-entity;$B$N>l9g$HF1MM$K!$%Q%i%a%?<BBN$O!$(B&validity;$B$r(B<titleref href='include-if-valid'>$B8!>Z$9$k$H$-$@$1<h$j9~$^$l$k(B</titleref>$BI,MW$,$"$k!#%Q%i%a%?<BBN;2>H$r(BDTD$BFb$KG'<1$7$F<h$j9~$`$H$-!$$=$N(B<termref def='dt-repltext'>&replacement-text;</termref>$B$O!$$=$NA08e$K0l$D$N(B&space-character;(#x20)$B$NIU2C$K$h$C$F0z$-?-$P$5$l$k!#$3$N0U?^$O!$%Q%i%a%?<BBN$N(B&replacement-text;$B$,!$(BDTD$BFb$N$$$/$D$+$NJ8K!E*(B&token;$B$r40A4$K4^$`$H!$@)Ls$9$k$3$H$K$"$k!#(B |
| </p> |
| </div3> |
| <!-- |
| <div3 id='gen-char-entproc'> |
| <head>General and Character Entity Processing</head> |
| <p>General-entity and character references are recognized in three |
| contexts: wherever the nonterminal <nt def='NT-content'>content</nt> may |
| appear, at any point within the nonterminal |
| <nt def='NT-AttValue'>AttValue</nt>, |
| and within the |
| <termref def='dt-litentval'>literal entity value</termref> |
| (<nt def='NT-EntityValue'>EntityValue</nt>) |
| of an internal entity declaration. |
| This section discusses the first two cases; the third |
| is discussed <titleref href='intern-replacement'>below</titleref>. |
| When an <termref def="dt-xml-proc">XML processor</termref> encounters |
| such a reference, or the name of an unparsed entity as the value |
| of an <kw>ENTITY</kw> or <kw>ENTITIES</kw> attribute, then: |
| <olist> |
| |
| <item><p>In all cases, the XML processor may |
| inform the application of the reference's occurrence and its identifier |
| (for an entity reference, the name; for a character |
| reference, |
| the character number in decimal, hexadecimal, or binary form).</p></item> |
| |
| <item><p>For both character and entity references, the processor must |
| remove the reference itself from the <termref def="dt-text">text</termref> data |
| before passing the data to the application. |
| </p></item> |
| |
| <item><p>For character references, the processor must |
| pass the character indicated |
| to the application in |
| place of the reference. |
| </p></item> |
| |
| <item><p>For an external entity, the processor must inform the |
| application of the entity's <termref def="dt-sysid">system |
| identifier</termref>, and <termref def="dt-pubid">public identifier</termref> |
| if any. |
| All strings |
| of white space in the public identifier must be normalized to single space characters (#x20), |
| and leading and trailing white space must be removed.</p></item> |
| |
| <item><p>If the external entity is binary, the processor must inform the |
| application of the associated <termref def="dt-notation">notation</termref> |
| name, and the notation's associated <termref def='dt-sysid'>system</termref> |
| and <termref def='dt-pubid'>public</termref> (if any) |
| identifiers.</p></item> |
| |
| <item><p><termdef id="dt-include" term="Include">For an internal |
| (parsed) entity, the processor must <term>include</term> the |
| entity; that is, retrieve its replacement text |
| and process it as a part of the document |
| (i.e. as <nt def="NT-content">content</nt> or <nt |
| def="NT-AttValue">AttValue</nt>, whichever was being processed when |
| the reference was recognized), passing the result to the application |
| in place of the reference. The replacement text may contain both |
| <termref def='dt-chardata'>character data</termref> |
| and <termref def="dt-markup">markup</termref>, which must be recognized in |
| the usual way, except that the replacement text of entities used to escape |
| markup delimiters (the entities &magicents;) is always treated as |
| data. (The string "<code>AT&amp;T;</code>" expands to |
| "<code>AT&T;</code>" since the ampersand replacing "<code>&amp;</code>" |
| is not recognized |
| as an entity-reference delimiter.) </termdef></p> |
| <p>Since the entity may contain other entity references, |
| an XML processor may have to repeat the inclusion process recursively.</p> |
| </item> |
| <item><p>If the entity is an external parsed entity, then in order to |
| <termref def="dt-valid">validate</termref> the XML document, the processor must |
| <termref def="dt-include">include</termref> the content of the |
| entity.</p></item> |
| |
| <item><p>If the entity is an external parsed entity, and the processor is not |
| attempting to <termref def="dt-valid">validate</termref> the XML document, the |
| processor <termref def="dt-may">may</termref>, but need not, <termref |
| def="dt-include">include</termref> the entity's content.</p> |
| <p>This rule is based on the recognition that the automatic inclusion |
| provided by the SGML and XML entity mechanism, primarily designed |
| to support modularity in authoring, is not necessarily |
| appropriate for other applications, in particular document browsing. |
| Browsers, for example, when encountering an external parsed entity reference, |
| might choose to provide a visual indication of the entity's |
| presence and retrieve it for display only on demand. |
| </p></item> |
| </olist> |
| </p> |
| <p><termdef id="dt-escape" term="escape">Entity and character |
| references can both be used to <term>escape</term> the left angle bracket, |
| ampersand, and other delimiters. A set of general entities |
| (&magicents;) is specified for this purpose. |
| Numeric character references may also be used; they are |
| expanded immediately when recognized, and must be treated as |
| character data, so the numeric character references |
| "<code>&#60;</code>" and "<code>&#38;</code>" may be used to |
| escape <code><</code> and <code>&</code> when they occur |
| in character data.</termdef></p> |
| </div3> |
| <div3 id='PE-proc'> |
| <head>Parameter Entity Processing</head> |
| <p>Parameter-entity references are only recognized in the |
| <termref def='dt-doctype'>DTD</termref>. |
| Their processing, when they appear |
| within the |
| <termref def='dt-litentval'>literal entity value</termref> |
| (<nt def='NT-EntityValue'>EntityValue</nt>) |
| of an internal entity declaration, |
| is discussed <titleref href='intern-replacement'>below</titleref>. |
| They have these intended uses: |
| <olist> |
| <item><p>as a replacement for one or more complete markup declarations</p></item> |
| <item><p>as a replacement for one or more complete "groups" in |
| element declarations</p></item> |
| <item><p>as a replacement for one or more complete "tokens" in |
| markup declarations</p></item> |
| </olist> |
| </p> |
| <p>The constraints requiring that PE replacement texts be properly nested |
| with <titleref href='vc-PEinMarkupDecl'>markup declarations</titleref> |
| and <titleref href='vc-PEinGroup'>content groups</titleref> |
| govern the first two usages.</p> |
| <p>To support the third intended usage, |
| when an XML processor encounters a parameter-entity reference |
| (outside of the |
| <termref def='dt-litentval'>literal entity value</termref> in an entity |
| declaration), |
| it must <termref def="dt-include">include</termref> |
| the named entity, but first expand its |
| <termref def='dt-repltext'>replacement text</termref> by attaching |
| space (#x20) characters to its beginning and the end, before |
| processing it.</p> |
| <p>The DTD text must match the relevant |
| rules of this specification's grammar after all parameter-entity |
| references have been expanded. |
| <!-In addition, parameter entities referred to in specific |
| contexts are required to satisfy certain constraints in their |
| replacement text; for example, a parameter entity referred to within |
| the internal DTD subset must match the rule for <nt |
| def="NT-markupdecl">markupdecl</nt>. -> |
| </p> |
| </div3> |
| --> |
| </div2> |
| <div2 id='intern-replacement'> |
| <head>$BFbIt<BBN(B&replacement-text;$B$N9=C[(B</head> |
| <p>$BFbIt<BBN$N<h07$$$N5,Dj$G!$<BBNCM$rFs$D$N7A<0$K6hJL$9$k$3$H$OLr$KN)$D!#(B<termdef id="dt-litentval" term='Literal Entity Value'><term>&literal;$B<BBNCM(B</term>$B$O!$<BBN@k8@Fb$K<B:]$KB8:_$9$k!$0zMQId$G0O$`(B&string;$B$H$9$k!#$3$l$O!$Hs=*C<5-9f(B<nt def='NT-EntityValue'>EntityValue</nt>$B$K(B&match;$B$9$k!#(B</termdef><termdef id='dt-repltext' term='Replacement Text'><term>&replacement-text;</term>$B$O!$J8;z;2>H5Z$S(B¶meter;$B<BBN;2>H$NCV49$(8e$K$*$1$k!$<BBN$NFbMF$H$9$k!#(B</termdef></p> |
| |
| <p>$BFbIt<BBN@k8@Fb$GM?$($k(B&literal;$B<BBNCM(B<!-- replacement text -->(<nt def='NT-EntityValue'>EntityValue</nt>)$B$O!$J8;z;2>H!$(B¶meter;$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¶meter;$B<BBN$N(B<emph>&replacement-text;</emph>$B$r4^$^$J$1$l$P$J$i$:!$(B&literal;$B<BBNCMFb$G$NJ8;z;2>H$NBe$o$j$K;2>H$7$?J8;z$r4^$^$J$1$l$P$J$i$J$$!#$7$+$7!$0lHL<BBN;2>H$O!$$=$N$^$^;D$7(B, $BE83+$7$F$O$J$i$J$$!#(B |
| <!-- in the replacement text that is to be included. --> |
| $BNc$($P!$<!$N@k8@$rM?$($?$H$9$k!#(B |
| |
| <eg><![CDATA[<!ENTITY % pub "Éditions Gallimard" > |
| <!ENTITY rights "All rights reserved" > |
| <!ENTITY book "La Peste: Albert Camus, |
| © 1947 %pub;. &rights;" >]]></eg> |
| $B<BBN$N(B&replacement-text;"<code>book</code>"$B$O!$<!$N$H$*$j$H$J$k!#(B |
| <eg>La Peste: Albert Camus, |
| © 1947 Éditions Gallimard. &rights;</eg> |
| $B;2>H(B"<code>&book;</code>"$B$,!$J8=q$NFbMFKt$OB0@-CMFb$K=P8=$7$F$$$l$P!$0lHL<BBN;2>H(B"<code>&rights;</code>"$B$O!$E83+$5$l$F$$$k!#(B</p> |
| <p>$B$3$l$i$NC1=c$J5,B'$O!$J#9gAj8_:nMQ$r$b$D!#(B |
| <!-- $BF|K\8lLu$K$D$$$F!'(B interaction = $BAj8_:nMQ!J6bK\!K(B--> |
| $BFq$7$$Nc$K$D$$$F$N>\:Y$O!$(B<titleref href='sec-entexpand'>$B<BBN;2>H$NE83+$NIUO?(B</titleref>$B$r;2>H$N$3$H!#(B |
| </p> |
| <!-- Replaced by the above -TB |
| <p>Implementors of XML processors need to know the rules for |
| expansion of references in more detail. These rules only come into |
| play when the replacement text for an internal entity itself contains |
| other references. |
| <olist> |
| <item><p>In the replacement text of an internal entity, parameter-entity |
| references and character references in the replacement text |
| are recognized and resolved |
| when the entity declaration is parsed, |
| before the replacement text is stored in |
| the processor's symbol table. |
| General-entity references in the replacement text are not |
| resolved when the entity declaration is parsed.</p></item> |
| <item><p>In the document, when a general-entity reference is |
| resolved, its replacement text is parsed. Character references |
| encountered in the replacement text are |
| resolved immediately; general-entity references encountered in the |
| replacement text may be resolved or left unresolved, as described |
| <titleref href="entproc">above</titleref>. |
| Character and general-entity references must be |
| contained entirely within the entity's replacement text. |
| </p></item> |
| </olist> |
| </p> |
| |
| <p>Simple character references do not suffice to escape delimiters |
| within the replacement text of an internal entity: they will be |
| expanded when the entity declaration is parsed, before the replacement |
| text is stored in the symbol table. When the entity itself is |
| referred to, the replacement text will be parsed again, and the |
| delimiters (no longer character references) |
| will be recognized as delimiters. To escape the |
| characters &magicents; in an entity replacement text, use |
| a general-entity reference or a doubly-escaped character reference. |
| See <titleref href='sec-entexpand'>the appendix on expansion |
| of entity references</titleref> |
| for detailed examples.</p> |
| --> |
| |
| |
| </div2> |
| <div2 id='sec-predefined-ent'> |
| <head>$BDj5A:Q$_<BBN(B</head> |
| <p><termdef id="dt-escape" term="escape"> |
| $B<BBN;2>H5Z$SJ8;z;2>H$N$$$:$l$b!$(B&left-angle-bracket;$B!$%"%s%P%5%s%I5Z$SB>$N6h@Z$j;R$r(B<term>&escape;</term>$B$9$k$?$a$K;HMQ$G$-$k!#$$$/$D$+$N0lHL<BBN!J(B&magicents;$B!K$r!$$3$NL\E*$N$?$a$K;XDj$9$k!#?tCM$K$h$kJ8;z;2>H$b!$F1MM$NL\E*$N$?$a$K;HMQ$G$-$k!#J8;z;2>H$O!$G'<1$5$l$k$HD>$A$KE83+$5$l!$J8;z%G!<%?$H$7$F07$o$l$k$N$G!$?tCM$K$h$kJ8;z;2>H(B"<code>&#60;</code>"$B5Z$S(B"<code>&#38;</code>"$B$O!$J8;z%G!<%?Fb$K=P8=$9$k(B<code><</code>$B5Z$S(B<code>&</code>$B$r(B&escape;$B$9$k$?$a$K;HMQ$G$-$k!#(B</termdef></p> |
| <p>$B$9$Y$F$N(BXML&processor;$B$O!$@k8@$5$l$F$$$k$+$I$&$+$K4X78$J$/!$$3$l$i$N<BBN$rG'<1$7$J$/$F$O$J$i$J$$!#(B<termref def='dt-interop'>$BAj8_1?MQ@-$N$?$a(B</termref>$B!$(B&valid;$B$J(BXML$BJ8=q$O!$$3$l$i$N<BBN$r;HMQ$9$kA0$K!$B>$N<BBN$HF1MM$K!$@k8@$9$k$3$H$,K>$^$7$$!#<BBN$r@k8@$9$k>l9g$O!$(B&replacement-text;$B$r(B&escape;$B$9$k0lJ8;z$H$9$kFbIt<BBN$H$7$F!$<!$N$H$*$j$K@k8@$7$J$1$l$P$J$i$J$$!#(B |
| <eg><![CDATA[<!ENTITY lt "&#60;"> |
| <!ENTITY gt ">"> |
| <!ENTITY amp "&#38;"> |
| <!ENTITY apos "'"> |
| <!ENTITY quot """> |
| ]]></eg> |
| "<code>lt</code>"$B5Z$S(B"<code>amp</code>"$B@k8@Fb$N(B"<code><</code>"$B5Z$S(B"<code>&</code>"$BJ8;z$O!$<BBN$NCV49%F%-%9%H$,!$(B&well-formed;$B$H$J$k$h$&$KFs=E$K(B&escape;$B$5$l$k$3$H$KCm0U!#(B |
| </p> |
| </div2> |
| |
| |
| <div2 id='Notations'> |
| <head>$B5-K!@k8@(B</head> |
| |
| |
| <p> |
| <termdef id="dt-notation" term="Notation"> |
| <term>$B5-K!(B</term>$B$O!$(B<termref def="dt-extent">&unparsed-entity;</termref>$B$N7A<0$r(B&identify;$BL>A0$+!$Kt$O(B<termref def="dt-pi">$B=hM}L?Na(B</termref>$B$NBP>]$H$9$k(B&application;$B$r(B&identify;$BL>A0$H$9$k!#(B</termdef></p> |
| <p><termdef id="dt-notdecl" term="Notation Declaration"> |
| <term>$B5-K!@k8@(B</term>$B$O!$5-K!$NL>A05Z$S30It(B&identifier;$B$rDs6!$9$k!#$3$NL>A0$O!$<BBN5Z$SB0@-%j%9%H@k8@JB$S$KB0@-;XDj$KMQ$$$k!#30It(B&identifier;$B$O!$M?$($i$l$?5-K!$N%G!<%?$r=hM}$G$-$k%X%k%Q(B&application;$B$r!$(BXML&processor;$BKt$O%/%i%$%"%s%H%"%W%j%1!<%7%g%s$,C5$9$?$a$K!$MxMQ$G$-$k!#(B |
| <scrap lang='ebnf'> |
| <head>$B5-K!@k8@(B</head> |
| <prod id='NT-NotationDecl'><lhs>NotationDecl</lhs> |
| <rhs>'<!NOTATION' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt> |
| <nt def='NT-S'>S</nt> |
| (<nt def='NT-ExternalID'>ExternalID</nt> | |
| <nt def='NT-PublicID'>PublicID</nt>) |
| <nt def='NT-S'>S</nt>? '>'</rhs></prod> |
| <prod id='NT-PublicID'><lhs>PublicID</lhs> |
| <rhs>'PUBLIC' <nt def='NT-S'>S</nt> |
| <nt def='NT-PubidLiteral'>PubidLiteral</nt> |
| </rhs></prod> |
| </scrap> |
| </termdef></p> |
| <p>$B@k8@$7!$B0@-CM!$B0@-Dj5AKt$O<BBN@k8@$G;2>H$9$k$9$Y$F$N5-K!$K$D$$$F!$(BXML&processor;$B$O!$5-K!$NL>A05Z$S30It(B&identifier;$B$r(B&application;$B$KDs6!$7$J$1$l$P$J$i$J$$!#$5$i$K!$30It(B&identifier;$B$r!$(B<termref def="dt-sysid">$B%7%9%F%`(B&identifier;</termref>$B!$%U%!%$%kL>Kt$O$=$NB>$N>pJs$KE83+$7$F$b$h$/!$$3$l$i$rMQ$$$F!$(B&application;$B$O!$$=$N5-K!$N%G!<%?$r=hM}$9$k(B&processor;$B$r5/F0$9$k!#(B($B$7$+$7!$(BXML&processor;$BKt$O(B&application;$B$,F0:n$9$k%7%9%F%`$G$OMxMQ$G$-$J$$5-K!$r!$(BXML$BJ8=q$,@k8@$7;2>H$7$F$b!$$3$l$O!$(B&error;$B$H$O$7$J$$!#!K(B</p> |
| </div2> |
| |
| |
| <div2 id='sec-doc-entity'> |
| <head>$BJ8=q<BBN(B</head> |
| |
| <p><termdef id="dt-docent" term="Document Entity"><term>$BJ8=q<BBN(B</term>$B$O!$<BBN$N7A@.$9$kLZ9=B$$N(B&root;$B$G$"$C$F!$(B<termref def="dt-xml-proc">XML&processor;</termref>$B$,!$=hM}$r3+;O$9$kCOE@$H$9$k!#(B</termdef>$B$3$N(B&TR-or-Rec;$B$O!$(BXML&processor;$B$,!$J8=q<BBN$NB8:_$9$k>l=j$r$I$N$h$&$K8+$D$1$k$+$O!$5,Dj$7$J$$!#B>$N<BBN$H0[$J$j!$J8=q<BBN$OL>A0$r$b$?$:!$$$$+$J$k<1JL$b$J$7$K(B&processor;$B$X$NF~NO(B&stream;$B$K=P8=$7$F$b$h$$!#(B</p> |
| </div2> |
| |
| |
| </div1> |
| <!-- &Conformance; --> |
| <div1 id='sec-conformance'> |
| <head>$BE,9g@-(B</head> |
| |
| <p>$BE,9g$9$k(B<termref def="dt-xml-proc">XML&processor;</termref>$B$O!$(B&validating;$B$b$N5Z$S(B&non-validating;$B$b$N$N!$Fs$D$KJ,N`$5$l$k!#(B</p> |
| <p>&validating;$B%7%9%F%`5Z$S(B&non-validating;$B%7%9%F%`$O!$$3$N(B&TR-or-Rec;$B$,5,Dj$9$k(B&well-formed;$B@)Ls$X$N0cH?$rJs9p$7$J$1$l$P$J$i$J$$!#(B</p> |
| <p><termdef id="dt-validating" term="Validating Processor"><term>&validating;&processor;</term>$B$O!$(B<termref def="dt-doctype">DTD</termref>$BFb$N@k8@$K$h$C$F<($5$l$?!$@)Ls$X$N0cH?$rJs9p$7$J$1$l$P$J$i$J$$!#$5$i$K!$$3$N(B&TR-or-Rec;$B$,5,Dj$9$k(B&validity;$B@)Ls$X$N0cH?$r!$$9$Y$FJs9p$7$J$1$l$P$J$i$J$$!#(B |
| </termdef> |
| </p> |
| </div1> |
| |
| <div1 id='sec-notation'> |
| <head>$B5-K!(B</head> |
| |
| <p>XML$B$N7A<0E*$JJ8K!$O!$4JC1$J3HD%(BBackus-Naur Form(EBNF)$B5-K!$K$h$C$FM?$($k!#J8K!$N3F5,B'$O!$<!$N7A<0$G!$5-9f$r0l$DDj5A$9$k!#(B |
| <eg>symbol ::= expression</eg></p> |
| <p>$B5-9f$O!$@55,I=8=$GDj5A$9$k$H$-$OBgJ8;z$G;O$a!$$=$&$G$J$1$l$P!$>.J8;z$G;O$a$k!#(B&string;&literal;$B$O!$0zMQId$G0O$`!#(B |
| <!--* The distinction between symbols which can and cannot be |
| recognized using simple regular expressions may be used to set the |
| boundary between an implementation's lexical scanner and its parser, |
| but this specification neither constrains the placement of that |
| boundary nor presupposes that all implementations will have one. *--> |
| </p> |
| |
| <p>$B5,B'$N1&B&$N<0Fb$G$O!$0l$DKt$OJ#?t$NJ8;z$+$i$J$k(B&string;$B$H(B&match;$B$9$k$?$a$K!$<!$N<0$r;HMQ$9$k!#(B |
| <glist> |
| <gitem> |
| <label><code>#xN</code></label> |
| <def><p>$B$3$3$G!$(B<code>N</code>$B$O(B16$B?J$N@0?t$H$9$k!#(BISO/IEC 10646$B$NJ8;z$G$"$C$F!$@55,7A(B(UCS-4)$B$N(B&code-value;$B$rId9f$J$7(B2$B?J?t$H$7$F2r<a$7$?$H$-!$;XDj$7$?CM$HEy$7$$$b$N$H(B&match;$B$9$k!#(B<code>#xN</code>$B7A<0$N@hF,$K%<%m$,$$$/$D$+8=$l$k$+$O!$0UL#$r$b$?$J$$!#(B&code-value;<!-- bit string -->$B$K$*$1$k@hF,$N%<%m$N?t$O!$J8;z$NId9f2=$K$h$C$F7hDj$5$l$k$N$G!$(BXML$B$K$H$C$F$O0UL#$,$J$$!#(B |
| </p></def> |
| </gitem> |
| <gitem> |
| <label><code>[a-zA-Z]</code>, <code>[#xN-#xN]</code></label> |
| <def><p>$B;XDj$7$?HO0O$NCM(B($BN>C<$NCM$r4^$`!#!K$r$b$DG$0U$N(B<termref def='dt-character'>$BJ8;z(B</termref>$B$H(B&match;$B$9$k!#(B</p></def> |
| </gitem> |
| <gitem> |
| <label><code>[^a-z]</code>, <code>[^#xN-#xN]</code></label> |
| <def><p>$B;XDj$7$?HO0O(B<emph>$B30(B</emph>$B$NCM$r$b$DG$0U$N(B<termref def='dt-character'>$BJ8;z(B</termref>$B$H(B&match;$B$9$k!#(B</p></def> |
| </gitem> |
| <gitem> |
| <label><code>[^abc]</code>, <code>[^#xN#xN#xN]</code></label> |
| <def><p>$B;XDj$7$?J8;z0J30$NCM$r$b$DG$0U$N(B<termref def='dt-character'>$BJ8;z(B</termref>$B$H(B&match;$B$9$k!#(B</p></def> |
| </gitem> |
| <gitem> |
| <label><code>"string"</code></label> |
| <def><p>&double-quote;$B$G0O$`(B&string;&literal;$B$H(B<termref def="dt-match">&match;$B$7$F$$$k(B</termref>&string;&literal;$B$H(B&match;$B$9$k!#(B</p></def> |
| </gitem> |
| <gitem> |
| <label><code>'string'</code></label> |
| <def><p>&single-quote;$B$G0O$`(B&string;&literal;$B$H(B<termref def="dt-match">&match;$B$7$F$$$k(B</termref>&string;&literal;$B$H(B&match;$B$9$k!#(B</p></def> |
| </gitem> |
| </glist> |
| $B$3$l$i$N5-9f$O!$<!$N7A<0$NAH9g$;$G;HMQ$9$k!#$3$3$G!$(B<code>A</code>$B5Z$S(B<code>B</code>$B$O!$C1=c$J<0$H$9$k!#(B |
| <glist> |
| <gitem> |
| <label>(<code>expression</code>)</label> |
| <def><p><code>expression</code>$B$O!$0l$D$N$^$H$^$j$H$7$F07$$!$$3$3$K<($9AH9g$;$G;H$C$F$b$h$$!#(B</p></def> |
| </gitem> |
| <gitem> |
| <label><code>A?</code></label> |
| <def><p><code>A</code>$BKt$O2?$b$J$7$H(B&match;$B$9$k(B($B%*%W%7%g%s$N(B<code>A</code>)$B!#(B</p></def> |
| </gitem> |
| <gitem> |
| <label><code>A B</code></label> |
| <def><p><code>A</code>$B$N<!$K(B<code>B</code>$B$,=P8=$9$k$b$N$H(B&match;$B$9$k!#(B |
| </p></def> |
| </gitem> |
| <gitem> |
| <label><code>A | B</code></label> |
| <def><p><code>A</code>$BKt$O(B<code>B</code>$B!$$?$@$7!$N>J}$G$O$J$$!$$H(B&match;$B$9$k!#(B |
| </p></def> |
| </gitem> |
| <gitem> |
| <label><code>A - B</code></label> |
| <def><p><code>A</code>$B$H(B&match;$B$9$k$,!$(B<code>B</code>$B$H$O(B&match;$B$7$J$$!$G$0U$N(B&string;$B$H(B&match;$B$9$k!#(B</p></def> |
| </gitem> |
| <gitem> |
| <label><code>A+</code></label> |
| <def><p><code>A</code>$B$N(B1$B2s0J>e$N7+JV$7$H(B&match;$B$9$k!#(B</p></def> |
| </gitem> |
| <gitem> |
| <label><code>A*</code></label> |
| <def><p><code>A</code>$B$N(B0$B2s0J>e$N7+JV$7$H(B&match;$B$9$k!#(B</p></def> |
| </gitem> |
| <!-- DEATH TO %'s |
| <gitem> |
| <label><code>%a</code></label> |
| <def><p>specifies that <emph>in the external DTD subset</emph> a |
| <termref def='dt-param-entity'>parameter entity</termref> may occur in the |
| text at the position where <code>a</code> may occur; if so, its |
| replacement text must match <code>S? a S?</code>. If |
| the expression <code>a</code> is governed by a suffix operator, then |
| the suffix operator determines both the maximum number of parameter-entity |
| references allowed and the number of occurrences of <code>a</code> |
| in the replacement text of the parameter entities: <code>%a*</code> |
| means that <code>a</code> must occur zero or more times, and |
| that some of its occurrences may be replaced by references to |
| parameter entities whose replacement text must contain zero or |
| more occurrences of <code>a</code>; it is thus a more compact way |
| of writing <code>%(a*)*</code>. |
| Similarly, <code>%a+</code> means that <code>a</code> |
| must occur one or more times, and may be replaced by |
| parameter entities with replacement text matching |
| <code>S? (a S?)+</code>. |
| The recognition of parameter entities in the internal subset is much more |
| highly constrained. |
| </p></def> |
| </gitem> |
| --> |
| </glist> |
| $B@8@.5,B'Fb$G;HMQ$9$kB>$N5-K!$r!$<!$K<($9!#(B |
| <glist> |
| <gitem> |
| <label><code>/* ... */</code></label> |
| <def><p>$B%3%a%s%H!#(B</p></def> |
| </gitem> |
| <gitem> |
| <label><code>[ wfc: ... ]</code></label> |
| <def><p>&well-formed;$B@)Ls!#@8@.5,B'$KIUM?$7$?!$(B<termref def="dt-wellformed">&well-formed;</termref>$B$NJ8=q$K4X$9$k@)Ls$r!$L>A0$K$h$C$F(B&identify;$B!#(B</p></def> |
| </gitem> |
| <gitem> |
| <label><code>[ vc: ... ]</code></label> |
| <def><p>&validity;$B@)Ls!#@8@.5,B'$KIUM?$7$?!$(B<termref def="dt-valid">&valid;</termref>$B$JJ8=q$K4X$9$k@)Ls$r!$L>A0$K$h$C$F(B&identify;$B!#(B |
| </p></def> |
| </gitem> |
| </glist> |
| </p></div1> |
| |
| </body> |
| <back> |
| <!-- &SGML; --> |
| |
| <!-- &Biblio; --> |
| <div1 id='sec-bibliography'> |
| |
| <head>$B;29MJ88%(B</head> |
| <div2 id='sec-existing-stds'> |
| <head>&normative;$B;29MJ88%(B</head> |
| <!--* <ulist><item> |
| <p>Unicode and ISO/IEC 10646. This specification depends on the |
| international standard ISO/IEC 10646 (with amendments AM 1 through AM 7) |
| and the Unicode Standard, Version 2.0 <bibref ref='Unicode'/>, |
| which define the encodings and meanings of |
| the <termref def="dt-character">characters</termref> which |
| make up XML <termref def="dt-text">text</termref>. |
| All the characters in ISO/IEC 10646 are present, at the same code points, |
| in Unicode.</p></item> |
| <item><p>XXX XXX defines the syntax and semantics of |
| Uniform Resource Identifiers, or URIs.</p></item> |
| <item><p>IETF RFC 1766, with ISO 639 and 3166, |
| describe the codes that may be used in the |
| special <titleref href='sec-lang-tag'>xml:lang</titleref> attribute.</p> |
| </item></ulist> |
| *--> |
| |
| <blist> |
| |
| <bibl id='RFC1766' key='IETF RFC 1766'> |
| IETF (Internet Engineering Task Force). |
| <emph>RFC 1766: Tags for the Identification of Languages</emph>, |
| ed. H. Alvestrand. |
| 1995. |
| </bibl> |
| |
| <bibl id='ISO639' key='ISO 639'> |
| (International Organization for Standardization). |
| <emph>ISO 8879:1988 (E). |
| Code for the representation of names of languages.</emph> |
| [Geneva]: International Organization for |
| Standardization, 1988.</bibl> |
| |
| <bibl id='ISO3166' key='ISO 3166'> |
| (International Organization for Standardization). |
| <emph>ISO 3166-1:1997 (E). |
| Codes for the representation of names of countries and their subdivisions |
| — Part 1: Country codes</emph> |
| [Geneva]: International Organization for |
| Standardization, 1997.</bibl> |
| |
| <bibl id='ISO10646' key='ISO/IEC 10646'>ISO |
| (International Organization for Standardization). |
| <emph>ISO/IEC 10646-1993 (E). Information technology — Universal |
| Multiple-Octet Coded Character Set (UCS) — Part 1: |
| Architecture and Basic Multilingual Plane.</emph> |
| [Geneva]: International Organization for |
| Standardization, 1993 (plus amendments AM 1 through AM 7). |
| </bibl> |
| |
| <bibl id='Unicode' key='Unicode'>The Unicode Consortium. |
| <emph>The Unicode Standard, Version 2.0.</emph> |
| Reading, Mass.: Addison-Wesley Developers Press, 1996.</bibl> |
| |
| </blist> |
| |
| </div2> |
| |
| <div2><head>$BB>$N;29MJ88%(B</head> |
| |
| <blist> |
| |
| <bibl id='Aho' key='Aho/Ullman'>Aho, Alfred V., |
| Ravi Sethi, and Jeffrey D. Ullman. |
| <emph>Compilers: Principles, Techniques, and Tools</emph>. |
| Reading: Addison-Wesley, 1986, rpt. corr. 1988.</bibl> |
| |
| <bibl id="Berners-Lee" xml-link="simple" key="Berners-Lee et al."> |
| Berners-Lee, T., R. Fielding, and L. Masinter. |
| <emph>Uniform Resource Identifiers (URI): Generic Syntax and |
| Semantics</emph>. |
| 1997. |
| (Work in progress; see updates to RFC1738.)</bibl> |
| |
| <bibl id='ABK' key='Brüggemann-Klein'>Brüggemann-Klein, Anne. |
| <emph>Regular Expressions into Finite Automata</emph>. |
| Extended abstract in I. Simon, Hrsg., LATIN 1992, |
| S. 97-98. Springer-Verlag, Berlin 1992. |
| Full Version in Theoretical Computer Science 120: 197-213, 1993. |
| <!-- |
| Universitat Freiburg, Institut fur Informatik, |
| Bericht 33, Juli 1991.--> |
| </bibl> |
| |
| <bibl id='ABKDW' key='Brüggemann-Klein and Wood'>Brüggemann-Klein, Anne, |
| and Derick Wood. |
| <emph>Deterministic Regular Languages</emph>. |
| Universität Freiburg, Institut für Informatik, |
| Bericht 38, Oktober 1991. |
| </bibl> |
| |
| <bibl id="RFC1738" xml-link="simple" key="IETF RFC1738"> |
| IETF (Internet Engineering Task Force). |
| <emph>RFC 1738: Uniform Resource Locators (URL)</emph>, |
| ed. T. Berners-Lee, L. Masinter, M. McCahill. |
| 1994. |
| </bibl> |
| |
| <bibl id="RFC1808" xml-link="simple" key="IETF RFC1808"> |
| IETF (Internet Engineering Task Force). |
| <emph>RFC 1808: Relative Uniform Resource Locators</emph>, |
| ed. R. Fielding. |
| 1995. |
| </bibl> |
| |
| <bibl id="RFC2141" xml-link="simple" key="IETF RFC2141"> |
| IETF (Internet Engineering Task Force). |
| <emph>RFC 2141: URN Syntax</emph>, |
| ed. R. Moats. |
| 1997. |
| </bibl> |
| |
| <bibl id='ISO8879' key='ISO/IEC 8879'>ISO |
| (International Organization for Standardization). |
| <emph>ISO/IEC 8879-1986 (E). Information processing — Text and Office |
| Systems — Standard Generalized Markup Language (SGML).</emph> First |
| edition — 1986-10-15. [Geneva]: International Organization for |
| Standardization, 1986. |
| </bibl> |
| |
| |
| <bibl id='ISO10744' key='ISO/IEC 10744'>ISO |
| (International Organization for Standardization). |
| <emph>ISO/IEC 10744-1992 (E). Information technology — |
| Hypermedia/Time-based Structuring Language (HyTime). |
| </emph> |
| [Geneva]: International Organization for |
| Standardization, 1992. |
| <emph>Extended Facilities Annexe.</emph> |
| [Geneva]: International Organization for |
| Standardization, 1996. |
| </bibl> |
| |
| |
| |
| </blist> |
| </div2> |
| </div1> |
| <div1 id='CharClasses'> |
| <head>$BJ8;z%/%i%9(B</head> |
| |
| <p>Unicode$BI8=`$KDj5A$9$k(B&property;$B$K$7$?$,$C$F!$J8;z$O!$(B&base-character;(BaseChar)($B$3$l$i$O!$(B&diacritical-mark;$B$r=|$/%i%F%s%"%k%U%!%Y%C%H$N%"%k%U%!%Y%C%HJ8;z$r4^$`(B)$B!$(B&ideographic;(ideographic)$B5Z$S(B&combining-character;(CombiningChar)($B$3$N%/%i%9$O!$$[$H$s$I$N(B&diacritical-mark;$B$r4^$`(B)$B$K%/%i%9J,$1$9$k!#$3$l$i$N%/%i%9$O!$7k9g$7!$(B&letter;(Letter)$B$N%/%i%9$H$J$k!#(B10$B?J?tCM(B(Digit)$B5Z$S(B&extender;(Extender)$B$b6hJL$9$k!#(B |
| <scrap lang="ebnf" id="CHARACTERS"> |
| <head>$BJ8;z(B</head> |
| <prodgroup pcw3="3" pcw4="15"> |
| <prod id="NT-Letter"><lhs>Letter</lhs> |
| <rhs><nt def="NT-BaseChar">BaseChar</nt> |
| | <nt def="NT-Ideographic">Ideographic</nt></rhs> </prod> |
| <prod id='NT-BaseChar'><lhs>BaseChar</lhs> |
| <rhs>[#x0041-#x005A] |
| | [#x0061-#x007A] |
| | [#x00C0-#x00D6] |
| | [#x00D8-#x00F6] |
| | [#x00F8-#x00FF] |
| | [#x0100-#x0131] |
| | [#x0134-#x013E] |
| | [#x0141-#x0148] |
| | [#x014A-#x017E] |
| | [#x0180-#x01C3] |
| | [#x01CD-#x01F0] |
| | [#x01F4-#x01F5] |
| | [#x01FA-#x0217] |
| | [#x0250-#x02A8] |
| | [#x02BB-#x02C1] |
| | #x0386 |
| | [#x0388-#x038A] |
| | #x038C |
| | [#x038E-#x03A1] |
| | [#x03A3-#x03CE] |
| | [#x03D0-#x03D6] |
| | #x03DA |
| | #x03DC |
| | #x03DE |
| | #x03E0 |
| | [#x03E2-#x03F3] |
| | [#x0401-#x040C] |
| | [#x040E-#x044F] |
| | [#x0451-#x045C] |
| | [#x045E-#x0481] |
| | [#x0490-#x04C4] |
| | [#x04C7-#x04C8] |
| | [#x04CB-#x04CC] |
| | [#x04D0-#x04EB] |
| | [#x04EE-#x04F5] |
| | [#x04F8-#x04F9] |
| | [#x0531-#x0556] |
| | #x0559 |
| | [#x0561-#x0586] |
| | [#x05D0-#x05EA] |
| | [#x05F0-#x05F2] |
| | [#x0621-#x063A] |
| | [#x0641-#x064A] |
| | [#x0671-#x06B7] |
| | [#x06BA-#x06BE] |
| | [#x06C0-#x06CE] |
| | [#x06D0-#x06D3] |
| | #x06D5 |
| | [#x06E5-#x06E6] |
| | [#x0905-#x0939] |
| | #x093D |
| | [#x0958-#x0961] |
| | [#x0985-#x098C] |
| | [#x098F-#x0990] |
| | [#x0993-#x09A8] |
| | [#x09AA-#x09B0] |
| | #x09B2 |
| | [#x09B6-#x09B9] |
| | [#x09DC-#x09DD] |
| | [#x09DF-#x09E1] |
| | [#x09F0-#x09F1] |
| | [#x0A05-#x0A0A] |
| | [#x0A0F-#x0A10] |
| | [#x0A13-#x0A28] |
| | [#x0A2A-#x0A30] |
| | [#x0A32-#x0A33] |
| | [#x0A35-#x0A36] |
| | [#x0A38-#x0A39] |
| | [#x0A59-#x0A5C] |
| | #x0A5E |
| | [#x0A72-#x0A74] |
| | [#x0A85-#x0A8B] |
| | #x0A8D |
| | [#x0A8F-#x0A91] |
| | [#x0A93-#x0AA8] |
| | [#x0AAA-#x0AB0] |
| | [#x0AB2-#x0AB3] |
| | [#x0AB5-#x0AB9] |
| | #x0ABD |
| | #x0AE0 |
| | [#x0B05-#x0B0C] |
| | [#x0B0F-#x0B10] |
| | [#x0B13-#x0B28] |
| | [#x0B2A-#x0B30] |
| | [#x0B32-#x0B33] |
| | [#x0B36-#x0B39] |
| | #x0B3D |
| | [#x0B5C-#x0B5D] |
| | [#x0B5F-#x0B61] |
| | [#x0B85-#x0B8A] |
| | [#x0B8E-#x0B90] |
| | [#x0B92-#x0B95] |
| | [#x0B99-#x0B9A] |
| | #x0B9C |
| | [#x0B9E-#x0B9F] |
| | [#x0BA3-#x0BA4] |
| | [#x0BA8-#x0BAA] |
| | [#x0BAE-#x0BB5] |
| | [#x0BB7-#x0BB9] |
| | [#x0C05-#x0C0C] |
| | [#x0C0E-#x0C10] |
| | [#x0C12-#x0C28] |
| | [#x0C2A-#x0C33] |
| | [#x0C35-#x0C39] |
| | [#x0C60-#x0C61] |
| | [#x0C85-#x0C8C] |
| | [#x0C8E-#x0C90] |
| | [#x0C92-#x0CA8] |
| | [#x0CAA-#x0CB3] |
| | [#x0CB5-#x0CB9] |
| | #x0CDE |
| | [#x0CE0-#x0CE1] |
| | [#x0D05-#x0D0C] |
| | [#x0D0E-#x0D10] |
| | [#x0D12-#x0D28] |
| | [#x0D2A-#x0D39] |
| | [#x0D60-#x0D61] |
| | [#x0E01-#x0E2E] |
| | #x0E30 |
| | [#x0E32-#x0E33] |
| | [#x0E40-#x0E45] |
| | [#x0E81-#x0E82] |
| | #x0E84 |
| | [#x0E87-#x0E88] |
| | #x0E8A |
| | #x0E8D |
| | [#x0E94-#x0E97] |
| | [#x0E99-#x0E9F] |
| | [#x0EA1-#x0EA3] |
| | #x0EA5 |
| | #x0EA7 |
| | [#x0EAA-#x0EAB] |
| | [#x0EAD-#x0EAE] |
| | #x0EB0 |
| | [#x0EB2-#x0EB3] |
| | #x0EBD |
| | [#x0EC0-#x0EC4] |
| | [#x0F40-#x0F47] |
| | [#x0F49-#x0F69] |
| | [#x10A0-#x10C5] |
| | [#x10D0-#x10F6] |
| | #x1100 |
| | [#x1102-#x1103] |
| | [#x1105-#x1107] |
| | #x1109 |
| | [#x110B-#x110C] |
| | [#x110E-#x1112] |
| | #x113C |
| | #x113E |
| | #x1140 |
| | #x114C |
| | #x114E |
| | #x1150 |
| | [#x1154-#x1155] |
| | #x1159 |
| | [#x115F-#x1161] |
| | #x1163 |
| | #x1165 |
| | #x1167 |
| | #x1169 |
| | [#x116D-#x116E] |
| | [#x1172-#x1173] |
| | #x1175 |
| | #x119E |
| | #x11A8 |
| | #x11AB |
| | [#x11AE-#x11AF] |
| | [#x11B7-#x11B8] |
| | #x11BA |
| | [#x11BC-#x11C2] |
| | #x11EB |
| | #x11F0 |
| | #x11F9 |
| | [#x1E00-#x1E9B] |
| | [#x1EA0-#x1EF9] |
| | [#x1F00-#x1F15] |
| | [#x1F18-#x1F1D] |
| | [#x1F20-#x1F45] |
| | [#x1F48-#x1F4D] |
| | [#x1F50-#x1F57] |
| | #x1F59 |
| | #x1F5B |
| | #x1F5D |
| | [#x1F5F-#x1F7D] |
| | [#x1F80-#x1FB4] |
| | [#x1FB6-#x1FBC] |
| | #x1FBE |
| | [#x1FC2-#x1FC4] |
| | [#x1FC6-#x1FCC] |
| | [#x1FD0-#x1FD3] |
| | [#x1FD6-#x1FDB] |
| | [#x1FE0-#x1FEC] |
| | [#x1FF2-#x1FF4] |
| | [#x1FF6-#x1FFC] |
| | #x2126 |
| | [#x212A-#x212B] |
| | #x212E |
| | [#x2180-#x2182] |
| | [#x3041-#x3094] |
| | [#x30A1-#x30FA] |
| | [#x3105-#x312C] |
| | [#xAC00-#xD7A3] |
| </rhs></prod> |
| <prod id='NT-Ideographic'><lhs>Ideographic</lhs> |
| <rhs>[#x4E00-#x9FA5] |
| | #x3007 |
| | [#x3021-#x3029] |
| </rhs></prod> |
| <prod id='NT-CombiningChar'><lhs>CombiningChar</lhs> |
| <rhs>[#x0300-#x0345] |
| | [#x0360-#x0361] |
| | [#x0483-#x0486] |
| | [#x0591-#x05A1] |
| | [#x05A3-#x05B9] |
| | #x05BB#x05BD |
| | #x05BF |
| | [#x05C1-#x05C2] |
| | #x05C4 |
| | #x064B#x0652 |
| | #x0670 |
| | [#x06D6-#x06DC] |
| | #x06DD#x06DF |
| | [#x06E0-#x06E4] |
| | [#x06E7-#x06E8] |
| | [#x06EA-#x06ED] |
| | [#x0901-#x0903] |
| | #x093C |
| | [#x093E-#x094C] |
| | #x094D |
| | [#x0951-#x0954] |
| | [#x0962-#x0963] |
| | [#x0981-#x0983] |
| | #x09BC |
| | #x09BE |
| | #x09BF |
| | [#x09C0-#x09C4] |
| | [#x09C7-#x09C8] |
| | [#x09CB-#x09CD] |
| | #x09D7 |
| | [#x09E2-#x09E3] |
| | #x0A02 |
| | #x0A3C |
| | #x0A3E |
| | #x0A3F |
| | [#x0A40-#x0A42] |
| | [#x0A47-#x0A48] |
| | [#x0A4B-#x0A4D] |
| | [#x0A70-#x0A71] |
| | [#x0A81-#x0A83] |
| | #x0ABC |
| | [#x0ABE-#x0AC5] |
| | [#x0AC7-#x0AC9] |
| | [#x0ACB-#x0ACD] |
| | [#x0B01-#x0B03] |
| | #x0B3C |
| | [#x0B3E-#x0B43] |
| | [#x0B47-#x0B48] |
| | [#x0B4B-#x0B4D] |
| | [#x0B56-#x0B57] |
| | [#x0B82-#x0B83] |
| | [#x0BBE-#x0BC2] |
| | [#x0BC6-#x0BC8] |
| | [#x0BCA-#x0BCD] |
| | #x0BD7 |
| | [#x0C01-#x0C03] |
| | [#x0C3E-#x0C44] |
| | [#x0C46-#x0C48] |
| | [#x0C4A-#x0C4D] |
| | [#x0C55-#x0C56] |
| | [#x0C82-#x0C83] |
| | [#x0CBE-#x0CC4] |
| | [#x0CC6-#x0CC8] |
| | [#x0CCA-#x0CCD] |
| | [#x0CD5-#x0CD6] |
| | [#x0D02-#x0D03] |
| | [#x0D3E-#x0D43] |
| | [#x0D46-#x0D48] |
| | [#x0D4A-#x0D4D] |
| | #x0D57 |
| | #x0E31 |
| | [#x0E34-#x0E3A] |
| | [#x0E47-#x0E4E] |
| | #x0EB1 |
| | [#x0EB4-#x0EB9] |
| | [#x0EBB-#x0EBC] |
| | [#x0EC8-#x0ECD] |
| | [#x0F18-#x0F19] |
| | #x0F35 |
| | #x0F37 |
| | #x0F39 |
| | #x0F3E |
| | #x0F3F |
| | [#x0F71-#x0F84] |
| | [#x0F86-#x0F8B] |
| | [#x0F90-#x0F95] |
| | #x0F97 |
| | [#x0F99-#x0FAD] |
| | [#x0FB1-#x0FB7] |
| | #x0FB9 |
| | [#x20D0-#x20DC] |
| | #x20E1 |
| | [#x302A-#x302F] |
| | #x3099 |
| | #x309A |
| </rhs></prod> |
| <prod id='NT-Digit'><lhs>Digit</lhs> |
| <rhs>[#x0030-#x0039] |
| | [#x0660-#x0669] |
| | [#x06F0-#x06F9] |
| | [#x0966-#x096F] |
| | [#x09E6-#x09EF] |
| | [#x0A66-#x0A6F] |
| | [#x0AE6-#x0AEF] |
| | [#x0B66-#x0B6F] |
| | [#x0BE7-#x0BEF] |
| | [#x0C66-#x0C6F] |
| | [#x0CE6-#x0CEF] |
| | [#x0D66-#x0D6F] |
| | [#x0E50-#x0E59] |
| | [#x0ED0-#x0ED9] |
| | [#x0F20-#x0F29] |
| </rhs></prod> |
| <prod id='NT-Extender'><lhs>Extender</lhs> |
| <rhs>#x00B7 |
| | #x02D0 |
| | #x02D1 |
| | #x0387 |
| | #x0640 |
| | #x0E46 |
| | #x0EC6 |
| | #x3005 |
| | [#x3031-#x3035] |
| | [#x309D-#x309E] |
| | [#x30FC-#x30FE] |
| </rhs></prod> |
| |
| </prodgroup> |
| </scrap> |
| </p> |
| <p>$B$3$3$GDj5A$9$kJ8;z%/%i%9$O!$(BUnicode$BJ8;z%G!<%?%Y!<%9$+$i!$<!$N$H$*$j$KF@$k$3$H$,$G$-$k!#(B |
| <ulist> |
| <item> |
| <p>a) $BL>A03+;OJ8;z$O!$(BLl, Lu, Lo, Lt, Nl$B%+%F%4%jFb$N0l$D$G$J$1$l$P$J$i$J$$!#(B</p> |
| </item> |
| <item> |
| <p>b) $BL>A03+;OJ8;z0J30$NL>A0J8;z$O!$(BMc, Me, Mn, Lm, Nd$B%+%F%4%jFb$N0l$D$G$J$1$l$P$J$i$J$$!#(B</p> |
| </item> |
| <item> |
| <p>c) &compatibility-area;$B$K$"$kJ8;z(B($BJ8;zId9f$G(B#xF900$B$h$jBg$-$/(B#xFFFE$B$h$j>.$5$$J8;z(B)$B$O!$(BXML$B$K$*$1$kL>A0$H$7$F$O!$5v$5$l$J$$!#(B</p> |
| </item> |
| <item> |
| <p>d) &font-decomposition;$B$+(B&compatibility-decomposition;$B$r$b$DJ8;z(B($B$D$^$j!$%G!<%?%Y!<%9Fb$N#5HVL\$N%U%#!<%k%I$K(B"compatibility formatting tag"$B$,$"$k$b$N!#$3$l$O!$#5HVL\$N%U%#!<%k%I$,!$(B"<"$B$G;O$^$k$3$H$K$h$C$F%^!<%/IU$1$5$l$k!#(B)$B$O!$5v$5$l$J$$!#(B</p> |
| </item> |
| <item> |
| <p>e) $B<!$NJ8;z$O!$L>A03+;OJ8;z$H$7$F07$&!#$3$l$O!$(B&property-file;$B$,!$$3$l$i$NJ8;z$r%"%k%U%!%Y%C%H$KN`;w$9$k$H8+$J$9$3$H$K$h$k!#$=$l$i$O(B |
| [#x02BB-#x02C1], #x0559, #x06E5, #x06E6$B$H$9$k!#(B</p> |
| </item> |
| <item> |
| <p>f) $BJ8;zId9f$,(B#x20DD-#x20E0$B$NJ8;z$O!$(B(Unicode $B$N(B5.14$B$K$7$?$,$C$F(B)$B=|30$9$k!#(B</p> |
| </item> |
| <item> |
| <p>g) $BJ8;zId9f$,(B#x00B7$B$NJ8;z$O!$(B&property-list;$B$K$7$?$,$C$F!$(B&extender;(extender)$B$KJ,N`$9$k!#(B</p> |
| </item> |
| <item> |
| <p>h) $BJ8;z(B#x0387$B$O!$$3$l$KAjEv$9$k@55,7A$,(B#x00B7$B$J$N$G!$L>A0J8;z$KDI2C$9$k!#(B</p> |
| </item> |
| <item> |
| <p>i) $BJ8;z(B':'$B5Z$S(B'_'$B$O!$L>A03+;OJ8;z$H$7$F5v$9!#(B</p> |
| </item> |
| <item> |
| <p>j) $BJ8;z(B'-'$B5Z$S(B'.'$B$O!$L>A0J8;z$H$7$F5v$9!#(B</p> |
| </item> |
| </ulist> |
| </p> |
| </div1> |
| <inform-div1 id="sec-xml-and-sgml"> |
| <head>XML$B5Z$S(BSGML</head> |
| |
| <p>XML$B$O!$(BSGML$B$N(B⊂$B$H$7$F@_7W$5$l$F$$$k!#$9$J$o$A!$$9$Y$F$N(B<termref def="dt-valid">&valid;</termref>$B$J(BXML$BJ8=q$O!$5,3J$KE,9g$9$k(BSGML$BJ8=q$K$b$J$k!#(BSGML$B$,J8=q$K2]$9@)8B0J30$K!$(BXML$B$,$$$+$J$k@)8B$r2]$9$+$K4X$9$k>\:Y$O!$JL$N(B<loc href='http://www.w3.org/TR/NOTE-sgml-xml'>$B5,Dx(B</loc>$B$r;2>H$N$3$H!#$3$N5,Dx$O!$(BXML$B$N@)Ls>r7o$r<($9(BSGML$B@k8@$r4^$_!$$3$l$O!$(BSGML&parser;$B$K;HMQ$G$-$k!#(B |
| </p> |
| </inform-div1> |
| <inform-div1 id="sec-entexpand"> |
| <head>$B<BBN;2>H5Z$SJ8;z;2>H$NE83+(B</head> |
| <p>$B$3$NIUO?$O!$<BBN;2>H5Z$SJ8;z;2>H$rG'<1$7!$E83+$9$k!$0lO"$NN.$l$r!$Nc$K;H$C$F<($9!#(B</p> |
| <p> |
| DTD$B$,!$<!$N@k8@$r4^$`>l9g$r9M$($k!#(B |
| <eg><![CDATA[<!ENTITY example "<p>An ampersand (&#38;) may be escaped |
| numerically (&#38;#38;) or with a general entity |
| (&amp;).</p>" > |
| ]]></eg> |
| XML&processor;$B$O!$<BBN$N@k8@$r9=J82r@O$7$?;~E@$GJ8;z;2>H$rG'<1$7!$$3$l$r2r7h$9$k!#<BBN(B"<code>example</code>"$B$NCM$H$7$F!$<!$N(B&string;$B$rJ]B8$9$k!#(B |
| <eg><![CDATA[<p>An ampersand (&) may be escaped |
| numerically (&#38;) or with a general entity |
| (&amp;).</p> |
| ]]></eg> |
| $BJ8=qFb$G(B"<code>&example;</code>"$B$r;2>H$9$k$H!$$3$N%F%-%9%H$O!$:F$S9=J82r@O$5$l$k!#$3$N$H$-!$MWAG(B"<code>p</code>"$B$N3+;O%?%05Z$S=*N;%?%0$rG'<1$7!$;0$D$N;2>H$rG'<1$7E83+$9$k!#$=$N7k2L!$MWAG(B"<code>p</code>"$B$O!$<!$NFbMF$r$b$D(B($B$9$Y$F%G!<%?$H$7!$6h@Z$j;RKt$O(B&markup;$B$OB8:_$7$J$$!#(B)$B!#(B |
| <eg><![CDATA[An ampersand (&) may be escaped |
| numerically (&) or with a general entity |
| (&). |
| ]]></eg> |
| </p> |
| <p>$B5,B'5Z$S$=$N8z2L$r$h$j>\:Y$K<($9$?$a!$$5$i$KJ#;($JNc$r<($9!#<!$NNc$G!$9THV9f$O!$;2>H$NJX59$N$?$a$@$1$KIU$1$k!#(B |
| <eg><![CDATA[1 <?xml version='1.0'?> |
| 2 <!DOCTYPE test [ |
| 3 <!ELEMENT test (#PCDATA) > |
| 4 <!ENTITY % xx '%zz;'> |
| 5 <!ENTITY % zz '<!ENTITY tricky "error-prone" >' > |
| 6 %xx; |
| 7 ]> |
| 8 <test>This sample shows a &tricky; method.</test> |
| ]]></eg> |
| $B$3$l$r=hM}$9$k$H!$<!$N$H$*$j$H$J$k!#(B |
| <ulist spacing="compact"> |
| <item><p>a) 4$B9TL\$G!$(B37$BHVL\$NJ8;z$X$N;2>H$rD>$A$KE83+$7!$%Q%i%a%?<BBN(B"<code>xx</code>"$B$r!$%7%s%\%k%F!<%V%k$K(B"<code>%zz;</code>"$B$H$$$&CM$H$H$b$KJ]B8$9$k!#(B&replacement-text;$B$r:F$SAv::$9$k$3$H$O$J$$$N$G!$%Q%i%a%?<BBN(B"<code>zz</code>"$B$X$N;2>H$OG'<1$7$J$$(B("<code>zz</code>"$B$O!$$^$@@k8@$5$l$F$$$J$$$N$G!$Av::$5$l$l$P!$(B&error;$B$H$J$k!#(B)$B!#(B</p></item> |
| <item><p>b) 5$B9TL\$G!$J8;z;2>H(B"<code>&#60;</code>"$B$rD>$A$KE83+$7!$%Q%i%a%?<BBN(B"<code>zz</code>"$B$r(B"<code><!ENTITY tricky "error-prone" ></code>"$B$H$$$&(B&replacement-text;$B$H$H$b$KJ]B8$9$k!#$3$l$O!$(B&well-formed;$B$N<BBN@k8@$H$9$k!#(B</p></item> |
| <item><p>c) 6$B9TL\$G!$(B"<code>xx</code>"$B$X$N;2>H$rG'<1$7!$(B"<code>xx</code>"$B$N(B&replacement-text;($B$9$J$o$A!$(B"<code>%zz;</code>")$B$r9=J82r@O$9$k!#(B"<code>zz</code>"$B$X$N;2>H$rB3$$$FG'<1$7!$(B&replacement-text;("<code><!ENTITY tricky "error-prone" ></code>")$B$r9=J82r@O$9$k!#0lHL<BBN(B"<code>tricky</code>"$B$O!$$3$N;~E@$G$O!$@k8@$5$l$F$*$j!$$=$N(B&replacement-text;$B$O!$(B"<code>error-prone</code>"$B$H$9$k!#(B </p></item> |
| <item><p>d) 8$B9TL\$G!$0lHL<BBN(B"<code>tricky</code>"$B$X$N;2>H$rG'<1$7!$E83+$9$k!#MWAG(B"<code>test</code>"$B$N40A4$JFbMF$O!$<!$N(B($BFbMF$r$=$l<+BNI=8=$9$k!#(B)&string;$B$H$J$k!#$D$^$j!$(B<emph>This sample shows a error-prone method.</emph> |
| </p></item> |
| </ulist> |
| </p> |
| </inform-div1> |
| <inform-div1 id="determinism"> |
| <head>$B7hDjE*FbMF%b%G%k(B</head> |
| <p><termref def='dt-compat'>$B8_49@-$N$?$a(B</termref>$B!$MWAG@k8@$K$*$1$kFbMF%b%G%k$O!$7hDjE*$H$9$kI,MW$,$"$k!#(B |
| </p> |
| <!-- FINAL EDIT: WebSGML allows ambiguity? --> |
| <p>SGML$B$O!$7hDjE*FbMF%b%G%k(B(SGML$B$G$O!$Hs$"$$$^$$$H8F$V!#(B)$B$rMW5a$9$k!#(BSGML$B%7%9%F%`$rMQ$$$F:n@.$7$?(BXML&processor;$B$O!$Hs7hDjE*FbMF%b%G%k$r(B&error;$B$H$7$F$b$h$$!#(B</p> |
| <p>$BNc$($P!$FbMF%b%G%k(B<code>((b, c) | (b, d))</code>$B$OHs7hDjE*$H$J$k!#$3$l$O!$:G=i$K(B<code>b</code>$B$rM?$($?$H$-!$%b%G%kFb$N$$$:$l$N(B<code>b</code>$B$H(B&match;$B$9$k$N$,K>$^$7$$$+!$$=$N<!$NMWAG$r@hFI$_$9$k$3$H$J$7$K$O!$(B&parser;$B$OCN$k$3$H$,$G$-$J$$$3$H$K$h$k!#$3$N>l9g$O!$(B<code>b</code>$B$X$NFs$D$N;2>H$O!$0l$D$N;2>H$K$^$H$a$k$3$H$,$G$-!$%b%G%k$O!$(B<code>(b, (c | d))</code>$B$H$J$k!#$3$l$G!$:G=i$N(B<code>b</code>$B$,!$FbMF%b%G%kFb$N0l$D$NL>A0$H$@$1(B&match;$B$9$k$3$H$OL@$i$+$H$J$k!#(B&parser;$B$O!$@hFI$_$7$F!$<!$KMh$k$b$N$rCN$kI,MW$,$J$$!#(B<code>c</code>$B$b(B<code>d</code>$B$b!$<uM}$5$l$k!#(B</p> |
| <p>$B7A<0E*$K<($9!#(BAho, Sethi, and Ullman <bibref ref='Aho'/>$B$N(B3.9$B$N%"%k%4%j%:%`(B3.5$B$NI8=`E*$J%"%k%4%j%:%`$rMQ$$$F!$FbMF%b%G%k$+$iM-8B%*!<%H%^%H%s$r9=@.$9$k$3$H$,$G$-$k!#$3$N<o$NB?$/$N%"%k%4%j%:%`$G$O!$@55,I=8=$K$*$1$k3F!9$N0LCV(B($B$D$^$j!$@55,I=8=$N9=J8LZ$K$*$1$k3F!9$NKvC<%N!<%I(B)$B$KBP$7$F!$(Bfollow set($B<!$K$I$N0LCV$K0\F02DG=$+$rI=$9$b$N(B)$B$r9=@.$9$k!#$"$k0LCV$KBP$9$k(Bfollow set$B$K$*$$$F!$J#?t$N0LCV$,F1$8MWAG7?L>$G%i%Y%kIU$1$5$l$F$$$l$P!$$=$NFbMF%b%G%k$O(B&error;$B$H$J$j!$(B&error;$B$rJV$9>l9g$b$"$k!#(B |
| </p> |
| <p>$B$9$Y$F$NHs7hDjE*FbMF%b%G%k$rEy2A$J7hDjE*FbMF%b%G%k$KJQ49$9$k$3$H$O$G$-$J$$$,!$B?$/$NHs7hDjE*FbMF%b%G%k$rJQ49$9$k%"%k%4%j%:%`$,B8:_$9$k!#(BBrüggemann-Klein 1991 <bibref ref='ABK'/>$B$r;2>H$N$3$H!#(B</p> |
| </inform-div1> |
| <inform-div1 id="sec-guessing"> |
| <head>$BJ8;zId9f2=$N<+F08!=P(B</head> |
| <p> |
| XML$B$NId9f2=@k8@$O!$3F<BBN$NFbIt%i%Y%k$H$7$F5!G=$7!$$I$NJ8;zId9f2=$r;HMQ$9$k$+$r<($9!#$7$+$7!$(BXML&processor;$B$O!$FbIt%i%Y%k$rFI$`A0$K!$$I$NJ8;zId9f2=$r;HMQ$9$k$+$rCN$kI,MW$,$"$j!$$3$l$,!$FbIt%i%Y%k$,<($=$&$H$9$k$3$H$K$J$k!#0lHLE*$K$O!$$3$l$O!$@dK>E*$J>uBV$H$J$k!#$7$+$7!$(BXML$B$K$*$$$F$O!$40A4$K$O@dK>E*$G$O$J$$!#$3$l$O!$(BXML$B$,!$<!$NFs$D$NE@$G0lHLE*$J>l9g$KBP$9$k@)8B$r2C$($k$3$H$K$h$k!#0l$D$N@)8B$O!$$I$N<BAu$bM-8B8D$NJ8;zId9f2=$@$1$N%5%]!<%H$rA[Dj$9$k$3$H$H$9$k!#B>$N0l$D$N@)8B$O!$3F<BBN$G;HMQ$9$kJ8;zId9f2=$r<+F08!=P2DG=$H$9$k!$(BXML$B$NId9f2=@k8@$N0LCV5Z$SFbMF$K4X$9$k@)8B$H$9$k!#B?$/$N>l9g$K!$(BXML$B$N%G!<%?%9%H%j!<%`$K2C$(!$B>$N>pJs$,MxMQ$G$-$k!#$3$3$G$O!$(BXML$B$N<BBN$,(B&processor;$B$KEO$5$l$k$H$-!$(B($B30It(B)$B>pJs$rH<$&$+$I$&$+$K$h$C$F!$Fs$D$N>l9g$KJ,$1$k!#$^$::G=i$N>l9g$r<($9!#(B</p> |
| <p> |
| UTF-8$B7A<0Kt$O(BUTF-16$B7A<0$G$O$J$$(BXML$B<BBN$O!$:G=i$NJ8;z$r!F(B<code><?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'<'$B$,(B"<code>#x0000003C</code>"$B!$(B'?'$B$,(B"<code>#x0000003F</code>"$B!$5Z$S(BUTF-16$B$N%G!<%?(B&stream;$B$NI,MW$H$9$k(B&byte-order-mark;$B$,(B"<code>#xFEFF</code>"$B$H$$$&$3$H$rCN$C$F$*$/$HLrN)$D$+$b$7$l$J$$!#(B</p> |
| <p> |
| <ulist> |
| <item> |
| <p>a) <code>00 00 00 3C</code>: UCS-4, big-endian $B%^%7%s(B (1234$B=g(B)</p> |
| </item> |
| <item> |
| <p>b) <code>3C 00 00 00</code>: UCS-4, little-endian $B%^%7%s(B (4321$B=g(B)</p> |
| </item> |
| <item> |
| <p>c) <code>00 00 3C 00</code>: UCS-4, $BIaDL$G$O$J$$%*%/%F%C%H=g(B (2143)</p> |
| </item> |
| <item> |
| <p>d) <code>00 3C 00 00</code>: UCS-4, $BIaDL$G$O$J$$%*%/%F%C%H=g(B (3412)</p> |
| </item> |
| <item> |
| <p>e) <code>FE FF</code>: UTF-16, big-endian</p> |
| </item> |
| <item> |
| <p>f) <code>FF FE</code>: UTF-16, little-endian</p> |
| </item> |
| <item> |
| <p>g) <code>00 3C 00 3F</code>: UTF-16, big-endian, &byte-order-mark;$B$J$7(B($B$7$?$,$C$F!$87L)$K$$$($P!$(B&error;$B$H$9$k!#(B)$B!#(B</p> |
| </item> |
| <item> |
| <p>h) <code>3C 00 3F 00</code>: UTF-16, little-endian, &byte-order-mark;$B$J$7(B($B$7$?$,$C$F!$87L)$K$$$($P!$(B&error;$B$H$9$k!#(B)$B!#(B</p> |
| </item> |
| <item> |
| <p>i) <code>3C 3F 78 6D</code>: UTF-8, ISO 646, ASCII, ISO 8859$B$N3F%Q!<%H!$(BShift-JIS$B!$(BEUC$B!$JB$S$KG$0U$NB>$N(B7$B%S%C%H!$(B8$B%S%C%HKt$O:.:_I}$NId9f2=$G$"$C$F!$(BASCII$BJ8;z$rDL>o$N0LCV!$I}5Z$SCM$H$9$k$3$H$rJ]>Z$9$k$b$N!#$3$l$i$N$I$l$KBP1~$9$k$+$r8!=P$9$k$?$a$K$O!$<B:]$NId9f2=@k8@$rFI$_9~$^$J$1$l$P$J$i$J$$!#$7$+$7!$$3$l$i$9$Y$F$NId9f2=$O!$(BASCII$BJ8;z$KBP$7$FF1$8%S%C%H%Q%?!<%s$r;HMQ$9$k$N$G!$Id9f2=@k8@<+BN$O!$@53N$KFI9~$_2DG=$H$9$k!#(B |
| </p> |
| </item> |
| <item> |
| <p>j) <code>4C 6F A7 94</code>: EBCDIC ($BKt$O$=$NJQ<o!#$I$N%3!<%I%Z!<%8$r;HMQ$9$k$+$rCN$k$?$a$K$O!$Id9f2=@k8@A4BN$rFI$_9~$^$l$J$1$l$P$J$i$J$$!#(B)</p> |
| </item> |
| <item> |
| <p>k) $B$=$NB>(B: $BId9f2=@k8@$J$7$N(BUTF-8$B!#$=$&$G$J$$$H$-$K$O!$%G!<%?(B&stream;$B$,2u$l$F$$$k$+!$CGJRE*$K$J$C$F$$$k$+!$2?$i$+$N7A<0$K$7$?$,$C$FKd$a9~$^$l$F$$$k!#(B</p> |
| </item> |
| </ulist> |
| </p> |
| <p> |
| $B$3$NDxEY$N<+F0H=JL$G$b!$(BXML$B$NId9f2=@k8@$rFI$_9~$_!$J8;zId9f2=$N(B&identifier;$B$r2r@O$9$k$K$O==J,$H$9$k!#(B&identifier;$B$N2r@O$O!$N`;w$9$k3F!9$NId9f2=$N0l$D0l$D$r6hJL$9$k$?$a$KI,MW$H$9$k(B($BNc$($P!$(BUTF-8$B5Z$S(B8859$B$r6hJL$9$k$?$a!$(B8859$B$N3F%Q!<%H$r6hJL$9$k$?$a!$;HMQ$7$F$$$kFCDj$N(BEBCDIC$B%3!<%I%Z!<%8$r6hJL$9$k$?$a!$$J$I!#(B)$B!#(B |
| </p> |
| <p> |
| $BId9f2=@k8@$NFbMF$r(BASCII$BJ8;z$K8BDj$7$F$$$k$N$G!$$I$NJ,N`$NId9f2=$r;HMQ$9$k$+$r8!=P$9$l$P!$(B&processor;$B$O!$Id9f2=@k8@A4BN$r@53N$KFI$_9~$`$3$H$,$G$-$k!#8=<BLdBj$H$7$F!$9-$/;HMQ$5$l$F$$$kJ8;zId9f2=$O!$>e$NJ,N`$N$$$:$l$+$K$"$F$O$^$k$N$G!$%*%Z%l!<%F%#%s%0%7%9%F%`Kt$OEAAw%W%m%H%3%k$,M?$($k30It>pJs$r?.MjIT2DG=$J$H$-$G$5$($b!$FbIt%i%Y%k$GJ8;zId9f2=$r$+$J$j@53N$K<($9$3$H$,!$(BXML$BId9f2=@k8@$K$h$C$F2DG=$H$J$k!#(B |
| </p> |
| <p> |
| &processor;$B$,;HMQ$9$kJ8;zId9f2=$r8!=P$7$5$($9$l$P!$$=$l$>$l$N>l9g$KBP$7$FJL8D$NF~NO%k!<%A%s$r8F$S=P$9!$Kt$OF~NO$9$k3FJ8;z$KBP$7E,@Z$JJQ494X?t$r8F$S=P$9$3$H$K$h$C$F!$E,@Z$JF0:n$,2DG=$H$J$k!#(B</p> |
| <p> |
| $B<+J,<+BN$K%i%Y%kIU$1$r$9$k$$$+$J$k%7%9%F%`$G$bF1MM$@$,!$%=%U%H%&%'%"$,!$Id9f2=@k8@$r99?7$;$:$K<BBN$NJ8;z=89gKt$OId9f2=$rJQ$($?$J$i$P!$(BXML$B$NId9f2=@k8@$O!$5!G=$7$J$$!#J8;zId9f2=%k!<%A%s$N<BAu<T$O!$<BBN$N%i%Y%kIU$1$K;HMQ$9$kFbIt5Z$S30It$N>pJs$N@53N$5$NJ]>Z$KCm0U$9$k$N$,K>$^$7$$!#(B |
| </p> |
| <p>$B#2HVL\$N>l9g$O!$(BXML$B$N<BBN$NB>$K!$Id9f2=>pJs$,B8:_$9$k$H$-$G$"$C$F!$$$$/$D$+$N%U%!%$%k%7%9%F%`5Z$S%M%C%H%o!<%/%W%m%H%3%k$G$O!$$=$NId9f2=>pJs$,B8:_$9$k!#J#?t$N>pJs$,MxMQ$G$-$k$H$-!$(B<!-- (e.g. both the |
| internal encoding declaration and an external label), -->$B$=$l$i$NAjBPE*$JM%@hEY5Z$S$=$l$i$,L7=b$7$?$H$-$NK>$^$7$$=hM}J}K!$O!$(BXML$B$NG[Aw$K;HMQ$9$k!$$h$j9b?e=`$N%W%m%H%3%k$N0lIt$H$7$F5,Dx$9$k$N$,$h$$!#Nc$($P!$FbIt%i%Y%k5Z$S30It(B&header;$B$KB8:_$9$k(BMIME$B7A<0$N%i%Y%k$NAjBPE*$JM%@hEY$KBP$9$k5,B'$O!$(Btext/xml$B5Z$S(Bapplication/xml$B$N(BMIME$B7?$rDj5A$9$k(BRFC$BJ8=q$N0lIt$H$J$kJ}$,$h$$!#$7$+$7!$Aj8_1?MQ@-$N$?$a$K!$<!$N5,B'$K=>$&$3$H$,K>$^$7$$!#(B |
| <ulist> |
| <item><p>a) XML$B$N<BBN$,%U%!%$%k$KB8:_$9$l$P!$(B&byte-order-mark;$B5Z$SId9f2=@k8@(BPI$B$O!$(B($BB8:_$9$l$P(B)$BJ8;zId9f2=$r7hDj$9$k$?$a$K;HMQ$9$k!#B>$N$9$Y$F$N(B&hueristics;$B5Z$S>pJs$O!$(B&error;$B2sI|$N$?$a$@$1$KMQ$$$k!#(B |
| </p></item> |
| <item><p>b) XML$B$N<BBN$r(BMIME$B7?(Btext/xml$B$GG[Aw$9$k$H$-$O!$$3$N(BMIME$B7?$N$b$D(Bcharset$B%Q%i%a%?$,J8;zId9f2=J}K!$r7hDj$9$k!#B>$N$9$Y$F$N(B&hueristics;$B5Z$S>pJs$O!$(B&error;$B2sI|$N$?$a$@$1$KMQ$$$k!#(B |
| </p></item> |
| <item><p>c) XML$B$N<BBN$r(B <!-- via the HTTP protocol -->MIME$B7?(Bapplication/xml$B$GG[Aw$9$k$H$-$O!$(B&byte-order-mark;$B5Z$SId9f2=@k8@(BPI$B$r(B($BB8:_$9$l$P(B)$BJ8;zId9f2=$N7hDj$N$?$a$K;HMQ$9$k!#B>$N$9$Y$F$N(B&hueristics;$B5Z$S>pJs$O(B&error;$B2sI|$N$?$a$@$1$KMQ$$$k!#(B |
| </p></item> |
| </ulist> |
| $B$3$l$i$N5,B'$O!$%W%m%H%3%k$K$D$$$F$N;qNA$,$J$$$H$-$K$@$1MQ$$$k!#FC$K!$(BMIME$B7?(Btext/xml$B5Z$S(Bapplication/xml$B$rDj5A$7$?$i!$$3$l$i$r5,Dj$9$k(BRFC$B$KB8:_$9$k5,Dj$,!$$3$l$i$N5,B'$K<h$C$FBe$o$k!#(B |
| </p> |
| </inform-div1> |
| <!-- |
| <div1 id='sec-trival-grammar'> |
| <head>A Trivial Grammar for XML Documents</head> |
| <p>The grammar given in the body of this specification is relatively |
| simple, but for some purposes it is convenient to have an even simpler |
| one. |
| A very simple, though non-conforming, <termref def="dt-xml-proc">XML |
| processor</termref> could parse a <termref |
| def="dt-wellformed">well-formed</termref> XML document using the |
| following simplified grammar, recognizing all element boundaries |
| correctly, though not expanding entity references and not detecting |
| all errors: |
| |
| <scrap lang="ebnf"> |
| <head>Trivial text grammar</head> |
| <prodgroup pcw2="5.5" pcw4="17" pcw5="10"> |
| <prod id='NT-simpleDoc'><lhs>simpleDoc</lhs> |
| <rhs>(<nt def='NT-SimpleData'>SimpleData</nt> |
| | <nt def='NT-Markup'>Markup</nt>)*</rhs></prod> |
| <prod id="NT-SimpleData"><lhs>SimpleData</lhs> |
| <rhs>[^<&]*</rhs> |
| <com>cf. PCData</com> |
| </prod> |
| <prod id="NT-SimpleLit"><lhs>SimpleLit</lhs> |
| <rhs>('"' [^"]* '"')</rhs> |
| <rhs>| ("'" [^']* "'")</rhs> |
| <com>cf. SkipLit</com> |
| </prod> |
| <prod id='NT-Markup'><lhs>Markup</lhs> |
| <rhs>'<' <nt def='NT-Name'>Name</nt> |
| (<nt def='NT-S'>S</nt> |
| <nt def='NT-Name'>Name</nt> |
| <nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>? |
| <nt def='NT-SimpleLit'>SimpleLit</nt>)* |
| <nt def='NT-S'>S</nt>? '>'</rhs><com>start-tags </com> |
| <rhs>| '<' <nt def='NT-Name'>Name</nt> |
| (<nt def='NT-S'>S</nt> |
| <nt def='NT-Name'>Name</nt> |
| <nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>? |
| <nt def='NT-SimpleLit'>SimpleLit</nt>)* |
| <nt def='NT-S'>S</nt>? '/>'</rhs><com>empty elements</com> |
| <rhs>| '</' |
| <nt def='NT-Name'>Name</nt> |
| <nt def='NT-S'>S</nt>? '>'</rhs> |
| <com>end-tags </com> |
| <rhs>| '&' <nt def='NT-Name'>Name</nt> ';'</rhs> |
| <com>entity references </com> |
| <rhs>| '&#' [0-9]+ ';'</rhs> |
| <com>decimal character references </com> |
| <rhs>| '&hcro;' [0-9a-fA-F]+ ';'</rhs> |
| <com>hexadecimal character references </com> |
| <rhs>| '<!&como;' |
| (<nt def='NT-Char'>Char</nt>* - |
| (<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*)) |
| '&comc;>'</rhs> |
| <com>comments </com> |
| <rhs>| '<?' |
| (<nt def='NT-Char'>Char</nt>* - |
| (<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*)) |
| '&pic;'</rhs> |
| <com>processing instructions </com> |
| <rhs>| '<![CDATA[' |
| (<nt def='NT-Char'>Char</nt>* - |
| (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-Char'>Char</nt>*)) |
| ']]>'</rhs> |
| <com>CDATA sections</com> |
| <rhs>| '<!DOCTYPE' |
| (<nt def="NT-Char">Char</nt> - ('[' | ']'))+ |
| ('[' |
| <nt def="NT-simpleDTD">simpleDTD</nt>* |
| ']')? '>'</rhs> |
| <com>doc type declaration</com> |
| </prod> |
| <prod id="NT-simpleDTD"><lhs>simpleDTD</lhs> |
| <rhs>'<!&como;' |
| (<nt def='NT-Char'>Char</nt>* - |
| (<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*)) |
| '&comc;>'</rhs> |
| <com>comment </com> |
| <rhs>| '<?' |
| (<nt def='NT-Char'>Char</nt>* - |
| (<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*)) |
| '&pic;'</rhs> |
| <com>processing instruction </com> |
| <rhs><nt def="NT-SimpleLit">SimpleLit</nt></rhs> |
| <rhs>(<nt def="NT-Char">Char</nt> - (']' | '<' | '"' | "'"))+ |
| </rhs> |
| |
| <rhs>'<!' (<nt def="NT-Char">Char</nt> - ('-'))+</rhs> |
| <com>declarations other than comment</com> |
| </prod> |
| </prodgroup> |
| </scrap> |
| Most processors will require the more complex |
| grammar given in the body of this specification. |
| |
| </p> |
| </div1> |
| --> |
| |
| <inform-div1 id="sec-xml-wg"> |
| <head>&informative;W3C XML $B%o!<%-%s%0%0%k!<%W(B</head> |
| |
| <p>$B$3$N(B&TR-or-Rec;$B$O!$(BW3C XML $B%o!<%-%s%0%0%k!<%W(B(WG)$B$,=`Hw$7!$8x3+$r>5G'$7$?!#(BWG$B$,$3$N(B&TR-or-Rec;$B$r>5G'$9$k$H$$$&$3$H$O!$(BWG$B$N$9$Y$F$N0Q0w$,>5G'EjI<$r9T$C$?$H$$$&$3$H$rI,$:$7$b0UL#$7$J$$!#(BXML WG$B$N8=:_$N0Q0w5Z$S0JA0$N0Q0w$r<!$K<($9!#(B</p> |
| |
| <!-- parens and spaces removed from role elements by bosak 1997.11.07 --> |
| <orglist> |
| <member><name>Jon Bosak, Sun</name><role>Chair</role></member> |
| <member><name>James Clark</name><role>Technical Lead</role></member> |
| <member><name>Tim Bray, Textuality and Netscape</name><role>XML Co-editor</role></member> |
| <member><name>Jean Paoli, Microsoft</name><role>XML Co-editor</role></member> |
| <member><name>C. M. Sperberg-McQueen, U. of Ill.</name><role>XML Co-editor</role></member> |
| <member><name>Dan Connolly, W3C</name></member> |
| <member><name>Steve DeRose, INSO</name></member> |
| <member><name>Dave Hollander, HP</name></member> |
| <member><name>Eliot Kimber, Highland</name></member> |
| <member><name>Eve Maler, ArborText</name></member> |
| <member><name>Tom Magliery, NCSA</name></member> |
| <member><name>Murray Maloney, Muzmo and Grif</name></member> |
| <member><name>$BB<ED!!??!$IY;N%<%m%C%/%9>pJs%7%9%F%`(B($B3t(B)</name></member> |
| <member><name>Joel Nava, Adobe</name></member> |
| <member><name>Peter Sharpe, SoftQuad</name></member> |
| <member><name>John Tigue, DataChannel</name></member> |
| </orglist> |
| |
| </inform-div1> |
| </back> |
| </spec> |
| <!-- Keep this comment at the end of the file |
| Local variables: |
| mode: sgml |
| sgml-omittag:t |
| sgml-shorttag:t |
| End: |
| --> |
| |
| |