3550 lines
188 KiB
XML
3550 lines
188 KiB
XML
|
<?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:
|
|||
|
-->
|
|||
|
|
|||
|
|