|
1 <?xml version="1.0" encoding="iso-2022-jp"?> |
|
2 <!DOCTYPE spec SYSTEM "spec.dtd" [ |
|
3 |
|
4 <!-- $BF|K\8lLu$N$?$a$N2r@OBP>]<BBN!J$3$3$+$i!K(B --> |
|
5 |
|
6 <!ENTITY TR-or-Rec "$B;EMM=q(B"> |
|
7 <!-- <!ENTITY TR-or-Rec "$BI8=`>pJs(B(TR)"> --> |
|
8 <!ENTITY eTR-or-Rec "specification"> |
|
9 <!-- <!ENTITY eTR-or-Rec "technical report(TR)"> --> |
|
10 <!ENTITY application "$B%"%W%j%1!<%7%g%s(B"> |
|
11 <!ENTITY error "$B%(%i!<(B"> |
|
12 <!ENTITY fatal-error "$BCWL?E*%(%i!<(B"> |
|
13 <!ENTITY parsed-data "$B2r@O$5$l$k%G!<%?(B"> |
|
14 <!ENTITY unparsed-data "$B2r@O$5$l$J$$%G!<%?(B"> |
|
15 <!ENTITY parsed-entity "$B2r@OBP>]<BBN(B"> |
|
16 <!ENTITY parser "$B%Q!<%5(B"> |
|
17 <!ENTITY unparsed-entity "$B2r@OBP>]30<BBN(B"> |
|
18 <!ENTITY well-formed "$B@07A<0(B"> |
|
19 <!ENTITY valid "$BBEEv(B"> |
|
20 <!ENTITY validity "$BBEEv@-(B"> |
|
21 <!ENTITY escape "$BJL07$$(B"> |
|
22 <!ENTITY prolog "$B=q$-(B"> |
|
23 <!ENTITY surrogate-blocks "$B%5%m%2!<%H%V%m%C%/(B"> |
|
24 <!ENTITY letter "$B;z(B"> |
|
25 <!ENTITY ideographic "$BE}9g4A;z(B"> |
|
26 <!ENTITY markup "$B%^!<%/IU$1(B"> |
|
27 <!ENTITY left-angle-bracket "$BITEy9f(B($B>.$J$j(B)"> |
|
28 <!ENTITY right-angle-bracket "$BITEy9f(B($BBg$J$j(B)"> |
|
29 <!ENTITY string "$BJ8;zNs(B"> |
|
30 <!ENTITY char-string "$BJ8;zNs(B"><!-- string of chararacters, |
|
31 character strings, strings, |
|
32 characters $B$O$9$Y$FJ8;zNs$H$9$k(B --> |
|
33 <!ENTITY replacement-text "$BCV49%F%-%9%H(B"> |
|
34 <!ENTITY single-quote "$B0l=E0zMQId(B"> |
|
35 <!ENTITY double-quote "$BFs=E0zMQId(B"> |
|
36 <!ENTITY adaptations-annex "$BE,MQImB0=q(B"> |
|
37 <!ENTITY root "$B%k!<%H(B"> |
|
38 <!ENTITY base-character "$B4pDlJ8;z(B"> |
|
39 <!ENTITY diacritical-mark "$BH/2;Id(B"><!--($B%@%$%"%/%j%F%#%+%k%^!<%/(B)$B$r=i=P$N$H$-Jd$&(B--> |
|
40 <!ENTITY composed-form "$B9g@.7A<0(B"> |
|
41 <!ENTITY standalone "$B%9%?%s%I%"%m%s(B"> |
|
42 <!ENTITY double-hyphen "$BFsO"%O%$%U%s(B"> |
|
43 <!--<!ENTITY case-fold "$BBgJ8;z$+>.J8;z$X$NE}0l(B">--> |
|
44 <!-- <!ENTITY case-fold "$BHf3S$N$H$-!$BgJ8;z$H>.J8;z$NF10l;k(B">--> |
|
45 <!ENTITY parameter "$B%Q%i%a%?(B"> |
|
46 <!ENTITY stream "$B%9%H%j!<%`(B"> |
|
47 <!ENTITY validating "$BBEEv@-$r8!>Z$9$k(B"> |
|
48 <!ENTITY non-validating "$BBEEv@-$r8!>Z$7$J$$(B"> |
|
49 <!ENTITY user "$B%f!<%6(B"> |
|
50 <!--<!ENTITY at-user-option "$B%f!<%6$,%*%W%7%g%s$r;XDj$7$?$H$-(B">--> |
|
51 <!ENTITY at-user-option "$B%f!<%6$N%*%W%7%g%s;XDj$K$h$C$F$O(B"> |
|
52 <!ENTITY content-particle "$BFbMFAG;R(B"> |
|
53 <!ENTITY processor "$B%W%m%;%5(B"> |
|
54 <!ENTITY default "$B%G%U%)%k%H(B"> |
|
55 <!ENTITY default-value "$B%G%U%)%k%HCM(B"> |
|
56 <!ENTITY header "$B%X%C%@(B"> |
|
57 <!ENTITY target "$B%?!<%2%C%H(B"> |
|
58 <!ENTITY mixed-content "$B:.9gFbMF(B"> |
|
59 <!ENTITY country-code "$B9q%3!<%I(B"> |
|
60 <!ENTITY language-code "$B8@8l%3!<%I(B"> |
|
61 <!ENTITY version "$BHG(B"> <!-- version 1.0$B$OBh(B1.0$BHG(B --> |
|
62 <!ENTITY match "$B%^%C%A(B"> |
|
63 <!ENTITY character-value "$BJ8;zHV9f(B"> |
|
64 <!ENTITY byte-order-mark "$B%P%$%H=g%^!<%/(B"> |
|
65 <!ENTITY bypass "$B=hM}$7$J$$(B"> |
|
66 <!ENTITY identifier "$B<1JL;R(B"> |
|
67 <!-- <!ENTITY identify "$B<1JL$9$k(B"> --> |
|
68 <!ENTITY identify "$BFCDj$9$k(B"> |
|
69 <!-- <!ENTITY identified "$B<1JL$5$l$k(B"> --> |
|
70 <!ENTITY identified "$BFCDj$5$l$k(B"> |
|
71 <!ENTITY combining-character "$B7k9gJ8;z(B"> |
|
72 <!ENTITY subset "$B%5%V%;%C%H(B"> |
|
73 <!ENTITY token "$B%H!<%/%s(B"> |
|
74 <!ENTITY literal "$B%j%F%i%k(B"> |
|
75 |
|
76 <!ENTITY parenthesis "$B$+$C$3(B"> |
|
77 <!ENTITY left-parenthesis "$B3+$-$+$C$3(B"> |
|
78 <!ENTITY right-parenthesis "$BJD$8$+$C$3(B"> |
|
79 |
|
80 <!-- $B$"$H$G5$$,$D$$$?$b$N(B JIS X0221$B$r8+$kI,MW$"$j(B --> |
|
81 |
|
82 <!ENTITY extender "$B%(%/%9%F%s%@(B"> |
|
83 <!ENTITY property "$B%W%m%Q%F%#(B"> |
|
84 <!ENTITY property-list "$B%W%m%Q%F%#%j%9%H(B"> |
|
85 <!ENTITY property-file "$B%W%m%Q%F%#%U%!%$%k(B"> |
|
86 <!ENTITY font-decomposition "$B%U%)%s%HJ,2r(B"> |
|
87 <!ENTITY compatibility-decomposition "$B8_49@-J,2r(B"> |
|
88 <!ENTITY compatibility-area "$B8_49@-NN0h(B"> |
|
89 |
|
90 <!ENTITY language-identification "$B8@8l<1JL(B"> |
|
91 |
|
92 <!ENTITY space-character "$B%9%Z!<%9J8;z(B"> |
|
93 <!ENTITY space "$B%9%Z!<%9(B"> |
|
94 <!ENTITY code-value "$B%3!<%ICM(B"> |
|
95 <!ENTITY normative "$B5,Dj$N(B"> |
|
96 <!ENTITY hueristics "$B%R%e!<%j%9%F%#%C%/(B"> |
|
97 <!ENTITY informative ""> |
|
98 |
|
99 <!ENTITY WebSGML 'ISO 8879$B$X$N(BWebSGML&adaptations-annex;'> |
|
100 <!ENTITY XML.version "1.0"> |
|
101 <!ENTITY doc.date "1997$BG/(B12$B7n(B8$BF|(B"> |
|
102 <!ENTITY iso6.doc.date "971208"> |
|
103 <!ENTITY w3c.doc.date "97$BG/(B12$B7n(B3$BF|(B"> |
|
104 <!ENTITY draft.day '8$BF|(B'> |
|
105 <!ENTITY draft.month '12$B7n(B'> |
|
106 <!ENTITY draft.year '1997$BG/(B'> |
|
107 |
|
108 <!-- $BF|K\8lLu$N$?$a$N2r@OBP>]<BBN!J$3$3$^$G!K(B --> |
|
109 |
|
110 <!-- LAST TOUCHED BY: Tim Bray, 3 Dec 1997 --> |
|
111 |
|
112 <!-- The words 'FINAL EDIT' in comments mark places where changes |
|
113 need to be made after approval of the document by the ERB, before |
|
114 publication. --> |
|
115 |
|
116 <!ENTITY XML.version "1.0"> |
|
117 <!ENTITY doc.date "8 December 1997"> |
|
118 <!ENTITY iso6.doc.date "971208"> |
|
119 <!ENTITY w3c.doc.date "03-Dec-97"> |
|
120 <!ENTITY draft.day '8'> |
|
121 <!ENTITY draft.month 'December'> |
|
122 <!ENTITY draft.year '1997'> |
|
123 |
|
124 <!ENTITY WebSGML |
|
125 'WebSGML Adaptations Annex to ISO 8879'> |
|
126 |
|
127 <!ENTITY newline " "> |
|
128 <!-- old: <!ENTITY newline "
"> --> |
|
129 <!ENTITY lt "<"> |
|
130 <!ENTITY gt ">"> |
|
131 <!--<!ENTITY amp "&"> --> |
|
132 <!ENTITY xmlpio "'<?xml'"> |
|
133 <!ENTITY pic "'?>'"> |
|
134 <!ENTITY br "\n"> |
|
135 <!ENTITY cellback '#c0d9c0'> |
|
136 <!ENTITY mdash "--"> <!-- was: <!ENTITY mdash "&#151;"> --> |
|
137 <!ENTITY com "--"> |
|
138 <!ENTITY como "--"> |
|
139 <!ENTITY comc "--"> |
|
140 <!ENTITY hcro "&#x"> |
|
141 <!-- <!ENTITY nbsp ""> --> |
|
142 <!ENTITY nbsp " "> |
|
143 <!ENTITY magicents "<code>amp</code>, |
|
144 <code>lt</code>, |
|
145 <code>gt</code>, |
|
146 <code>apos</code>, |
|
147 <code>quot</code>"> |
|
148 |
|
149 <!--$BF|K\8lLu$K$D$$$F(B: $B%3%a%s%H$OK]LuBP>]$+$i30$7$^$7$?!#NkLZOBIW(B --> |
|
150 <!-- audience and distribution status: for use at publication time --> |
|
151 <!-- --> |
|
152 <!ENTITY doc.audience "$B8x3+%l%S%e!<5Z$S5DO@(B"> |
|
153 <!ENTITY doc.distribution "$B%F%-%9%H5Z$SK!N'>e$NCm0U$r2~JQ$7$J$$8B$j!$(B |
|
154 $B<+M3$KG[I[$7$F$b$h$$(B"> |
|
155 |
|
156 ]> |
|
157 |
|
158 <!-- for Panorama *--> |
|
159 <?VERBATIM "eg" ?> |
|
160 |
|
161 <spec> |
|
162 <header> |
|
163 <title>$B3HD%2DG=$J(B&markup;$B8@8l(B (XML)</title> |
|
164 <version>$BBh(B1.0&version;</version> |
|
165 <w3c-designation>PR-xml-&iso6.doc.date;</w3c-designation> |
|
166 <w3c-doctype>World Wide Web Consortium</w3c-doctype> |
|
167 <pubdate><day>&draft.day;</day><month>&draft.month;</month><year>&draft.year;</year></pubdate> |
|
168 <notice><p>$B$3$NAp0F$O!$(BXML WG$B5Z$SB>$N4X78<T$K$h$k%l%S%e!<$N$?$a$N$b$N$G$"$C$F!$8x3+$N5DO@$N$?$a$N$b$N$G$O$J$$!#(B |
|
169 <!-- FINAL EDIT: FIX --></p></notice> |
|
170 <publoc> |
|
171 <loc href="http://www.w3.org/TR/PR-xml-&iso6.doc.date;"> |
|
172 http://www.w3.org/TR/PR-xml-&iso6.doc.date;</loc></publoc> |
|
173 <prevlocs> |
|
174 <loc href='http://www.w3.org/TR/WD-xml-961114'> |
|
175 http://www.w3.org/TR/WD-xml-961114</loc> |
|
176 <loc href='http://www.w3.org/TR/WD-xml-lang-970331'> |
|
177 http://www.w3.org/TR/WD-xml-lang-970331</loc> |
|
178 <loc href='http://www.w3.org/TR/WD-xml-lang-970630'> |
|
179 http://www.w3.org/TR/WD-xml-lang-970630</loc> |
|
180 <loc href='http://www.w3.org/TR/WD-xml-970807'> |
|
181 http://www.w3.org/TR/WD-xml-970807</loc> |
|
182 <loc href='http://www.w3.org/TR/WD-xml-971117'> |
|
183 http://www.w3.org/TR/WD-xml-971117</loc> |
|
184 </prevlocs> |
|
185 <authlist> |
|
186 <author><name>Tim Bray</name> |
|
187 <affiliation>Textuality and Netscape</affiliation> |
|
188 <email |
|
189 href="mailto:tbray@textuality.com">tbray@textuality.com</email></author> |
|
190 <author><name>Jean Paoli</name> |
|
191 <affiliation>Microsoft</affiliation> |
|
192 <email href="mailto:jeanpa@microsoft.com">jeanpa@microsoft.com</email></author> |
|
193 <author><name>C. M. Sperberg-McQueen</name> |
|
194 <affiliation>University of Illinois at Chicago</affiliation> |
|
195 <email href="mailto:cmsmcq@uic.edu">cmsmcq@uic.edu</email></author> |
|
196 </authlist> |
|
197 <status> |
|
198 <p>$B$3$N(B&TR-or-Rec;$B$O(B, 1997$BG/(B12$B7n$K(BWorld Wide Web Consortium$B$+$i(B |
|
199 $B8xI=$5$l$?4+9p0F(BExtensible Markup Language version$BBh(B1.0$BHG$rK]Lu$7(B, $B5;(B |
|
200 $B=QE*FbMF$rJQ99$9$k$3$H$J$/:n@.$7$?(B&TR-or-Rec;$B$G$"$k!#(BThis &eTR-or-Rec; |
|
201 is a translation of the XML proposed recommendation 1.0 |
|
202 published by the World Wide Web Consortium in December 1997. It is |
|
203 intended that &eTR-or-Rec; is technically identical to the original.</p> |
|
204 |
|
205 <p>$B86J8$K$"$k!"Cx:n8"$K4X$7$F$N5-=R$r<!$K<($9!#(BThe |
|
206 original copyright notice is shown below:</p> |
|
207 |
|
208 <p>$B$3$NHG$N(BXML$B$N5,Dj$O!$8x3+%l%S%e!<5Z$S5DO@$r(B |
|
209 $BL\E*$H$9$k!#%F%-%9%H5Z$SK!N'>e$NCm0U$r2~JQ$7$J$$8B$j!$<+M3$K(B |
|
210 $BG[I[$7$F$b$h$$!#(BThis version of the XML specification is for |
|
211 public review and discussion. It may be distributed freely, |
|
212 as long as all text and legal notices remain intact.</p> |
|
213 |
|
214 <p>$B$3$N(B&TR-or-Rec;$B$N85$H$J$C$?(BXML$B4+9p0F$O!$(B1998$BG/(B2$B7n$K(BWorld |
|
215 Wide Web Consortium$B$+$i8xI=$5$l$?(BXML$B4+9p$K$h$C$F$9$G$KCV$-49(B |
|
216 $B$($i$l$F$$$k!#$3$NI8=`>pJs$O!$(BXML$B4+9p$K=>$C$FD{@5$9$k$3$H$r(B |
|
217 $BM=Dj$7$F$$$k!#(BThe XML Proposed Recommendation is superseded |
|
218 by the XML Recommendation which was published by the World |
|
219 Wide Web Consortium in February 1998. It is intended that |
|
220 this &eTR-or-Rec; be revised accordingly in the near future.</p> |
|
221 |
|
222 <p>$B$3$N(B&TR-or-Rec;$B$O!$0BDj$7$?$b$N$G$"$C$F!$:rG/Mh$N(B<loc |
|
223 href='http://www.w3.org/XML'>XML$B3hF0(B</loc>$B$rDL$8$F:n@.$5$l$?!$0lO"$N:n(B |
|
224 $B6HAp0F$r85$H$9$k!#8=:_!$9-HO0O$K;HMQ$5$l$F$$$k9q:]E*$J%F%-%9%H=hM}$NI8(B |
|
225 $B=`(B($BI8=`0lHL2=(B&markup;$B8@8l!$(BStandard Generalized Markup Language, ISO |
|
226 8879:1986$B$KDI2C5Z$SD{@5$r2C$($?$b$N(B)$B$N!$(BWWW$B>e$G$N;HMQ$N$?$a$K(B⊂ |
|
227 $B2=$7$?8@8l$r!$$3$N(B&TR-or-Rec;$B$O!$5,Dj$9$k!#(BISO 8879$B$N$I$N5!G=$r$3$N(B |
|
228 ⊂$B$K;D$9$+!$$H$$$&7hDj$K$D$$$F$N>\:Y$O!$(B<loc |
|
229 href='http://www.w3.org/XML/#WG-decisions'>$BJLESMQ0U$9$k(B</loc>$B!#(BXML$B$O!$(B |
|
230 $B4{$K$$$/$D$+$N>&IJ$G%5%]!<%H$5$l!$(BXML$B$r%5%]!<%H$9$k(B<loc |
|
231 href='http://www.w3.org/XML/#software'>$B%U%j!<%&%'%"(B</loc>$B$N?t$bA}$($F(B |
|
232 $B$$$k!#(BXML$B$K4X$9$k8x3+$NO@5D$b!$%*%s%i%$%s$G(B<loc |
|
233 href='http://www.w3.org/XML/#discussion'>$BF~<j$G$-$k(B</loc>$B!#(BIt is a |
|
234 stable document derived from a series of working drafts produced over |
|
235 the last year as deliverables of the <loc |
|
236 href='http://www.w3.org/XML'>XML activity</loc>. It specifies a |
|
237 language created by subsetting an existing, widely used international |
|
238 text processing standard (Standard Generalized Markup Language, ISO |
|
239 8879:1986 as amended and corrected) for use on the World Wide Web. |
|
240 Details of the decisions regarding which features of ISO 8879 to |
|
241 retain in the subset <loc |
|
242 href='http://www.w3.org/XML/#WG-decisions'>are available |
|
243 separately</loc>. XML is already supported by some commercial |
|
244 products, and there are a growing number of <loc |
|
245 href='http://www.w3.org/XML/#software'>free implementations</loc>. |
|
246 Public discussions of XML <loc |
|
247 href='http://www.w3.org/XML/#discussion'>are accessible |
|
248 online</loc>.</p> |
|
249 |
|
250 <p>$B$3$N(B&TR-or-Rec;$B$G$O!$(B<bibref ref="Berners-Lee"/>$B$KDj5A$9$k(B |
|
251 URI(Uniform Resource Identifier)$B$r;HMQ$9$k!#(BURI$B$N@)Dj:n6H$O?J9TCf$G$"$C(B |
|
252 $B$F!$(B<bibref ref="RFC1738"/>$B5Z$S(B<bibref ref="RFC1808"/>$B$r99?7$9$kM=Dj$H(B |
|
253 $B$J$C$F$$$k!#$3$N:n6H$,(BRFC$B$H$7$F<u$1F~$l$i$l$J$$>l9g$O!$$3$N5,DxFb$N(BURI |
|
254 $B$X$N;2>H$O!$(BURL(Uniform Resource Locator)$B$X$N;2>H$KBe$o$k!#(BThis |
|
255 specification uses the term URI, which is defined by <bibref |
|
256 ref="Berners-Lee"/>, a work in progress expected to update <bibref |
|
257 ref="RFC1738"/> and <bibref ref="RFC1808"/>. Should the work not be |
|
258 accepted as an RFC, the references to uniform resource identifiers |
|
259 (URIs) in this specification will become references to uniform |
|
260 resource locators (URLs).</p> |
|
261 |
|
262 <p>XML$B$N;EMM$K=`5r$7$F$$$k$+$I$&$+$N4p=`$H$J$k$O(BW3C$B$N%5%$%H$K$"(B |
|
263 $B$k86J8$G$"$k!#(BThe normative version of the specification is |
|
264 the English version found at the W3C site.</p> |
|
265 |
|
266 <p>$B$3$NI8=`>pJs$O86;EMM$H5;=QE*$KF10l$G$"$k$3$H$r0U?^$7$F$$$k$,!"(B |
|
267 $BK]Lu>e$N8m$j$O$"$jF@$k!#(BAlthough this technical report is |
|
268 intended to be technically identical to the original, it may |
|
269 contain errors from the translation.</p> |
|
270 |
|
271 <p>$BHw9M(B: $B865,Dj$H$N5,Dj2U=j$NBP1~4X78$rL@$i$+$K$9$k$?$a!"$3$N(B |
|
272 &TR-or-Rec;$B$N@a9=@.5Z$S@aHV9f$O!"865,Dj$N$=$l$i$r$G$-$k$@$1J]B8$7$F$$(B |
|
273 $B$k!#$3$N(B&TR-or-Rec;$B$N(BWeb$BHG$O!"865,Dj$N(BHTML$B%?%0$r$=$N$^$^J]B8$7$F$$$k!#(B |
|
274 </p> |
|
275 </status> |
|
276 <!-- out of date |
|
277 <statusp>This is a W3C Working Draft for review by W3C members and other |
|
278 interested parties. It is a draft document and may be updated, |
|
279 replaced, or obsoleted by other documents at any time. It is |
|
280 inappropriate to use W3C Working Drafts as reference material or to |
|
281 cite them as other than "work in progress". A list of current W3C |
|
282 working drafts can be found at |
|
283 <loc href="http://www.w3.org/TR">http://www.w3.org/TR</loc>.</statusp> |
|
284 <statusp><emph>Note:</emph> Since working drafts are subject to frequent |
|
285 change, you are advised to reference the above URL, rather than the |
|
286 URLs for working drafts themselves.</statusp> |
|
287 <statusp>This work is part of the W3C SGML Activity (for current |
|
288 status, see <loc href="http://www.w3.org/MarkUp/SGML/Activity" |
|
289 >http://www.w3.org/MarkUp/SGML/Activity</loc>).</statusp> |
|
290 <p>The current |
|
291 draft of this specification |
|
292 presupposes the successful completion of the current |
|
293 work on the &WebSGML;, being prepared by ISO/IEC JTC1 |
|
294 at the time this draft specification was drafted. |
|
295 If it is not |
|
296 adopted in the expected form, some clauses of this specification |
|
297 may change, and some |
|
298 recommendations now labeled "<termref def="dt-interop">for |
|
299 interoperability</termref>" will become requirements labeled |
|
300 "<termref def="dt-compat">for compatibility</termref>". |
|
301 </p> |
|
302 <p>The current draft of this specification uses the term |
|
303 URI, which is defined by |
|
304 <bibref ref="Berners-Lee"/>, |
|
305 which is work in progress expected to update |
|
306 <bibref ref="RFC1738"/> and <bibref ref="RFC1808"/>. |
|
307 Should the work in this draft not be accepted as an RFC, the |
|
308 references to uniform resource identifiers (URIs) in this |
|
309 specification will become references to uniform resource |
|
310 locators (URLs).</p> |
|
311 </status> --> |
|
312 <abstract> |
|
313 <p>$B3HD%2DG=$J(B&markup;$B8@8l(B(XML)$B$O(BSGML$B$N4JC1$JJ}8@$G$"$C$F!$$3$N(B&TR-or-Rec;$B$G!$$=$N$9$Y$F$r5,Dj$9$k!#(BXML$B$NL\I8$O!$8=:_$N(BHTML$B$HF1MM$K!$0lHL@-$N$"$k(BSGML$B$r%&%'%V>e$GG[I[!$<u?.5Z$S=hM}$G$-$k$3$H$H$9$k!#(BXML$B$O<BAu$,MF0W$G$"$C$F!$(BSGML$B5Z$S(BHTML$B$N$I$A$i$KBP$7$F$bAj8_1?MQ@-$rJ]$D@_7W$,$J$5$l$F$$$k!#(B</p> |
|
314 </abstract> |
|
315 <pubstmt> |
|
316 <p>Chicago, Vancouver, Mountain View, et al.: |
|
317 World-Wide Web Consortium, XML$B:n6H%0%k!<%W(B, 1996, 1997.</p> |
|
318 </pubstmt> |
|
319 <sourcedesc> |
|
320 <p>Created in electronic form.</p> |
|
321 </sourcedesc> |
|
322 <langusage> |
|
323 <language id='EN'>English</language> |
|
324 <language id='ebnf'>Extended Backus-Naur Form (formal grammar)</language> |
|
325 </langusage> |
|
326 <revisiondesc> |
|
327 <slist> |
|
328 <sitem>1997-12-03 : CMSMcQ : yet further changes</sitem> |
|
329 <sitem>1997-12-02 : TB : further changes (see TB to XML WG, |
|
330 2 December 1997)</sitem> |
|
331 <sitem>1997-12-02 : CMSMcQ : deal with as many corrections and |
|
332 comments from the proofreaders as possible: |
|
333 entify hard-coded document date in pubdate element, |
|
334 change expansion of entity WebSGML, |
|
335 update status description as per Dan Connolly (am not sure |
|
336 about refernece to Berners-Lee et al.), |
|
337 add 'The' to abstract as per WG decision, |
|
338 move Relationship to Existing Standards to back matter and |
|
339 combine with References, |
|
340 re-order back matter so normative appendices come first, |
|
341 re-tag back matter so informative appendices are tagged informdiv1, |
|
342 remove XXX XXX from list of 'normative' specs in prose, |
|
343 move some references from Other References to Normative References, |
|
344 add RFC 1738, 1808, and 2141 to Other References (they are not |
|
345 normative since we do not require the processor to enforce any |
|
346 rules based on them), |
|
347 add reference to 'Fielding draft' (Berners-Lee et al.), |
|
348 move notation section to end of body, |
|
349 drop URIchar non-terminal and use SkipLit instead, |
|
350 lose stray reference to defunct nonterminal 'markupdecls', |
|
351 move reference to Aho et al. into appendix (Tim's right), |
|
352 add prose note saying that hash marks and fragment identifiers are |
|
353 NOT part of the URI formally speaking, and are NOT legal in |
|
354 system identifiers (processor 'may' signal an error). |
|
355 Work through: |
|
356 Tim Bray reacting to James Clark, |
|
357 Tim Bray on his own, |
|
358 Eve Maler, |
|
359 |
|
360 NOT DONE YET: |
|
361 change binary / text to unparsed / parsed. |
|
362 handle James's suggestion about < in attriubte values |
|
363 uppercase hex characters, |
|
364 namechar list, |
|
365 </sitem> |
|
366 <sitem>1997-12-01 : JB : add some column-width parameters</sitem> |
|
367 <sitem>1997-12-01 : CMSMcQ : begin round of changes to incorporate |
|
368 recent WG decisions and other corrections: |
|
369 binding sources of character encoding info (27 Aug / 3 Sept), |
|
370 correct wording of Faust quotation (restore dropped line), |
|
371 drop SDD from EncodingDecl, |
|
372 change text at version number 1.0, |
|
373 drop misleading (wrong!) sentence about ignorables and extenders, |
|
374 modify definition of PCData to make bar on msc grammatical, |
|
375 change grammar's handling of internal subset (drop non-terminal markupdecls), |
|
376 change definition of includeSect to allow conditional sections, |
|
377 add integral-declaration constraint on internal subset, |
|
378 drop misleading / dangerous sentence about relationship of |
|
379 entities with system storage objects, |
|
380 change table body tag to htbody as per EM change to DTD, |
|
381 add rule about space normalization in public identifiers, |
|
382 add description of how to generate our name-space rules from |
|
383 Unicode character database (needs further work!). |
|
384 </sitem> |
|
385 <sitem>1997-10-08 : TB : Removed %-constructs again, new rules |
|
386 for PE appearance.</sitem> |
|
387 <sitem>1997-10-01 : TB : Case-sensitive markup; cleaned up |
|
388 element-type defs, lotsa little edits for style</sitem> |
|
389 <sitem>1997-09-25 : TB : Change to elm's new DTD, with |
|
390 substantial detail cleanup as a side-effect</sitem> |
|
391 <sitem>1997-07-24 : CMSMcQ : correct error (lost *) in definition |
|
392 of ignoreSectContents (thanks to Makoto Murata)</sitem> |
|
393 <sitem>Allow all empty elements to have end-tags, consistent with |
|
394 SGML TC (as per JJC).</sitem> |
|
395 <sitem>1997-07-23 : CMSMcQ : pre-emptive strike on pending corrections: |
|
396 introduce the term 'empty-element tag', note that all empty elements |
|
397 may use it, and elements declared EMPTY must use it. |
|
398 Add WFC requiring encoding decl to come first in an entity. |
|
399 Redefine notations to point to PIs as well as binary entities. |
|
400 Change autodetection table by removing bytes 3 and 4 from |
|
401 examples with Byte Order Mark. |
|
402 Add content model as a term and clarify that it applies to both |
|
403 mixed and element content. |
|
404 </sitem> |
|
405 <sitem>1997-06-30 : CMSMcQ : change date, some cosmetic changes, |
|
406 changes to productions for choice, seq, Mixed, NotationType, |
|
407 Enumeration. Follow James Clark's suggestion and prohibit |
|
408 conditional sections in internal subset. TO DO: simplify |
|
409 production for ignored sections as a result, since we don't |
|
410 need to worry about parsers which don't expand PErefs finding |
|
411 a conditional section.</sitem> |
|
412 <sitem>1997-06-29 : TB : various edits</sitem> |
|
413 <sitem>1997-06-29 : CMSMcQ : further changes: |
|
414 Suppress old FINAL EDIT comments and some dead material. |
|
415 Revise occurrences of % in grammar to exploit Henry Thompson's pun, |
|
416 especially markupdecl and attdef. |
|
417 Remove RMD requirement relating to element content (?). |
|
418 </sitem> |
|
419 <sitem>1997-06-28 : CMSMcQ : Various changes for 1 July draft: |
|
420 Add text for draconian error handling (introduce |
|
421 the term Fatal Error). |
|
422 RE deleta est (changing wording from |
|
423 original announcement to restrict the requirement to validating |
|
424 parsers). |
|
425 Tag definition of validating processor and link to it. |
|
426 Add colon as name character. |
|
427 Change def of %operator. |
|
428 Change standard definitions of lt, gt, amp. |
|
429 Strip leading zeros from #x00nn forms.</sitem> |
|
430 <sitem>1997-04-02 : CMSMcQ : final corrections of editorial errors |
|
431 found in last night's proofreading. Reverse course once more on |
|
432 well-formed: Webster's Second hyphenates it, and that's enough |
|
433 for me.</sitem> |
|
434 <sitem>1997-04-01 : CMSMcQ : corrections from JJC, EM, HT, and self</sitem> |
|
435 <sitem>1997-03-31 : Tim Bray : many changes</sitem> |
|
436 <sitem>1997-03-29 : CMSMcQ : some Henry Thompson (on entity handling), |
|
437 some Charles Goldfarb, some ERB decisions (PE handling in miscellaneous |
|
438 declarations. Changed Ident element to accept def attribute. |
|
439 Allow normalization of Unicode characters. move def of systemliteral |
|
440 into section on literals.</sitem> |
|
441 <sitem>1997-03-28 : CMSMcQ : make as many corrections as possible, from |
|
442 Terry Allen, Norbert Mikula, James Clark, Jon Bosak, Henry Thompson, |
|
443 Paul Grosso, and self. Among other things: give in on "well formed" |
|
444 (Terry is right), tentatively rename QuotedCData as AttValue |
|
445 and Literal as EntityValue to be more informative, since attribute |
|
446 values are the <emph>only</emph> place QuotedCData was used, and |
|
447 vice versa for entity text and Literal. (I'd call it Entity Text, |
|
448 but 8879 uses that name for both internal and external entities.)</sitem> |
|
449 <sitem>1997-03-26 : CMSMcQ : resynch the two forks of this draft, reapply |
|
450 my changes dated 03-20 and 03-21. Normalize old 'may not' to 'must not' |
|
451 except in the one case where it meant 'may or may not'.</sitem> |
|
452 <sitem>1997-03-21 : TB : massive changes on plane flight from Chicago |
|
453 to Vancouver</sitem> |
|
454 <sitem>1997-03-21 : CMSMcQ : correct as many reported errors as possible. |
|
455 </sitem> |
|
456 <sitem>1997-03-20 : CMSMcQ : correct typos listed in CMSMcQ hand copy of spec.</sitem> |
|
457 <sitem>1997-03-20 : CMSMcQ : cosmetic changes preparatory to revision for |
|
458 WWW conference April 1997: restore some of the internal entity |
|
459 references (e.g. to docdate, etc.), change character xA0 to &nbsp; |
|
460 and define nbsp as &#160;, and refill a lot of paragraphs for |
|
461 legibility.</sitem> |
|
462 <sitem>1996-11-12 : CMSMcQ : revise using Tim's edits: |
|
463 Add list type of NUMBERED and change most lists either to |
|
464 BULLETS or to NUMBERED. |
|
465 Suppress QuotedNames, Names (not used). |
|
466 Correct trivial-grammar doc type decl. |
|
467 Rename 'marked section' as 'CDATA section' passim. |
|
468 Also edits from James Clark: |
|
469 Define the set of characters from which [^abc] subtracts. |
|
470 Charref should use just [0-9] not Digit. |
|
471 Location info needs cleaner treatment: remove? (ERB |
|
472 question). |
|
473 One example of a PI has wrong pic. |
|
474 Clarify discussion of encoding names. |
|
475 Encoding failure should lead to unspecified results; don't |
|
476 prescribe error recovery. |
|
477 Don't require exposure of entity boundaries. |
|
478 Ignore white space in element content. |
|
479 Reserve entity names of the form u-NNNN. |
|
480 Clarify relative URLs. |
|
481 And some of my own: |
|
482 Correct productions for content model: model cannot |
|
483 consist of a name, so "elements ::= cp" is no good. |
|
484 </sitem> |
|
485 <sitem>1996-11-11 : CMSMcQ : revise for style. |
|
486 Add new rhs to entity declaration, for parameter entities.</sitem> |
|
487 <sitem>1996-11-10 : CMSMcQ : revise for style. |
|
488 Fix / complete section on names, characters. |
|
489 Add sections on parameter entities, conditional sections. |
|
490 Still to do: Add compatibility note on deterministic content models. |
|
491 Finish stylistic revision.</sitem> |
|
492 <sitem>1996-10-31 : TB : Add Entity Handling section</sitem> |
|
493 <sitem>1996-10-30 : TB : Clean up term & termdef. Slip in |
|
494 ERB decision re EMPTY.</sitem> |
|
495 <sitem>1996-10-28 : TB : Change DTD. Implement some of Michael's |
|
496 suggestions. Change comments back to //. Introduce language for |
|
497 XML namespace reservation. Add section on white-space handling. |
|
498 Lots more cleanup.</sitem> |
|
499 <sitem>1996-10-24 : CMSMcQ : quick tweaks, implement some ERB |
|
500 decisions. Characters are not integers. Comments are /* */ not //. |
|
501 Add bibliographic refs to 10646, HyTime, Unicode. |
|
502 Rename old Cdata as MsData since it's <emph>only</emph> seen |
|
503 in marked sections. Call them attribute-value pairs not |
|
504 name-value pairs, except once. Internal subset is optional, needs |
|
505 '?'. Implied attributes should be signaled to the app, not |
|
506 have values supplied by processor.</sitem> |
|
507 <sitem>1996-10-16 : TB : track down & excise all DSD references; |
|
508 introduce some EBNF for entity declarations.</sitem> |
|
509 <sitem>1996-10-?? : TB : consistency check, fix up scraps so |
|
510 they all parse, get formatter working, correct a few productions.</sitem> |
|
511 <sitem>1996-10-10/11 : CMSMcQ : various maintenance, stylistic, and |
|
512 organizational changes: |
|
513 Replace a few literals with xmlpio and |
|
514 pic entities, to make them consistent and ensure we can change pic |
|
515 reliably when the ERB votes. |
|
516 Drop paragraph on recognizers from notation section. |
|
517 Add match, exact match to terminology. |
|
518 Move old 2.2 XML Processors and Apps into intro. |
|
519 Mention comments, PIs, and marked sections in discussion of |
|
520 delimiter escaping. |
|
521 Streamline discussion of doctype decl syntax. |
|
522 Drop old section of 'PI syntax' for doctype decl, and add |
|
523 section on partial-DTD summary PIs to end of Logical Structures |
|
524 section. |
|
525 Revise DSD syntax section to use Tim's subset-in-a-PI |
|
526 mechanism.</sitem> |
|
527 <sitem>1996-10-10 : TB : eliminate name recognizers (and more?)</sitem> |
|
528 <sitem>1996-10-09 : CMSMcQ : revise for style, consistency through 2.3 |
|
529 (Characters)</sitem> |
|
530 <sitem>1996-10-09 : CMSMcQ : re-unite everything for convenience, |
|
531 at least temporarily, and revise quickly</sitem> |
|
532 <sitem>1996-10-08 : TB : first major homogenization pass</sitem> |
|
533 <sitem>1996-10-08 : TB : turn "current" attribute on div type into |
|
534 CDATA</sitem> |
|
535 <sitem>1996-10-02 : TB : remould into skeleton + entities</sitem> |
|
536 <sitem>1996-09-30 : CMSMcQ : add a few more sections prior to exchange |
|
537 with Tim.</sitem> |
|
538 <sitem>1996-09-20 : CMSMcQ : finish transcribing notes.</sitem> |
|
539 <sitem>1996-09-19 : CMSMcQ : begin transcribing notes for draft.</sitem> |
|
540 <sitem>1996-09-13 : CMSMcQ : made outline from notes of 09-06, |
|
541 do some housekeeping</sitem> |
|
542 </slist> |
|
543 </revisiondesc> |
|
544 </header> |
|
545 <body> |
|
546 <div1 id='sec-intro'> |
|
547 <head>$B0lHL;v9`(B</head> |
|
548 <!-- <div2 id='sec-scope'> |
|
549 <head>$BE,MQHO0O(B</head> --> |
|
550 <p>$B3HD%2DG=$J(B&markup;$B8@8l(BXML(eXtensible Markup Language)$B$O!$(B<termref def="dt-xml-doc">XML$BJ8=q(B</termref>$B$H$$$&%G!<%?%*%V%8%'%/%H$N%/%i%9$r5,Dj$7!$(BXML$BJ8=q$r=hM}$9$k%W%m%0%i%`$NF0:n$N0lIt$r5,Dj$9$k!#(BXML$B$O!$(BSGML($BI8=`0lHL2=(B&markup;$B8@8l!$(BStandard Generalized Markup Language)<bibref ref='ISO8879'/>$B$N@)8B$7$?(B⊂$B$H$9$k!#9=B$>e!$(BXML$BJ8=q$O!$$+$J$i$:(BSGML$B5,3J$KE,9g$9$k!#(B</p> |
|
551 <p>XML$BJ8=q$O!$(B<termref def="dt-entity">$B<BBN(B</termref>$B$H$$$&5-21C10L$+$i$J$j!$<BBN$O!$(B&parsed-data;$BKt$O(B&unparsed-data;$B$+$i$J$k!#(B&parsed-data;$B$O!$(B<termref def="dt-character">$BJ8;z(B</termref>$B$+$i$J$j!$$=$N0lIt$O!$J8=q$N(B<termref def="dt-chardata">$BJ8;z%G!<%?(B</termref>$B$r9=@.$7!$0lIt$O!$(B<termref def="dt-markup">&markup;</termref>$B$r9=@.$9$k!#(B&markup;$B$O!$J8=q$N5-21%l%$%"%&%H5Z$SO@M}9=B$$K$D$$$F$N5-=R$rI=$9Id9f$H$9$k!#(BXML$B$O!$5-21%l%$%"%&%H5Z$SO@M}9=B$$K$D$$$F$N@)Ls>r7o$r5-=R$9$k5!9=$rDs6!$9$k!#(B</p> |
|
552 <p><termdef id="dt-xml-proc" term="XML&processor;"><term>XML&processor;</term>$B$H$$$&%=%U%H%&%'%"%b%8%e!<%k$O!$(BXML$BJ8=q$rFI$_9~$_!$$=$NFbMF5Z$S9=B$$X$N%"%/%;%9$rDs6!$9$k$?$a$KMQ$$$k!#(B </termdef> <termdef id="dt-app" term="&application;">XML&processor;$B$O!$B>$N%b%8%e!<%k$N$?$a$KF0:n$9$k$3$H$rA0Ds$H$7!$$=$N%b%8%e!<%k$r(B<term>&application;</term>$B$H$$$&!#(B</termdef>$B$3$N(B&TR-or-Rec;$B$O!$(BXML&processor;$B$,9T$o$J$1$l$P$J$i$J$$?6Iq$$$r5,Dj$9$k!#$D$^$j!$(BXML$B%G!<%?$NFI9~$_J}K!$r5,Dj$7!$(B&application;$B$KDs6!$9$k>pJs$r5,Dj$9$k!#(B</p> |
|
553 <!-- </div2> --> |
|
554 <div2 id='sec-origin-goals'> |
|
555 <head>$B7P0^5Z$SL\I8(B</head> |
|
556 <p>1996$BG/$K(BWorld Wide Web Consortium(W3C)$B$NCf$K@_N)$7$?(BXML$B:n6H%0%k!<%W(B($B0JA0$O!$(B SGML$BJT=8%l%S%e!<0Q0w2q$H8F$P$l$?(B)$B$,!$(BXML$B$r3+H/$7$?!#$3$N:n6H%0%k!<%W$N5DD9$r!$(BSun Microsystems$B$N(BJon Bosak$B$,6P$a$k!#(BW3C$B$,AH?%$7!$0JA0$O(BSGML$B:n6H%0%k!<%W$H8F$P$l$?(BXML SIG(Special Interest Group)$B$b!$(BXML$B$N@)Dj$KHs>o$K3hH/$K;22h$7$?!#(B |
|
557 <!--JIS$B$G$O(B? XML$B:n6H%0%k!<%W$N%a%s%P$rIUO?$K<($9!#(B-->Dan Connolly$B$O!$:n6H%0%k!<%W$N(BW3C$B$K$*$1$kO"Mm78$rL3$a$?!#(B</p> |
|
558 <p>XML$B$N@_7WL\I8$r!$<!$K<($9!#(B<ulist> |
|
559 <item><p>a) XML$B$O!$(BInternet$B>e$G$=$N$^$^;HMQ$G$-$k!#(B</p></item> |
|
560 <item><p>b) XML$B$O!$9-HO0O$N(B&application;$B$r;Y1g$9$k!#(B</p></item> |
|
561 <item><p>c) XML$B$O!$(BSGML$B$H8_49@-$r$b$D!#(B</p></item> |
|
562 <item><p>d) XML$BJ8=q$r=hM}$9$k%W%m%0%i%`$r=q$/$3$H$O!$MF0W$G$J$1$l$P$J$i$J$$!#(B</p></item> |
|
563 <item><p>e) XML$B$G$O!$%*%W%7%g%s$N5!G=$O$G$-$k$@$1>/$J$/$7!$0l$D$bB8:_$7$J$$$3$H$rL\;X$9!#(B</p></item> |
|
564 <item><p>f) XML$BJ8=q$O!$?M4V$K$H$C$FFI$_$d$9$/!$==J,$KM}2r$7$d$9$$!#(B</p></item> |
|
565 <item><p>g) XML$B$N@_7W$O!$$9$_$d$+$K9T$($J$1$l$P$J$i$J$$!#(B</p></item> |
|
566 <item><p>h) XML$B$N@_7W$O!$87L)5Z$S4J7i$G$J$1$l$P$J$i$J$$!#(B</p></item> |
|
567 <item><p>i) XML$BJ8=q$O!$MF0W$K:n@.$G$-$k!#(B</p></item> |
|
568 <item><p>j) XML$B$G$O!$(B&markup;$B$N?t$r8:$i$9$3$H$O!$=EMW$G$O$J$$!#(B</p></item></ulist> |
|
569 </p> |
|
570 <p>XML$BBh(B&XML.version;&version;$B$rM}2r$7!$$=$l$r=hM}$9$k7W;;5!%W%m%0%i%`$r=q$/$?$a$K==J,$J>pJs$O!$$3$N(B&TR-or-Rec;$B5Z$S4XO"$9$k5,3J(B($BJ8;zMQ$H$7$F!$(BUnicode$B5Z$S(BISO/IEC 10646$B!$(B<!--* XXX for Uniform Resource Identifiers, *-->&language-identification;$B%?%0MQ$H$7$F!$%$%s%?%M%C%H(B RFC 1766$B!$(B&language-code;$BMQ$H$7$F!$(BISO 639$B!$JB$S$K(B&country-code;$BMQ$H$7$F!$(BISO 3166)$B$G!$$9$Y$F<($9!#(B</p> |
|
571 <p>$B$3$N(B&version;$B$N(BXML$B$N5,Dj(B<!-- (&doc.date;) -->$B$O!$8x3+%l%S%e!<5Z$S5DO@$rL\E*$H$9$k!#%F%-%9%H5Z$SK!N'>e$NCm0U$r2~JQ$7$J$$8B$j!$<+M3$KG[I[$7$F$b$h$$!#(B</p> |
|
572 </div2> |
|
573 <div2 id='sec-terminology'> |
|
574 <head>$BDj5A(B</head> |
|
575 <p>XML$BJ8=q$N5,Dj$N$?$a$K;HMQ$9$kMQ8l$O!$$3$N(B&TR-or-Rec;$BFb$GDj5A$9$k!#<!$K<($98l6g$O!$$=$l$i$NMQ8l$rDj5A$9$k$?$a!$5Z$S(BXML&processor;$B$NF0$-$r5,Dj$9$k$?$a$K;HMQ$9$k!#(B |
|
576 <glist> |
|
577 <gitem> |
|
578 <label>1.2.1 $B$7$F$b$h$$(B(may)</label> |
|
579 <def><p><termdef id="dt-may" term="$B$7$F$b$h$$(B">$BE,9g$9$kJ8=qKt$O(BXML&processor;$B$O!$5-=R$5$l$?$H$*$j$KF0:n$7$F$b$h$$$,!$$=$N$H$*$j$K$9$kI,MW$O$J$$!#(B</termdef></p></def> |
|
580 </gitem> |
|
581 <gitem> |
|
582 <label>1.2.2 $B$7$J$1$l$P$J$i$J$$(B(must)</label> |
|
583 <def><p>$BE,9g$9$kJ8=qKt$O(BXML&processor;$B$O!$5-=R$5$l$?$H$*$j$KF0:n$9$k$3$H$,MW5a$5$l$k!#$=$&$G$J$1$l$P!$(B&error;$B$H$9$k!#(B<!-- do NOT change this! this is what defines a violation ofa 'must' clause as 'an error'. -MSM --> |
|
584 </p></def> |
|
585 </gitem> |
|
586 <gitem> |
|
587 <label>1.2.3 &error;(error)</label> |
|
588 <def><p><termdef id="dt-error" term="&error;">$B$3$N(B&TR-or-Rec;$B$,Dj$a$k5,B'$KBP$9$k0cH?!#7k2L$ODj5A$7$J$$!#E,9g$9$k%=%U%H%&%'%"$O!$(B&error;$B$r8!=P$7$FJs9p$7$F$b$h$/!$(B&error;$B$+$i2sI|$7$F$b$h$$!#(B</termdef></p></def> |
|
589 </gitem> |
|
590 <gitem> |
|
591 <label>1.2.4 &fatal-error;(fatal error)</label> |
|
592 <def><p><termdef id="dt-fatal" term="&fatal-error;">$BE,9g$9$k(B<termref def="dt-xml-proc">XML&processor;</termref>$B$,8!=P$7$J$1$l$P$J$i$:!$(B&application;$B$KJs9p$7$J$1$l$P$J$i$J$$(B&error;$B!#(B&fatal-error;$B$rH/8+$7$?$"$H!$(B&processor;$B$O!$$=$l0J9_$N(B&error;$B$rC5$9$?$a$K%G!<%?=hM}$rB39T$7$F$b$h$/!$(B&error;$B$rH/8+$7$?>l9g$O!$$=$N(B&error;$B$r(B&application;$B$KJs9p$7$F$b$h$$!#(B&error;$BD{@5$r%5%]!<%H$9$k$?$a$K!$(B&processor;$B$O!$L$=hM}%G!<%?(B($BJ8;z%G!<%?5Z$S(B&markup;$B$N:.:_$7$?$b$N(B)$B$rJ8=q$+$i<h$j=P$7!$(B&application;$B$KEO$7$F$b$h$$!#$7$+$7!$0lEY!$(B&fatal-error;$B$r8!=P$7$?$i!$(B&processor;$B$O!$DL>o$N=hM}$rB39T$7$F$O$J$i$J$$!#$D$^$j!$(B&processor;$B$O!$J8;z%G!<%?5Z$SJ8=q$NO@M}9=B$$K$D$$$F$N>pJs$r!$DL>o$NJ}K!$G(B&application;$B$KEO$7B3$1$F$O$J$i$J$$!#(B</termdef></p></def> |
|
593 </gitem> |
|
594 <gitem> |
|
595 <label>1.2.5 &at-user-option;(at user option)</label> |
|
596 <def><p>$BE,9g$9$k%=%U%H%&%(%"$O!$5-=R$5$l$?$H$*$j$K?6$kIq$C$F$b$h$$(B(may)$B!$Kt$O?6$kIq$o$J$/$F$O$J$i$J$$(B(must)($BJ8>OCf$N=uF0;l$K$h$k!#(B)$B!#$=$N$H$*$j$K?6$kIq$&>l9g$O!$5-=R$5$l$??6Iq$$$rA*BrKt$O5qH]$9$k<jCJ$r(B&user;$B$KDs6!$7$J$1$l$P$J$i$J$$!#(B</p></def> |
|
597 </gitem> |
|
598 <gitem> |
|
599 <label>1.2.6 &validity;$B@)Ls(B(validity constraint)</label> |
|
600 <def><p>$B$9$Y$F$N(B<termref def="dt-valid">&valid;$B$J(B</termref>XML$BJ8=q$KE,MQ$9$k5,B'!#(B&validity;$B@)Ls$N0cH?$O!$(B&error;$B$H$9$k!#(B&at-user-option;$B!$(B<termref def="dt-validating">$B8!>Z$r9T$&(BXML&processor;</termref>$B$O!$$3$N(B&error;$B$rJs9p$7$J$1$l$P$J$i$J$$!#(B</p></def> |
|
601 </gitem> |
|
602 <gitem> |
|
603 <label>1.2.7 &well-formed;$B@)Ls(B(well-formedness constraint)</label> |
|
604 <def><p>$B$9$Y$F$N(B<termref def="dt-wellformed">&well-formed;</termref>$B$N(BXML$BJ8=q$KE,MQ$9$k5,B'!#(B&well-formed;$B@)Ls$N0cH?$O!$(B<termref def="dt-fatal">&fatal-error;</termref>$B$H$9$k!#(B</p></def> |
|
605 </gitem> |
|
606 <gitem> |
|
607 <label>1.2.8 &match;(match)</label> |
|
608 <def><p>a) <termdef id="dt-match" term="&match;">&string;$BKt$OL>A0$N(B&match;$B!!Hf3S$9$kFs$D$N(B&string;$BKt$OL>A0$O!$F10l$G$J$1$l$P$J$i$J$$!#(BISO/IEC 10646$B$K$*$$$F!$J#?t$NI=8=$,2DG=$JJ8;z!NNc$($P!$(B&composed-form;$B5Z$S4pDl(B+&diacritical-mark;($B%@%$%"%/%j%F%#%+%k%^!<%/(B)$B7A<0!O$O!$$I$A$i$N(B&string;$B$bF1$8I=8=$N$H$-$K8B$j!$(B&match;$B$9$k!#(B&at-user-option;$B!$(B&processor;$B$O!$$=$NJ8;z$rI8=`7A$K@55,2=$7$F$b$h$$!#Hf3S$N$H$-!"BgJ8;z$H>.J8;z$H$N6hJL$r$9$k!#(B<!-- Note that no processing of characters with respect to case is part of the matching process. --><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> |
|
609 </gitem> |
|
610 <gitem> |
|
611 <label>1.2.9 $B8_49@-$N$?$a(B(for compatibility)</label> |
|
612 <def><p><termdef id="dt-compat" term="$B8_49@-$N$?$a(B">XML$B$N5!G=$G$"$C$F!$(BXML$B$,(BSGML$B$H8_49$G$"$k$3$H$rJ]>Z$9$k$?$a$@$1$KF3F~$5$l$k$b$N!#(B</termdef></p></def> |
|
613 </gitem> |
|
614 <gitem> |
|
615 <label>1.2.10 $BAj8_1?MQ@-$N$?$a(B(for interoperability)</label> |
|
616 <def><p><termdef id="dt-interop" term="$BAj8_1?MQ@-$N$?$a(B">$B94B+NO$O$b$?$J$$?d>);v9`!#(B&WebSGML;$B0JA0$+$iB8:_$9$k(BSGML&processor;$B$,!$(BXML$BJ8=q$r=hM}$G$-$k2DG=@-$r9b$a$k$?$a$K<h$jF~$l$k$b$N!#(B</termdef></p></def> |
|
617 </gitem> |
|
618 </glist> |
|
619 </p> |
|
620 </div2> |
|
621 </div1> |
|
622 <!-- &Docs; --> |
|
623 <div1 id='sec-documents'> |
|
624 <head>$BJ8=q(B</head> |
|
625 <p><termdef id="dt-xml-doc" term="XML$BJ8=q(B"> |
|
626 <!-- A textual object --> |
|
627 $B$3$N(B&TR-or-Rec;$B$GDj5A$9$k0UL#$G!$(B<termref def="dt-wellformed">&well-formed;</termref>$B$H$9$k%G!<%?%*%V%8%'%/%H$r!$(B<term>XML$BJ8=q(B</term>$B$H$$$&!#(B&well-formed;$B$N(BXML$BJ8=q$,!$$5$i$K!$$"$k@)Ls>r7o$rK~B-$9$l$P!$(B<termref def="dt-valid">&valid;</termref>$B$J(BXML$BJ8=q$H$9$k!#(B |
|
628 </termdef></p> |
|
629 |
|
630 <!-- why this div? -TB |
|
631 <div2 id='sec-log-phys'> |
|
632 <head>Logical and Physical Structure</head> --> |
|
633 |
|
634 <p>$B$$$:$l$N(BXML$BJ8=q$b!$O@M}9=B$5Z$SJ*M}9=B$$r$b$D!#J*M}E*$K$O!$J8=q$O!$(B<termref def="dt-entity">$B<BBN(B</termref>$B$H8F$VC10L$+$i$J$k!#$"$k<BBN$O!$J8=qFb$KB>$N<BBN$r4^$`$?$a$K!$$=$NB>$N<BBN$r(B<termref def="dt-entref">$B;2>H(B</termref>$B$7$F$b$h$$!#J8=q$O!$!H%k!<%H!I$9$J$o$A(B<termref def="dt-docent">$BJ8=q<BBN(B</termref>$B$+$i;O$^$k!#O@M}E*$K$O!$J8=q$O!$@k8@!$MWAG!$%3%a%s%H!$J8;z;2>H5Z$S=hM}L?Na$r4^$_!$$3$l$i$9$Y$F$O!$J8=qFb$GL@<(E*$J(B&markup;$B$K$h$C$F<($9!#O@M}9=B$5Z$SJ*M}9=B$$O!$(B<titleref href="wf-entities">$B0J9_(B</titleref>$B$K<($9$H$*$j$K!$87L)$KF~$l;R$K$J$C$F$$$J$1$l$P$J$i$J$$!#(B</p> |
|
635 |
|
636 <!-- |
|
637 </div2> --> |
|
638 |
|
639 <div2 id='sec-well-formed'> |
|
640 <head>&well-formed;$B$N(BXML$BJ8=q(B</head> |
|
641 <p><termdef id="dt-wellformed" term="&well-formed;">$B$"$k%F%-%9%H%*%V%8%'%/%H$,!$<!$N$$$:$l$+$N$H$-!$$=$N%F%-%9%H%*%V%8%'%/%H$r(B&well-formed;$B$N(BXML$BJ8=q$H8F$V!#(B</termdef> |
|
642 <ulist> |
|
643 <item><p>a) $BA4BN$H$7$F!$(B<nt def='NT-document'>document</nt>$B$H$$$&%i%Y%k$r$b$D@8@.5,B'$K(B&match;$B$9$k!#(B</p></item> |
|
644 <item><p>b) $B$3$N(B&TR-or-Rec;$B$GDj5A$9$k!$$9$Y$F$N(B&well-formed;$B@)Ls$K=>$&!#(B</p> |
|
645 </item> |
|
646 <item><p>c) $B$=$l$>$l$N(B<termref def='dt-parsedent'>&parsed-entity;</termref>$B$,!$(B<titleref href='wf-entities'>&well-formed;</titleref>$B$H$J$k!#(B</p></item> |
|
647 </ulist></p> |
|
648 <p> |
|
649 <scrap lang='ebnf' id='document'> |
|
650 <head>$BJ8=q(B</head> |
|
651 <prod id='NT-document'><lhs>document</lhs> |
|
652 <rhs><nt def='NT-prolog'>prolog</nt> |
|
653 <nt def='NT-element'>element</nt> |
|
654 <nt def='NT-Misc'>Misc</nt>*</rhs></prod> |
|
655 </scrap> |
|
656 </p> |
|
657 <p><nt def="NT-document">document</nt>$B@8@.5,B'$K(B&match;$B$9$k$H$O!$<!$r0UL#$9$k!#(B |
|
658 <ulist> |
|
659 <item><p>a) $B0l$D0J>e$N(B<termref def="dt-element">$BMWAG(B</termref>$B$r4^$`!#(B</p> |
|
660 </item> |
|
661 |
|
662 <!--* N.B. some readers (notably JC) find the following |
|
663 paragraph awkward and redundant. I agree it's logically redundant: |
|
664 it *says* it is summarizing the logical implications of |
|
665 matching the grammar, and that means by definition it's |
|
666 logically redundant. I don't think it's rhetorically |
|
667 redundant or unnecessary, though, so I'm keeping it. It |
|
668 could however use some recasting when the editors are feeling |
|
669 stronger. -MSM *--> |
|
670 |
|
671 <item><p>b) <termdef id="dt-root" term="$B%k!<%HMWAG(B"><term>$B%k!<%H(B</term>$BKt$OJ8=qMWAG$H$$$&MWAG$,0l$D$@$1B8:_$7!$$3$l$O!$B>$NMWAG$N(B<termref def="dt-content">$BFbMF(B</termref>$B$K4^$^$l$J$$!#(B</termdef>$B$3$l0J30$N$9$Y$F$NMWAG$O!$$=$N3+;O%?%0$,B>$NMWAG$NFbMF$K4^$^$l$l$P!$BP1~$9$k=*N;%?%0$bF1$8MWAG$NFbMF$K4^$^$l$k!#$D$^$j!$MWAG$O!$3+;O%?%05Z$S=*N;%?%0$K$h$C$F6h@Z$i$l!$F~$l;R9=B$$r$J$9!#(B |
|
672 </p></item> |
|
673 </ulist> |
|
674 </p> |
|
675 <p><termdef id="dt-parentchild" term="$B?FMWAG(B/$B;RMWAG(B">$B$3$l$i$N7k2L$H$7$F!$J8=qFb$N$I$NHs%k!<%HMWAG(B<code>C</code>$B$KBP$7$F$b!$$"$kB>$NMWAG(B<code>P</code>$B$,B8:_$7!$(B<code>C</code>$B$O!$(B<code>P</code>$B$NFbMF$K4^$^$l$k$,!$(B<code>P</code>$B$NFbMF$K4^$^$l$kB>$NMWAG$K4^$^$l$k$3$H$O$J$$!#$3$N$H$-!$(B<code>P</code>$B$r(B<code>C</code>$B$N(B<code>$B?F(B</code>$B$H$$$$!$(B<code>C</code>$B$r(B<code>P</code>$B$N(B<code>$B;R(B</code>$B$H$$$&!#(B</termdef></p> |
|
676 </div2> |
|
677 <div2 id="charsets"> |
|
678 <head>$BJ8;z(B</head> |
|
679 <p> |
|
680 |
|
681 <!--The data stored in an XML <termref def="dt-entity">entity</termref> is |
|
682 either <termref def="dt-text">parsed</termref> or <termref |
|
683 def="dt-unparsed">unparsed</termref>. --> |
|
684 |
|
685 <termdef id="dt-text" term="$B%F%-%9%H(B">&parsed-entity;$B$O!$(B<term>$B%F%-%9%H(B</term>(<termref def="dt-character">$BJ8;z(B</termref>$B$NJB$S$G$"$C$F!$(B&markup;$BKt$OJ8;z%G!<%?$rI=$7$F$b$h$$!#(B)$B$r4^$`!#(B</termdef><termdef id="dt-character" term="$BJ8;z(B"><term>$BJ8;z(B</term>$B$O!$%F%-%9%H$N:G>.C10L$G$"$C$F!$(BISO/IEC 10646<bibref ref="ISO10646"/>$B$K5,Dj$5$l$k!#(B<!--Users may extend the ISO/IEC 10646 character repertoire by exploiting the private use areas. -->$B5vMF$9$kJ8;z$O!$%?%V!$2~9T!$I|5"JB$S$K(BUnicode$B5Z$S(BISO/IEC 10646$B$,5vMF$9$k?^7AJ8;z$H$9$k!#(B</termdef> |
|
686 <scrap lang="ebnf" id="char32"> |
|
687 <head>$BJ8;z$NHO0O(B</head> |
|
688 <prodgroup pcw2="4" pcw4="17.5" pcw5="11"> |
|
689 <prod id="NT-Char"><lhs>Char</lhs> |
|
690 <rhs>#x9 | #xA | #xD | [#x20-#D7FF] | [#xE000-#xFFFD] |
|
691 | [#x10000-#x10FFFF]</rhs> |
|
692 <com>$BG$0U$N(BUnicode$BJ8;z!#$?$@$7!$(B&surrogate-blocks;$B!$(BFFFE$B5Z$S(BFFFF$B$O=|$/!#(B</com> |
|
693 </prod> |
|
694 </prodgroup> |
|
695 </scrap> |
|
696 </p> |
|
697 <p>&character-value;$B$r%S%C%H%Q%?%s$KId9f2=$9$k5!9=$O!$<BBN$4$H$K0c$C$F$b$h$$!#$9$Y$F$N(BXML&processor;$B$O!$(BISO/IEC 10646$B$N(BUTF-8$BId9f2=5Z$S(BUTF-16$BId9f2=$r<u$1IU$1$J$1$l$P$J$i$J$$!#Fs$D$N$I$A$i$,MQ$$$i$l$F$$$k$+$rL@<($9$k$?$a$N5!9=!$5Z$SB>$NId9f2=J}K!$rMxMQ$9$k$?$a$N5!9=$O!$(B<titleref href='charencoding'>$BJ8;z$NId9f2=(B</titleref>$B$K5-=R$9$k!#(B</p> |
|
698 <p>$B$I$NId9f2=J}K!$rMQ$$$k$+$K4X78$J$/!$(BISO/IEC 10646$B$NJ8;z=89g$K$"$k$9$Y$F$NJ8;z$O!$$=$N(BUCS-4&code-value;<!-- bit string. -->$B$HEy2A$J(B10$B?J?tKt$O(B16$B?J?t$K$h$C$F!$;2>H$G$-$k!#(B</p> |
|
699 </div2> |
|
700 |
|
701 <div2 id='sec-common-syn'> |
|
702 <head>$B6&DL$N9=J89=@.;R(B</head> |
|
703 |
|
704 <p>2.3$B$G$O!$J8K!Fb$G9-$/;HMQ$9$k$$$/$D$+$N5-9f$rDj5A$9$k!#(B</p> |
|
705 <p><nt def="NT-S">S</nt> ($B6uGr(B)$B$O!$0l$D<c$7$/$OJ#?t$N(B&space-character;(#x20)$B!$I|5"!$2~9TKt$O%?%V$+$i@.$k!#(B |
|
706 |
|
707 <scrap lang="ebnf" id='white'> |
|
708 <head>$B6uGr(B</head> |
|
709 <prodgroup pcw2="4" pcw4="17.5" pcw5="11"> |
|
710 <prod id='NT-S'><lhs>S</lhs> |
|
711 <rhs>(#x20 | #x9 | #xD | #xA)+</rhs> |
|
712 </prod> |
|
713 </prodgroup> |
|
714 </scrap></p> |
|
715 <p>$BJX59>e!$J8;z$r!$(B&letter;$B!$?t;zKt$OB>$NJ8;z$KJ,N`$9$k!#(B&letter;$B$O!$%"%k%U%!%Y%C%HE*Kt$OI=2;E*$G$"$k4pK\J8;z(B($B0l$DKt$OJ#?t$N(B&combining-character;$B$,!$8e$KB3$/$3$H$b$"$k!#(B)$B!$(B&ideographic;$B$+$i@.$k!#(B |
|
716 <!-- |
|
717 Certain layout and format-control characters defined by ISO/IEC 10646 |
|
718 should be ignored when recognizing identifiers; these are defined by the |
|
719 classes <nt def='NT-Ignorable'>Ignorable</nt> and <nt def='NT- |
|
720 Extender'>Extender</nt>. |
|
721 --> |
|
722 $B3F%/%i%9$K$*$1$k<B:]$NJ8;z$K$D$$$F$N40A4$JDj5A$O!$(B<titleref href='CharClasses'>$BJ8;z%/%i%9(B</titleref>$B$K4X$9$kIUO?$K5,Dj$9$k!#(B</p> |
|
723 <p><termdef id="dt-name" term="Name"><term>Name</term>$B$O!$(B&letter;$BKt$O$$$/$D$+$N6h@Z$jJ8;z$N0l$D$G;O$^$j!$$=$N8e$K(B&letter;$B!$?t;z!$%O%$%U%s!$2<@~!$%3%m%sKt$O%T%j%*%I$,B3$/(B($B$3$l$i$rL>A0J8;z$H$$$&!#(B)$B!#(B</termdef>&string;"<code>xml</code>"$BKt$O(B<code>(('X'|'x') ('M'|'m') ('L'|'l'))</code>$B$K(B&match;$B$9$kG$0U$N(B&string;$B$G;O$^$kL>A0$O!$$3$N(B&TR-or-Rec;$B$N8=:_$NHGKt$O>-Mh$NHG$G$NI8=`2=$N$?$a$KM=Ls$9$k!#(B |
|
724 </p> |
|
725 <note> |
|
726 <p>XML$B$NL>A0$NCf$N%3%m%s$O!$L>A06u4V$G$N<B83$N$?$a$KM=Ls$9$k!#%3%m%s$N0UL#$O!$>-Mh$N$"$k;~E@$GI8=`2=$9$k$b$N$H$7!$$=$N$H$-$K$O!$<B83E*$JL\E*$G%3%m%s$r;HMQ$9$kJ8=q$r99?7$9$kI,MW$,@8$8$k2DG=@-$,$"$k!#(BXML$B$G:NMQ$9$kL>A06u4V$N5!9=$,!$6h@Z$j;R$H$7$F<B:]$K%3%m%s$r;HMQ$9$k$H$$$&J]>Z$O$J$$!#;v<B>e!$$3$l$O!$L>A06u4V$N<B83$N0l$D$H$7$F0J30$K$O!$(BXML$B$NL>A0$NCf$G%3%m%s$r;HMQ$7$J$$$[$&$,$h$$$3$H$r0UL#$9$k!#$7$+$7!$(BXML&processor;$B$O!$L>A0J8;z$H$7$F%3%m%s$r<u$1IU$1$k$3$H$,K>$^$7$$!#(B |
|
727 </p> |
|
728 </note> |
|
729 <p> |
|
730 <nt def='NT-Nmtoken'>Nmtoken</nt> ($BL>A0(B&token;)$B$O!$L>A0J8;z$G9=@.$9$kNs$H$9$k!#(B |
|
731 <scrap lang='ebnf'> |
|
732 <head>$BL>A05Z$S(B&token;</head> |
|
733 <!-- |
|
734 <prod id='NT-MiscName'><lhs>MiscName</lhs> |
|
735 <rhs></rhs> |
|
736 </prod>--> |
|
737 <prod id='NT-NameChar'><lhs>NameChar</lhs> |
|
738 <rhs><nt def="NT-Letter">Letter</nt> |
|
739 | <nt def='NT-Digit'>Digit</nt> |
|
740 <!--| <nt def='NT-MiscName'>MiscName</nt>--> |
|
741 | '.' | '-' | '_' | ':' |
|
742 | <nt def='NT-CombiningChar'>CombiningChar</nt> |
|
743 <!-- | <nt def='NT-Ignorable'>Ignorable</nt> --> |
|
744 | <nt def='NT-Extender'>Extender</nt></rhs> |
|
745 </prod> |
|
746 <prod id='NT-Name'><lhs>Name</lhs> |
|
747 <rhs>(<nt def='NT-Letter'>Letter</nt> | '_' | ':') |
|
748 (<nt def='NT-NameChar'>NameChar</nt>)*</rhs></prod> |
|
749 <prod id='NT-Names'><lhs>Names</lhs> |
|
750 <rhs><nt def='NT-Name'>Name</nt> |
|
751 (<nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>)*</rhs></prod> |
|
752 <prod id='NT-Nmtoken'><lhs>Nmtoken</lhs> |
|
753 <rhs>(<nt def='NT-NameChar'>NameChar</nt>)+</rhs></prod> |
|
754 <prod id='NT-Nmtokens'><lhs>Nmtokens</lhs> |
|
755 <rhs><nt def='NT-Nmtoken'>Nmtoken</nt> (<nt def='NT-S'>S</nt> <nt |
|
756 def='NT-Nmtoken'>Nmtoken</nt>)*</rhs></prod> |
|
757 </scrap> |
|
758 </p> |
|
759 <p>&literal;$B%G!<%?$O!$0zMQId$G0O$^$l$?(B&string;$B$H$7!$$=$NNs$N6h@Z$j;R$H$7$F;HMQ$9$k0zMQId$O4^$^$J$$!#(B&literal;$B$O!$FbIt<BBN(B(<nt def='NT-EntityValue'>EntityValue</nt>)$B!$B0@-CM(B(<nt def='NT-AttValue'>AttValue</nt>)$B!$30It(B&identifier;(<nt def="NT-SystemLiteral">SystemLiteral</nt>)$B$NFbMF$N;XDj$K;HMQ$9$k!#L\E*$K$h$C$F$O!$(B&literal;$BA4BN$r!$$=$NCf$N(B&markup;$B$NAv::$r9T$J$o$:$K!$%9%-%C%W$9$k$3$H$,$"$k(B(<nt def='NT-SkipLit'>SkipLit</nt>$B!#(B)$B!#(B |
|
760 <scrap lang='ebnf'> |
|
761 <head>&literal;</head> |
|
762 <!-- is marked section end legal in entity values etc.? |
|
763 James says yes. Handbook page 392, sec. 10.4 seems to me to say no. |
|
764 If James is right, leave as is. Otherwise, uncomment |
|
765 the next comment and ... |
|
766 --> |
|
767 <!-- |
|
768 <prod id='NT-EntityValue'><lhs>EntityValue</lhs> |
|
769 <rhs>' " ' |
|
770 (([^%&"] |
|
771 | <nt def='NT-PEReference'>PEReference</nt> |
|
772 | <nt def='NT-Reference'>Reference</nt>)* |
|
773 - (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-char'>Char</nt>*)) |
|
774 ' " ' |
|
775 </rhs> |
|
776 <rhs>| |
|
777 " ' " |
|
778 (([^%&'] |
|
779 | <nt def='NT-PEReference'>PEReference</nt> |
|
780 | <nt def='NT-Reference'>Reference</nt>)* |
|
781 - (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-char'>Char</nt>*)) |
|
782 " ' "</rhs> |
|
783 </prod> |
|
784 <prod id='NT-AttValue'><lhs>AttValue</lhs> |
|
785 <rhs>'"' |
|
786 (([^<&"] |
|
787 | <nt def='NT-Reference'>Reference</nt>)* |
|
788 - (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-char'>Char</nt>*)) |
|
789 ' " ' |
|
790 </rhs> |
|
791 <rhs>| |
|
792 " ' " |
|
793 (([^<&'] |
|
794 | <nt def='NT-Reference'>Reference</nt>)* |
|
795 - (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-char'>Char</nt>*)) |
|
796 " ' "</rhs> |
|
797 <wfc def="CleanAttrVals"/> |
|
798 </prod> |
|
799 --> |
|
800 <!-- ... and comment out the following, down to ... --> |
|
801 <prod id='NT-EntityValue'><lhs>EntityValue</lhs> |
|
802 <rhs>' " ' |
|
803 ([^%&"] |
|
804 | <nt def='NT-PEReference'>PEReference</nt> |
|
805 | <nt def='NT-Reference'>Reference</nt>)* |
|
806 ' " ' |
|
807 </rhs> |
|
808 <rhs>| |
|
809 " ' " |
|
810 ([^%&'] |
|
811 | <nt def='NT-PEReference'>PEReference</nt> |
|
812 | <nt def='NT-Reference'>Reference</nt>)* |
|
813 " ' "</rhs> |
|
814 </prod> |
|
815 <prod id='NT-AttValue'><lhs>AttValue</lhs> |
|
816 <rhs>' " ' |
|
817 ([^<&"] |
|
818 | <nt def='NT-Reference'>Reference</nt>)* |
|
819 ' " ' |
|
820 </rhs> |
|
821 <rhs>| |
|
822 " ' " |
|
823 ([^<&'] |
|
824 | <nt def='NT-Reference'>Reference</nt>)* |
|
825 " ' "</rhs> |
|
826 <!--<wfc def="WF-Attvaldelim"/>--> |
|
827 </prod> |
|
828 <!-- ... down to here. --> |
|
829 <prod id="NT-SystemLiteral"><lhs>SystemLiteral</lhs> |
|
830 <rhs><nt def='NT-SkipLit'>SkipLit</nt></rhs> |
|
831 </prod> |
|
832 <!-- <prod id="NT-URIchar"><lhs>URIchar</lhs> |
|
833 <rhs><com>See <loc href="http://www.w3.org/XXX">XXX</loc></com> |
|
834 </rhs></prod> |
|
835 --> |
|
836 <prod id="NT-PubidLiteral"><lhs>PubidLiteral</lhs> |
|
837 <rhs>' " ' <nt def='NT-PubidChar'>PubidChar</nt>* |
|
838 ' " ' |
|
839 | " ' " (<nt def='NT-PubidChar'>PubidChar</nt> - " ' ")* " ' "</rhs> |
|
840 </prod> |
|
841 <prod id="NT-PubidChar"><lhs>PubidChar</lhs> |
|
842 <rhs>#x20 | #xD | #xA |
|
843 | [a-zA-Z0-9] |
|
844 | [-'()+,./:=?]</rhs> |
|
845 </prod> |
|
846 <prod id="NT-SkipLit"><lhs>SkipLit</lhs> |
|
847 <rhs>(' " ' [^"]* ' " ') |
|
848 | (" ' " [^']* " ' ")</rhs> |
|
849 </prod> |
|
850 <!-- alternate form, making ms end illegal: --> |
|
851 <!-- |
|
852 <prod id="NT-SkipLit"><lhs>SkipLit</lhs> |
|
853 <rhs>(' " ' ([^"]* - ([^"]* ']]>' [^"]*)) ' " ') |
|
854 | (" ' " ([^']* - ([^']* ']]>' [^']*)) " ' ")</rhs> |
|
855 </prod> |
|
856 --> |
|
857 </scrap> |
|
858 </p> |
|
859 <!-- |
|
860 <wfcnote id="WF-Attvaldelim"> |
|
861 <head>Delimiters in Attribute Values</head> |
|
862 <p>After the expansion of character and entity references, |
|
863 an attribute value must not contain a "<code><</code>" |
|
864 or "<code>&</code>" character unless that character was |
|
865 introduced by the expansion of a character reference |
|
866 or one of the entities &magicents;.</p> |
|
867 </wfcnote>--> |
|
868 <!-- |
|
869 This is not quite right: < should be legal, should it not? |
|
870 Suppress this WFC until we get it right. |
|
871 --> |
|
872 <!-- Henry Thompson suggests (in substance, not form: the wording needs |
|
873 to be clarified): |
|
874 "Cooked Attribute values must not contain < & or the |
|
875 quote which closed their uncooked literal, |
|
876 unless arising from the expansion of a character reference or |
|
877 magic reference |
|
878 directly contained in their uncooked literal." |
|
879 I'm not sure I agree with this rule, but it's at least coherent, |
|
880 which is more than I can say for my attempt. |
|
881 --> |
|
882 </div2> |
|
883 |
|
884 <div2 id='syntax'> |
|
885 <head>$BJ8;z%G!<%?5Z$S(B&markup;</head> |
|
886 <p><termref def='dt-text'>$B%F%-%9%H(B</termref>$B$O!$(B<termref def="dt-chardata">$BJ8;z%G!<%?(B</termref>$B5Z$S(B&markup;$B$,:.:_$9$k$b$N$H$7$F9=@.$9$k!#(B<termdef id="dt-markup" term="Markup"><term>&markup;</term>$B$O!$(B<termref def="dt-stag">$B3+;O%?%0(B</termref>$B!$(B<termref def="dt-etag">$B=*N;%?%0(B</termref>$B!$(B<termref def="dt-empty">$B6uMWAG(B</termref>$B!$(B<termref def="dt-entref">$B<BBN;2>H(B</termref>$B!$(B<termref def="dt-charref">$BJ8;z;2>H(B</termref>$B!$(B<termref def="dt-comment">$B%3%a%s%H(B</termref>$B!$(B<termref def="dt-cdsection">CDATA$B%;%/%7%g%s(B</termref> $B$N6h@Z$j;R!$(B<termref def="dt-doctype">$BJ8=q7?@k8@(B</termref>$B5Z$S(B<termref def="dt-pi">$B=hM}L?Na(B</termref>$B$N7A$r<h$k!#(B |
|
887 </termdef> |
|
888 </p> |
|
889 <p><termdef id="dt-chardata" term="Character Data">&markup;$B$G$O$J$$$9$Y$F$N%F%-%9%H$O!$J8=q$N(B<term>$BJ8;z%G!<%?(B</term>$B$r9=@.$9$k!#(B</termdef></p> |
|
890 <p>$B%"%s%Q%5%s%IJ8;z(B (&)$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> |
|
891 |
|
892 <p>$BMWAG$NFbMF$G$O!$J8;z%G!<%?$O!$$$$+$J$k(B&markup;$B$N3+;O6h@Z$j;R$r4^$^$J$$G$0U$N(B&char-string;$B$H$9$k!#(BCDATA$B%;%/%7%g%s$G$O!$J8;z%G!<%?$H$O!$(BCDATA$B%;%/%7%g%s$N=*N;6h@Z$j;R(B"<code>]]></code>"$B$r4^$^$J$$G$0U$N(B&char-string;$B$H$9$k!#(B |
|
893 </p> |
|
894 <p> |
|
895 $BB0@-CM$K(B&single-quote;$B5Z$S(B&double-quote;$B$r4^$`$?$a$K$O!$%"%]%9%H%m%U%#Kt$O(B&single-quote;(') $B$O!$(B"<code>&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 |
|
896 <scrap lang="ebnf"> |
|
897 <head>$BJ8;z%G!<%?(B</head> |
|
898 <prod id='NT-CharData'> |
|
899 <lhs>CharData</lhs> |
|
900 <rhs>[^<&]* - ([^<&]* ']]>' [^<&]*)</rhs> |
|
901 </prod> |
|
902 </scrap> |
|
903 </p> |
|
904 </div2> |
|
905 |
|
906 <div2 id='sec-comments'> |
|
907 <head>$B%3%a%s%H(B</head> |
|
908 |
|
909 <p><termdef id="dt-comment" term="Comment"><term>$B%3%a%s%H(B</term>$B$O!$B>$N(B<termref def='dt-markup'>&markup;</termref>$B$N30$J$i$P!$J8=q$N$I$3$K8=$l$F$b$h$$!#$5$i$K!$J8=q7?@k8@Fb$G!$J8K!$,5v$9>l=j$K8=$l$F$b$h$$!#(B |
|
910 <!-- TB |
|
911 except in a <termref def="dt-cdsection">CDATA section</termref>, i.e. within |
|
912 <termref def="dt-elemcontent">element content</termref>, in |
|
913 <termref def="dt-mixed">mixed content</termref>, or in the prolog. They must |
|
914 not occur within declarations or tags. --> |
|
915 $B%3%a%s%H$O!$J8=q$N(B<termref def="dt-chardata">$BJ8;z%G!<%?(B</termref>$B$N0lIt$G$O$J$$!#(BXML&processor;$B$O!$(B&application;$B$,%3%a%s%H$N%F%-%9%H$r<h$j=P$9$3$H$r2DG=$H$7$F$b$h$$$,!$$=$&$7$J$/$H$b$h$$!#(B |
|
916 <termref def="dt-compat">$B8_49@-$N$?$a(B</termref>$B!$(B&string;"<code>--</code>" $B!J(B&double-hyphen;$B!K$O!$%3%a%s%HFb$G8=$l$F$O$J$i$J$$!#(B |
|
917 <scrap lang="ebnf"> |
|
918 <head>$B%3%a%s%H(B</head> |
|
919 <prod id='NT-Comment'><lhs>Comment</lhs> |
|
920 <rhs>'<!--' |
|
921 ((<nt def='NT-Char'>Char</nt> - '-') |
|
922 | ('-' (<nt def='NT-Char'>Char</nt> - '-')))* |
|
923 '-->'</rhs> |
|
924 <!-- |
|
925 <rhs>'<!&como;' |
|
926 (<nt def='NT-Char'>Char</nt>* - |
|
927 (<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*)) |
|
928 '&comc;>'</rhs> --> |
|
929 </prod> |
|
930 </scrap> |
|
931 </termdef></p> |
|
932 <p>$B%3%a%s%H$NNc$r<!$K<($9!#(B |
|
933 <eg><!&como; declarations for <head> & <body> &comc;></eg> |
|
934 </p> |
|
935 </div2> |
|
936 |
|
937 <div2 id='sec-pi'> |
|
938 <head>$B=hM}L?Na(B</head> |
|
939 |
|
940 <p><termdef id="dt-pi" term="Processing instruction"><term>$B=hM}L?Na(B</term>(PI)$B$K$h$C$F!$(B&application;$B$N$?$a$NL?Na$rJ8=q$KF~$l$k$3$H$,$G$-$k!#(B |
|
941 |
|
942 <scrap lang="ebnf"> |
|
943 <head>$B=hM}L?Na(B</head> |
|
944 <prod id='NT-PI'><lhs>PI</lhs> |
|
945 <rhs>'<?' <nt def='NT-PITarget'>PITarget</nt> |
|
946 (<nt def='NT-S'>S</nt> |
|
947 (<nt def='NT-Char'>Char</nt>* - |
|
948 (<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*)))? |
|
949 &pic;</rhs></prod> |
|
950 <prod id='NT-PITarget'><lhs>PITarget</lhs> |
|
951 <rhs><nt def='NT-Name'>Name</nt> - |
|
952 (('X' | 'x') ('M' | 'm') ('L' | 'l'))</rhs> |
|
953 </prod> |
|
954 </scrap></termdef> |
|
955 PI$B$O!$J8=q$N(B<termref def="dt-chardata">$BJ8;z%G!<%?(B</termref>$B$N0lIt$G$O$J$$$,!$(B&application;$B$KEO$5$l$J$1$l$P$J$i$J$$!#(BPI$B$O!$L?Na$,EO$5$l$k(B&application;$B$r(B&identify;$B$?$a$K;HMQ$9$k(B⌖ (<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 |
|
956 </p> |
|
957 </div2> |
|
958 |
|
959 <div2 id='sec-cdata-sect'> |
|
960 <head>CDATA$B%;%/%7%g%s(B</head> |
|
961 |
|
962 <p><termdef id="dt-cdsection" term="CDATA Section"><term>CDATA$B%;%/%7%g%s(B</term>$B$O!$J8;z%G!<%?$,=P8=$9$k$H$3$m$G$"$l$P!$$I$3$K=P8=$7$F$b$h$$!#$3$l$O!$$=$&$G$J$1$l$P!$(B&markup;$B$H$7$FG'<1$9$kJ8;z$r4^$`!$%F%-%9%H$N6h2h$r(B&escape;$B$9$k$N$K;HMQ$9$k!#(BCDATA$B%;%/%7%g%s$O!$(B&string;"<code><![CDATA[</code>"$B$G;O$^$j!$(B&string; |
|
963 "<code>]]></code>"$B$G=*$o$k!#(B |
|
964 <scrap lang="ebnf"> |
|
965 <head>CDATA$B%;%/%7%g%s(B</head> |
|
966 <prod id='NT-CDSect'><lhs>CDSect</lhs> |
|
967 <rhs><nt def='NT-CDStart'>CDStart</nt> |
|
968 <nt def='NT-CData'>CData</nt> |
|
969 <nt def='NT-CDEnd'>CDEnd</nt></rhs></prod> |
|
970 <prod id='NT-CDStart'><lhs>CDStart</lhs> |
|
971 <rhs>'<![CDATA['</rhs> |
|
972 </prod> |
|
973 <prod id='NT-CData'><lhs>CData</lhs> |
|
974 |
|
975 <rhs>(<nt def='NT-Char'>Char</nt>* - |
|
976 (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-Char'>Char</nt>*)) |
|
977 </rhs> |
|
978 </prod> |
|
979 <prod id='NT-CDEnd'><lhs>CDEnd</lhs> |
|
980 <rhs>']]>'</rhs> |
|
981 </prod> |
|
982 </scrap> |
|
983 |
|
984 CDATA$B%;%/%7%g%sFb$G$O!$Ns(B<nt def='NT-CDEnd'>CDEnd</nt>$B$@$1$r(B&markup;$B$H$7$FG'<1$9$k$N$G!$(B&left-angle-bracket;$B5Z$S%"%s%Q%5%s%I$O!$$=$N(B&literal;$B7A<0$G=P8=$7$F$h$$!#$=$l$i$O!$(B"<code>&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 |
|
985 </termdef> |
|
986 </p> |
|
987 |
|
988 <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 |
|
989 <eg><![CDATA[<greeting>Hello, world!</greeting>]]></eg> |
|
990 </p> |
|
991 </div2> |
|
992 |
|
993 <div2 id='sec-prolog-dtd'> |
|
994 <head>&prolog;$B5Z$SJ8=q7?@k8@(B</head> |
|
995 |
|
996 <p><termdef id='dt-xmldecl' term='XML Declaration'>XML$BJ8=q$O!$;HMQ$9$k(BXML$B$N(B&version;$B$r;XDj$9$k(B<term>XML$B@k8@(B</term>$B$G;O$a$F$b$h$/!$Kt$=$&$9$k$N$,K>$^$7$$!#(B |
|
997 </termdef> |
|
998 </p> |
|
999 <p>$B$3$N(B&TR-or-Rec;$B$N$3$N(B&version;$B$KE,9g$9$k$3$H$r<($9$?$a$K$O!$(B&version;$BHV9f(B "<code>1.0</code>" $B$r;HMQ$7$J$1$l$P$J$i$J$$!#$"$kJ8=q$,!$$3$N(B&TR-or-Rec;$B$N$3$N(B&version;$B$KE,9g$7$J$$$H$-!$CM(B"<code>1.0</code>"$B$r;HMQ$9$k$N$O!$(B&error;$B$H$9$k!#$3$N(B&TR-or-Rec;$B$N:#8e$N(B&version;$B$K(B"<code>1.0</code>"$B0J30$NCM$rIUM?$9$k$3$H$,!$(BXML$B:n6H%0%k!<%W$N0U?^$@$,!$(BXML$B$N>-Mh$N(B&version;$B$r:n@.$9$k$3$H$N3NLs$r<($9$o$1$G$O$J$/!$:n@.$7$?$H$7$F$b!$HV9fIU$1$K$D$$$F!$FCDj$NJ}K!$r;HMQ$9$k$3$H$N3NLs$r<($9$o$1$G$b$J$$!#>-Mh$N(B&version;$B$N2DG=@-$r=|30$7$J$$$N$G!$I,MW$J>l9g!$<+F0E*$J(B&version;$B$NG'<1$r2DG=$H$9$k<jCJ$H$7$F!$$3$N9=@.;R$rDs6!$9$k!#(B&processor;$B$O!$%5%]!<%H$7$F$$$J$$(B&version;$B$G%i%Y%kIU$1$7$?J8=q$r<u$1<h$C$?$H$-!$(B&error;$B$rDLCN$7$F$b$h$$!#(B |
|
1000 </p> |
|
1001 <p>XML$BJ8=qFb$N(B&markup;$B$N5!G=$O!$5-219=B$5Z$SO@M}9=B$$r5-=R$9$k$3$H!$JB$S$KB0@-5Z$SB0@-CM$NBP$rO@M}9=B$$K4XO"$E$1$k$3$H$K$"$k!#(BXML$B$O!$O@M}9=B$$K$D$$$F$N@)Ls>r7o$rDj5A$9$k$?$a!$5Z$S$"$i$+$8$aDj5A$5$l$?5-21C10L$r;HMQ$G$-$k$?$a$N5!9=$H$7$F!$(B<termref def="dt-doctype">$BJ8=q7?@k8@(B</termref>$B$rDs6!$9$k!#(B<!-- old |
|
1002 The function of the markup in an XML document is to describe its |
|
1003 storage and logical structures, and associate attribute-value pairs with the |
|
1004 logical structure. |
|
1005 XML provides a |
|
1006 mechanism, the <termref def="dt-doctype">document type declaration</termref>, |
|
1007 to |
|
1008 define constraints on that logical structure and to support the use of |
|
1009 predefined storage units. --><termdef id="dt-valid" term="Validity">XML$BJ8=q$,(B<term>&valid;</term>$B$H$O!$J8=q7?@k8@$r$b$A!$$=$NJ8=q7?@k8@$K<($9@)Ls>r7o$rK~$?$9$3$H$H$9$k!#(B |
|
1010 </termdef></p> |
|
1011 <p>$BJ8=q7?@k8@$O!$J8=q$N:G=i$N(B<termref def="dt-element">$BMWAG(B</termref>$B$NA0$K8=$l$J$1$l$P$J$i$J$$!#(B |
|
1012 <scrap lang="ebnf" id='xmldoc'> |
|
1013 <head>&prolog;</head> |
|
1014 <prodgroup pcw2="6" pcw4="17.5" pcw5="9"> |
|
1015 <prod id='NT-prolog'><lhs>prolog</lhs> |
|
1016 <rhs><nt def='NT-XMLDecl'>XMLDecl</nt>? |
|
1017 <nt def='NT-Misc'>Misc</nt>* |
|
1018 (<nt def='NT-doctypedecl'>doctypedecl</nt> |
|
1019 <nt def='NT-Misc'>Misc</nt>*)?</rhs></prod> |
|
1020 <prod id='NT-XMLDecl'><lhs>XMLDecl</lhs> |
|
1021 <rhs>&xmlpio; |
|
1022 <nt def='NT-VersionInfo'>VersionInfo</nt> |
|
1023 <nt def='NT-EncodingDecl'>EncodingDecl</nt>? |
|
1024 <nt def='NT-SDDecl'>SDDecl</nt>? |
|
1025 <nt def="NT-S">S</nt>? |
|
1026 &pic;</rhs> |
|
1027 </prod> |
|
1028 <prod id='NT-VersionInfo'><lhs>VersionInfo</lhs> |
|
1029 <rhs><nt def="NT-S">S</nt> 'version' <nt def='NT-Eq'>Eq</nt> |
|
1030 ('"<nt def="NT-VersionNum">VersionNum</nt>"' |
|
1031 | "'<nt def="NT-VersionNum">VersionNum</nt>'")</rhs> |
|
1032 </prod> |
|
1033 <prod id='NT-Eq'><lhs>Eq</lhs> |
|
1034 <rhs><nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?</rhs></prod> |
|
1035 <prod id="NT-VersionNum"> |
|
1036 <lhs>VersionNum</lhs> |
|
1037 <rhs>([a-zA-Z0-9_.:] | '-')+</rhs> |
|
1038 </prod> |
|
1039 <prod id='NT-Misc'><lhs>Misc</lhs> |
|
1040 <rhs><nt def='NT-Comment'>Comment</nt> | <nt def='NT-PI'>PI</nt> | |
|
1041 <nt def='NT-S'>S</nt></rhs></prod> |
|
1042 </prodgroup> |
|
1043 </scrap></p> |
|
1044 |
|
1045 <p> |
|
1046 $BNc$($P!$<!$K<($940A4$J(BXML$BJ8=q$O!$(B<termref def="dt-wellformed">&well-formed;</termref>$B$G$"$k$,(B<termref def="dt-valid">&valid;</termref>$B$G$O$J$$!#(B |
|
1047 <eg><![CDATA[<?xml version="1.0"?> |
|
1048 <greeting>Hello, world!</greeting> |
|
1049 ]]></eg> |
|
1050 $B<!$NJ8=q$bF1MM$H$9$k!#(B |
|
1051 <eg><![CDATA[<greeting>Hello, world!</greeting> |
|
1052 ]]></eg> |
|
1053 </p> |
|
1054 <p><termdef id="dt-doctype" term="Document Type Declaration"> |
|
1055 XML$B$N(B<term>$BJ8=q7?@k8@(B</term>$B$O!$$"$kJ8=q%/%i%9$N$?$a$NJ8K!$rDs6!$9$k(B<termref def='dt-markupdecl'>&markup;$B@k8@(B</termref>$B$r4^$`$+!$Kt$O;2>H$9$k!#$3$NJ8K!$r!$J8=q7?Dj5AKt$O(B<term>DTD</term>$B$H$$$&!#J8=q7?@k8@$O!$(B&markup;$B@k8@$r4^$s$@30It(B⊂($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> |
|
1056 </p> |
|
1057 <p><termdef id="dt-markupdecl" term="markup declaration"> |
|
1058 <term>&markup;$B@k8@(B</term>$B$O!$(B<termref def="dt-eldecl">$BMWAG7?@k8@(B</termref>$B!$(B <termref def="dt-attdecl">$BB0@-%j%9%H@k8@(B</termref>$B!$(B<termref def="dt-entdecl">$B<BBN@k8@(B</termref>$BKt$O(B<termref def="dt-notdecl">$B5-K!@k8@(B</termref>$B$H$9$k!#(B</termdef>$B<!$K<($9(B&well-formed;$B@)Ls5Z$S(B&validity;$B@)Ls$K5,Dj$9$k$,!$$3$l$i$N@k8@$O!$(B<termref def='dt-PE'>¶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> |
|
1059 <scrap lang="ebnf" id='dtd'> |
|
1060 <head>$BJ8=q7?Dj5A(B</head> |
|
1061 <prodgroup pcw2="6" pcw4="17.5" pcw5="9"> |
|
1062 <prod id='NT-doctypedecl'><lhs>doctypedecl</lhs> |
|
1063 <rhs>'<!DOCTYPE' <nt def='NT-S'>S</nt> |
|
1064 <nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt> |
|
1065 <nt def='NT-ExternalID'>ExternalID</nt>)? |
|
1066 <nt def='NT-S'>S</nt>? ('[' |
|
1067 (<nt def='NT-markupdecl'>markupdecl</nt> |
|
1068 | <nt def='NT-PEReference'>PEReference</nt> |
|
1069 | <nt def='NT-S'>S</nt>)* |
|
1070 ']' |
|
1071 <nt def='NT-S'>S</nt>?)? '>'</rhs> |
|
1072 <vc def="vc-roottype"/> |
|
1073 <!--<vc def="vc-nonnullDTD"/>--> |
|
1074 </prod> |
|
1075 <!-- |
|
1076 <prod id='NT-markupdecls'><lhs>markupdecls</lhs> |
|
1077 <rhs> |
|
1078 (<nt def='NT-S'>S</nt>? |
|
1079 <nt def='NT-markupdecl'>markupdecl</nt> |
|
1080 <nt def='NT-S'>S</nt>?)* |
|
1081 </rhs></prod> |
|
1082 --> |
|
1083 <prod id='NT-markupdecl'><lhs>markupdecl</lhs> |
|
1084 <rhs><nt def='NT-elementdecl'>elementdecl</nt> |
|
1085 | <nt def='NT-AttlistDecl'>AttlistDecl</nt> |
|
1086 | <nt def='NT-EntityDecl'>EntityDecl</nt> |
|
1087 | <nt def='NT-NotationDecl'>NotationDecl</nt> |
|
1088 | <nt def='NT-PI'>PI</nt> |
|
1089 | <nt def='NT-Comment'>Comment</nt> |
|
1090 <!--| <nt def='NT-InternalPERef'>InternalPERef</nt> --></rhs> |
|
1091 <vc def='vc-PEinMarkupDecl'/> |
|
1092 <wfc def="wfc-PEinInternalSubset"/> |
|
1093 </prod> |
|
1094 <!-- |
|
1095 <prod id="NT-InternalPERef"><lhs>InternalPERef</lhs> |
|
1096 <rhs><nt def="NT-PEReference">PEReference</nt></rhs> |
|
1097 <wfc def="wfc-integraldec"/> |
|
1098 </prod> |
|
1099 --> |
|
1100 </prodgroup> |
|
1101 </scrap> |
|
1102 <vcnote id="vc-roottype"> |
|
1103 <head>&root;$BMWAG7?(B</head> |
|
1104 <p> |
|
1105 $BJ8=q7?@k8@$K$*$1$k(B<nt def='NT-Name'>Name</nt>$B$O!$(B&root;$BMWAG$N7?$H(B&match;$B$7$J$1$l$P$J$i$J$$!#(B |
|
1106 </p> |
|
1107 </vcnote> |
|
1108 <!-- |
|
1109 <vcnote id="vc-nonnullDTD"> |
|
1110 <head>Non-null DTD</head> |
|
1111 <p> |
|
1112 The internal and external subsets of the DTD must not both |
|
1113 be empty. |
|
1114 </p> |
|
1115 </vcnote> |
|
1116 --> |
|
1117 <vcnote id='vc-PEinMarkupDecl'> |
|
1118 <head>$B@k8@5Z$S(B¶meter;$B<BBN$,87L)$KF~$l;R$r$J$9$3$H(B</head> |
|
1119 <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> |
|
1120 </vcnote> |
|
1121 <wfcnote id="wfc-PEinInternalSubset"> |
|
1122 <head>$BFbIt(B⊂$BFb$N(B¶meter;$B<BBN(B</head> |
|
1123 <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 |
|
1124 </p> |
|
1125 </wfcnote> |
|
1126 <p> |
|
1127 $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 |
|
1128 <!--In the external subset, however, parameter-entity references can |
|
1129 be used to replace constructs prefixed by "<code>%</code>" in a production of |
|
1130 the grammar, and <termref def="dt-cond-section">conditional sections</termref> |
|
1131 may occur. |
|
1132 In the internal subset, by contrast, conditional sections may not |
|
1133 occur and the only parameter-entity references |
|
1134 allowed are those which match the non-terminal |
|
1135 <nt def="NT-InternalPERef">InternalPERef</nt> |
|
1136 within the rule for <nt def="NT-doctypedecl">markupdecl</nt>. |
|
1137 --> |
|
1138 <scrap id="ext-Subset"> |
|
1139 <head>$B30It(B⊂</head> |
|
1140 <prodgroup pcw2="6" pcw4="17.5" pcw5="9"> |
|
1141 <prod id='NT-extSubset'><lhs>extSubset</lhs> |
|
1142 <rhs>( |
|
1143 <nt def='NT-markupdecl'>markupdecl</nt> |
|
1144 | <nt def='NT-conditionalSect'>conditionalSect</nt> |
|
1145 | <nt def='NT-PEReference'>PEReference</nt> |
|
1146 | <nt def='NT-S'>S</nt> |
|
1147 )*</rhs> |
|
1148 </prod> |
|
1149 </prodgroup> |
|
1150 </scrap></p> |
|
1151 <p>$B30It(B⊂$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 |
|
1152 </p> |
|
1153 <p>$BJ8=q7?@k8@IU$-$N(BXML$BJ8=q$NNc$r!$<!$K<($9!#(B |
|
1154 <eg><![CDATA[<?xml version="1.0"?> |
|
1155 <!DOCTYPE greeting SYSTEM "hello.dtd"> |
|
1156 <greeting>Hello, world!</greeting> |
|
1157 ]]></eg> |
|
1158 <termref def="dt-sysid">$B%7%9%F%`(B&identifier;</termref> "<code>hello.dtd</code>"$B$,!$J8=q$N(BDTD$B$N(BURI$B$H$J$k!#(B</p> |
|
1159 <p>$B<!$NNc$N$H$*$j!$@k8@$r6I=jE*$KM?$($k$3$H$b$G$-$k!#(B |
|
1160 <eg><![CDATA[<?xml version="1.0" encoding="UTF-8" ?> |
|
1161 <!DOCTYPE greeting [ |
|
1162 <!ELEMENT greeting (#PCDATA)> |
|
1163 ]> |
|
1164 <greeting>Hello, world!</greeting> |
|
1165 ]]></eg> |
|
1166 $B30It(B⊂$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 |
|
1167 </p> |
|
1168 </div2> |
|
1169 |
|
1170 <div2 id='sec-rmd'> |
|
1171 <head>&standalone;$BJ8=q@k8@(B</head> |
|
1172 <p><termref def="dt-xml-proc">XML&processor;</termref>$B$O!$(B&application;$B$KJ8=q$NFbMF$rEO$9$,!$(B&markup;$B@k8@$O!$$3$NFbMF$K1F6A$rM?$($k$3$H$,$"$k!#B0@-$N(B&default-value;$B5Z$S<BBN@k8@$r$=$NNc$H$9$k!#(BXML$B@k8@$N0lItJ,$H$7$F=P8=$G$-$k(B&standalone;$BJ8=q@k8@$O!$J8=q$,!$$=$N(B&markup;$B@k8@$NB8:_$K$h$C$F1F6A$5$l$J$$$3$H$r;X$7<($9!JIaDL!$$=$N(B&markup;$B@k8@$,B8:_$7$J$$$?$a$K!$$3$l$,$$$($k!#!K!#(B |
|
1173 <scrap lang="ebnf" id='fulldtd'> |
|
1174 <head>&standalone;$BJ8=q@k8@(B</head> |
|
1175 <prodgroup pcw2="4" pcw4="19.5" pcw5="9"> |
|
1176 <prod id='NT-SDDecl'><lhs>SDDecl</lhs> |
|
1177 <rhs> |
|
1178 <nt def="NT-S">S</nt> |
|
1179 'standalone' <nt def='NT-Eq'>Eq</nt> "'" ('yes' | 'no') "'" |
|
1180 </rhs> |
|
1181 <rhs> |
|
1182 | <nt def="NT-S">S</nt> |
|
1183 'standalone' <nt def='NT-Eq'>Eq</nt> '"' ('yes' | 'no') '"' |
|
1184 </rhs><vc def='vc-check-rmd'/></prod> |
|
1185 </prodgroup> |
|
1186 </scrap></p> |
|
1187 <p>&standalone;$BJ8=q@k8@$K$*$$$F$O(B, "<code>yes</code>"$B$NCM$O!$(B<termref def='dt-docent'>$BJ8=q<BBN(B</termref>$B$N30It$K!J(BDTD$B$N30It(B⊂$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> |
|
1188 |
|
1189 <p>$B30It$K(B&markup;$B@k8@$,B8:_$7$J$1$l$P!$(B&standalone;$BJ8=q@k8@$O0UL#$r$b$?$J$$!#30It$K(B&markup;$B@k8@$,B8:_$7!$(B&standalone;$BJ8=q@k8@$,B8:_$7$J$$>l9g$O!$(B<code>"no"</code> $B$NCM$N@_Dj$r2>Dj$9$k!#(B</p> |
|
1190 <p>XML$BJ8=q$G(B <code>standalone="no"</code> $B$,@_Dj$5$l$F$$$k$b$N$O!$$"$k%"%k%4%j%:%`$G(B&standalone;$BJ8=q$KJQ49$G$-!$$3$NJ8=q$O!$%M%C%H%o!<%/G[?.(B&application;$B$K$H$C$FK>$^$7$$$+$b$7$l$J$$!#(B</p> |
|
1191 <vcnote id='vc-check-rmd'> |
|
1192 <head>&standalone;$BJ8=q@k8@(B</head> |
|
1193 <p>&standalone;$BJ8=q@k8@$O!$2?$i$+$N30It(B&markup;$B@k8@$,<!$N$$$:$l$+$r@k8@$7$F$$$k$H$-$O!$CM(B "<code>no</code>" $B$r<h$i$J$1$l$P$J$i$J$$!#(B |
|
1194 <ulist> |
|
1195 <item><p>a) <termref def="dt-default">&default;</termref>$BCMIU$-$NB0@-$G$"$C$F!$$3$NB0@-$,E,MQ$5$l$kMWAG$,!$B0@-CM$r;XDj$;$:$KJ8=qFb$K8=$l$k$b$N!#(B</p></item> |
|
1196 <item><p>b) &magicents;$B0J30$N<BBN$G$"$C$F!$$=$N<BBN$KBP$9$k(B<termref def="dt-entref">$B;2>H(B</termref>$B$,J8=qFb$K=P8=$9$k$b$N!#(B</p> |
|
1197 </item> |
|
1198 <item><p>c) $BCM$,(B<titleref href='AVNormalize'>$B@55,2=(B</titleref>$B$NBP>]$H$J$kB0@-$G$"$C$F!$@55,2=$N7k2L$H$7$FJQ2=$9$kCM$,J8=qFb$GB0@-$K;XDj$5$l$k$b$N!#(B</p></item> |
|
1199 <item> |
|
1200 <p>d) <termref def="dt-elemcontent">$BMWAGFbMF(B</termref>$B$r$b$DMWAG7?$G$"$C$F!$6uGr$,$=$NMWAG7?$N$$$:$l$+$N%$%s%9%?%s%9Fb$KD>@\8=$l$k$b$N!#(B |
|
1201 </p></item> |
|
1202 </ulist> |
|
1203 </p> |
|
1204 </vcnote> |
|
1205 <p>&standalone;$BJ8=q@k8@IU$-$N(BXML$B@k8@$NNc$r!$<!$K<($9!#(B |
|
1206 <eg><?xml version="&XML.version;" standalone='yes'?></eg></p> |
|
1207 </div2> |
|
1208 <div2 id='sec-white-space'> |
|
1209 <head>$B6uGr$N<h07$$(B</head> |
|
1210 <p>XML$BJ8=q$rJT=8$9$k$H$-$O!$(B&markup;$B$rL\N)$?$;FI$_$d$9$/$9$k$?$a$K!$!H6uGr!I(B(&space;$B!$%?%V5Z$S6uGr9T!#$3$N(B&TR-or-Rec;$B$G$O!$Hs=*C<5-9f$N(B<nt def='NT-S'>S</nt>$B$GI=$9(B)$B$r;H$&$HJXMx$J$3$H$,B?$$!#$=$N6uGr$O!$G[I[$9$k(B&version;$B$NJ8=q$N0lIt$H$7$F4^$a$k$3$H$r0U?^$7$J$$$N$rIaDL$H$9$k!#$7$+$7!$!H0UL#$N$"$k!I6uGr$G$"$C$F!$G[I[$9$k(B&version;$B$K;D$5$J$1$l$P$J$i$J$$$b$N$bB?$$!#Nc$($P!$;m5Z$S%=!<%9%3!<%I$K$*$1$k6uGr$,$"$k!#(B</p> |
|
1211 <p><termref def='dt-xml-proc'>XML&processor;</termref>$B$O!$J8=qFb$N(B&markup;$B0J30$N$9$Y$F$NJ8;z$r!$$=$N$^$^JQ99$;$:$K(B&application;$B$KEO$5$J$1$l$P$J$i$J$$!#(B<termref def='dt-validating'>&validating;XML&processor;</termref>$B$O!$(B<termref def="dt-elemcontent">$BMWAGFbMF(B</termref>$B$NCf$N6uGr$rB>$NHs(B&markup;$BJ8;z$+$i6hJL$7!$(B&application;$BB&$KMWAGFbMF$NCf$N6uGr$,=EMW$G$J$$$H$$$&$3$H$rEA$($J$1$l$P$J$i$J$$!#(B</p> |
|
1212 <p> |
|
1213 "<code>xml:space</code>"$B$H$$$&FCJL$J(B<termref def='dt-attr'>$BB0@-(B</termref>$B$rJ8=q$KA^F~$9$k$3$H$K$h$C$F!$6uGr$r=EMW$H$9$k0U?^$r<($7$F$b$h$$!#$3$NB0@-$rE,MQ$9$kMWAG$K8=$l$k6uGr$r!$%"%W%j%1!<%7%g%s$,=EMW$J$b$N$H$7$F07$&$3$H$rMW5a$9$k!$$H$$$&0U?^$r<($9!#(B</p> |
|
1214 <p>&valid;$B$JJ8=q$G$O!$$3$NB0@-$r;HMQ$9$k>l9g$O!$B>$NB0@-$HF1$8$h$&$K(B<termref def="dt-attdecl">$B@k8@(B</termref>$B$7$J$1$l$P$J$i$J$$!#@k8@$9$k$H$-$O!$<h$jF@$kCM$r(B"<code>default</code>"$B5Z$S(B "<code>preserve</code>"$B$@$1$H$9$k(B<termref def='dt-enumerated'>$BNs5s7?(B</termref>$B$G$J$1$l$P$J$i$J$$!#(B |
|
1215 </p> |
|
1216 <p>$BCM(B"<code>default</code>"$B$O!$(B&application;$B$N(B&default;$B$N6uGr=hM}%b!<%I$r!$$=$NMWAG$KE,MQ2DG=$H$9$k$3$H$r0UL#$9$k!#CM(B"<code>preserve</code>"$B$O!$(B&application;$B$,$9$Y$F$N6uGr$rJ]B8$9$k$3$H$r0UL#$9$k!#$3$N@k8@$N0U?^$O!$(B"<code>xml:space</code>" $BB0@-$NJL$N;XDj$G>e=q$-$7$J$$8B$j!$MWAG$NFbMF$K8=$l$k$9$Y$F$NMWAG$KE,MQ$9$k$H2r<a$9$k!#(B</p> |
|
1217 <p>$BJ8=q$N(B<termref def='dt-root'>&root;$BMWAG(B</termref>$B$K$D$$$F$O!$$3$NB0@-$NCM$r;XDj$9$k$+!$Kt$O$3$NB0@-$N(B&default-value;$B$,$"$k>l9g$r=|$$$F$O!$(B&application;$B$K$h$k6uGr$N<h07$$$K$D$$$F!$$$$+$J$k0U?^$b<($5$J$$$H2r<a$9$k!#(B</p> |
|
1218 <p>$BNc$r<!$K<($9!#(B |
|
1219 <eg><![CDATA[ <!ATTLIST poem xml:space (default|preserve) 'preserve'>]]></eg> |
|
1220 </p> |
|
1221 </div2> |
|
1222 <div2 id='sec-line-ends'> |
|
1223 <head>$B9TKv$N<h07$$(B</head> |
|
1224 <p>XML$B$N(B<termref def='dt-parsedent'>$B9=J8(B&parsed-entity;</termref>$B$O!$DL>o%3%s%T%e!<%?$N%U%!%$%kFb$KJ]B8$5$l!$JT=8$NJX59$N$?$a$KJ#?t$N9T$KJ,$1$k$3$H$,B?$$!#$3$l$i$N9T$O!$IaDL$O!$(B<code>CR</code> (#xD)$B%3!<%I5Z$S(B <code>LF</code> (#xA)$B%3!<%I$N2?$i$+$NAH9g$;$K$h$C$FJ,$1$i$l$k!#(B</p> |
|
1225 <p><termref def='dt-app'>&application;</termref>$B$N=hM}$r4JC1$K$9$k$?$a!$30It(B&parsed-entity;$BKt$OFbIt(B&parsed-entity;$B$N(B&literal;$B<BBNCM$,!$(B"<code>#xD#xA</code>" $B$N#2J8;z$NO"B3$H$9$k(B&literal;$BKt$O(B<code>#xD</code>$B$NC1FH$N(B&literal;$B$r4^$`>l9g$K!$(B<termref def='dt-xml-proc'>XML&processor;</termref>$B$O!$(B&application;$B$KC10l$NJ8;z(B<code>#xA</code>$B$@$1$rEO$5$J$1$l$P$J$i$J$$(B($B$3$N=hM}$O!$F~NOFb$KB8:_$9$k2~9T%3!<%I$r9=J82r@O$NA0$K@55,2=$9$k$3$H$K$h$C$F!$MF0W$K<B8=$G$-$k!#(B)$B!#(B</p> |
|
1226 </div2> |
|
1227 <div2 id='sec-lang-tag'> |
|
1228 <head>&language-identification;</head> |
|
1229 <p>$BJ8=q=hM}$K$*$$$F$O!$$=$NJ8=q$NCf?H$,$I$s$J<+A38@8lKt$O7A<08@8l$G=q$+$l$F$$$k$+L@<($9$k$3$H$,!$Lr$KN)$D$3$H$,B?$$!#(B<!--$B$3$3$G;HMQ$9$k!H8@8l!I$H$$$&8@MU$N0UL#$O!$(B"Español" $B5Z$S(B"EBNF"$B$NAPJ}$GNc<($5$l$k0UL#$H$9$k!#(B--><!-- x00F1: spanish's small ntilde--></p> |
|
1230 <!--; $B$3$N>pJs$O!JNc$r$"$2$l$P!KJ8=q$NJ8;z$NI=<(!$JB$S$K>pJsCj=P$N$?$a$N8l44!&7ABVAG2r@O5Z$S%F%-%9%H%V%m%C%/$N@07A$K1F6A$r5Z$\$92DG=@-$,$"$k!#(B--> |
|
1231 <p>XML$BJ8=qFb$NMWAG$N$b$DFbMFKt$OB0@-CM$K$*$$$F;HMQ$9$k(B<!--$B<+A3Kt$O7A<0(B-->$B8@8l$r;XDj$9$k$?$a$K!$(B"<code>xml:lang</code>" $B$H$$$&L>A0$NFCJL$J(B<termref def="dt-attr">$BB0@-(B</termref>$B$r!$J8=qFb$KA^F~$7$F$b$h$$!#(B |
|
1232 <!--; $B$3$NB0@-$O(BXML$B5,Dj$N0lIt$H$7$F!$J#?t$N(BXML&application;$B$NAj8_1?MQ@-$r9b$a$k$?$a$KDj5A$9$k!#(B--> |
|
1233 $BB0@-$NCM$O!$(B<bibref ref="RFC1766"/>$B!H(BRFC1766$B!'(B&language-identification;$B$N$?$a$N%?%0!I$K$h$C$F5,Dj$5$l$k(B&language-identification;$B%3!<%I$K=>$&!#(B |
|
1234 <scrap lang='ebnf'> |
|
1235 <head>&language-identification;</head> |
|
1236 <prod id='NT-LanguageID'><lhs>LanguageID</lhs> |
|
1237 <rhs><nt def='NT-Langcode'>Langcode</nt> |
|
1238 ('-' <nt def='NT-Subcode'>Subcode</nt>)*</rhs></prod> |
|
1239 <prod id='NT-Langcode'><lhs>Langcode</lhs> |
|
1240 <rhs><nt def='NT-ISO639Code'>ISO639Code</nt> | |
|
1241 <nt def='NT-IanaCode'>IanaCode</nt> | |
|
1242 <nt def='NT-UserCode'>UserCode</nt></rhs> |
|
1243 </prod> |
|
1244 <prod id='NT-ISO639Code'><lhs>ISO639Code</lhs> |
|
1245 <rhs>([a-z] | [A-Z]) ([a-z] | [A-Z])</rhs></prod> |
|
1246 <prod id='NT-IanaCode'><lhs>IanaCode</lhs> |
|
1247 <rhs>('i' | 'I') '-' ([a-z] | [A-Z])+</rhs></prod> |
|
1248 <prod id='NT-UserCode'><lhs>UserCode</lhs> |
|
1249 <rhs>('x' | 'X') '-' ([a-z] | [A-Z])+</rhs></prod> |
|
1250 <prod id='NT-Subcode'><lhs>Subcode</lhs> |
|
1251 <rhs>([a-z] | [A-Z])+</rhs></prod> |
|
1252 </scrap> |
|
1253 <nt def='NT-Langcode'>Langcode</nt>$B$O!$<!$N$I$l$G$b$h$$!#(B |
|
1254 <ulist> |
|
1255 <item><p>a) <bibref ref="ISO639"/>$B!H8@8l$NL>A0I=8=$N$?$a$N%3!<%I!I$G5,Dj$5$l$k(B2$BJ8;z$N(B&language-code;</p></item> |
|
1256 <item><p>b) Internet Assigned Numbers Authority (IANA)$B$GEPO?$5$l$F$$$k(B&language-code;$B!#$3$l$O!$@hF,$,(B "<code>i-</code>" ($BKt$O(B"<code>I-</code>")$B$G;O$^$k!#(B</p></item> |
|
1257 <item><p>c) &user;$B$K$h$C$FDj$a$i$l$?(B&language-code;$B!$Kt$O;dE*$J;HMQ$N$?$a$KJ#?t$NCDBN4V$,<h$j7h$a$?%3!<%I!#$3$l$i$O!$:#8e(BIANA$B$K$*$$$FI8=`2=Kt$OEPO?$5$l$k%3!<%I$H$N6%9g$rHr$1$k$?$a$K!$@hF,$r(B"<code>x-</code>" $BKt$O(B "<code>X-</code>" $B$G;O$a$k!#(B</p></item> |
|
1258 </ulist></p> |
|
1259 <p><nt def='NT-Subcode'>Subcode</nt>$B$O!$J#?t2s;H$C$F$b$h$$!#:G=i$N%5%V%3!<%I$,B8:_$7!$$=$NFbMF$,Fs$D$NJ8;z$+$i@.$k$H$-$O!$(B<bibref ref="ISO3166"/>ISO3166$B$N!H9qL>$rI=$9%3!<%I(B($B9q%3!<%I(B)$B!I$G$J$1$l$P$J$i$J$$!#:G=i$N%5%V%3!<%I$,(B3$BJ8;z0J>e$+$i@.$k$H$-$O!$(B<nt def='NT-Langcode'>Langcode</nt>$B$N@hF,$,!$(B"<code>x-</code>" $BKt$O(B "<code>X-</code>"$B$G;O$^$i$J$$8B$j!$;XDj$7$?8@8l$KBP$9$k%5%V%3!<%I$H$7!$(BIANA$B$KEPO?$5$l$?$b$N$G$J$1$l$P$J$i$J$$!#(B</p> |
|
1260 <p>&language-code;$B$O!$>.J8;z$G$NI=5-$r!$(B&country-code;$B$O!$(B($BB8:_$9$k$J$i$P(B)$BBgJ8;z$G$NI=5-$r479T$H$9$k!#$7$+$7!$(BXML$BJ8=qFb$K$*$1$kB>$NL>A0$H$O0[$J$j!$$3$l$i$NCM$K$D$$$F$O!$BgJ8;z5Z$S>.J8;z$N6hJL$r$7$J$$$3$H$KCm0U$9$k$3$H!#(B</p> |
|
1261 <p>$BNc$r<!$K<($9!#(B |
|
1262 <eg><![CDATA[<p xml:lang="en">The quick brown fox jumps over the lazy dog.</p> |
|
1263 <p xml:lang="en-GB">What colour is it?</p> |
|
1264 <p xml:lang="en-US">What color is it?</p> |
|
1265 <sp who="Faust" desc='leise' xml:lang="de"> |
|
1266 <l>Habe nun, ach! Philosophie,</l> |
|
1267 <l>Juristerei, und Medizin</l> |
|
1268 <l>und leider auch Theologie</l> |
|
1269 <l>]]><!-- x00DF german's es-zet; x00FC german's u-umlaut -->durchaus studiert mit heißem Bemüh'n.<![CDATA[</l> |
|
1270 </sp>]]></eg></p> |
|
1271 <!--<p>xml:lang $B$NCM$O!$MWAG$NFbMF5Z$S(B($BB0@-$N(B&default-value;$B$GDj$a$J$$8B$j(B)$B%U%j!<%F%-%9%H(B(CDATA)$B$NCM$r$b$D$=$NMWAG$X$N$9$Y$F$NB0@-$NCM$K$D$$$F!$$=$NN>J}$KE,MQ$9$k!#(B--> |
|
1272 <p><code>xml:lang</code>$B$G@k8@$9$k0U?^$O!$(B<code>xml:lang</code>$B$NJL$N;XDj$G>e=q$7$J$$8B$j!$;XDj$7$?MWAG$NFbMF$K4^$`$9$Y$F$NMWAG$KE,MQ$9$k!#(B</p> |
|
1273 <!--$B$"$kMWAG$K$*$1$k(B xml:lang $BB0@-$NCM$,Dj$a$i$l$F$*$i$:!$(BDTD$B$K$*$$$F$=$N(B&default-value;$B$,Dj$a$i$l$F$$$J$$>l9g!$$=$NMWAG$N(Bxml:lang $BB0@-$NCM$O!$?FMWAG$G$NCM$,B8:_$9$k>l9g$O!$$=$l$r0z$-7Q$0!#(B $B<!$NNc$K$*$1$kFs$D$N(B<term>$B$H$$$&L>A0$N@lLgMQ8l$rI=$9MWAG$O!$(Bxml:lang$B$NCM$K4X$7$F$O!$<B:]>e!$F1$8CM$r$b$D!#(B |
|
1274 |
|
1275 <p xml:lang="en">Here the keywords are |
|
1276 <term xml:lang="en">shift</term> and |
|
1277 <term>reduce</term>. ...</p> |
|
1278 |
|
1279 XML&processor;$B$G$O$J$/(B&application;$B$,!$$3$NB0@-CM$N7Q>5$K$D$$$F@UG$$r$b$D!#(B |
|
1280 --> |
|
1281 <p> |
|
1282 &valid;$B$JJ8=q$K$*$$$F$O!$$3$N(B&TR-or-Rec;$B$NB>$N>l=j$G5,Dj$9$k$H$*$j!$$3$NB0@-$rI,$:@k8@$7$J$1$l$P$J$i$J$$!#DL>o!$@k8@$O!$<!$N7A$H$9$k!#(B |
|
1283 <eg>xml:lang NMTOKEN #IMPLIED</eg> |
|
1284 $BI,MW$J$i$P!$FCDj$N(B&default-value;$B$rM?$($F$b$h$$!#1Q8l$rJl8l$H$9$k3X@8MQ$N%U%i%s%98l$N;m=8$G$O!$@bL@5Z$SCm$r1Q8l$G5-=R$9$l$P!$(Bxml:lang $BB0@-$r<!$N$H$*$j$K@k8@$9$k$3$H$H$J$k!#(B |
|
1285 <eg><![CDATA[ <!ATTLIST poem xml:lang NMTOKEN 'fr'> |
|
1286 <!ATTLIST gloss xml:lang NMTOKEN 'en'> |
|
1287 <!ATTLIST note xml:lang NMTOKEN 'en'>]]></eg> |
|
1288 </p> |
|
1289 <!-- |
|
1290 DTD$B$N@_7W<T$O!$%9%/%j%W%H$r8@8l(B($B5Z$S$=$NGI@8BN(B)$B$KJq@]$7$F07$&$N$G$O$J$/!$%9%/%j%W%H5Z$S8@8l$rF1<!85$G07$&$N$,E,Ev$J>l9g!$8@8lB0@-$HF1MM$K%9%/%j%W%HB0@-$,B8:_$9$l$PM-MQ$@$H;W$&$+$b$7$l$J$$!#%j%s%/MWAG$K$*$$$F!$;2>H$5$l$?Kt$O%j%s%/$5$l$?%j%=!<%9$K$*$1$k(B($B<gMW$J(B)$B8@8l(B($B>l9g$K$h$C$F$OJ#?t(B)$B$rI=$9MWAG$rDj5A$9$k$N$bK>$^$7$$!#$7$+$7!$$3$l$i$N(B&application;$B$O!$$3$N(B&TR-or-Rec;$B$,5,Dj$9$kHO0O30$H$9$k!#(B--> |
|
1291 </div2> |
|
1292 </div1> |
|
1293 <!-- &Elements; --> |
|
1294 |
|
1295 <div1 id='sec-logical-struct'> |
|
1296 <head>$BO@M}9=B$(B</head> |
|
1297 |
|
1298 <p><termdef id="dt-element" term="Element">$B$$$+$J$k(B<termref def="dt-xml-doc">XML$BJ8=q(B</termref>$B$b!$0l$D0J>e$N(B<term>$BMWAG(B</term>$B$r4^$`!#MWAG$N6-3&$O(B, <termref def="dt-stag">$B3+;O%?%0(B</termref>$B5Z$S(B<termref def="dt-etag">$B=*N;%?%0(B</termref>$B$K$h$C$F6h@Z$k!#MWAG$,(B<termref def="dt-empty">$B6u(B</termref>$BMWAG$N$H$-$O!$(B<termref def="dt-eetag">$B6uMWAG%?%0(B</termref>$B$G<($9!#3F!9$NMWAG$O!$7?$r$b$D!#MWAG7?$OL>A0(B($B6&DL(B&identifier;(generic identifier)$BKt$O(BGI$B$H8F$V$3$H$,$"$k!#(B)$B$K$h$C$F(B&identified;$B!#MWAG$O!$$$$/$D$+$NB0@-$r$b$D$3$H$,$G$-$k!#(B</termdef>$BB0@-$O!$(B<termref def="dt-attrname">$BL>A0(B</termref>$B5Z$S(B<termref def="dt-attrval">$BCM(B</termref>$B$r$b$D!#(B</p> |
|
1299 |
|
1300 <scrap lang='ebnf'><head>$BMWAG(B</head> |
|
1301 <prod id='NT-element'><lhs>element</lhs> |
|
1302 <rhs><nt def='NT-EmptyElemTag'>EmptyElemTag</nt></rhs> |
|
1303 <rhs>| <nt def='NT-STag'>STag</nt> <nt def='NT-content'>content</nt> |
|
1304 <nt def='NT-ETag'>ETag</nt></rhs><wfc def='GIMatch'/></prod> |
|
1305 </scrap> |
|
1306 <p>$B$3$N(B&TR-or-Rec;$B$O!$MWAG7?5Z$SB0@-$N0UL#!$;HMQJ}K!!$Kt$O(B($B9=J8$K4X$9$k$3$H$r=|$-(B)$BL>A0$K@)Ls$rM?$($J$$!#$?$@$7!$@hF,$,(B<code>(('X'|'x')('M'|'m')('L'|'l'))</code>$B$K(B&match;$B$9$kL>A0$O!$$3$NHGKt$O:#8e$NHG$N$3$N(B&TR-or-Rec;$B$G$NI8=`2=$N$?$a$KM=Ls$9$k!#(B</p> |
|
1307 |
|
1308 <wfcnote id='GIMatch'><head>$BMWAG7?$N(B&match;</head> |
|
1309 <p>$BMWAG$N=*N;%?%0$N(B<nt def='NT-Name'>$BL>A0(B</nt>$B$O!$$=$NMWAG$N3+;O%?%0$K$*$1$k7?$H(B&match;$B$7$J$1$l$P$J$i$J$$!#(B</p> |
|
1310 </wfcnote> |
|
1311 |
|
1312 <div2 id='sec-starttags'> |
|
1313 <head>$B3+;O%?%0!$=*N;%?%05Z$S6uMWAG%?%0(B</head> |
|
1314 <p><termdef id="dt-stag" term="Start-Tag">$B6u$G$J$$G$0U$N(BXML$BMWAG$N;O$^$j$O!$(B<term>$B3+;O%?%0(B</term>$B$K$h$C$F(B&markup;$B$9$k!#(B |
|
1315 <scrap lang='ebnf'><head>$B3+;O%?%0(B</head> |
|
1316 <prodgroup pcw2="6" pcw4="15" pcw5="11.5"> |
|
1317 <prod id='NT-STag'><lhs>STag</lhs><rhs>'<' <nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt> <nt def='NT-Attribute'>Attribute</nt>)* <nt def='NT-S'>S</nt>? '>'</rhs><wfc def="uniqattspec"/></prod> |
|
1318 <prod id='NT-Attribute'><lhs>Attribute</lhs><rhs><nt def='NT-Name'>Name</nt> <nt def='NT-Eq'>Eq</nt> <nt def='NT-AttValue'>AttValue</nt></rhs><vc def='ValueType'/><wfc def='NoExternalRefs'/><wfc def='CleanAttrVals'/></prod> |
|
1319 </prodgroup> |
|
1320 </scrap> |
|
1321 $B3+;O%?%05Z$S=*N;%?%0Fb$N(B<nt def='NT-Name'>Name</nt>$B$O!$MWAG$N(B<term>$B7?(B</term>$B$rI=$o$9!#(B</termdef><termdef id="dt-attr" term="Attribute"><nt def='NT-Name'>Name</nt>$B5Z$S(B<nt def='NT-AttValue'>AttValue</nt>$B$NBP$rMWAG$N(B<term>$BB0@-;XDj(B</term>$B$H$$$$(B</termdef>$B!$(B<termdef id="dt-attrname" term="Attribute Name">$B8D!9$NBP$K$*$1$k(B<nt def='NT-Name'>Name</nt>$B$O!$(B<term>$BB0@-L>(B</term></termdef>$B5Z$S(B<termdef id="dt-attrval" term="Attribute Value"><nt def='NT-AttValue'>AttValue</nt>$B$NFbMF(B($B6h@Z$j;R(B<code>'</code>$BKt$O(B<code>"</code>$B$N4V$N(B&string;)$B$r(B<term>$BB0@-CM(B</term>$B$H$$$&!#(B</termdef></p> |
|
1322 |
|
1323 <wfcnote id='uniqattspec'><head>$BB0@-;XDj$N0l0U@-(B</head> |
|
1324 <p>$B3+;O%?%0Kt$O6uMWAG%?%0$G$O!$F10l$NB0@-L>$,#2EY0J>e=P8=$7$F$O$J$i$J$$!#(B</p></wfcnote> |
|
1325 <vcnote id='ValueType'><head>$BB0@-CM$N7?(B</head> |
|
1326 <p>$BB0@-$O@k8@$5$l$F$$$J$1$l$P$J$i$J$$!#B0@-CM$N7?$O!$$=$NB0@-$KBP$7$F@k8@$7$?7?$G$J$1$l$P$J$i$J$$(B($BB0@-$N7?$K$D$$$F$O!$(B<titleref href='AttDecls'>$BB0@-%j%9%H@k8@(B</titleref>$B$K$D$$$F$N5,Dj$r;2>H!#(B)$B!#(B</p></vcnote> |
|
1327 <wfcnote id='NoExternalRefs'><head>$B30It<BBN$X$N;2>H$,$J$$$3$H(B</head> |
|
1328 <p>$BB0@-CM$K$O!$30It<BBN$X$ND>@\E*Kt$O4V@\E*$J;2>H$r4^$`$3$H$O$G$-$J$$!#(B</p></wfcnote> |
|
1329 <wfcnote id='CleanAttrVals'><head>$BB0@-CM$K(B<code><</code>$B$r4^$^$J$$$3$H(B</head> |
|
1330 <p>$BB0@-CMFb$GD>@\E*Kt$O4V@\E*$K;2>H$9$k<BBN(B(<code>&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> |
|
1331 |
|
1332 <p>$B3+;O%?%0$NNc$r!$<!$K<($9!#(B |
|
1333 <eg><termdef id="dt-dog" term="dog"></eg></p> |
|
1334 <p><termdef id="dt-etag" term="End Tag">$B3+;O%?%0$G;O$^$kMWAG$N=*$o$j$O!$(B<term>$B=*N;%?%0(B</term>$B$G(B&markup;$B$7$J$1$l$P$J$i$J$$!#$3$N=*N;%?%0$O!$BP1~$9$k3+;O%?%0$NMWAG7?$HF1$8L>A0$r$b$D!#(B |
|
1335 <scrap lang='ebnf'><head>$B=*N;%?%0(B</head><prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-ETag'><lhs>ETag</lhs><rhs>'</' <nt def='NT-Name'>Name</nt> <nt def='NT-S'>S</nt>? '>'</rhs></prod></prodgroup></scrap></termdef></p> |
|
1336 <p>$B=*N;%?%0$NNc$r!$<!$K<($9!#(B |
|
1337 <eg></termdef></eg></p> |
|
1338 |
|
1339 <p><termdef id="dt-content" term="Content">$BMWAG$N3+;O%?%0$H=*N;%?%0$H$N4V$N(B<termref def='dt-text'>$B%F%-%9%H(B</termref>$B$r!$$=$NMWAG$N(B<term>$BFbMF(B</term>$B$H$$$&!#(B |
|
1340 <scrap lang='ebnf'><head>$BMWAG$NFbMF(B</head> |
|
1341 <prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-content'><lhs>content</lhs><rhs>(<nt def='NT-element'>element</nt> | <nt def='NT-CharData'>CharData</nt> | <nt def='NT-Reference'>Reference</nt> | <nt def='NT-CDSect'>CDSect</nt> | <nt def='NT-PI'>PI</nt> | <nt def='NT-Comment'>Comment</nt>)*</rhs></prod></prodgroup></scrap></termdef></p> |
|
1342 |
|
1343 <p><termdef id="dt-empty" term="Empty">$BMWAG$,(B<term>$B6u(B</term>$B$N$H$-!$$=$NMWAG$O!$D>8e$K=*N;%?%0$r$b$D3+;O%?%0Kt$O6uMWAG%?%0$GI=8=$7$J$1$l$P$J$i$J$$!#(B</termdef><termdef id="dt-eetag" term="empty-element tag"><term>$B6uMWAG%?%0(B</term>$B$O!$<!$NFCJL$J7A<0$r$H$k!#(B |
|
1344 <scrap lang='ebnf'><head>$B6uMWAG$N$?$a$N%?%0(B</head><prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-EmptyElemTag'><lhs>EmptyElemTag</lhs><rhs>'<' <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> |
|
1345 |
|
1346 <!-- $BLgGO!'>e$N!H6uMWAG$N$?$a$N%?%0(B(tags for empty elements)$B!I$O!H6uMWAG%?%0(B(empty-element tag)$B!I$H$9$Y$-$@$H;W$$$^$9$,!$$$$+$,$G$7$g$&$+(B --> |
|
1347 |
|
1348 <p>$B6uMWAG%?%0$O!$FbMF$r$b$?$J$$G$0U$NMWAG$NI=8=$KMxMQ$G$-$k!#6uMWAG%?%0$GI=8=$9$kMWAG$r!$%-!<%o!<%I(B<kw>EMPTY</kw>$B$rMQ$$$F@k8@$7$J$/$H$b$h$$!#(B</p> |
|
1349 <p>$B6uMWAG$NNc$r!$<!$K<($9!#(B |
|
1350 <eg><IMG align="left" src="http://www.w3.org/Icons/WWW/w3c_home" /><br></br><br/></eg></p> |
|
1351 </div2> |
|
1352 |
|
1353 <div2 id='elemdecls'><head>$BMWAG@k8@(B</head> |
|
1354 <p><termref def="dt-valid">&validity;</termref>$B$rJ]>Z$9$k$?$a!$MWAG@k8@5Z$SB0@-%j%9%H@k8@$rMQ$$$F(B<termref def="dt-xml-doc">XML$BJ8=q(B</termref>$B$N(B<termref def="dt-element">$BMWAG(B</termref>$B$N9=B$$K!$@)Ls$r2C$($k$3$H$,$G$-$k!#(B</p> |
|
1355 <p>$BMWAG@k8@$O!$MWAG$N(B<termref def="dt-content">$BFbMF(B</termref>$B$K$D$$$F$N@)Ls$H$9$k!#(B</p> |
|
1356 <p>$BMWAG@k8@$O!$MWAG$N(B<termref def="dt-parentchild">$B;R(B</termref>$B$H$7$F=P8=2DG=$JMWAG7?$K$D$$$F!$@)Ls$r2C$($k$3$H$,B?$$!#(B&at-user-option;$B!$MWAG@k8@$r$b$?$J$$MWAG7?$,B>$NMWAG@k8@$K$h$C$F;2>H$5$l$l$P!$(BXML&processor;$B$O!$7Y9p$r=P$7$F$b$h$$!#$7$+$7!$$3$l$O(B&error;$B$H$O$7$J$$!#(B</p> |
|
1357 |
|
1358 <p><termdef id="dt-eldecl" term="Element Type declaration"><term>$BMWAG7?@k8@(B</term>$B$O!$<!$N7A<0$r$H$k!#(B |
|
1359 <scrap lang='ebnf'><head>$BMWAG7?@k8@(B</head><prodgroup pcw2="5.5" pcw4="18" pcw5="9"> |
|
1360 <prod id='NT-elementdecl'><lhs>elementdecl</lhs> |
|
1361 <rhs>'<!ELEMENT' <nt def='NT-S'>S</nt> |
|
1362 <nt def='NT-Name'>Name</nt> |
|
1363 <nt def='NT-S'>S</nt> |
|
1364 <nt def='NT-contentspec'>contentspec</nt> |
|
1365 <nt def='NT-S'>S</nt>? '>'</rhs> |
|
1366 <vc def='EDUnique'/></prod> |
|
1367 <prod id='NT-contentspec'><lhs>contentspec</lhs> |
|
1368 <rhs>'EMPTY' |
|
1369 | 'ANY' |
|
1370 | <nt def='NT-Mixed'>Mixed</nt> |
|
1371 | <nt def='NT-children'>children</nt> |
|
1372 </rhs> |
|
1373 <vc def='elementvalid'/> |
|
1374 </prod> |
|
1375 </prodgroup> |
|
1376 </scrap> |
|
1377 $B$3$3$G!$(B<nt def='NT-Name'>Name</nt>$B$O!$@k8@$5$l$F$$$kMWAG$N7?$H$9$k!#(B</termdef></p> |
|
1378 |
|
1379 <vcnote id='EDUnique'><head>$BMWAG@k8@$N0l0U@-(B</head> |
|
1380 <p>$BMWAG7?$r#2EY0J>e@k8@$G$-$J$$!#(B</p></vcnote> |
|
1381 |
|
1382 <vcnote id='elementvalid'><head>$BMWAG$N(B&validity;</head> |
|
1383 <p>$BMWAG$,(B<!-- said to be -->&valid;$B$H$O!$(B<nt def='NT-elementdecl'>elementdecl</nt>$B$K(B&match;$B$9$k@k8@$G$"$C$F!$$=$N(B<nt def='NT-Name'>Name</nt>$B$,$=$NMWAG7?$H(B&match;$B$7!$<!$N$$$:$l$+$N>r7o$rK~$?$9>l9g$H$9$k!#(B<ulist> |
|
1384 <item><p>a) $B@k8@$,(B<kw>EMPTY</kw>$B$K(B&match;$B$7!$MWAG$,(B<termref def='dt-content'>$BFbMF(B</termref>$B$r$b$?$J$$!#(B</p></item> |
|
1385 <item><p>b) $B@k8@$,(B<nt def='NT-children'>children</nt>$B$K(B&match;$B$7!$MWAG$N(B<termref def="dt-parentchild">$B;RMWAG(B</termref>$B$NJB$S$,!$FbMF%b%G%k$N@55,I=8=$K$h$C$F@8@.$5$l$k8@8l$KB0$9$k!#(B</p></item> |
|
1386 <item><p>c) $B@k8@$,(B<nt def='NT-Mixed'>mixed</nt>$B$K(B&match;$B$7!$MWAG$NFbMF$,(B<termref def='dt-chardata'>$BJ8;z%G!<%?(B</termref>$B5Z$S(B<termref def='dt-parentchild'>$B;RMWAG(B</termref>$B$+$i$J$k!#;RMWAG$NMWAG7?$O!$MWAG$NFbMF%b%G%k$K=P8=$9$kL>A0$K(B&match;$B$9$k!#(B</p></item> |
|
1387 <item><p>d) $B@k8@$,(B<kw>ANY</kw>$B$K(B&match;$B$7!$$I$N(B<termref def='dt-parentchild'>$B;RMWAG(B</termref>$B$NMWAG7?$b@k8@$5$l$F$$$k!#(B</p></item></ulist> |
|
1388 |
|
1389 </p></vcnote> |
|
1390 <!-- with the new VC, I don't think the next few paras add anything -TWB |
|
1391 <p><termdef id="dt-model" term="content model">An element can declared using a <term>content model</term>, in which case its content can be categorized as <termref def="dt-elemcontent">element content</termref> or <termref def='dt-mixed'>mixed content</termref>, as explained below.</termdef></p> |
|
1392 <p>An element whose type declared using the keyword <kw>EMPTY</kw> must be <termref def="dt-empty">empty</termref> and may be tagged using an <termref def="dt-eetag">empty-element tag</termref> when it appears in the document.</p> |
|
1393 <p>If an element type is declared using the keyword <kw>ANY</kw>, then there are no validity constraints on its content: it may contain <termref def='dt-parentchild'>child elements</termref> of any type and number, interspersed with character data.</p> --> |
|
1394 |
|
1395 <p>$BMWAG@k8@$NNc$r!$<!$K<($9!#(B |
|
1396 <eg> |
|
1397 <!ELEMENT br EMPTY> |
|
1398 <!ELEMENT p (#PCDATA|emph)* > |
|
1399 <!ELEMENT %name.para; %content.para; > |
|
1400 <!ELEMENT container ANY> |
|
1401 </eg></p> |
|
1402 |
|
1403 <div3 id='sec-element-content'><head>$BMWAGFbMF(B</head> |
|
1404 |
|
1405 <p><termdef id='dt-elemcontent' term='Element content'>$B$"$k7?$NMWAG$,(B<termref def='dt-parentchild'>$B;R(B</termref>$BMWAG$@$1$r4^$`(B($BJ8;z%G!<%?$r4^$^$J$$!#(B)$B$H$-!$$=$NMWAG(B<termref def="dt-stag">$B7?(B</termref>$B$O!$(B<term>$BMWAGFbMF(B</term>$B$r$b$D!$$H$$$&!#(B</termdef>$B$3$N>l9g!$@)Ls$O!$FbMF%b%G%k$r4^$`!#FbMF%b%G%k$O!$;RMWAG$N7?5Z$S;RMWAG$N=P8==g=x$r@)8f$9$k4JC1$JJ8K!$H$9$k!#$3$NJ8K!$O!$(B&content-particle;(<nt def='NT-cp'>cp</nt>s)$B$+$i$J$k!#(B&content-particle;$B$O!$L>A0!$(B&content-particle;$B$NA*Br%j%9%HKt$O(B&content-particle;$B$NNs%j%9%H$+$i9=@.$5$l$k!#(B |
|
1406 <scrap lang='ebnf'><head>$BMWAGFbMF%b%G%k(B</head><prodgroup pcw2="5.5" pcw4="16" pcw5="11"> |
|
1407 <prod id='NT-children'><lhs>children</lhs><rhs>(<nt def='NT-choice'>choice</nt> | <nt def='NT-seq'>seq</nt>) ('?' | '*' | '+')?</rhs></prod><prod id='NT-cp'><lhs>cp</lhs><rhs>(<nt def='NT-Name'>Name</nt> | <nt def='NT-choice'>choice</nt> | <nt def='NT-seq'>seq</nt>) ('?' | '*' | '+')?</rhs></prod> |
|
1408 <prod id='NT-choice'><lhs>choice</lhs><rhs>'(' <nt def='NT-S'>S</nt>? cp ( <nt def='NT-S'>S</nt>? '|' <nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> )*<nt def='NT-S'>S</nt>? ')'</rhs><vc def='vc-PEinGroup'/></prod> |
|
1409 <prod id='NT-seq'><lhs>seq</lhs><rhs>'(' <nt def='NT-S'>S</nt>? cp ( <nt def='NT-S'>S</nt>? ',' <nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> )*<nt def='NT-S'>S</nt>? ')'</rhs><vc def='vc-PEinGroup'/></prod> |
|
1410 <!-- <prod id='NT-cps'><lhs>cps</lhs><rhs><nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> <nt def='NT-S'>S</nt>?</rhs></prod> |
|
1411 <prod id='NT-choice'><lhs>choice</lhs><rhs>'(' <nt def='NT-S'>S</nt>? <nt def='NT-ctokplus'>ctokplus</nt> (<nt def='NT-S'>S</nt>? '|' <nt def='NT-S'>S</nt>? <nt def='NT-ctoks'>ctoks</nt>)* <nt def='NT-S'>S</nt>? ')'</rhs></prod> |
|
1412 <prod id="NT-ctokplus"><lhs>ctokplus</lhs><rhs><nt def="NT-cps">cps</nt>('|' <nt def="NT-cps">cps</nt>)+</rhs></prod> |
|
1413 <prod id="NT-ctoks"><lhs>ctoks</lhs><rhs><nt def="NT-cps">cps</nt>('|' <nt def="NT-cps">cps</nt>)*</rhs></prod> |
|
1414 <prod id='NT-seq'><lhs>seq</lhs><rhs>'(' <nt def='NT-S'>S</nt>?<nt def='NT-stoks'>stoks</nt> (<nt def='NT-S'>S</nt>? ',' <nt def='NT-S'>S</nt>? <nt def='NT-stoks'>stoks</nt>)*<nt def='NT-S'>S</nt>? ')'</rhs></prod> |
|
1415 <prod id="NT-stoks"><lhs>stoks</lhs><rhs><nt def="NT-cps">cps</nt>(',' <nt def="NT-cps">cps</nt>)*</rhs></prod> |
|
1416 --> |
|
1417 </prodgroup></scrap> |
|
1418 $B$3$3$G!$(B<nt def='NT-Name'>Name</nt>$B$O!$(B<termref def="dt-parentchild">$B;R(B</termref>$B$H$7$F=P8=$7$F$h$$MWAG$N7?$r<($9!#$3$NJ8K!$GA*Br%j%9%H$,8=$l$k0LCV$G$O!$A*Br%j%9%HFb$N$$$:$l$N(B&content-particle;$B$b(B<termref def="dt-elemcontent">$BMWAGFbMF(B</termref>$B$NCf$K8=$l$F$h$$!#Ns%j%9%H$K8=$l$k(B&content-particle;$B$O!$%j%9%H$G;XDj$9$k=gHV$N$H$*$j$K!$(B<termref def="dt-elemcontent">$BMWAGFbMF(B</termref>$B$K8=$l$J$1$l$P$J$i$J$$!#L>A0Kt$O%j%9%H$N8e$K=P8=$9$k%*%W%7%g%s$NJ8;z(B<!-- $BLgGO!'(Bcharacter$B$rJ8;z$HLu$7$^$7$?(B -->$B$O!$%j%9%HFb$NMWAGKt$O(B&content-particle;$B$,!$(B1$B2s0J>eG$0U$N2s?t(B(<code>+</code>)$B!$(B0$B2s0J>eG$0U$N2s?t(B(<code>*</code>)$BKt$O(B0$B2s<c$7$/$O(B1$B2s(B(<code>?</code>)$B=P8=2DG=$J$3$H$r5,Dj$9$k!#$3$3$G<($99=J85Z$S0UL#$O!$$3$N(B&TR-or-Rec;$B$K$*$1$k@8@.5,B'$GMQ$$$k$b$N$HF10l$H$9$k!#(B</p> |
|
1419 |
|
1420 <!-- $BLgGO!'>e$NJ8$G$O!$!H(Bname$BKt$O(Blist$B$N8e$KB3$/J8;z!I$,!H(Blist$B$N=P8=$r5,Dj$9$k!I$H$"$C$F!$(Bname$B$N=P8=$r5,Dj$9$k$H$O=q$$$F$"$j$^$;$s!#=$@5$,I,MW$H9M$($^$9!#(B --> |
|
1421 |
|
1422 <p>$BMWAG$NFbMF$,FbMF%b%G%k$K(B&match;$B$9$k$N$O!$Ns!$A*Br5Z$S7+JV$71i;;;R$K$7$?$,$C$F!$FbMF$NCf$NMWAG$HFbMF%b%G%kFb$NMWAG7?$H$r(B&match;$B$5$;$J$,$i!$FbMF%b%G%kFb$N0l$D$N%Q%9$r$?$I$l$k$H$-$K8B$k!#(B<termref def='dt-compat'>$B8_49@-$N$?$a(B</termref>$B!$J8=qFb$NMWAG$,!$FbMF%b%G%k$K$*$1$kMWAG7?$NJ#?t$N=P8=0LCV$H(B&match;$B$9$k$3$H$O!$(B&error;$B$H$9$k!#>\:Y$J5,Dj$K$D$$$F$O!$ImB0=q$N(B<titleref xml-link="simple" href="determinism">$B7hDjE*FbMF%b%G%k(B</titleref>$B$N9`$r;2>H!#(B |
|
1423 <!-- appendix <specref ref="determinism"/>. --> |
|
1424 <!-- appendix on deterministic content models. --> |
|
1425 </p> |
|
1426 |
|
1427 <vcnote id='vc-PEinGroup'> |
|
1428 <head>$B%0%k!<%W5Z$S%Q%i%a%?<BBN$,87L)$JF~$l;R$r$J$7$F$$$k$3$H(B</head> |
|
1429 <p>$B%Q%i%a%?<BBN$N(B<termref def='dt-repltext'>&replacement-text;</termref>$B$O!$(B&parenthesis;$B$G0O$^$l$?%0%k!<%W$K$h$C$F!$87L)$JF~$l;R$r9=@.$7$J$1$l$P$J$i$J$$!#$D$^$j!$(B<nt def='NT-choice'>$BA*Br(B</nt>$B!$(B<nt def='NT-seq'>$BNs(B</nt>$BKt$O(B<nt def='NT-Mixed'>$B:.:_(B</nt>$BItIJ$K!$(B&left-parenthesis;$BKt$O(B&right-parenthesis;$B$N$$$:$l$+0lJ}$,(B<termref def='dt-PERef'>$B%Q%i%a%?<BBN(B</termref>$B$N(B&replacement-text;$B$K4^$l$l$P!$B>J}$bF1$8(B&replacement-text;$B$K4^$^$l$J$1$l$P$J$i$J$$!#(B</p> |
|
1430 <p><termref def='dt-interop'>$BAj8_1?MQ@-$N$?$a(B</termref>$B!$%Q%i%a%?<BBN;2>H$,(B<nt def='NT-choice'>$BA*Br(B</nt>$B!$(B<nt def='NT-seq'>$BNs(B</nt>$BKt$O(B<nt def='NT-Mixed'>$B:.:_(B</nt>$BFbMF$K4^$^$l$l$P!$$=$N(B&replacement-text;$B$O6u$G$J$$$3$H$,K>$^$7$/!$(B&replacement-text;$B$N@hF,5Z$SKvHx$N6uGr$G$J$$J8;z$O!$%3%M%/%?(B(<code>|</code>$BKt$O(B<code>,</code>)$B$G$J$$J}$,$h$$!#(B |
|
1431 </p> |
|
1432 </vcnote> |
|
1433 <p>$BMWAGFbMF%b%G%k$N$$$/$D$+$NNc$r!$<!$K<($9!#(B |
|
1434 <eg><!ELEMENT spec (front, body, back?)> |
|
1435 <!ELEMENT div1 (head, (p | list | note)*, div2*)> |
|
1436 <!ELEMENT dictionary-body (%div.mix; | %dict.mix;)*></eg></p> |
|
1437 </div3> |
|
1438 |
|
1439 <div3 id='sec-mixed-content'> |
|
1440 <head>&mixed-content;</head> |
|
1441 |
|
1442 <p><termdef id='dt-mixed' term='Mixed Content'>$B$"$kMWAG7?$NMWAGFb$K!$(B<termref def="dt-parentchild">$B;R(B</termref>$BMWAG$K:.:_$7$FJ8;z%G!<%?$,4^$^$l$k2DG=@-$,$"$k$H$-!$$=$NMWAG(B<termref def='dt-stag'>$B7?(B</termref>$B$O!$(B<term>&mixed-content;</term>$B$r$b$D$H$$$&!#(B</termdef>$B$3$N>l9g!$;RMWAG$N7?$K$D$$$F$N@)Ls$,B8:_$7$F$b$h$$(B<!-- $BLgGO!'!H(Bmay be constrained$B!I$rC1$K!V@)Ls$5$l$k!W$HLu$7$^$7$?!#(B -->$B$,!$;RMWAG$N=g=xKt$O=P8=2s?t$K$D$$$F$N@)Ls$O$J$$$H$9$k!#(B |
|
1443 <scrap lang='ebnf'> |
|
1444 <head>&mixed-content;$B@k8@(B</head> |
|
1445 <prodgroup pcw2="5.5" pcw4="16" pcw5="11"> |
|
1446 <prod id='NT-Mixed'><lhs>Mixed</lhs> |
|
1447 <rhs>'(' <nt def='NT-S'>S</nt>? |
|
1448 '#PCDATA' |
|
1449 (<nt def='NT-S'>S</nt>? |
|
1450 '|' |
|
1451 <nt def='NT-S'>S</nt>? |
|
1452 <nt def='NT-Name'>Name</nt>)* |
|
1453 <nt def='NT-S'>S</nt>? |
|
1454 ')*' </rhs> |
|
1455 <rhs>| '(' <nt def='NT-S'>S</nt>? '#PCDATA' <nt def='NT-S'>S</nt>? ')' |
|
1456 </rhs><vc def='vc-PEinGroup'/> |
|
1457 <vc def='vc-MixedChildrenUnique'/> |
|
1458 </prod> |
|
1459 <!-- |
|
1460 <prod id="NT-Mtoks"><lhs>Mtoks</lhs> |
|
1461 <rhs><nt def="NT-Name">Name</nt> |
|
1462 (<nt def='NT-S'>S</nt>? |
|
1463 '|' |
|
1464 <nt def='NT-S'>S</nt>? |
|
1465 <nt def="NT-Name">Name</nt>)* |
|
1466 </rhs> |
|
1467 </prod> |
|
1468 --> |
|
1469 </prodgroup> |
|
1470 </scrap> |
|
1471 $B$3$3$G!$(B<nt def='NT-Name'>Name</nt>$B$O!$;R$H$7$F=P8=$7$F$b$h$$MWAG$N7?$r<($9!#(B |
|
1472 </p> |
|
1473 |
|
1474 <vcnote id='vc-MixedChildrenUnique'> |
|
1475 <head>$BMWAG7?$N=EJ#$N6X;_(B</head> |
|
1476 <p>$B0l$D$N(B&mixed-content;$B@k8@Fb$K!$F1$8L>A0$,J#?t2s=P8=$7$F$O$J$i$J$$!#(B |
|
1477 </p></vcnote> |
|
1478 <p>&mixed-content;$B@k8@$NNc$r!$<!$K<($9!#(B |
|
1479 <eg><!ELEMENT p (#PCDATA|a|ul|b|i|em)*> |
|
1480 <!ELEMENT p (#PCDATA | %font; | %phrase; | %special; | %form;)* > |
|
1481 <!ELEMENT b (#PCDATA)></eg></p> |
|
1482 </div3> |
|
1483 </div2> |
|
1484 |
|
1485 |
|
1486 <div2 id='attdecls'> |
|
1487 <head>$BB0@-%j%9%H@k8@(B</head> |
|
1488 <p> |
|
1489 <termref def="dt-attr">$BB0@-(B</termref>$B$O!$L>A05Z$SCM$NBP$r(B<termref def="dt-element">$BMWAG(B</termref>$B$K4XO"IU$1$k$?$a$KMQ$$$k!#B0@-;XDj$O!$(B<termref def="dt-stag">$B3+;O%?%0(B</termref>$BKt$O(B<termref def="dt-eetag">$B6uMWAG(B</termref>$B%?%0Fb$G$@$12DG=$H$9$k!#$7$?$,$C$F!$B0@-$rG'<1$9$k$?$a$N@8@.5,B'$O!$(B<titleref href='sec-starttags'>$B3+;O%?%0(B</titleref>$B$K$D$$$F$N5,Dj$G<($9!#B0@-%j%9%H@k8@$O!$<!$NL\E*$GMQ$$$k!#(B |
|
1490 <ulist> |
|
1491 <item><p>a) $B$"$kMWAG7?$KE,MQ$9$kB0@-$N=89g$r5,Dj$9$k!#(B</p></item> |
|
1492 <item><p>b) $BB0@-$X$N7?@)Ls$r@_Dj$9$k!#(B</p></item> |
|
1493 <item><p>c) $BB0@-$N(B<termref def="dt-default">&default-value;</termref>$B$r5,Dj$9$k!#(B</p></item> |
|
1494 </ulist> |
|
1495 </p> |
|
1496 <p> |
|
1497 <termdef id="dt-attdecl" term="Attribute-List Declaration"> |
|
1498 <term>$BB0@-%j%9%H@k8@(B</term>$B$O!$$"$kMWAG7?$H4XO"IU$1$i$l$?3FB0@-$KBP$7!$L>A0!$%G!<%?7?5Z$S(B($BB8:_$9$l$P(B)&default-value;$B$r5,Dj$9$k!#(B |
|
1499 <scrap lang='ebnf'> |
|
1500 <head>$BB0@-%j%9%H@k8@(B</head> |
|
1501 <prod id='NT-AttlistDecl'><lhs>AttlistDecl</lhs> |
|
1502 <rhs>'<!ATTLIST' <nt def='NT-S'>S</nt> |
|
1503 <nt def='NT-Name'>Name</nt> |
|
1504 <nt def='NT-AttDef'>AttDef</nt>* |
|
1505 <nt def='NT-S'>S</nt>? '>'</rhs> |
|
1506 </prod> |
|
1507 <prod id='NT-AttDef'><lhs>AttDef</lhs> |
|
1508 <rhs><nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt> |
|
1509 <nt def='NT-S'>S</nt> <nt def='NT-AttType'>AttType</nt> |
|
1510 <nt def='NT-S'>S</nt> <nt def='NT-Default'>Default</nt></rhs> |
|
1511 </prod> |
|
1512 </scrap> |
|
1513 |
|
1514 <nt def='NT-AttlistDecl'>AttlistDecl</nt>$B5,B'$KB8:_$9$k(B<nt def="NT-Name">Name</nt>$B$O!$MWAG7?$NL>A0$H$9$k!#(B&at-user-option;$B!$@k8@$7$F$$$J$$MWAG7?$KBP$7B0@-$r@k8@$7$?$J$i$P!$(BXML&processor;$B$O!$7Y9p$r=P$7$F$b$h$$!#$7$+$7!$$3$l$O(B&error;$B$H$O$7$J$$!#(B |
|
1515 <nt def='NT-AttDef'>AttDef</nt>$B5,B'$K$*$1$k(B<nt def='NT-Name'>Name</nt>$B$O!$B0@-$NL>A0$H$9$k!#(B |
|
1516 </termdef> |
|
1517 </p> |
|
1518 <p> |
|
1519 $B$"$kMWAG$KBP$7$F!$J#?t$N(B<nt def='NT-AttlistDecl'>AttlistDecl</nt>$B$rM?$($k>l9g!$$3$l$i$9$Y$F$NFbMF$O%^!<%8$9$k!#$"$kMWAG7?$NF1$8B0@-$K!$J#?t$NDj5A$rM?$($k>l9g$K$O!$:G=i$N@k8@$rM-8z$H$7!$B>$N@k8@$OL5;k$9$k!#(B<termref def='dt-interop'>$BAj8_1?MQ@-$N$?$a$K(B</termref>$B!$(BDTD$B$N:n@.<T$O!$$"$kMWAG7?$K$O9b!90l$D$NB0@-%j%9%H@k8@$7$+M?$($J$$!$$"$kB0@-L>$K$O9b!90l$D$NB0@-Dj5A$7$+M?$($J$$!$5Z$S$9$Y$F$NB0@-%j%9%H@k8@$K$O>/$J$/$H$b0l$D$NB0@-Dj5A$rM?$($k!$$H$$$&A*Br$r$7$F$b$h$$!#Aj8_1?MQ@-$N$?$a$K!$(BXML&processor;$B$O!$(B&at-user-option;$B!$$"$kMWAG7?$KJ#?t$NB0@-%j%9%H@k8@$rM?$($?$j!$$"$kB0@-$KJ#?t$NB0@-Dj5A$rM?$($?$j$7$?$H$-$K!$7Y9p$r=P$7$F$b$h$$!#$7$+$7!$$3$l$O!$(B&error;$B$H$O$7$J$$!#(B |
|
1520 </p> |
|
1521 |
|
1522 <div3 id='sec-attribute-types'> |
|
1523 <head>$BB0@-$N7?(B</head> |
|
1524 <p> |
|
1525 XML$B$NB0@-$N7?$O!$#3<oN`$H$9$k!#$3$l$i$O!$(B&string;$B7?!$(B&token;$B2=7?5Z$SNs5s7?$H$9$k!#(B&string;$B7?$O!$CM$H$7$FG$0U$N(B&string;$B$r$H$k!#(B&token;$B2=7?$O!$<!$K<($9;z6g5Z$S0UL#$K4X$9$kMM!9$J@)Ls$r$b$D!#(B |
|
1526 |
|
1527 <scrap lang='ebnf'> |
|
1528 <head>Attribute Types</head> |
|
1529 <prodgroup pcw4="14" pcw5="11.5"> |
|
1530 <prod id='NT-AttType'><lhs>AttType</lhs> |
|
1531 <rhs><nt def='NT-StringType'>StringType</nt> |
|
1532 | <nt def='NT-TokenizedType'>TokenizedType</nt> |
|
1533 | <nt def='NT-EnumeratedType'>EnumeratedType</nt> |
|
1534 </rhs> |
|
1535 </prod> |
|
1536 <prod id='NT-StringType'><lhs>StringType</lhs> |
|
1537 <rhs>'CDATA'</rhs> |
|
1538 </prod> |
|
1539 <prod id='NT-TokenizedType'><lhs>TokenizedType</lhs> |
|
1540 <rhs>'ID'</rhs> |
|
1541 <vc def='id'/> |
|
1542 <vc def='one-id-per-el'/> |
|
1543 <vc def='id-default'/> |
|
1544 <rhs>| 'IDREF'</rhs> |
|
1545 <vc def='idref'/> |
|
1546 <rhs>| 'IDREFS'</rhs> |
|
1547 <vc def='idref'/> |
|
1548 <rhs>| 'ENTITY'</rhs> |
|
1549 <vc def='entname'/> |
|
1550 <rhs>| 'ENTITIES'</rhs> |
|
1551 <vc def='entname'/> |
|
1552 <rhs>| 'NMTOKEN'</rhs> |
|
1553 <vc def='nmtok'/> |
|
1554 <rhs>| 'NMTOKENS'</rhs> |
|
1555 <vc def='nmtok'/></prod> |
|
1556 </prodgroup> |
|
1557 </scrap> |
|
1558 </p> |
|
1559 |
|
1560 <vcnote id='id' > |
|
1561 <head>ID</head> |
|
1562 <p> |
|
1563 $B$3$N7?$NCM$O!$@8@.5,B'(B<code>Name</code>$B$K(B&match;$B$7$J$1$l$P$J$i$J$$!#0l$D$N(BXML$BJ8=qFb$G$O!$0l$D$NL>A0$,!$$3$N7?$NCM$H$7$FJ#?t2s8=$l$F$O$J$i$J$$!#$D$^$j!$(BID$B$NCM$O!$MWAG$r0l0U$K(B&identify;$B$7$J$1$l$P$J$i$J$$!#(B |
|
1564 </p> |
|
1565 </vcnote> |
|
1566 <vcnote id='one-id-per-el'> |
|
1567 <head>1$BMWAG$4$H$K(B1ID</head> |
|
1568 <p> |
|
1569 $BMWAG7?$O!$J#?t$N(BID$BB0@-CM$r$b$C$F$O$J$i$J$$!#(B |
|
1570 </p> |
|
1571 </vcnote> |
|
1572 <vcnote id='id-default'> |
|
1573 <head>ID$BB0@-$N(B&default;</head> |
|
1574 <p> |
|
1575 ID$BB0@-$O!$(B&default;$B$H$7$F!$(B<code>#IMPLIED</code>$BKt$O(B<code>#REQUIRED</code>$B$r@k8@$7$J$1$l$P$J$i$J$$!#(B |
|
1576 </p> |
|
1577 </vcnote> |
|
1578 <vcnote id='idref'> |
|
1579 <head>IDREF</head> |
|
1580 <p> |
|
1581 <kw>IDREF</kw>$B7?$NCM$O!$@8@.5,B'(B<nt def="NT-Name">Name</nt>$B$K(B&match;$B$7$J$1$l$P$J$i$J$$!#(B<kw>IDREFS</kw>$B7?$NCM$O!$@8@.5,B'(B<nt def="NT-Names">Names</nt>$B$K(B&match;$B$7$J$1$l$P$J$i$J$$!#3F!9$N(B<nt def='NT-Name'>Name</nt>$B$O!$(BXML$BJ8=qFb$KB8:_$9$kMWAG$N(BID$BB0@-$NCM$H(B&match;$B$7$J$1$l$P$J$i$J$$!#$D$^$j!$(B<kw>IDREF</kw>$B$NCM$O!$$"$k(BID$BB0@-$NCM$H(B&match;$B$7$J$1$l$P$J$i$J$$!#(B |
|
1582 </p> |
|
1583 </vcnote> |
|
1584 <vcnote id='entname'> |
|
1585 <head>$B<BBNL>(B</head> |
|
1586 <p> |
|
1587 <kw>ENTITY</kw>$B7?$NCM$O!$@8@.5,B'(B<nt def="NT-Name">Name</nt>$B$K(B&match;$B$7$J$1$l$P$J$i$J$$!#(B<kw>ENTITIES</kw>$B7?$NCM$O!$@8@.5,B'(B<nt def="NT-Names">Names</nt>$B$K(B&match;$B$7$J$1$l$P$J$i$J$$!#3F!9$N(B<nt def="NT-Name">Name</nt>$B$O!$(B<termref def="dt-doctype">DTD</termref>$B$G@k8@$9$k(B<termref def="dt-unparsed">&unparsed-entity;</termref>$B$H(B&match;$B$7$J$1$l$P$J$i$J$$!#(B |
|
1588 </p> |
|
1589 </vcnote> |
|
1590 <vcnote id='nmtok'> |
|
1591 <head>$BL>A0(B&token;</head> |
|
1592 <p> |
|
1593 <kw>NMTOKEN</kw>$B7?$NCM$O!$Hs=*C<5-9f(B<termref def="NT-Nmtoken">Nmtoken</termref>$B$H(B&match;$B$9$k(B&string;$B$+$i9=@.$5$l$J$1$l$P$J$i$J$$!#(B<kw>NMTOKENS</kw>$B7?$NCM$O!$Hs=*C<5-9f(B<termref def="NT-Nmtokens">Nmtokens</termref>$B$H(B&match;$B$9$k(B&string;$B$+$i9=@.$5$l$J$1$l$P$J$i$J$$!#(B |
|
1594 </p> |
|
1595 </vcnote> |
|
1596 <p> |
|
1597 XML&processor;$B$O!$(B&application;$B$KB0@-CM$rEO$9A0$K!$(B<titleref href="AVNormalize">$BB0@-CM$N@55,2=(B</titleref>$B$G5,Dj$9$k$H$*$j$K!$B0@-CM$r@55,2=$7$J$1$l$P$J$i$J$$!#(B |
|
1598 </p> |
|
1599 <p> |
|
1600 <termdef id='dt-enumerated' term='Enumerated Attribute Values'><term>$BNs5s7?$NB0@-(B</term>$B$O!$@k8@$7$?CM$N0l$D$r<h$k$3$H$,$G$-$k!#(B</termdef>$BNs5s7?$K$O!$(B2$B<oN`$"$k!#(B |
|
1601 |
|
1602 <scrap lang='ebnf'> |
|
1603 <head>$BNs5sB0@-$N7?(B</head> |
|
1604 <prod id='NT-EnumeratedType'><lhs>EnumeratedType</lhs> |
|
1605 <rhs><nt def='NT-NotationType'>NotationType</nt> |
|
1606 | <nt def='NT-Enumeration'>Enumeration</nt> |
|
1607 </rhs></prod> |
|
1608 <prod id='NT-NotationType'><lhs>NotationType</lhs> |
|
1609 <rhs>'NOTATION' |
|
1610 <nt def='NT-S'>S</nt> |
|
1611 '(' |
|
1612 <nt def='NT-S'>S</nt>? |
|
1613 <nt def='NT-Name'>Name</nt> |
|
1614 (<nt def='NT-S'>S</nt>? '|' <nt def='NT-Name'>Name</nt>)* |
|
1615 <nt def='NT-S'>S</nt>? ')' |
|
1616 </rhs> |
|
1617 <vc def='notatn' /></prod> |
|
1618 <prod id='NT-Enumeration'><lhs>Enumeration</lhs> |
|
1619 <rhs>'(' <nt def='NT-S'>S</nt>? |
|
1620 <nt def='NT-Nmtoken'>Nmtoken</nt> |
|
1621 (<nt def='NT-S'>S</nt>? '|' |
|
1622 <nt def='NT-S'>S</nt>? |
|
1623 <nt def='NT-Nmtoken'>Nmtoken</nt>)* |
|
1624 <nt def='NT-S'>S</nt>? |
|
1625 ')'</rhs> |
|
1626 <vc def='enum'/></prod> |
|
1627 </scrap> |
|
1628 </p> |
|
1629 |
|
1630 <vcnote id='notatn'> |
|
1631 <head>$B5-K!B0@-(B</head> |
|
1632 <p>$B$3$N7?$NCM$O!$@k8@$7$F$$$k(B<titleref href='Notations'>$B5-K!(B</titleref>$B$NL>A0$N0l$D$H(B&match;$B$7$J$1$l$P$J$i$J$$!#$D$^$j!$@k8@$KB8:_$9$k5-K!L>$O!$$9$Y$F@k8@$5$l$F$$$J$1$l$P$J$i$J$$!#(B |
|
1633 </p> |
|
1634 </vcnote> |
|
1635 <vcnote id='enum'> |
|
1636 <head>$BNs5s(B</head> |
|
1637 <p> |
|
1638 $B$3$N7?$NCM$O!$@k8@$KB8:_$9$k(B<nt def='NT-Nmtoken'>Nmtoken</nt>&token;$B$N0l$D$H(B&match;$B$7$J$1$l$P$J$i$J$$!#(B |
|
1639 </p> |
|
1640 </vcnote> |
|
1641 <p> |
|
1642 <termref def='dt-interop'>$BAj8_1?MQ@-$N$?$a(B</termref>$B!$F1$8(B<nt def='NT-Nmtoken'>Nmtoken</nt>$B$O!$C10lMWAG7?$NNs5s7?$NB0@-$H$7$F!$J#?t2s8=$l$J$$J}$,$h$$!#(B |
|
1643 </p> |
|
1644 </div3> |
|
1645 |
|
1646 <div3 id='sec-attr-defaults'> |
|
1647 <head>$BB0@-$N(B&default;</head> |
|
1648 |
|
1649 <p> |
|
1650 <termref def="dt-attdecl">$BB0@-@k8@(B</termref>$B$O!$B0@-$N;XDj$,I,?\$+$I$&$+$K$D$$$F$N>pJs$rM?$($k!#I,?\$G$J$$>l9g$K$O!$J8=qFb$GB0@-$r;XDj$7$J$$$H$-!$(BXML&processor;$B$N=hM}J}K!$N>pJs$bM?$($k!#(B |
|
1651 |
|
1652 <scrap lang='ebnf'> |
|
1653 <head>$BB0@-$N(B&default;</head> |
|
1654 <prodgroup pcw4="14" pcw5="11.5"> |
|
1655 <prod id='NT-Default'><lhs>Default</lhs> |
|
1656 <rhs>'#REQUIRED' |
|
1657 | '#IMPLIED' </rhs> |
|
1658 <rhs>| (('#FIXED' S)? <nt def='NT-AttValue'>AttValue</nt>)</rhs> |
|
1659 <vc def='defattrvalid'/> |
|
1660 <wfc def="CleanAttrVals"/> |
|
1661 </prod> |
|
1662 </prodgroup> |
|
1663 </scrap> |
|
1664 <!-- improved by bosak |
|
1665 <scrap lang='ebnf'> |
|
1666 <head>Attribute Defaults</head> |
|
1667 <prod id='NT-Default'><lhs>Default</lhs> |
|
1668 <rhs>'#REQUIRED' |
|
1669 | '#IMPLIED' </rhs> |
|
1670 <vc def='defattrvalid'/> |
|
1671 <wfc def="CleanAttrVals"/> |
|
1672 <rhs>| (('#FIXED' S)? <nt def='NT-AttValue'>AttValue</nt>)</rhs> |
|
1673 </prod> |
|
1674 </scrap>--> |
|
1675 </p> |
|
1676 |
|
1677 <vcnote id='defattrvalid'> |
|
1678 <head>$BB0@-(B&default;$B$N@5$7$5(B</head> |
|
1679 <p> |
|
1680 $B@k8@$7$?(B&default-value;$B$O!$@k8@$7$?B0@-7?$N;z6g@)Ls$rK~$?$5$J$1$l$P$J$i$J$$!#(B |
|
1681 </p> |
|
1682 </vcnote> |
|
1683 <p> |
|
1684 <kw>#REQUIRED</kw>$B$r;XDj$7$?$H$-!$$3$NMWAG7?$N(B<termref def="dt-stag">$B3+;O%?%0(B</termref>$B$G$"$C$F!$$3$NB0@-$KCM$rM?$($J$$$b$N$r(BXML&processor;$B$,8+$D$1$?$J$i$P!$$=$NJ8=q$O(B<termref def="dt-valid">&valid;</termref>$B$H$O$7$J$$!#(B<kw>#IMPLIED</kw>$B$r;XDj$7$?$H$-!$$3$NB0@-$r>JN,$7$?$i!$(BXML&processor;$B$O!$B0@-CM$r;XDj$7$J$$$3$H$r%"%W%j%1!<%7%g%s$KEA$($J$1$l$P$J$i$J$$!#$3$N$H$-!$(B&application;$B$N?6Iq$$$K$D$$$F$N@)Ls$O$J$$!#(B |
|
1685 </p> |
|
1686 <p> |
|
1687 <termdef id="dt-default" term="Attribute Default"> |
|
1688 $BB0@-$,(B<kw>#REQUIRED</kw>$B$G$b(B<kw>#IMPLIED</kw>$B$G$b$J$$$H$-$K$O!$(B<nt def='NT-AttValue'>AttValue</nt>$B$NCM$,!$(B<term>&default-value;</term>$B$H$J$k!#(B<kw>#FIXED</kw>$B$N>l9g!$(B&default-value;$B$H0[$J$kCM$,;XDj$5$l$l$P!$$=$NJ8=q$O!$(B<termref def="dt-valid">&valid;</termref>$B$H$7$J$$!#(B&default-value;$B$r@k8@$7$F$$$k>l9g!$$3$NB0@-$N>JN,$r8+$D$1$?$i!$@k8@$7$?(B&default-value;$B$rB0@-CM$K;XDj$7$F$$$k$H$7$F!$(BXML&processor;$B$O?6$kIq$&$3$H$,K>$^$7$$!#(B |
|
1689 </termdef></p> |
|
1690 |
|
1691 <p>$BB0@-%j%9%H@k8@$NNc$r!$<!$K<($9!#(B |
|
1692 |
|
1693 <eg><!ATTLIST termdef |
|
1694 id ID #REQUIRED |
|
1695 name CDATA #IMPLIED> |
|
1696 <!ATTLIST list |
|
1697 type (bullets|ordered|glossary) "ordered"> |
|
1698 <!ATTLIST form |
|
1699 method CDATA #FIXED "POST"></eg></p> |
|
1700 </div3> |
|
1701 |
|
1702 <div3 id='AVNormalize'> |
|
1703 <head>$BB0@-CM$N@55,2=(B</head> |
|
1704 <p> |
|
1705 XML&processor;$B$O!$B0@-CM$r(B&application;$B$KEO$9A0$K!$<!$N$H$*$j$K@55,2=$7$J$1$l$P$J$i$J$$!#(B |
|
1706 |
|
1707 <ulist> |
|
1708 <item> |
|
1709 <p>a) $B$^$:!$B0@-CM5Z$S$=$NCf$N<BBNFb$G!$9TKvKt$O9T6-3&(B($BKt$O%7%9%F%`$K$h$C$F$O%l%3!<%I6-3&(B)$B$H$7$F;H$o$l$k(B&string;$B$r!$(B&space-character;(#x20)$B0l$D$KCV$-49$($J$1$l$P$J$i$J$$(B($B!V(B<titleref xml-link="simple" href="sec-line-ends">$B9TKv$N07$$(B</titleref>$B!W$b;2>H$N$3$H!#(B)$B!#(B |
|
1710 </p></item> |
|
1711 <item> |
|
1712 <p>b) $B<!$K!$J8;z;2>H5Z$SFbIt(B&parsed-entity;$B$X$N;2>H$O!$E83+$7$J$1$l$P$J$i$J$$!#30It<BBN$X$N;2>H$O!$(B&error;$B$H$9$k!#(B |
|
1713 </p></item> |
|
1714 <item> |
|
1715 <p>c) $B:G8e$K!$B0@-$N7?$,(B<kw>CDATA</kw>$B$G$J$1$l$P!$6uGr(B&string;$B$O!$$9$Y$F(B&space-character;(#x20)$B0l$D$K@55,2=$7!$;D$j$N6uGrJ8;z$O!$:o=|$7$J$1$l$P$J$i$J$$!#(B |
|
1716 </p></item> |
|
1717 </ulist> |
|
1718 |
|
1719 &non-validating;&parser;$B$O!$@k8@$,8+$D$+$i$J$$B0@-$O!$$9$Y$F!$(B<kw>CDATA</kw>$B$r@k8@$7$F$$$k$H$7$F07$&$3$H$,K>$^$7$$!#(B</p> |
|
1720 </div3> |
|
1721 </div2> |
|
1722 |
|
1723 <div2 id='sec-condition-sect'> |
|
1724 <head>$B>r7oIU$-%;%/%7%g%s(B</head> |
|
1725 <p> |
|
1726 <termdef id='dt-cond-section' term='conditional section'> |
|
1727 <term>$B>r7oIU$-%;%/%7%g%s(B</term>$B$H$O!$(B<termref def='dt-doctype'>$BJ8=q7?@k8@$N30It(B⊂</termref>$B$N0lIt$H$7!$@)8f%-!<%o!<%I$N;XDj$K$h$C$F!$(BDTD$B$NO@M}9=B$$K4^$a$?$j!$=|$$$?$j$9$kItJ,$H$9$k!#(B |
|
1728 </termdef> |
|
1729 |
|
1730 <scrap lang='ebnf'> |
|
1731 <head>$B>r7oIU$-%;%/%7%g%s(B</head> |
|
1732 <prodgroup pcw2="9" pcw4="14.5"> |
|
1733 <prod id='NT-conditionalSect'><lhs>conditionalSect</lhs> |
|
1734 <rhs><nt def='NT-includeSect'>includeSect</nt> |
|
1735 | <nt def='NT-ignoreSect'>ignoreSect</nt> |
|
1736 </rhs> |
|
1737 </prod> |
|
1738 <prod id='NT-includeSect'><lhs>includeSect</lhs> |
|
1739 <rhs>'<![' S? 'INCLUDE' S? '[' |
|
1740 <!-- (<nt def='NT-markupdecl'>markupdecl</nt> |
|
1741 | <nt def="NT-conditionalSect">conditionalSect</nt> |
|
1742 | <nt def="NT-S">S</nt>)* |
|
1743 --> |
|
1744 <nt def="NT-extSubset">extSubset</nt> |
|
1745 ']]>' |
|
1746 </rhs> |
|
1747 </prod> |
|
1748 <prod id='NT-ignoreSect'><lhs>ignoreSect</lhs> |
|
1749 <rhs>'<![' S? 'IGNORE' S? '[' |
|
1750 <nt def="NT-ignoreSectContents">ignoreSectContents</nt>* |
|
1751 ']]>'</rhs> |
|
1752 </prod> |
|
1753 <prod id='NT-ignoreSectContents'><lhs>ignoreSectContents</lhs> |
|
1754 <rhs><nt def='NT-Ignore'>Ignore</nt> |
|
1755 ('<![' <nt def='NT-ignoreSectContents'>ignoreSectContents</nt> |
|
1756 ']]>' |
|
1757 <nt def='NT-Ignore'>Ignore</nt>)*</rhs></prod> |
|
1758 <prod id='NT-Ignore'><lhs>Ignore</lhs> |
|
1759 <rhs><nt def='NT-Char'>Char</nt>* - |
|
1760 (<nt def='NT-Char'>Char</nt>* ('<![' | ']]>') |
|
1761 <nt def='NT-Char'>Char</nt>*) |
|
1762 </rhs></prod> |
|
1763 <!--<rhs> |
|
1764 ((<nt def='NT-SkipLit'>SkipLit</nt> |
|
1765 | <nt def='NT-Comment'>Comment</nt> |
|
1766 | <nt def='NT-PI'>PI</nt>) - |
|
1767 (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-Char'>Char</nt>*)) |
|
1768 | ('<![' <nt def='NT-ignoreSectContents'>ignoreSectContents</nt>* |
|
1769 ']]>') |
|
1770 </rhs> |
|
1771 <rhs> |
|
1772 | (<nt def='NT-Char'>Char</nt> - (']' | [<'"])) |
|
1773 </rhs> |
|
1774 <rhs> |
|
1775 | ('<!' (<nt def='NT-Char'>Char</nt> - ('-' | '['))) |
|
1776 </rhs>--> |
|
1777 </prodgroup> |
|
1778 </scrap> |
|
1779 </p> |
|
1780 |
|
1781 <p>$B>r7oIU$-%;%/%7%g%s$O!$(BDTD$B$NFbIt(B⊂$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 |
|
1782 </p> |
|
1783 <p> |
|
1784 $B>r7oIU$-%;%/%7%g%s$N%-!<%o!<%I$,(B<code>INCLUDE</code>$B$J$i$P!$(BXML&processor;$B$O!$$3$N>r7oIU$-%;%/%7%g%s$NFbMF$r!$J8=q$N0lIt$H$7$F07$o$J$1$l$P$J$i$J$$!#>r7oIU$-%;%/%7%g%s$N%-!<%o!<%I$,(B<code>IGNORE</code>$B$J$i$P!$$=$N>r7oIU$-%;%/%7%g%s$NFbMF$O!$J8=q$N0lIt$H$7$F07$o$J$$!#9=J82r@O$r@5$7$/9T$&$?$a$K$O!$L5;k$9$k>r7oIU$-%;%/%7%g%s(B(IGNORE)$B$K4X$7$F$b!$FbMF$rFI$^$J$1$l$P$J$i$J$$$3$H$KCm0U$9$k$3$H!#$3$l$O!$F~$l;R$K$J$C$?>r7oIU$-%;%/%7%g%s$r8+$D$1!$(B($BL5;k$9$k(B)$B:G$b30B&$N>r7oIU$-%;%/%7%g%s$r@5$7$/8!=P$9$k$?$a$H$9$k!#%-!<%o!<%I$r(B<code>INCLUDE</code>$B$H$9$k>.$5$J>r7oIU$-%;%/%7%g%s$,!$%-!<%o!<%I$r(B<code>IGNORE</code>$B$H$9$k$h$jBg$-$J>r7oIU$-%;%/%7%g%s$K4^$^$l$k$J$i$P!$30B&5Z$SFbB&$N>r7oIU$-%;%/%7%g%s$NN>J}$H$bL5;k$9$k!#(B |
|
1785 </p> |
|
1786 <p> |
|
1787 $B>r7oIU$-%;%/%7%g%s$N%-!<%o!<%I$,%Q%i%a%?<BBN;2>H$J$i$P!$(BXML&processor;$B$O>r7oIU$-%;%/%7%g%s$N07$$$rH=CG$9$kA0$K!$$3$N%Q%i%a%?<BBN$rE83+$7$J$1$l$P$J$i$J$$!#(B |
|
1788 </p> |
|
1789 |
|
1790 <p>$BNc$r<!$K<($9!#(B |
|
1791 |
|
1792 <eg><!ENTITY % draft 'INCLUDE' > |
|
1793 <!ENTITY % final 'IGNORE' > |
|
1794 |
|
1795 <![%draft;[ |
|
1796 <!ELEMENT book (comments*, title, body, supplements?)> |
|
1797 ]]> |
|
1798 <![%final;[ |
|
1799 <!ELEMENT book (title, body, supplements?)> |
|
1800 ]]> |
|
1801 </eg> |
|
1802 </p> |
|
1803 </div2> |
|
1804 <!-- |
|
1805 <div2 id='sec-pass-to-app'> |
|
1806 <head>XML Processor Treatment of Logical Structure</head> |
|
1807 <p>When an XML processor encounters a start-tag, it must make |
|
1808 at least the following information available to the application: |
|
1809 <ulist> |
|
1810 <item> |
|
1811 <p>the element type's generic identifier</p> |
|
1812 </item> |
|
1813 <item> |
|
1814 <p>the names of attributes known to apply to this element type |
|
1815 (validating processors must make available names of all attributes |
|
1816 declared for the element type; non-validating processors must |
|
1817 make available at least the names of the attributes for which |
|
1818 values are specified. |
|
1819 </p> |
|
1820 </item> |
|
1821 </ulist> |
|
1822 </p> |
|
1823 </div2> |
|
1824 --> |
|
1825 |
|
1826 </div1> |
|
1827 <!-- &Entities; --> |
|
1828 |
|
1829 <div1 id='sec-physical-struct'> |
|
1830 <head>$BJ*M}9=B$(B</head> |
|
1831 |
|
1832 <p> |
|
1833 <termdef id="dt-entity" term="Entity"> |
|
1834 XML$BJ8=q$O!$0l$D0J>e$N5-21C10L$+$i9=@.$9$k!#$3$N5-21C10L$r!$(B<term>$B<BBN(B</term>$B$H$$$&!#<BBN$O!$(B<term>$BFbMF(B</term>$B$r$b$A!$J8=q<BBN(B($B0J9_;2>H(B)$B5Z$S(B<termref def='dt-doctype'>$B30It(BDTD⊂</termref>$B$r=|$$$F!$(B<term>$BL>A0(B</term>$B$G(B&identified;$B!#(B |
|
1835 </termdef> |
|
1836 |
|
1837 <!-- Added for CFG --> |
|
1838 <!-- obscurity amputated by TWB --> |
|
1839 <!-- entire sentence amputated by CMSMcQ: no one but NO ONE is |
|
1840 ready for entities declared as |
|
1841 <!ENTITY foo "http://www.foo.com/bar.xml#id"> |
|
1842 and it's pointless to suggest that it's possible |
|
1843 under current circumstances. --> |
|
1844 <!-- An entity may be stored in, --> |
|
1845 <!--but need not be coterminous with, --> |
|
1846 <!-- but need not comprise the whole of, --> |
|
1847 <!-- a single physical storage object such as a file or --> |
|
1848 <!-- database field. --> |
|
1849 <!-- End sentence added for CFG -->$B3F(BXML$BJ8=q$O!$(B<termref def="dt-docent">$BJ8=q<BBN(B</termref>$B$H8F$V<BBN$r0l$D$b$D!#(B<termref def="dt-xml-proc">XML&processor;</termref>$B$O!$$3$NJ8=q<BBN$+$i=hM}$r3+;O$9$k!#J8=q<BBN$,!$J8=q$N$9$Y$F$r4^$s$G$b$h$$!#(B</p> |
|
1850 |
|
1851 <p>$B<BBN$O!$(B&parsed-entity;$BKt$O(B&unparsed-entity;$B$H$9$k!#(B<termdef id="dt-parsedent" term="Text Entity"><term>&parsed-entity;</term>$B$NFbMF$O!$(B&parsed-entity;$B$N(B<termref def='dt-repltext'>&replacement-text;</termref>$B$H8F$V!#$3$N(B<termref def="dt-text">$B%F%-%9%H(B</termref>$B$O!$J8=q$NK\BN$N0lIt$H$7$F2r<a$9$k!#(B |
|
1852 </termdef> |
|
1853 </p> |
|
1854 |
|
1855 <p> |
|
1856 <termdef id="dt-unparsed" term="Unparsed Entity"> |
|
1857 <term>&unparsed-entity;</term>$B$O!$FbMF$,(B<termref def='dt-text'>$B%F%-%9%H(B</termref>$B$G$b$=$&$G$J$/$H$b$h$$%j%=!<%9$H$9$k!#%F%-%9%H$N>l9g!$(BXML$B$G$J$/$H$b$h$$!#3F(B&unparsed-entity;$B$K$O!$(B<termref def="dt-notation">$B5-K!(B</termref>$B$,4XO"IU$1$i$l!$$3$N5-K!$O!$L>A0$G(B&identified;$B!#5-K!$NL>A05Z$S4XO"IU$1$i$l$?(B&identifier;$B$r!$(BXML&processor;$B$,(B&application;$B$KEO$9$H$$$&MW7o0J30$O!$(BXML$B$O!$(B&unparsed-entity;$B$NFbMF$r@)8B$7$J$$!#(B |
|
1858 </termdef> |
|
1859 </p> |
|
1860 |
|
1861 <p>&parsed-entity;$B$O!$<BBN;2>H$K$h$C$FL>A0$G8F$S=P$9!#(B&unparsed-entity;$B$O!$(B<kw>ENTITY</kw>$B7?Kt$O(B<kw>ENTITIES</kw>$B7?$NB0@-$NCM$H$7$F!$L>A0$G;2>H$9$k!#(B</p> |
|
1862 |
|
1863 <p> |
|
1864 <termdef id='gen-entity' term='general entity'><term>$B0lHL<BBN(B</term>$B$O!$J8=qFbMF$NCf$G;HMQ$9$k(B&parsed-entity;$B$H$9$k!#$"$$$^$$$K$J$i$J$$8B$j!$$3$N(B&TR-or-Rec;$B$G$O!$0lHL<BBN$rC1$K(B<emph>$B<BBN(B</emph>$B$H8F$V!#(B</termdef><termdef id='dt-PE' term='Parameter entity'>$B%Q%i%a%?<BBN$O!$(BDTD$BFb$G;HMQ$9$k(B&parsed-entity;$B$H$9$k!#(B</termdef>$B$3$l$i$N#2<oN`$N<BBN$O!$0[$J$k=q<0$G;2>H$7!$0[$J$kJ8L.$GG'<1$9$k!#(B</p> |
|
1865 |
|
1866 <!-- |
|
1867 <div2 id='sec-synchro'> |
|
1868 <head>Logical and Physical Structures</head> |
|
1869 <p>The logical and physical structures (elements and entities) |
|
1870 in an XML document must |
|
1871 be properly nested. |
|
1872 <termref def='dt-stag'>Tags</termref> and <termref def='dt-element'>elements</termref> must |
|
1873 each begin and end in the same <termref def='dt-entity'>entity</termref>, but may |
|
1874 refer to other |
|
1875 entities internally; <termref def='dt-comment'>comments</termref>, |
|
1876 <termref def='dt-pi'>processing instructions</termref>, |
|
1877 <termref def='dt-charref'>character |
|
1878 references</termref>, and |
|
1879 <termref def='dt-entref'>entity references</termref> must each be contained entirely |
|
1880 within a single entity. Entities must each contain an integral number |
|
1881 of elements, comments, processing instructions, and references, |
|
1882 possibly together with character data not contained within any element |
|
1883 in the entity, or else they must contain non-textual data, which by |
|
1884 definition contains no elements.</p></div2> |
|
1885 --> |
|
1886 |
|
1887 <div2 id='sec-references'> |
|
1888 <head>$BJ8;z;2>H5Z$S<BBN;2>H(B</head> |
|
1889 <p> |
|
1890 <termdef id="dt-charref" term="Character Reference"> |
|
1891 <term>$BJ8;z;2>H(B</term>$B$O!$(BISO/IEC 10646$BJ8;z=89g$NFCDj$NJ8;z!$Nc$($P!$F~NO5!4o$+$iD>@\F~NOIT2DG=$JJ8;z$r;2>H$9$k!#(B |
|
1892 |
|
1893 <scrap lang='ebnf'> |
|
1894 <head>$BJ8;z;2>H(B</head> |
|
1895 <prod id='NT-CharRef'><lhs>CharRef</lhs> |
|
1896 <rhs>'&#' [0-9]+ ';' </rhs> |
|
1897 <rhs>| '&hcro;' [0-9a-fA-F]+ ';'</rhs> |
|
1898 <wfc def="wf-Legalchar"/> |
|
1899 </prod> |
|
1900 </scrap> |
|
1901 <wfcnote id="wf-Legalchar"> |
|
1902 <head>$B@5Ev$JJ8;z(B</head> |
|
1903 <p>$BJ8;z;2>H$G;2>H$9$kJ8;z$O!$Hs=*C<5-9f(B<termref def="NT-Char">Char</termref>$B$K=>$o$J$1$l$P$J$i$J$$!#(B</p> |
|
1904 </wfcnote> |
|
1905 $BJ8;z$,(B "<code>&#x</code>" $B$G;O$^$l$P!$=*C<$N(B "<code>;</code>" $B$^$G$N?t;z5Z$S%"%k%U%!%Y%C%H$O!$(BISO/IEC 10646 $B$NJ8;z%3!<%I$N(B16$B?J?tI=8=$H$9$k!#(B |
|
1906 <!--$BF|K\8lLu$K$D$$$F(B: letter$B$O%"%k%U%!%Y%C%H$HLu$7$?!#(B $B;09%(B --> |
|
1907 $BJ8;z$,(B "<code>&#</code>" $B$G;O$^$l$P!$=*C<$N(B "<code>;</code>" $B$^$G$N?t;z$O!$J8;z%3!<%I$N(B10$B?J?tI=8=$H$9$k!#(B |
|
1908 </termdef> |
|
1909 </p> |
|
1910 |
|
1911 <p> |
|
1912 <termdef id="dt-entref" term="Entity Reference"> |
|
1913 <term>$B<BBN;2>H(B</term>$B$O!$L>A0$NIU$$$?<BBN$NFbMF$r;2>H$9$k!#(B</termdef><termdef id='dt-GERef' term='General Entity Reference'>$B0lHL<BBN$X$N;2>H$O!$%"%s%Q%5%s%I(B(<code>&</code>)$B5Z$S%;%_%3%m%s(B(<code>;</code>)$B$r6h@Z$j;R$H$7$FMQ$$$k!#(B</termdef><termdef id='dt-PERef' term='Parameter-entity reference'><term>$B%Q%i%a%?<BBN(B</term>$B$X$N;2>H$O!$%Q!<%;%s%H5-9f(B(<code>%</code>)$B5Z$S%;%_%3%m%s(B(<code>;</code>)$B$r6h@Z$j;R$H$7$FMQ$$$k!#(B |
|
1914 </termdef> |
|
1915 </p> |
|
1916 |
|
1917 <scrap lang="ebnf"> |
|
1918 <head>$B<BBN;2>H(B</head> |
|
1919 <prod id='NT-Reference'><lhs>Reference</lhs> |
|
1920 <rhs><nt def='NT-EntityRef'>EntityRef</nt> |
|
1921 | <nt def='NT-CharRef'>CharRef</nt></rhs></prod> |
|
1922 <prod id='NT-EntityRef'><lhs>EntityRef</lhs> |
|
1923 <rhs>'&' <nt def='NT-Name'>Name</nt> ';'</rhs> |
|
1924 <wfc def='wf-entdeclared'/> |
|
1925 <vc def='vc-entdeclared'/> |
|
1926 <wfc def='textent'/> |
|
1927 <wfc def='norecursion'/> |
|
1928 </prod> |
|
1929 <prod id='NT-PEReference'><lhs>PEReference</lhs> |
|
1930 <rhs>'%' <nt def='NT-Name'>Name</nt> ';'</rhs> |
|
1931 <wfc def='wf-entdeclared'/> |
|
1932 <vc def='vc-entdeclared'/> |
|
1933 <wfc def='textent'/> |
|
1934 <wfc def='norecursion'/> |
|
1935 <wfc def='indtd'/> |
|
1936 </prod> |
|
1937 </scrap> |
|
1938 |
|
1939 <wfcnote id='wf-entdeclared'> |
|
1940 <head>$B<BBN$,@k8@$5$l$F$$$k$3$H(B</head> |
|
1941 <p>DTD$B$r$b$?$J$$J8=q!$%Q%i%a%?<BBN;2>H$r4^$^$J$$FbIt(BDTD⊂$B$@$1$r$b$DJ8=q!$Kt$O(B "<code>standalone='yes'</code>" $B$r$b$DJ8=q$K$*$$$F!$<BBN;2>H$GMQ$$$k(B <nt def='NT-Name'>Name</nt> $B$O!$$=$N<BBN$N@k8@$GM?$($kL>A0$H!$(B<termref def="dt-match">&match;</termref>$B$7$J$1$l$P$J$i$J$$!#$?$@$7!$(B&well-formed;$B$NJ8=q$O!$<BBN(B&magicents; $B$r@k8@$9$kI,MW$O$J$$!#%Q%i%a%?<BBN$N>l9g$O!$@k8@$O!$;2>H$K@h9T$7$J$1$l$P$J$i$J$$!#F1MM$K!$0lHL<BBN$N>l9g$O!$B0@-%j%9%H@k8@$N(B&default-value;$BFb$G$N;2>H$h$j@h$K!$@k8@$,8=$l$J$1$l$P$J$i$J$$!#(B</p> |
|
1942 |
|
1943 <p>$B30It(B⊂$BKt$O30It%Q%i%a%?<BBN$G<BBN$r@k8@$9$k$H$-!$(B&non-validating;&processor;$B$,!$@k8@$rFI$_!$=hM}$9$k$3$H$r(B<titleref href='include-if-valid'>$B5AL3$E$1$J$$(B</titleref>$B!#$=$l$i$NJ8=q$G$O!$<BBN$O@k8@$5$l$J$1$l$P$J$i$J$$$H$$$&5,B'$O!$(B&well-formed;$B@)Ls$G$O$J$$!#(B |
|
1944 </p> |
|
1945 </wfcnote> |
|
1946 |
|
1947 <vcnote id="vc-entdeclared"> |
|
1948 <head>$B<BBN$,@k8@$5$l$F$$$k$3$H(B</head> |
|
1949 <p> |
|
1950 $B30It(B⊂$BKt$O30It%Q%i%a%?<BBN$r$b$C$F$$$F!$(B"<code>standalone='no'</code>"$B$r$b$DJ8=q$K$*$$$F!$<BBN;2>H$GMQ$$$k(B <nt def='NT-Name'>Name</nt> $B$O!$$=$N<BBN$N@k8@$GM?$($kL>A0$H(B<termref def="dt-match">&match;</termref>$B$7$J$1$l$P$J$i$J$$!#Aj8_1?MQ@-$N$?$a!$(B&valid;$B$JJ8=q$O(B<titleref href="sec-escapes">$B$"$i$+$8$aDj5A$7$?<BBN$N5,Dj(B</titleref>$B$G;XDj$7$?=q<0$K$h$C$F!$<BBN(B &magicents;$B$r@k8@$9$k$3$H$,K>$^$7$$!#%Q%i%a%?<BBN$N>l9g$O!$@k8@$O!$;2>H$K@h9T$7$J$1$l$P$J$i$J$$!#F1MM$K!$0lHL<BBN$N>l9g$O!$B0@-%j%9%H@k8@$N(B&default-value;$BFb$G$N;2>H$h$j$b@h$K!$@k8@$,8=$l$J$1$l$P$J$i$J$$!#(B |
|
1951 </p> |
|
1952 </vcnote> |
|
1953 |
|
1954 <!-- FINAL EDIT: is this duplication too clumsy? --> |
|
1955 |
|
1956 <wfcnote id='textent'> |
|
1957 <head>&parsed-entity;</head> |
|
1958 <p> |
|
1959 $B<BBN;2>H$O!$(B<termref def="dt-unparsed">&unparsed-entity;</termref>$B$NL>A0$r4^$s$G$$$F$O$J$i$J$$!#(B&unparsed-entity;$B$O!$(B<kw>ENTITY</kw>$B7?Kt$O(B<kw>ENTITIES</kw> $B7?$H$7$F@k8@$7$?(B<termref def="dt-attrval">$BB0@-CM(B</termref>$B$H$7$F$@$1;2>H$G$-$k!#(B |
|
1960 </p> |
|
1961 </wfcnote> |
|
1962 |
|
1963 <wfcnote id='norecursion'> |
|
1964 <head>$B:F5"$J$7(B</head> |
|
1965 <p>&parsed-entity;$B$O!$$=$l<+BN$X$N;2>H$r!$D>@\$K$b4V@\$K$b4^$s$G$O$J$i$J$$!#(B</p> |
|
1966 </wfcnote> |
|
1967 |
|
1968 <wfcnote id='indtd'> |
|
1969 <head>DTD$B$NCf(B</head> |
|
1970 <p> |
|
1971 $B%Q%i%a%?<BBN;2>H$O!$(B<termref def='dt-doctype'>DTD</termref>$BFb$K$@$1!$=P8=$7$F$h$$!#(B |
|
1972 <!-- |
|
1973 In the external DTD subset, a parameter-entity reference is |
|
1974 recognized only at the locations where |
|
1975 the nonterminal <nt def="NT-PEReference">PEReference</nt> or the |
|
1976 special operator <code>%</code> appears in a production of the |
|
1977 grammar. In the internal subset, parameter-entity references |
|
1978 are recognized only when they match |
|
1979 the <nt def="NT-InternalPERef">InternalPERef</nt> non-terminal |
|
1980 in the production for <nt def="NT-markupdecl">markupdecl</nt>. |
|
1981 --> |
|
1982 </p> |
|
1983 </wfcnote> |
|
1984 |
|
1985 <p> |
|
1986 $BJ8;z;2>H5Z$S<BBN;2>H$NNc$r!$<!$K<($9!#(B |
|
1987 <eg>Type <key>less-than</key> (&hcro;3C;) to save options. |
|
1988 This document was prepared on &docdate; and |
|
1989 is classified &security-level;.</eg> |
|
1990 </p> |
|
1991 |
|
1992 <p> |
|
1993 $B%Q%i%a%?<BBN;2>H$NNc$r!$<!$K<($9!#(B |
|
1994 <eg><!ENTITY % ISOLat2 |
|
1995 SYSTEM "http://www.xml.com/iso/isolat2-xml.entities" > |
|
1996 %ISOLat2; |
|
1997 </eg> |
|
1998 </p> |
|
1999 </div2> |
|
2000 |
|
2001 <div2 id='sec-entity-decl'> |
|
2002 <head>$B<BBN@k8@(B</head> |
|
2003 |
|
2004 <p> |
|
2005 <termdef id="dt-entdecl" term="entity declaration"> |
|
2006 $B<BBN$O!$<!$N$H$*$j$K@k8@$9$k!#(B |
|
2007 <scrap lang='ebnf'> |
|
2008 <head>$B<BBN@k8@(B</head> |
|
2009 <prodgroup pcw2="5" pcw4="18.5"> |
|
2010 <prod id='NT-EntityDecl'><lhs>EntityDecl</lhs> |
|
2011 <rhs><nt def="NT-GEDecl">GEDecl</nt></rhs><com>$B0lHL<BBN(B</com> |
|
2012 <rhs>| <nt def="NT-PEDecl">PEDecl</nt></rhs><com>$B%Q%i%a%?<BBN(B</com> |
|
2013 </prod> |
|
2014 <prod id='NT-GEDecl'><lhs>GEDecl</lhs> |
|
2015 <rhs>'<!ENTITY' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt> |
|
2016 <nt def='NT-S'>S</nt> <nt def='NT-EntityDef'>EntityDef</nt> |
|
2017 <nt def='NT-S'>S</nt>? '>'</rhs> |
|
2018 </prod> |
|
2019 <prod id='NT-PEDecl'><lhs>PEDecl</lhs> |
|
2020 <rhs>| '<!ENTITY' <nt def='NT-S'>S</nt> '%' <nt def='NT-S'>S</nt> |
|
2021 <nt def='NT-Name'>Name</nt> <nt def='NT-S'>S</nt> |
|
2022 <nt def='NT-PEDef'>PEDef</nt> <nt def='NT-S'>S</nt>? '>'</rhs> |
|
2023 <com>$B%Q%i%a%?<BBN(B</com> |
|
2024 </prod> |
|
2025 <prod id='NT-EntityDef'><lhs>EntityDef</lhs> |
|
2026 <rhs><nt def='NT-EntityValue'>EntityValue</nt> |
|
2027 </rhs> |
|
2028 <!--<wfc def="WF-EntityValue"/>--> |
|
2029 <rhs>| <nt def='NT-ExternalDef'>ExternalDef</nt></rhs> |
|
2030 <!--<wfc def="WF-External"/>--> |
|
2031 </prod> |
|
2032 <!-- FINAL EDIT: what happened to WFs here? --> |
|
2033 <prod id='NT-PEDef'><lhs>PEDef</lhs> |
|
2034 <rhs><nt def='NT-EntityValue'>EntityValue</nt> |
|
2035 | <nt def='NT-ExternalID'>ExternalID</nt></rhs></prod> |
|
2036 </prodgroup> |
|
2037 </scrap> |
|
2038 |
|
2039 <nt def='NT-Name'>Name</nt> $B$O!$(B<termref def="dt-entref">$B<BBN;2>H(B</termref>$B$K$*$$$F<BBN$r(B&identify;$B!#(B&unparsed-entity;$B$J$i$P!$(B<kw>ENTITY</kw> $B7?Kt$O(B<kw>ENTITIES</kw>$B7?$NB0@-CMFb$G!$<BBN$r(B&identify;$B!#F10l$N<BBN$,0l2s0J>e@k8@$5$l$l$P!$:G=i$N@k8@$rMQ$$$k!#(B&at-user-option;$B!$J#?t2s@k8@$5$l$k<BBN$K4X$7!$(BXML&processor;$B$O!$7Y9p$r=P$7$F$b$h$$!#(B |
|
2040 </termdef> |
|
2041 </p> |
|
2042 |
|
2043 <!-- |
|
2044 <wfcnote id="WF-Entityvalue"> |
|
2045 <head>Well-Formed Internal Entity</head> |
|
2046 <p>General entities defined by an <nt |
|
2047 def="NT-EntityValue">EntityValue</nt> must be well-formed, as defined |
|
2048 in section <specref ref="wf-entities"/>. |
|
2049 </p> |
|
2050 </wfcnote> |
|
2051 <wfcnote id="WF-External"> |
|
2052 <head>Well-Formed External Entity</head> |
|
2053 <p>General text entities defined by an <nt |
|
2054 def="NT-ExternalDef">ExternalDef</nt>, must be well-formed, as defined |
|
2055 in the section on <titleref xml-link="simple" |
|
2056 href="wf-entities">well-formed entities.</titleref>.</p> |
|
2057 </wfcnote> |
|
2058 --> |
|
2059 |
|
2060 <div3 id='sec-internal-ent'> |
|
2061 <head>$BFbIt<BBN(B</head> |
|
2062 <p> |
|
2063 <termdef id='dt-internent' term="Internal Entity Replacement Text"> |
|
2064 $B<BBN$NDj5A$,(B <nt def='NT-EntityValue'>EntityValue</nt>$B$N$H$-!$$3$l$r(B<term>$BFbIt<BBN(B</term>$B$H$$$&!#$3$l$O!$JL8D$NJ*M}E*5-21C10L$r$b$?$:!$<BBN$NFbMF$O!$@k8@Fb$GM?$($k!#(B</termdef>$B@5$7$/(B<termref def='dt-repltext'>&replacement-text;</termref>$B$r@8@.$9$k$K$O!$(B<termref def='dt-litentval'>&literal;$B<BBNCM(B</termref>$BFb$G$N<BBN;2>H5Z$SJ8;z;2>H$N=hM}$,!$I,MW$H$J$k$+$b$7$l$J$$$3$H$KCm0U$9$k!#>\:Y$O!$(B<titleref href='intern-replacement'>$BFbIt<BBN$N(B&replacement-text;$B$N9=C[(B</titleref>$B$r;2>H!#(B |
|
2065 |
|
2066 <!-- redundant -TWB |
|
2067 Within the <nt def="NT-EntityValue">EntityValue</nt>, |
|
2068 parameter-entity references and character references are recognized |
|
2069 and expanded immediately. |
|
2070 General-entity references within the |
|
2071 replacement text are not recognized |
|
2072 at the time the entity declaration is parsed, though they may be |
|
2073 recognized when the entity itself is referred to. |
|
2074 --> |
|
2075 |
|
2076 </p> |
|
2077 |
|
2078 <p> |
|
2079 $BFbIt<BBN$O!$(B<termref def="dt-parsedent">&parsed-entity;</termref>$B$H$9$k!#(B |
|
2080 </p> |
|
2081 |
|
2082 <p>$BFbIt<BBN@k8@$NNc$r!$<!$K<($9!#(B |
|
2083 <eg><!ENTITY Pub-Status "This is a pre-release of the specification."></eg></p> |
|
2084 </div3> |
|
2085 |
|
2086 <div3 id='sec-external-ent'> |
|
2087 <head>$B30It<BBN(B</head> |
|
2088 <p> |
|
2089 <termdef id="dt-extent" term="External Entity"> |
|
2090 $B<BBN$,FbIt<BBN$G$J$1$l$P!$(B<term>$B30It<BBN(B</term>$B$H$7!$<!$N$H$*$j$K@k8@$9$k!#(B |
|
2091 |
|
2092 <scrap lang='ebnf'> |
|
2093 <head>$B30It<BBN@k8@(B</head> |
|
2094 <prod id='NT-ExternalDef'><lhs>ExternalDef</lhs> |
|
2095 <rhs><nt def='NT-ExternalID'>ExternalID</nt> |
|
2096 <nt def='NT-NDataDecl'>NDataDecl</nt>?</rhs></prod> |
|
2097 <prod id='NT-ExternalID'><lhs>ExternalID</lhs> |
|
2098 <rhs>'SYSTEM' <nt def='NT-S'>S</nt> |
|
2099 <nt def='NT-SystemLiteral'>SystemLiteral</nt></rhs> |
|
2100 <rhs>| 'PUBLIC' <nt def='NT-S'>S</nt> |
|
2101 <nt def='NT-PubidLiteral'>PubidLiteral</nt> |
|
2102 <nt def='NT-S'>S</nt> |
|
2103 <nt def='NT-SystemLiteral'>SystemLiteral</nt> |
|
2104 </rhs> |
|
2105 </prod> |
|
2106 <prod id='NT-NDataDecl'><lhs>NDataDecl</lhs> |
|
2107 <rhs><nt def='NT-S'>S</nt> 'NDATA' <nt def='NT-S'>S</nt> |
|
2108 <nt def='NT-Name'>Name</nt></rhs> |
|
2109 <vc def='not-declared'/></prod> |
|
2110 </scrap> |
|
2111 |
|
2112 <nt def='NT-NDataDecl'>NDataDecl</nt> $B$,B8:_$9$l$P!$$3$N<BBN$O!$(B<termref def="dt-unparsed">&unparsed-entity;</termref>$B$H$7!$$=$&$G$J$1$l$P!$(B&parsed-entity;$B$H$9$k!#(B</termdef> |
|
2113 </p> |
|
2114 |
|
2115 <vcnote id='not-declared'> |
|
2116 <head>$B5-K!$,@k8@$5$l$F$$$k$3$H(B</head> |
|
2117 <p> |
|
2118 <nt def='NT-Name'>Name</nt> $B$O!$@k8@$7$?(B<termref def="dt-notation">$B5-K!(B</termref>$B$NL>A0$H(B&match;$B$7$J$1$l$P$J$i$J$$!#(B |
|
2119 </p> |
|
2120 </vcnote> |
|
2121 |
|
2122 <p> |
|
2123 <termdef id="dt-sysid" term="System Identifier"> |
|
2124 $B%-!<%o!<%I(B <kw>SYSTEM</kw> $B$N8e$N(B <nt def='NT-SystemLiteral'>SystemLiteral</nt> $B$r!$<BBN$N(B<term>$B%7%9%F%`(B&identifier;</term>$B$H8F$V!#$3$l$O(BURI$B$H$7!$$=$N<BBN$NFbMF$r<h$j=P$9$N$KMQ$$$F$b$h$$!#(B</termdef>URI$B$H6&$K;H$&$3$H$NB?$$%O%C%7%e(B("<code>#</code>")$B5Z$S%U%i%0%a%s%H(B&identifier;$B$O!$@5<0$K$O!$(BURI$B<+BN$N0lIt$H$O$7$J$$!#%U%i%0%a%s%H(B&identifier;$B$,!$%7%9%F%`(B&identifier;$B$NItJ,$H$7$FM?$($i$l$F$$$k>l9g!$(BXML&processor;$B$O!$(B&error;$B$r=P$7$F$b$h$$!#$3$N(B&TR-or-Rec;$B$NHO0O30$N>pJs(B($BNc$($P!$$"$kFCDj$N(BDTD$B$NFCJL$J(BXML$BMWAGKt$OFCDj$N(B&application;$B$N;EMM$K$h$C$FDj5A$5$l$?=hM}L?Na(B)$B$K$h$C$F>e=q$-$5$l$J$$8B$j!$AjBPE*$J(BURI$B$O!$$=$N<BBN$N0LCV!$$9$J$o$A!$$=$N<BBN$N@k8@$,$"$k%U%!%$%k$KAjBPE*$H$9$k!#$7$?$,$C$F!$(BDTD$B$NFbIt(B⊂$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 |
|
2125 </p> |
|
2126 |
|
2127 <p> |
|
2128 <termdef id="dt-pubid" term="Public identifier"> |
|
2129 $B%7%9%F%`(B&identifier;$B0J30$K!$30It<BBN$O!$(B<term>$B8x3+(B&identifier;</term>$B$r4^$s$G$b$h$$!#(B |
|
2130 </termdef> |
|
2131 $B<BBN$NFbMF$r<h$j=P$9(BXML&processor;$B$O!$$3$N8x3+(B&identifier;$B$rMQ$$$F!$Be$o$j$N(BURI$B$N@8@.$r;n$_$F$b$h$$!#(BXML&processor;$B$,$3$l$K<:GT$7$?>l9g$O!$%7%9%F%`(B&literal;$B$H$7$F;XDj$7$?(BURI$B$rMQ$$$J$1$l$P$J$i$J$$!#(B&match;$B$9$kA0$K!$8x3+(B&identifier;$BFb$K$"$k6uGrJ8;z$+$i$J$k(B&string;$B$O!$$9$Y$FC10l$N(B&space-character;(#x20)$B$K@55,2=$7$J$1$l$P$J$i$:!$A08e$N6uGrJ8;z$O:o=|$7$J$1$l$P$J$i$J$$!#(B |
|
2132 </p> |
|
2133 |
|
2134 <p>$B30It<BBN@k8@$NNc$r!$<!$K<($9!#(B |
|
2135 <eg><!ENTITY open-hatch |
|
2136 SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml"> |
|
2137 <!ENTITY open-hatch |
|
2138 PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN" |
|
2139 "http://www.textuality.com/boilerplate/OpenHatch.xml"> |
|
2140 <!ENTITY hatch-pic |
|
2141 SYSTEM "../grafix/OpenHatch.gif" |
|
2142 NDATA gif ></eg></p> |
|
2143 </div3> |
|
2144 |
|
2145 </div2> |
|
2146 |
|
2147 <div2 id='TextEntities'> |
|
2148 <head>&parsed-entity;</head> |
|
2149 <div3 id='sec-TextDecl'> |
|
2150 <head>$B%F%-%9%H@k8@(B</head> |
|
2151 <p>$B30It(B&parsed-entity;$B$O!$(B<term>$B%F%-%9%H@k8@(B</term>$B$G;O$^$C$F$b$h$$!#(B |
|
2152 <scrap lang='ebnf'> |
|
2153 <head>$B%F%-%9%H@k8@(B</head> |
|
2154 <prodgroup pcw4="12.5" pcw5="13"> |
|
2155 <prod id='NT-TextDecl'><lhs>TextDecl</lhs> |
|
2156 <rhs>&xmlpio; |
|
2157 <nt def='NT-VersionInfo'>VersionInfo</nt>? |
|
2158 <nt def='NT-EncodingDecl'>EncodingDecl</nt> |
|
2159 <nt def='NT-S'>S</nt>? &pic;</rhs> |
|
2160 <!-- <wfc def='wfc-xmldecliteral'/> --> |
|
2161 <!-- <wfc def='wfc-no-nonleading-encdec'/> --> |
|
2162 </prod> |
|
2163 </prodgroup> |
|
2164 </scrap> |
|
2165 </p> |
|
2166 <p>$B%F%-%9%H@k8@$O!$$=$N$^$^$N7A$G8=$l$J$1$l$P$J$i$:!$(B&parsed-entity;$B$X$N;2>H$r7PM3$7$F$O$J$i$J$$$3$H$KCm0U$9$k!#(B</p> |
|
2167 <p>$B30It(B&parsed-entity;$B$K$*$$$F!$%F%-%9%H@k8@$O!$@hF,0J30$N$$$+$J$k0LCV$K$b=P8=$7$J$$!#(B</p> |
|
2168 </div3> |
|
2169 <div3 id='wf-entities'> |
|
2170 <head>&well-formed;$B$N(B&parsed-entity;</head> |
|
2171 <p>$B%i%Y%k(B<nt def='NT-document'>document</nt>$B$r$b$D@8@.5,B'$K(B&match;$B$9$l$P!$J8=q<BBN$O!$(B&well-formed;$B$H$9$k!#%i%Y%k(B<nt def='NT-ExtParsedEnt'>ExtParsedEnt</nt>$B$r$b$D@8@.5,B'$K(B&match;$B$9$l$P!$30It$N0lHL(B&parsed-entity;$B$O!$(B&well-formed;$B$H$9$k!#%i%Y%k(B<nt def='NT-ExtPE'>ExtPE</nt>$B$r$b$D@8@.5,B'$K(B&match;$B$9$l$P!$30It%Q%i%a%?<BBN$O!$(B&well-formed;$B$H$9$k!#(B |
|
2172 |
|
2173 <scrap lang='ebnf'> |
|
2174 <head>&well-formed;$B$N(B&parsed-entity;</head> |
|
2175 <prod id='NT-ExtParsedEnt'><lhs>ExtParsedEnt</lhs> |
|
2176 <rhs><nt def='NT-TextDecl'>TextDecl</nt>? |
|
2177 <nt def='NT-content'>content</nt></rhs> |
|
2178 </prod> |
|
2179 <prod id='NT-ExtPE'><lhs>ExtPE</lhs> |
|
2180 <rhs><nt def='NT-TextDecl'>TextDecl</nt>? |
|
2181 <nt def='NT-extSubset'>extSubset</nt></rhs> |
|
2182 </prod> |
|
2183 </scrap> |
|
2184 &replacement-text;$B$,!$%i%Y%k(B<nt def='NT-content'>content</nt>$B$r$b$D@8@.5,B'$K(B&match;$B$9$l$P!$FbIt$N0lHL(B&parsed-entity;$B$O!$(B&well-formed;$B$H$9$k!#(BDTD$B$r:G8e$^$GFI$_9~$^$J$$$H!$3N<B$K$3$l$rH=Dj$G$-$J$$$3$H$KCm0U!#$9$Y$F$NFbIt$N%Q%i%a%?<BBN$O!$Dj5A$K$h$C$F(B&well-formed;$B$H$9$k!#(B |
|
2185 </p> |
|
2186 <p>$B<BBN$,(B&well-formed;$B$J7k2L$H$7$F!$(BXML$BJ8=q$NO@M}E*5Z$SJ*M}E*9=B$$O!$@5$7$/F~$l;R$H$J$k!#(B<termref def='dt-stag'>$B3+;O%?%0(B</termref>$B!$(B<termref def='dt-etag'>$B=*N;%?%0(B</termref>$B!$(B<termref def="dt-empty">$B6uMWAG%?%0(B</termref>$B!$(B<termref def='dt-element'>$BMWAG(B</termref>$B!$(B<termref def='dt-comment'>$B%3%a%s%H(B</termref>$B!$(B<termref def='dt-pi'>$B=hM}L?Na(B</termref>$B!$(B<termref def='dt-charref'>$BJ8;z;2>H(B</termref>$B5Z$S(B<termref def='dt-entref'>$B<BBN;2>H(B</termref>$B$,!$0l$D$N<BBN$G3+;O$7!$JL$N<BBN$G=*N;$9$k$3$H$O$J$$!#(B</p> |
|
2187 </div3> |
|
2188 <div3 id='charencoding'> |
|
2189 <head>$B<BBN$K$*$1$kJ8;zId9f2=(B</head> |
|
2190 |
|
2191 <p>XML$BJ8=qFb$N30It(B&parsed-entity;$B$O!$3F!9!$JL$NJ8;zId9f2=J}<0$rMQ$$$F$b$h$$!#$9$Y$F$N(BXML&processor;$B$O!$(BUTF-8$B$GId9f2=$7$?<BBN!$(BUTF-16$B$GId9f2=$7$?<BBN$r=hM}$G$-$J$1$l$P$J$i$J$$!#(B |
|
2192 <!-- |
|
2193 It is recognized that for some purposes, the use of additional |
|
2194 ISO/IEC 10646 planes other than the Basic Multilingual Plane |
|
2195 may be required. |
|
2196 A facility for handling characters in these planes is therefore a |
|
2197 desirable characteristic in XML processors and applications. |
|
2198 --> |
|
2199 </p> |
|
2200 <p>UTF-16$B$GId9f2=$7$?<BBN$O!$(BISO/IEC 10646$B$NIUO?(BE$B5Z$S(BUnicode$B$NIUO?(BB$B$G5,Dj$9$k(B&byte-order-mark;(ZERO WIDTH NO-BREAK SPACE$BJ8;z!$(B#xFEFF)$B$G;O$^$i$J$1$l$P$J$i$J$$!#$3$l$O!$Id9f2=$NI8<1$G$"$C$F!$(BXML$BJ8=q$N(B&markup;$B$N0lIt$G$b!$J8;z%G!<%?$N0lIt$G$b$J$$!#(BXML&processor;$B$O!$(BUTF-8$B$GId9f2=$7$?J8=q$H(BUTF-16$B$GId9f2=$7$?J8=q$H$N6hJL$r9T$&$?$a$K!$$3$NJ8;z$r;HMQ2DG=$G$J$1$l$P$J$i$J$$!#(B</p> |
|
2201 <p>XML&processor;$B$O!$(BUTF-8$B5Z$S(BUTF-16$B$GId9f2=$7$?<BBN$@$1$rFI$`$3$H$rI,?\$H$9$k$,!$B>$NId9f2=$r@$3&$G$OMQ$$$F$*$j!$$=$l$i$NId9f2=$rMQ$$$k<BBN$r(BXML&processor;$B$,=hM}$G$-$k$3$H$,K>$^$7$$!#(BUTF-8$BKt$O(BUTF-16$B0J30$NId9f2=J}<0$rMQ$$$F3JG<$9$k(B&parsed-entity;$B$O!$Id9f2=@k8@$r4^$`(B<titleref href='TextDecl'>$B%F%-%9%H@k8@(B</titleref>$B$G;O$a$J$1$l$P$J$i$J$$!#(B |
|
2202 <scrap lang='ebnf'> |
|
2203 <head>$BId9f2=@k8@(B</head> |
|
2204 <prod id='NT-EncodingDecl'><lhs>EncodingDecl</lhs> |
|
2205 <rhs><nt def="NT-S">S</nt> |
|
2206 'encoding' <nt def='NT-Eq'>Eq</nt> |
|
2207 '"' <nt def='NT-EncName'>EncName</nt> '"' | "'" |
|
2208 <nt def='NT-EncName'>EncName</nt> "'" |
|
2209 </rhs> |
|
2210 </prod> |
|
2211 <prod id='NT-EncName'><lhs>EncName</lhs> |
|
2212 <rhs>[A-Za-z] ([A-Za-z0-9._] | '-')*</rhs> |
|
2213 <com>$B%i%F%sJ8;z$@$1$r4^$`Id9f2=L>(B</com> |
|
2214 </prod> |
|
2215 </scrap> |
|
2216 <termref def='dt-docent'>$BJ8=q<BBN(B</termref>$B$G$O!$Id9f2=@k8@$O!$(B<termref def="dt-xmldecl">XML$B@k8@(B</termref>$B$N0lIt$H$9$k!#(B<nt def="NT-EncName">EncName</nt>$B$O!$;HMQ$9$kId9f2=J}<0$NL>A0$H$9$k!#(B |
|
2217 </p> |
|
2218 <!-- FINAL EDIT: check name of IANA and charset names --> |
|
2219 <p>$BId9f2=@k8@$G$O!$CM(B<code>UTF-8</code>$B!$(B<code>UTF-16</code>$B!$(B<code>ISO-10646-UCS-2</code>$B5Z$S(B<code>ISO-10646-UCS-4</code>$B$O!$(BUnicode$B5Z$S(BISO/IEC 10646$B$N3F<oId9f2=$N$?$a$KMQ$$$k!#CM(B<code>ISO-8859-1</code>$B$+$i(B<code>ISO-8859-9</code>$B$^$G$O!$(BISO 8859$B$NBP1~$9$k%Q!<%H$N$?$a$KMQ$$$k!#CM(B<code>ISO-2022-JP</code>$B!$(B<code>Shift_JIS</code>$B5Z$S(B<code>EUC-JP</code>$B$O!$(BJIS X-0208-1997$B$N3F<oId9f2=$N$?$a$KMQ$$$k!#(BXML&processor;$B$O!$$=$l0J30$NId9f2=J}<0$rG'<1$7$F$b$h$$!#(BInternet Assigned Numbers Authority (IANA)$B$K!$(B(<emph>charset</emph>s$B$H$7$F(B)$BEPO?$5$l$?J8;zId9f2=J}<0$K$D$$$F$O!$$3$l$i0J30$K$D$$$F$b!$EPO?$5$l$?L>A0$G;2>H$9$k$3$H$,K>$^$7$$!#$3$l$i$NEPO?$5$l$?L>A0$O!$BgJ8;z!&>.J8;z$N6hJL$r$;$:$KDj5A$5$l$F$$$k$N$G!$$3$l$i$KBP$9$kHf3S$r;n$_$k(B&processor;$B$O!$BgJ8;z!&>.J8;z$N6hJL$r$7$J$$J}K!$r$H$k$N$,K>$^$7$$$3$H$KCm0U$9$k!#(B</p> |
|
2220 <p>XML$B=hM}7O$KEO$5$l$?<BBN$,!$Id9f2=@k8@$r4^$`$K$b$+$+$o$i$:!$@k8@$G<($7$?$b$N0J30$NJ}<0$GId9f2=$5$l$F$$$?$j!$Id9f2=@k8@$,!$30It<BBN$N:G=i0J30$N0LCV$K=P8=$9$l$P!$(B<termref def="dt-error">&error;</termref>$B$H$9$k!#(B |
|
2221 </p> |
|
2222 <p>&byte-order-mark;$B$G$bId9f2=@k8@$G$b;O$^$i$J$$<BBN$O!$(BUTF-8$BId9f2=$G$J$1$l$P$J$i$J$$!#(B</p> |
|
2223 |
|
2224 <p><!-- XML processors should make an effort to use all available |
|
2225 information, internal and external, to aid in detecting an entity's correct |
|
2226 encoding. Such information may include, but is not limited to: |
|
2227 <ulist><item><p>An HTTP header</p></item> |
|
2228 <item><p>A MIME header obtained other than through HTTP</p></item> |
|
2229 <item><p>Metadata provided by the native OS file system or by document |
|
2230 management software</p></item> |
|
2231 <item><p>The bit patterns at the front of an entity, which may |
|
2232 be analyzed to determine if |
|
2233 the application of any known encoding yields a valid encoding |
|
2234 declaration. See <titleref href='sec-guessing'>the appendix on |
|
2235 autodetection of character sets</titleref> |
|
2236 for a fuller description.</p></item></ulist> --> |
|
2237 $B=hM}$G$-$J$$Id9f2=$r$b$C$?<BBN$r(BXML&processor;$B$,H/8+$7$?$H$-$O!$(B&application;$B$K$=$N;v<B$rDLCN$7!$(B<termref def='dt-fatal'>&fatal-error;</termref>$B$H$7$F!$=hM}$r=*N;$7$J$1$l$P$J$i$J$$!#(B |
|
2238 <!-- |
|
2239 inform the application of this fact and |
|
2240 may |
|
2241 allow the application to |
|
2242 request either that the entity should be treated as an <termref |
|
2243 def="dt-unparsed">unparsed entity</termref>, or that processing should |
|
2244 cease.--> |
|
2245 </p> |
|
2246 <p>$BId9f2=@k8@$NNc$r!$<!$K<($9!#(B |
|
2247 <eg><?xml encoding='UTF-8'?> |
|
2248 <?xml encoding='EUC-JP'?></eg></p> |
|
2249 </div3> |
|
2250 </div2> |
|
2251 <div2 id='entproc'> |
|
2252 <head>XML&processor;$B$K$h$k<BBN5Z$S;2>H$N07$$(B</head> |
|
2253 <p>$B<!$NI=$O!$J8;z;2>H!$<BBN;2>H5Z$S(B&unparsed-entity;$B$N8F=P$7$,8=$l$kJ8L.5Z$S3F!9$N>l9g$K$*$1$k(B<termref def='dt-xml-proc'>XML&processor;</termref>$B$KMW5a$9$k?6Iq$$$rMWLs$9$k!#0lHV:8$NNs$N%i%Y%k$O!$G'<1$NJ8L.$r<($9!#(B |
|
2254 <glist> |
|
2255 <gitem><label>$BFbMF$K$*$1$k;2>H(B</label> |
|
2256 <def><p>$BMWAG$N(B<termref def='dt-stag'>$B3+;O%?%0(B</termref>$B5Z$S(B<termref def='dt-etag'>$B=*N;%?%0(B</termref>$B$N4V$NG$0U$N>l=j$G$N;2>H!#Hs=*C<5-9f(B<nt def='NT-content'>content</nt>$B$KBP1~$9$k!#(B</p></def> |
|
2257 </gitem> |
|
2258 <gitem> |
|
2259 <label>$BB0@-CM$K$*$1$k;2>H(B</label> |
|
2260 <def><p><termref def='dt-stag'>$B3+;O%?%0(B</termref>$B$NB0@-$NCM!$Kt$O(B<termref def='dt-attdecl'>$BB0@-@k8@(B</termref>$B$K$*$1$k(B&default-value;$B$N$$$:$l$+$G$N;2>H!#Hs=*C<5-9f(B<nt def='NT-AttValue'>AttValue</nt>$B$KBP1~$9$k!#(B</p></def></gitem> |
|
2261 <gitem> |
|
2262 <label>$BB0@-CM$H$7$F=P8=(B</label> |
|
2263 <def><p>$B;2>H$G$O$J$/!$(B<nt def='NT-Name'>Name</nt>$B$H$7$F=P8=!#(B<code>ENTITY</code>$B7?$H$7$F@k8@$7$?B0@-$NCM!$Kt$O(B<code>ENTITIES</code>$B7?$H$7$F@k8@$7$?B0@-$NCM$K$*$1$k(B&space;$B$G6h@Z$k(B&token;$B$N0l$D$H$7$F=P8=$9$k!#(B</p> |
|
2264 </def></gitem> |
|
2265 <gitem><label>$B<BBNCM$K$*$1$k;2>H(B</label> |
|
2266 <def><p>$B<BBN$N@k8@$K$*$1$k!$%Q%i%a%?Kt$OFbIt<BBN$N(B<termref def='dt-litentval'>&literal;$B<BBNCM(B</termref>$BFb$N;2>H!#Hs=*C<5-9f(B<nt def='NT-EntityValue'>EntityValue</nt>$B$KBP1~$9$k!#(B</p></def></gitem> |
|
2267 <gitem><label>DTD$B$K$*$1$k;2>H(B</label> |
|
2268 <def><p><termref def='dt-doctype'>DTD</termref>$B$NFbIt(B⊂$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> |
|
2269 </gitem> |
|
2270 </glist></p> |
|
2271 <!-- border value changed by bosak --> |
|
2272 <htable border='1' cellpadding='7' align='center'> |
|
2273 <!-- tbody wrapper added by bosak --> |
|
2274 <htbody> |
|
2275 <tr><td bgcolor='&cellback;' rowspan='2' colspan='1'></td> |
|
2276 <td bgcolor='&cellback;' align='center' valign='bottom' colspan='4'>$B<BBN$N7?(B</td> |
|
2277 <td bgcolor='&cellback;' rowspan='2' align='center'>$BJ8;z(B</td> |
|
2278 </tr> |
|
2279 <tr align='center' valign='bottom'> |
|
2280 <td bgcolor='&cellback;'>$B%Q%i%a%?(B</td> |
|
2281 <td bgcolor='&cellback;'>$BFbIt(B&newline;$B0lHL(B</td> |
|
2282 <td bgcolor='&cellback;'>$B30It(B&newline;&parsed-entity;&newline;$B0lHL(B</td> |
|
2283 <td bgcolor='&cellback;'>&unparsed-entity;</td> |
|
2284 </tr> |
|
2285 <tr align='center' valign='middle'> |
|
2286 <!--<td bgcolor='&cellback;' rowspan='4'>Recognition |
|
2287 Context</td>--> |
|
2288 <td bgcolor='&cellback;' align='right'>$BFbMF$G$N(B&newline;$B;2>H(B</td> |
|
2289 <td bgcolor='&cellback;'><titleref href='not-recognized'>$BG'<1(B&newline;$B$7$J$$(B</titleref></td> |
|
2290 <td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td> |
|
2291 <td bgcolor='&cellback;'><titleref href='include-if-valid'>$B8!>Z$N$?$a$K<h9~$_(B</titleref></td> |
|
2292 <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td> |
|
2293 <td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td> |
|
2294 </tr> |
|
2295 <tr align='center' valign='middle'> |
|
2296 <td bgcolor='&cellback;' align='right'>$BB0@-CM$G$N(B&newline;$B;2>H(B</td> |
|
2297 <td bgcolor='&cellback;'><titleref href='not-recognized'>$BG'<1(B&newline;$B$7$J$$(B</titleref></td> |
|
2298 <td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td> |
|
2299 <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td> |
|
2300 <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td> |
|
2301 <td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td> |
|
2302 </tr> |
|
2303 <tr align='center' valign='middle'> |
|
2304 <td bgcolor='&cellback;' align='right'>$BB0@-CM$H$7$F(B&newline;$B=P8=(B</td> |
|
2305 <td bgcolor='&cellback;'><titleref href='not-recognized'>$BG'<1(B&newline;$B$7$J$$(B</titleref></td> |
|
2306 <td bgcolor='&cellback;'><titleref href='not-recognized'>$B6X;_(B</titleref></td> |
|
2307 <td bgcolor='&cellback;'><titleref href='not-recognized'>$B6X;_(B</titleref></td> |
|
2308 <td bgcolor='&cellback;'><titleref href='notify'>$BDLCN(B</titleref></td> |
|
2309 <td bgcolor='&cellback;'><titleref href='not recognized'>$BG'<1(B&newline;$B$7$J$$(B</titleref></td> |
|
2310 </tr> |
|
2311 <tr align='center' valign='middle'> |
|
2312 <td bgcolor='&cellback;' align='right'>$B<BBNCM$G$N(B&newline;$B;2>H(B</td> |
|
2313 <td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td> |
|
2314 <td bgcolor='&cellback;'><titleref href='bypass'>&bypass;</titleref></td> |
|
2315 <td bgcolor='&cellback;'><titleref href='bypass'>&bypass;</titleref></td> |
|
2316 <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td> |
|
2317 <td bgcolor='&cellback;'><titleref href='included'>$B<h9~$_(B</titleref></td> |
|
2318 </tr> |
|
2319 <tr align='center' valign='middle'> |
|
2320 <td bgcolor='&cellback;' align='right'>DTD$B$G$N(B&newline;$B;2>H(B</td> |
|
2321 <td bgcolor='&cellback;'><titleref href='as-PE'>PE$B$H$7$F(B&newline;$B<h9~$_(B</titleref></td> |
|
2322 <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td> |
|
2323 <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td> |
|
2324 <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td> |
|
2325 <td bgcolor='&cellback;'><titleref href='forbidden'>$B6X;_(B</titleref></td> |
|
2326 </tr> |
|
2327 </htbody> |
|
2328 </htable> |
|
2329 <div3 id='not-recognized'> |
|
2330 <head>$B!HG'<1$7$J$$!I(B</head> |
|
2331 <p>DTD$B$N30$G$O!$(B<code>%</code>$BJ8;z$O!$$$$+$J$kFCDj$N0UL#$b!$$b$?$J$$!#$7$?$,$C$F!$(BDTD$B$G$O%Q%i%a%?<BBN;2>H$H$7$FG'<1$9$k$b$N$G$"$C$F$b!$(B<nt def='NT-content'>content</nt>$BFb$G$O(B&markup;$B$H$7$F$OG'<1$7$J$$!#F1MM$K!$E,@Z$K@k8@$7$?B0@-$NCM$NCf$K8=$l$k>l9g$r=|$-!$(B&unparsed-entity;$B$NL>A0$O!$G'<1$7$J$$!#(B |
|
2332 </p> |
|
2333 </div3> |
|
2334 <div3 id='included'> |
|
2335 <head>$B!H<h9~$_!I(B</head> |
|
2336 <p><termdef id="dt-include" term="Include">$B<BBN$O!$$=$N(B<termref def='dt-repltext'>&replacement-text;</termref>$B$r<h$j=P$7!$=hM}$9$k$H!$;2>H<+BN$NBe$o$j$K!$;2>H$,$"$C$?0LCV$G!$J8=q$N0lIt$H$7$F4^$^$l$k$+$N$h$&$K(B<term>$B<h$j9~$^$l$k(B</term>$B!#(B&replacement-text;$B$O!$(B<termref def='dt-chardata'>$BJ8;z%G!<%?(B</termref>$B5Z$S(B($B%Q%i%a%?<BBN$r=|$/!#(B)<termref def="dt-markup">&markup;</termref>$B$N$$$:$l$r4^$s$G$b$h$/!$$3$l$i$O!$DL>o$NJ}K!$GG'<1$5$l$J$1$l$P$J$i$J$$!#$?$@$7!$(B&markup;$B$N6h@Z$j;R$r(B&escape;$B$9$k$?$a$KMQ$$$k<BBN(B(&magicents;)$B$N(B&replacement-text;$B$O!$>o$K%G!<%?$H$7$F07$&(B(&string;"<code>AT&amp;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 |
|
2337 </termdef></p> |
|
2338 </div3> |
|
2339 <div3 id='include-if-valid'> |
|
2340 <head>$B!H8!>Z$N$?$a$K<h9~$_!I(B</head> |
|
2341 <p>$BJ8=q$N(B&validity;$B$r(B<termref def="dt-valid">$B8!>Z(B</termref>$B$9$k$K$O!$(BXML&processor;$B$,(B&parsed-entity;$B$X$N;2>H$rG'<1$7$?$H$-!$$=$N(B&replacement-text;$B$r(B<termref def="dt-include">$B<h$j9~$^(B</termref>$B$J$1$l$P$J$i$J$$!#<BBN$,30It<BBN$G$"$C$F!$(BXML$BJ8=q$N(B&validity;$B$r8!>Z$7$J$1$l$P!$<BBN$N(B&replacement-text;$B$r<h$j9~$s$G$b(B<termref def="dt-may">$B$h$$(B</termref>$B$,!$$=$&$7$J$/$H$b$h$$!#(B</p> |
|
2342 <p>$B$3$N<h7h$a$O!$(BSGML$B5Z$S(BXML$B$N<BBN$N5!9=$,Ds6!$9$k<+F0<h9~$_5!G=$,!$J8=q:n@.;~$N%b%8%e!<%k2=$r<g$JL\E*$H$7$F@_7W$5$l$F$*$j!$$=$NB>$N(B&application;($BFC$K!$J8=q$N%V%i%&%:(B)$B$K$O!$I,$:$7$bE,@Z$G$O$J$$!$$H$$$&G'<1$K$h$k!#Nc$($P!$%V%i%&%6$O30It(B&parsed-entity;$B$X$N;2>H$r8+$D$1$k$H!$$=$N<BBN$,B8:_$9$k$H$$$&I=<($@$1$r9T$$!$I=<($rMW5a$5$l$?$H$-$K$@$1!$FbMF$r<h$j=P$9$+$b$7$l$J$$!#(B |
|
2343 </p> |
|
2344 </div3> |
|
2345 <div3 id='forbidden'> |
|
2346 <head>$B!H6X;_!I(B</head> |
|
2347 <p>$B<!$O6X;_$5$l$F$*$j!$(B<termref def='dt-fatal'>&fatal-error;</termref>$B$H$9$k!#(B |
|
2348 <ulist> |
|
2349 <item><p>a) <termref def='dt-unparsed'>&unparsed-entity;</termref>$B$X$N;2>H$N=P8=!#(B |
|
2350 </p></item> |
|
2351 <item><p>b) DTD$B$N(B<nt def='NT-EntityValue'>EntityValue</nt>$BKt$O(B<nt def="NT-AttValue">AttValue</nt>$B0J30$NItJ,$K$*$1$k!$J8;z;2>HKt$O0lHL<BBN$X$N;2>H$N=P8=!#(B</p></item> |
|
2352 <item><p>c) $BB0@-CMFb$N30It<BBN$X$N;2>H!#(B</p> |
|
2353 </item> |
|
2354 </ulist> |
|
2355 </p> |
|
2356 </div3> |
|
2357 <div3 id='notify'> |
|
2358 <head>$B!HDLCN!I(B</head> |
|
2359 <p><termref def='dt-unparsed'>&unparsed-entity;</termref>$B$NL>A0$,!$(B<kw>ENTITY</kw>$BKt$O(B<kw>ENTITIES</kw>$B$NB0@-$NCM$K$*$$$F(B&token;$B$H$7$F8=$l$?$H$-!$(B&processor;$B$O!$(B&application;$B$KBP$7$F!$4XO"IU$1$i$l$?(B<termref def="dt-notation">$B5-K!(B</termref>$BL>!$5-K!$KBP$9$k(B<termref def='dt-sysid'>$B%7%9%F%`(B</termref>&identifier;$B5Z$S(B($BB8:_$9$l$P(B)<termref def='dt-pubid'>$B8x3+(B</termref>&identifier;$B$rDLCN$7$J$1$l$P$J$i$J$$!#(B</p> |
|
2360 </div3> |
|
2361 <div3 id='bypass'> |
|
2362 <head>$B!H(B&bypass;$B!I(B</head> |
|
2363 <p>$B0lHL<BBN;2>H$,!$<BBN@k8@$K$*$1$k(B<nt def='NT-EntityValue'>EntityValue</nt>$BFb$K8=$l$k$H$-!$$=$l$OL5;k$5$l!$$=$N$^$^;D$k!#(B</p> |
|
2364 </div3> |
|
2365 <div3 id='as-PE'> |
|
2366 <head>$B!H(BPE$B$H$7$F<h9~$_!I(B</head> |
|
2367 <p>$B30It(B&parsed-entity;$B$N>l9g$HF1MM$K!$%Q%i%a%?<BBN$O!$(B&validity;$B$r(B<titleref href='include-if-valid'>$B8!>Z$9$k$H$-$@$1<h$j9~$^$l$k(B</titleref>$BI,MW$,$"$k!#%Q%i%a%?<BBN;2>H$r(BDTD$BFb$KG'<1$7$F<h$j9~$`$H$-!$$=$N(B<termref def='dt-repltext'>&replacement-text;</termref>$B$O!$$=$NA08e$K0l$D$N(B&space-character;(#x20)$B$NIU2C$K$h$C$F0z$-?-$P$5$l$k!#$3$N0U?^$O!$%Q%i%a%?<BBN$N(B&replacement-text;$B$,!$(BDTD$BFb$N$$$/$D$+$NJ8K!E*(B&token;$B$r40A4$K4^$`$H!$@)Ls$9$k$3$H$K$"$k!#(B |
|
2368 </p> |
|
2369 </div3> |
|
2370 <!-- |
|
2371 <div3 id='gen-char-entproc'> |
|
2372 <head>General and Character Entity Processing</head> |
|
2373 <p>General-entity and character references are recognized in three |
|
2374 contexts: wherever the nonterminal <nt def='NT-content'>content</nt> may |
|
2375 appear, at any point within the nonterminal |
|
2376 <nt def='NT-AttValue'>AttValue</nt>, |
|
2377 and within the |
|
2378 <termref def='dt-litentval'>literal entity value</termref> |
|
2379 (<nt def='NT-EntityValue'>EntityValue</nt>) |
|
2380 of an internal entity declaration. |
|
2381 This section discusses the first two cases; the third |
|
2382 is discussed <titleref href='intern-replacement'>below</titleref>. |
|
2383 When an <termref def="dt-xml-proc">XML processor</termref> encounters |
|
2384 such a reference, or the name of an unparsed entity as the value |
|
2385 of an <kw>ENTITY</kw> or <kw>ENTITIES</kw> attribute, then: |
|
2386 <olist> |
|
2387 |
|
2388 <item><p>In all cases, the XML processor may |
|
2389 inform the application of the reference's occurrence and its identifier |
|
2390 (for an entity reference, the name; for a character |
|
2391 reference, |
|
2392 the character number in decimal, hexadecimal, or binary form).</p></item> |
|
2393 |
|
2394 <item><p>For both character and entity references, the processor must |
|
2395 remove the reference itself from the <termref def="dt-text">text</termref> data |
|
2396 before passing the data to the application. |
|
2397 </p></item> |
|
2398 |
|
2399 <item><p>For character references, the processor must |
|
2400 pass the character indicated |
|
2401 to the application in |
|
2402 place of the reference. |
|
2403 </p></item> |
|
2404 |
|
2405 <item><p>For an external entity, the processor must inform the |
|
2406 application of the entity's <termref def="dt-sysid">system |
|
2407 identifier</termref>, and <termref def="dt-pubid">public identifier</termref> |
|
2408 if any. |
|
2409 All strings |
|
2410 of white space in the public identifier must be normalized to single space characters (#x20), |
|
2411 and leading and trailing white space must be removed.</p></item> |
|
2412 |
|
2413 <item><p>If the external entity is binary, the processor must inform the |
|
2414 application of the associated <termref def="dt-notation">notation</termref> |
|
2415 name, and the notation's associated <termref def='dt-sysid'>system</termref> |
|
2416 and <termref def='dt-pubid'>public</termref> (if any) |
|
2417 identifiers.</p></item> |
|
2418 |
|
2419 <item><p><termdef id="dt-include" term="Include">For an internal |
|
2420 (parsed) entity, the processor must <term>include</term> the |
|
2421 entity; that is, retrieve its replacement text |
|
2422 and process it as a part of the document |
|
2423 (i.e. as <nt def="NT-content">content</nt> or <nt |
|
2424 def="NT-AttValue">AttValue</nt>, whichever was being processed when |
|
2425 the reference was recognized), passing the result to the application |
|
2426 in place of the reference. The replacement text may contain both |
|
2427 <termref def='dt-chardata'>character data</termref> |
|
2428 and <termref def="dt-markup">markup</termref>, which must be recognized in |
|
2429 the usual way, except that the replacement text of entities used to escape |
|
2430 markup delimiters (the entities &magicents;) is always treated as |
|
2431 data. (The string "<code>AT&amp;T;</code>" expands to |
|
2432 "<code>AT&T;</code>" since the ampersand replacing "<code>&amp;</code>" |
|
2433 is not recognized |
|
2434 as an entity-reference delimiter.) </termdef></p> |
|
2435 <p>Since the entity may contain other entity references, |
|
2436 an XML processor may have to repeat the inclusion process recursively.</p> |
|
2437 </item> |
|
2438 <item><p>If the entity is an external parsed entity, then in order to |
|
2439 <termref def="dt-valid">validate</termref> the XML document, the processor must |
|
2440 <termref def="dt-include">include</termref> the content of the |
|
2441 entity.</p></item> |
|
2442 |
|
2443 <item><p>If the entity is an external parsed entity, and the processor is not |
|
2444 attempting to <termref def="dt-valid">validate</termref> the XML document, the |
|
2445 processor <termref def="dt-may">may</termref>, but need not, <termref |
|
2446 def="dt-include">include</termref> the entity's content.</p> |
|
2447 <p>This rule is based on the recognition that the automatic inclusion |
|
2448 provided by the SGML and XML entity mechanism, primarily designed |
|
2449 to support modularity in authoring, is not necessarily |
|
2450 appropriate for other applications, in particular document browsing. |
|
2451 Browsers, for example, when encountering an external parsed entity reference, |
|
2452 might choose to provide a visual indication of the entity's |
|
2453 presence and retrieve it for display only on demand. |
|
2454 </p></item> |
|
2455 </olist> |
|
2456 </p> |
|
2457 <p><termdef id="dt-escape" term="escape">Entity and character |
|
2458 references can both be used to <term>escape</term> the left angle bracket, |
|
2459 ampersand, and other delimiters. A set of general entities |
|
2460 (&magicents;) is specified for this purpose. |
|
2461 Numeric character references may also be used; they are |
|
2462 expanded immediately when recognized, and must be treated as |
|
2463 character data, so the numeric character references |
|
2464 "<code>&#60;</code>" and "<code>&#38;</code>" may be used to |
|
2465 escape <code><</code> and <code>&</code> when they occur |
|
2466 in character data.</termdef></p> |
|
2467 </div3> |
|
2468 <div3 id='PE-proc'> |
|
2469 <head>Parameter Entity Processing</head> |
|
2470 <p>Parameter-entity references are only recognized in the |
|
2471 <termref def='dt-doctype'>DTD</termref>. |
|
2472 Their processing, when they appear |
|
2473 within the |
|
2474 <termref def='dt-litentval'>literal entity value</termref> |
|
2475 (<nt def='NT-EntityValue'>EntityValue</nt>) |
|
2476 of an internal entity declaration, |
|
2477 is discussed <titleref href='intern-replacement'>below</titleref>. |
|
2478 They have these intended uses: |
|
2479 <olist> |
|
2480 <item><p>as a replacement for one or more complete markup declarations</p></item> |
|
2481 <item><p>as a replacement for one or more complete "groups" in |
|
2482 element declarations</p></item> |
|
2483 <item><p>as a replacement for one or more complete "tokens" in |
|
2484 markup declarations</p></item> |
|
2485 </olist> |
|
2486 </p> |
|
2487 <p>The constraints requiring that PE replacement texts be properly nested |
|
2488 with <titleref href='vc-PEinMarkupDecl'>markup declarations</titleref> |
|
2489 and <titleref href='vc-PEinGroup'>content groups</titleref> |
|
2490 govern the first two usages.</p> |
|
2491 <p>To support the third intended usage, |
|
2492 when an XML processor encounters a parameter-entity reference |
|
2493 (outside of the |
|
2494 <termref def='dt-litentval'>literal entity value</termref> in an entity |
|
2495 declaration), |
|
2496 it must <termref def="dt-include">include</termref> |
|
2497 the named entity, but first expand its |
|
2498 <termref def='dt-repltext'>replacement text</termref> by attaching |
|
2499 space (#x20) characters to its beginning and the end, before |
|
2500 processing it.</p> |
|
2501 <p>The DTD text must match the relevant |
|
2502 rules of this specification's grammar after all parameter-entity |
|
2503 references have been expanded. |
|
2504 <!-In addition, parameter entities referred to in specific |
|
2505 contexts are required to satisfy certain constraints in their |
|
2506 replacement text; for example, a parameter entity referred to within |
|
2507 the internal DTD subset must match the rule for <nt |
|
2508 def="NT-markupdecl">markupdecl</nt>. -> |
|
2509 </p> |
|
2510 </div3> |
|
2511 --> |
|
2512 </div2> |
|
2513 <div2 id='intern-replacement'> |
|
2514 <head>$BFbIt<BBN(B&replacement-text;$B$N9=C[(B</head> |
|
2515 <p>$BFbIt<BBN$N<h07$$$N5,Dj$G!$<BBNCM$rFs$D$N7A<0$K6hJL$9$k$3$H$OLr$KN)$D!#(B<termdef id="dt-litentval" term='Literal Entity Value'><term>&literal;$B<BBNCM(B</term>$B$O!$<BBN@k8@Fb$K<B:]$KB8:_$9$k!$0zMQId$G0O$`(B&string;$B$H$9$k!#$3$l$O!$Hs=*C<5-9f(B<nt def='NT-EntityValue'>EntityValue</nt>$B$K(B&match;$B$9$k!#(B</termdef><termdef id='dt-repltext' term='Replacement Text'><term>&replacement-text;</term>$B$O!$J8;z;2>H5Z$S(B¶meter;$B<BBN;2>H$NCV49$(8e$K$*$1$k!$<BBN$NFbMF$H$9$k!#(B</termdef></p> |
|
2516 |
|
2517 <p>$BFbIt<BBN@k8@Fb$GM?$($k(B&literal;$B<BBNCM(B<!-- replacement text -->(<nt def='NT-EntityValue'>EntityValue</nt>)$B$O!$J8;z;2>H!$(B¶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 |
|
2518 <!-- in the replacement text that is to be included. --> |
|
2519 $BNc$($P!$<!$N@k8@$rM?$($?$H$9$k!#(B |
|
2520 |
|
2521 <eg><![CDATA[<!ENTITY % pub "Éditions Gallimard" > |
|
2522 <!ENTITY rights "All rights reserved" > |
|
2523 <!ENTITY book "La Peste: Albert Camus, |
|
2524 © 1947 %pub;. &rights;" >]]></eg> |
|
2525 $B<BBN$N(B&replacement-text;"<code>book</code>"$B$O!$<!$N$H$*$j$H$J$k!#(B |
|
2526 <eg>La Peste: Albert Camus, |
|
2527 © 1947 Éditions Gallimard. &rights;</eg> |
|
2528 $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> |
|
2529 <p>$B$3$l$i$NC1=c$J5,B'$O!$J#9gAj8_:nMQ$r$b$D!#(B |
|
2530 <!-- $BF|K\8lLu$K$D$$$F!'(B interaction = $BAj8_:nMQ!J6bK\!K(B--> |
|
2531 $BFq$7$$Nc$K$D$$$F$N>\:Y$O!$(B<titleref href='sec-entexpand'>$B<BBN;2>H$NE83+$NIUO?(B</titleref>$B$r;2>H$N$3$H!#(B |
|
2532 </p> |
|
2533 <!-- Replaced by the above -TB |
|
2534 <p>Implementors of XML processors need to know the rules for |
|
2535 expansion of references in more detail. These rules only come into |
|
2536 play when the replacement text for an internal entity itself contains |
|
2537 other references. |
|
2538 <olist> |
|
2539 <item><p>In the replacement text of an internal entity, parameter-entity |
|
2540 references and character references in the replacement text |
|
2541 are recognized and resolved |
|
2542 when the entity declaration is parsed, |
|
2543 before the replacement text is stored in |
|
2544 the processor's symbol table. |
|
2545 General-entity references in the replacement text are not |
|
2546 resolved when the entity declaration is parsed.</p></item> |
|
2547 <item><p>In the document, when a general-entity reference is |
|
2548 resolved, its replacement text is parsed. Character references |
|
2549 encountered in the replacement text are |
|
2550 resolved immediately; general-entity references encountered in the |
|
2551 replacement text may be resolved or left unresolved, as described |
|
2552 <titleref href="entproc">above</titleref>. |
|
2553 Character and general-entity references must be |
|
2554 contained entirely within the entity's replacement text. |
|
2555 </p></item> |
|
2556 </olist> |
|
2557 </p> |
|
2558 |
|
2559 <p>Simple character references do not suffice to escape delimiters |
|
2560 within the replacement text of an internal entity: they will be |
|
2561 expanded when the entity declaration is parsed, before the replacement |
|
2562 text is stored in the symbol table. When the entity itself is |
|
2563 referred to, the replacement text will be parsed again, and the |
|
2564 delimiters (no longer character references) |
|
2565 will be recognized as delimiters. To escape the |
|
2566 characters &magicents; in an entity replacement text, use |
|
2567 a general-entity reference or a doubly-escaped character reference. |
|
2568 See <titleref href='sec-entexpand'>the appendix on expansion |
|
2569 of entity references</titleref> |
|
2570 for detailed examples.</p> |
|
2571 --> |
|
2572 |
|
2573 |
|
2574 </div2> |
|
2575 <div2 id='sec-predefined-ent'> |
|
2576 <head>$BDj5A:Q$_<BBN(B</head> |
|
2577 <p><termdef id="dt-escape" term="escape"> |
|
2578 $B<BBN;2>H5Z$SJ8;z;2>H$N$$$:$l$b!$(B&left-angle-bracket;$B!$%"%s%P%5%s%I5Z$SB>$N6h@Z$j;R$r(B<term>&escape;</term>$B$9$k$?$a$K;HMQ$G$-$k!#$$$/$D$+$N0lHL<BBN!J(B&magicents;$B!K$r!$$3$NL\E*$N$?$a$K;XDj$9$k!#?tCM$K$h$kJ8;z;2>H$b!$F1MM$NL\E*$N$?$a$K;HMQ$G$-$k!#J8;z;2>H$O!$G'<1$5$l$k$HD>$A$KE83+$5$l!$J8;z%G!<%?$H$7$F07$o$l$k$N$G!$?tCM$K$h$kJ8;z;2>H(B"<code>&#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> |
|
2579 <p>$B$9$Y$F$N(BXML&processor;$B$O!$@k8@$5$l$F$$$k$+$I$&$+$K4X78$J$/!$$3$l$i$N<BBN$rG'<1$7$J$/$F$O$J$i$J$$!#(B<termref def='dt-interop'>$BAj8_1?MQ@-$N$?$a(B</termref>$B!$(B&valid;$B$J(BXML$BJ8=q$O!$$3$l$i$N<BBN$r;HMQ$9$kA0$K!$B>$N<BBN$HF1MM$K!$@k8@$9$k$3$H$,K>$^$7$$!#<BBN$r@k8@$9$k>l9g$O!$(B&replacement-text;$B$r(B&escape;$B$9$k0lJ8;z$H$9$kFbIt<BBN$H$7$F!$<!$N$H$*$j$K@k8@$7$J$1$l$P$J$i$J$$!#(B |
|
2580 <eg><![CDATA[<!ENTITY lt "&#60;"> |
|
2581 <!ENTITY gt ">"> |
|
2582 <!ENTITY amp "&#38;"> |
|
2583 <!ENTITY apos "'"> |
|
2584 <!ENTITY quot """> |
|
2585 ]]></eg> |
|
2586 "<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 |
|
2587 </p> |
|
2588 </div2> |
|
2589 |
|
2590 |
|
2591 <div2 id='Notations'> |
|
2592 <head>$B5-K!@k8@(B</head> |
|
2593 |
|
2594 |
|
2595 <p> |
|
2596 <termdef id="dt-notation" term="Notation"> |
|
2597 <term>$B5-K!(B</term>$B$O!$(B<termref def="dt-extent">&unparsed-entity;</termref>$B$N7A<0$r(B&identify;$BL>A0$+!$Kt$O(B<termref def="dt-pi">$B=hM}L?Na(B</termref>$B$NBP>]$H$9$k(B&application;$B$r(B&identify;$BL>A0$H$9$k!#(B</termdef></p> |
|
2598 <p><termdef id="dt-notdecl" term="Notation Declaration"> |
|
2599 <term>$B5-K!@k8@(B</term>$B$O!$5-K!$NL>A05Z$S30It(B&identifier;$B$rDs6!$9$k!#$3$NL>A0$O!$<BBN5Z$SB0@-%j%9%H@k8@JB$S$KB0@-;XDj$KMQ$$$k!#30It(B&identifier;$B$O!$M?$($i$l$?5-K!$N%G!<%?$r=hM}$G$-$k%X%k%Q(B&application;$B$r!$(BXML&processor;$BKt$O%/%i%$%"%s%H%"%W%j%1!<%7%g%s$,C5$9$?$a$K!$MxMQ$G$-$k!#(B |
|
2600 <scrap lang='ebnf'> |
|
2601 <head>$B5-K!@k8@(B</head> |
|
2602 <prod id='NT-NotationDecl'><lhs>NotationDecl</lhs> |
|
2603 <rhs>'<!NOTATION' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt> |
|
2604 <nt def='NT-S'>S</nt> |
|
2605 (<nt def='NT-ExternalID'>ExternalID</nt> | |
|
2606 <nt def='NT-PublicID'>PublicID</nt>) |
|
2607 <nt def='NT-S'>S</nt>? '>'</rhs></prod> |
|
2608 <prod id='NT-PublicID'><lhs>PublicID</lhs> |
|
2609 <rhs>'PUBLIC' <nt def='NT-S'>S</nt> |
|
2610 <nt def='NT-PubidLiteral'>PubidLiteral</nt> |
|
2611 </rhs></prod> |
|
2612 </scrap> |
|
2613 </termdef></p> |
|
2614 <p>$B@k8@$7!$B0@-CM!$B0@-Dj5AKt$O<BBN@k8@$G;2>H$9$k$9$Y$F$N5-K!$K$D$$$F!$(BXML&processor;$B$O!$5-K!$NL>A05Z$S30It(B&identifier;$B$r(B&application;$B$KDs6!$7$J$1$l$P$J$i$J$$!#$5$i$K!$30It(B&identifier;$B$r!$(B<termref def="dt-sysid">$B%7%9%F%`(B&identifier;</termref>$B!$%U%!%$%kL>Kt$O$=$NB>$N>pJs$KE83+$7$F$b$h$/!$$3$l$i$rMQ$$$F!$(B&application;$B$O!$$=$N5-K!$N%G!<%?$r=hM}$9$k(B&processor;$B$r5/F0$9$k!#(B($B$7$+$7!$(BXML&processor;$BKt$O(B&application;$B$,F0:n$9$k%7%9%F%`$G$OMxMQ$G$-$J$$5-K!$r!$(BXML$BJ8=q$,@k8@$7;2>H$7$F$b!$$3$l$O!$(B&error;$B$H$O$7$J$$!#!K(B</p> |
|
2615 </div2> |
|
2616 |
|
2617 |
|
2618 <div2 id='sec-doc-entity'> |
|
2619 <head>$BJ8=q<BBN(B</head> |
|
2620 |
|
2621 <p><termdef id="dt-docent" term="Document Entity"><term>$BJ8=q<BBN(B</term>$B$O!$<BBN$N7A@.$9$kLZ9=B$$N(B&root;$B$G$"$C$F!$(B<termref def="dt-xml-proc">XML&processor;</termref>$B$,!$=hM}$r3+;O$9$kCOE@$H$9$k!#(B</termdef>$B$3$N(B&TR-or-Rec;$B$O!$(BXML&processor;$B$,!$J8=q<BBN$NB8:_$9$k>l=j$r$I$N$h$&$K8+$D$1$k$+$O!$5,Dj$7$J$$!#B>$N<BBN$H0[$J$j!$J8=q<BBN$OL>A0$r$b$?$:!$$$$+$J$k<1JL$b$J$7$K(B&processor;$B$X$NF~NO(B&stream;$B$K=P8=$7$F$b$h$$!#(B</p> |
|
2622 </div2> |
|
2623 |
|
2624 |
|
2625 </div1> |
|
2626 <!-- &Conformance; --> |
|
2627 <div1 id='sec-conformance'> |
|
2628 <head>$BE,9g@-(B</head> |
|
2629 |
|
2630 <p>$BE,9g$9$k(B<termref def="dt-xml-proc">XML&processor;</termref>$B$O!$(B&validating;$B$b$N5Z$S(B&non-validating;$B$b$N$N!$Fs$D$KJ,N`$5$l$k!#(B</p> |
|
2631 <p>&validating;$B%7%9%F%`5Z$S(B&non-validating;$B%7%9%F%`$O!$$3$N(B&TR-or-Rec;$B$,5,Dj$9$k(B&well-formed;$B@)Ls$X$N0cH?$rJs9p$7$J$1$l$P$J$i$J$$!#(B</p> |
|
2632 <p><termdef id="dt-validating" term="Validating Processor"><term>&validating;&processor;</term>$B$O!$(B<termref def="dt-doctype">DTD</termref>$BFb$N@k8@$K$h$C$F<($5$l$?!$@)Ls$X$N0cH?$rJs9p$7$J$1$l$P$J$i$J$$!#$5$i$K!$$3$N(B&TR-or-Rec;$B$,5,Dj$9$k(B&validity;$B@)Ls$X$N0cH?$r!$$9$Y$FJs9p$7$J$1$l$P$J$i$J$$!#(B |
|
2633 </termdef> |
|
2634 </p> |
|
2635 </div1> |
|
2636 |
|
2637 <div1 id='sec-notation'> |
|
2638 <head>$B5-K!(B</head> |
|
2639 |
|
2640 <p>XML$B$N7A<0E*$JJ8K!$O!$4JC1$J3HD%(BBackus-Naur Form(EBNF)$B5-K!$K$h$C$FM?$($k!#J8K!$N3F5,B'$O!$<!$N7A<0$G!$5-9f$r0l$DDj5A$9$k!#(B |
|
2641 <eg>symbol ::= expression</eg></p> |
|
2642 <p>$B5-9f$O!$@55,I=8=$GDj5A$9$k$H$-$OBgJ8;z$G;O$a!$$=$&$G$J$1$l$P!$>.J8;z$G;O$a$k!#(B&string;&literal;$B$O!$0zMQId$G0O$`!#(B |
|
2643 <!--* The distinction between symbols which can and cannot be |
|
2644 recognized using simple regular expressions may be used to set the |
|
2645 boundary between an implementation's lexical scanner and its parser, |
|
2646 but this specification neither constrains the placement of that |
|
2647 boundary nor presupposes that all implementations will have one. *--> |
|
2648 </p> |
|
2649 |
|
2650 <p>$B5,B'$N1&B&$N<0Fb$G$O!$0l$DKt$OJ#?t$NJ8;z$+$i$J$k(B&string;$B$H(B&match;$B$9$k$?$a$K!$<!$N<0$r;HMQ$9$k!#(B |
|
2651 <glist> |
|
2652 <gitem> |
|
2653 <label><code>#xN</code></label> |
|
2654 <def><p>$B$3$3$G!$(B<code>N</code>$B$O(B16$B?J$N@0?t$H$9$k!#(BISO/IEC 10646$B$NJ8;z$G$"$C$F!$@55,7A(B(UCS-4)$B$N(B&code-value;$B$rId9f$J$7(B2$B?J?t$H$7$F2r<a$7$?$H$-!$;XDj$7$?CM$HEy$7$$$b$N$H(B&match;$B$9$k!#(B<code>#xN</code>$B7A<0$N@hF,$K%<%m$,$$$/$D$+8=$l$k$+$O!$0UL#$r$b$?$J$$!#(B&code-value;<!-- bit string -->$B$K$*$1$k@hF,$N%<%m$N?t$O!$J8;z$NId9f2=$K$h$C$F7hDj$5$l$k$N$G!$(BXML$B$K$H$C$F$O0UL#$,$J$$!#(B |
|
2655 </p></def> |
|
2656 </gitem> |
|
2657 <gitem> |
|
2658 <label><code>[a-zA-Z]</code>, <code>[#xN-#xN]</code></label> |
|
2659 <def><p>$B;XDj$7$?HO0O$NCM(B($BN>C<$NCM$r4^$`!#!K$r$b$DG$0U$N(B<termref def='dt-character'>$BJ8;z(B</termref>$B$H(B&match;$B$9$k!#(B</p></def> |
|
2660 </gitem> |
|
2661 <gitem> |
|
2662 <label><code>[^a-z]</code>, <code>[^#xN-#xN]</code></label> |
|
2663 <def><p>$B;XDj$7$?HO0O(B<emph>$B30(B</emph>$B$NCM$r$b$DG$0U$N(B<termref def='dt-character'>$BJ8;z(B</termref>$B$H(B&match;$B$9$k!#(B</p></def> |
|
2664 </gitem> |
|
2665 <gitem> |
|
2666 <label><code>[^abc]</code>, <code>[^#xN#xN#xN]</code></label> |
|
2667 <def><p>$B;XDj$7$?J8;z0J30$NCM$r$b$DG$0U$N(B<termref def='dt-character'>$BJ8;z(B</termref>$B$H(B&match;$B$9$k!#(B</p></def> |
|
2668 </gitem> |
|
2669 <gitem> |
|
2670 <label><code>"string"</code></label> |
|
2671 <def><p>&double-quote;$B$G0O$`(B&string;&literal;$B$H(B<termref def="dt-match">&match;$B$7$F$$$k(B</termref>&string;&literal;$B$H(B&match;$B$9$k!#(B</p></def> |
|
2672 </gitem> |
|
2673 <gitem> |
|
2674 <label><code>'string'</code></label> |
|
2675 <def><p>&single-quote;$B$G0O$`(B&string;&literal;$B$H(B<termref def="dt-match">&match;$B$7$F$$$k(B</termref>&string;&literal;$B$H(B&match;$B$9$k!#(B</p></def> |
|
2676 </gitem> |
|
2677 </glist> |
|
2678 $B$3$l$i$N5-9f$O!$<!$N7A<0$NAH9g$;$G;HMQ$9$k!#$3$3$G!$(B<code>A</code>$B5Z$S(B<code>B</code>$B$O!$C1=c$J<0$H$9$k!#(B |
|
2679 <glist> |
|
2680 <gitem> |
|
2681 <label>(<code>expression</code>)</label> |
|
2682 <def><p><code>expression</code>$B$O!$0l$D$N$^$H$^$j$H$7$F07$$!$$3$3$K<($9AH9g$;$G;H$C$F$b$h$$!#(B</p></def> |
|
2683 </gitem> |
|
2684 <gitem> |
|
2685 <label><code>A?</code></label> |
|
2686 <def><p><code>A</code>$BKt$O2?$b$J$7$H(B&match;$B$9$k(B($B%*%W%7%g%s$N(B<code>A</code>)$B!#(B</p></def> |
|
2687 </gitem> |
|
2688 <gitem> |
|
2689 <label><code>A B</code></label> |
|
2690 <def><p><code>A</code>$B$N<!$K(B<code>B</code>$B$,=P8=$9$k$b$N$H(B&match;$B$9$k!#(B |
|
2691 </p></def> |
|
2692 </gitem> |
|
2693 <gitem> |
|
2694 <label><code>A | B</code></label> |
|
2695 <def><p><code>A</code>$BKt$O(B<code>B</code>$B!$$?$@$7!$N>J}$G$O$J$$!$$H(B&match;$B$9$k!#(B |
|
2696 </p></def> |
|
2697 </gitem> |
|
2698 <gitem> |
|
2699 <label><code>A - B</code></label> |
|
2700 <def><p><code>A</code>$B$H(B&match;$B$9$k$,!$(B<code>B</code>$B$H$O(B&match;$B$7$J$$!$G$0U$N(B&string;$B$H(B&match;$B$9$k!#(B</p></def> |
|
2701 </gitem> |
|
2702 <gitem> |
|
2703 <label><code>A+</code></label> |
|
2704 <def><p><code>A</code>$B$N(B1$B2s0J>e$N7+JV$7$H(B&match;$B$9$k!#(B</p></def> |
|
2705 </gitem> |
|
2706 <gitem> |
|
2707 <label><code>A*</code></label> |
|
2708 <def><p><code>A</code>$B$N(B0$B2s0J>e$N7+JV$7$H(B&match;$B$9$k!#(B</p></def> |
|
2709 </gitem> |
|
2710 <!-- DEATH TO %'s |
|
2711 <gitem> |
|
2712 <label><code>%a</code></label> |
|
2713 <def><p>specifies that <emph>in the external DTD subset</emph> a |
|
2714 <termref def='dt-param-entity'>parameter entity</termref> may occur in the |
|
2715 text at the position where <code>a</code> may occur; if so, its |
|
2716 replacement text must match <code>S? a S?</code>. If |
|
2717 the expression <code>a</code> is governed by a suffix operator, then |
|
2718 the suffix operator determines both the maximum number of parameter-entity |
|
2719 references allowed and the number of occurrences of <code>a</code> |
|
2720 in the replacement text of the parameter entities: <code>%a*</code> |
|
2721 means that <code>a</code> must occur zero or more times, and |
|
2722 that some of its occurrences may be replaced by references to |
|
2723 parameter entities whose replacement text must contain zero or |
|
2724 more occurrences of <code>a</code>; it is thus a more compact way |
|
2725 of writing <code>%(a*)*</code>. |
|
2726 Similarly, <code>%a+</code> means that <code>a</code> |
|
2727 must occur one or more times, and may be replaced by |
|
2728 parameter entities with replacement text matching |
|
2729 <code>S? (a S?)+</code>. |
|
2730 The recognition of parameter entities in the internal subset is much more |
|
2731 highly constrained. |
|
2732 </p></def> |
|
2733 </gitem> |
|
2734 --> |
|
2735 </glist> |
|
2736 $B@8@.5,B'Fb$G;HMQ$9$kB>$N5-K!$r!$<!$K<($9!#(B |
|
2737 <glist> |
|
2738 <gitem> |
|
2739 <label><code>/* ... */</code></label> |
|
2740 <def><p>$B%3%a%s%H!#(B</p></def> |
|
2741 </gitem> |
|
2742 <gitem> |
|
2743 <label><code>[ wfc: ... ]</code></label> |
|
2744 <def><p>&well-formed;$B@)Ls!#@8@.5,B'$KIUM?$7$?!$(B<termref def="dt-wellformed">&well-formed;</termref>$B$NJ8=q$K4X$9$k@)Ls$r!$L>A0$K$h$C$F(B&identify;$B!#(B</p></def> |
|
2745 </gitem> |
|
2746 <gitem> |
|
2747 <label><code>[ vc: ... ]</code></label> |
|
2748 <def><p>&validity;$B@)Ls!#@8@.5,B'$KIUM?$7$?!$(B<termref def="dt-valid">&valid;</termref>$B$JJ8=q$K4X$9$k@)Ls$r!$L>A0$K$h$C$F(B&identify;$B!#(B |
|
2749 </p></def> |
|
2750 </gitem> |
|
2751 </glist> |
|
2752 </p></div1> |
|
2753 |
|
2754 </body> |
|
2755 <back> |
|
2756 <!-- &SGML; --> |
|
2757 |
|
2758 <!-- &Biblio; --> |
|
2759 <div1 id='sec-bibliography'> |
|
2760 |
|
2761 <head>$B;29MJ88%(B</head> |
|
2762 <div2 id='sec-existing-stds'> |
|
2763 <head>&normative;$B;29MJ88%(B</head> |
|
2764 <!--* <ulist><item> |
|
2765 <p>Unicode and ISO/IEC 10646. This specification depends on the |
|
2766 international standard ISO/IEC 10646 (with amendments AM 1 through AM 7) |
|
2767 and the Unicode Standard, Version 2.0 <bibref ref='Unicode'/>, |
|
2768 which define the encodings and meanings of |
|
2769 the <termref def="dt-character">characters</termref> which |
|
2770 make up XML <termref def="dt-text">text</termref>. |
|
2771 All the characters in ISO/IEC 10646 are present, at the same code points, |
|
2772 in Unicode.</p></item> |
|
2773 <item><p>XXX XXX defines the syntax and semantics of |
|
2774 Uniform Resource Identifiers, or URIs.</p></item> |
|
2775 <item><p>IETF RFC 1766, with ISO 639 and 3166, |
|
2776 describe the codes that may be used in the |
|
2777 special <titleref href='sec-lang-tag'>xml:lang</titleref> attribute.</p> |
|
2778 </item></ulist> |
|
2779 *--> |
|
2780 |
|
2781 <blist> |
|
2782 |
|
2783 <bibl id='RFC1766' key='IETF RFC 1766'> |
|
2784 IETF (Internet Engineering Task Force). |
|
2785 <emph>RFC 1766: Tags for the Identification of Languages</emph>, |
|
2786 ed. H. Alvestrand. |
|
2787 1995. |
|
2788 </bibl> |
|
2789 |
|
2790 <bibl id='ISO639' key='ISO 639'> |
|
2791 (International Organization for Standardization). |
|
2792 <emph>ISO 8879:1988 (E). |
|
2793 Code for the representation of names of languages.</emph> |
|
2794 [Geneva]: International Organization for |
|
2795 Standardization, 1988.</bibl> |
|
2796 |
|
2797 <bibl id='ISO3166' key='ISO 3166'> |
|
2798 (International Organization for Standardization). |
|
2799 <emph>ISO 3166-1:1997 (E). |
|
2800 Codes for the representation of names of countries and their subdivisions |
|
2801 — Part 1: Country codes</emph> |
|
2802 [Geneva]: International Organization for |
|
2803 Standardization, 1997.</bibl> |
|
2804 |
|
2805 <bibl id='ISO10646' key='ISO/IEC 10646'>ISO |
|
2806 (International Organization for Standardization). |
|
2807 <emph>ISO/IEC 10646-1993 (E). Information technology — Universal |
|
2808 Multiple-Octet Coded Character Set (UCS) — Part 1: |
|
2809 Architecture and Basic Multilingual Plane.</emph> |
|
2810 [Geneva]: International Organization for |
|
2811 Standardization, 1993 (plus amendments AM 1 through AM 7). |
|
2812 </bibl> |
|
2813 |
|
2814 <bibl id='Unicode' key='Unicode'>The Unicode Consortium. |
|
2815 <emph>The Unicode Standard, Version 2.0.</emph> |
|
2816 Reading, Mass.: Addison-Wesley Developers Press, 1996.</bibl> |
|
2817 |
|
2818 </blist> |
|
2819 |
|
2820 </div2> |
|
2821 |
|
2822 <div2><head>$BB>$N;29MJ88%(B</head> |
|
2823 |
|
2824 <blist> |
|
2825 |
|
2826 <bibl id='Aho' key='Aho/Ullman'>Aho, Alfred V., |
|
2827 Ravi Sethi, and Jeffrey D. Ullman. |
|
2828 <emph>Compilers: Principles, Techniques, and Tools</emph>. |
|
2829 Reading: Addison-Wesley, 1986, rpt. corr. 1988.</bibl> |
|
2830 |
|
2831 <bibl id="Berners-Lee" xml-link="simple" key="Berners-Lee et al."> |
|
2832 Berners-Lee, T., R. Fielding, and L. Masinter. |
|
2833 <emph>Uniform Resource Identifiers (URI): Generic Syntax and |
|
2834 Semantics</emph>. |
|
2835 1997. |
|
2836 (Work in progress; see updates to RFC1738.)</bibl> |
|
2837 |
|
2838 <bibl id='ABK' key='Brüggemann-Klein'>Brüggemann-Klein, Anne. |
|
2839 <emph>Regular Expressions into Finite Automata</emph>. |
|
2840 Extended abstract in I. Simon, Hrsg., LATIN 1992, |
|
2841 S. 97-98. Springer-Verlag, Berlin 1992. |
|
2842 Full Version in Theoretical Computer Science 120: 197-213, 1993. |
|
2843 <!-- |
|
2844 Universitat Freiburg, Institut fur Informatik, |
|
2845 Bericht 33, Juli 1991.--> |
|
2846 </bibl> |
|
2847 |
|
2848 <bibl id='ABKDW' key='Brüggemann-Klein and Wood'>Brüggemann-Klein, Anne, |
|
2849 and Derick Wood. |
|
2850 <emph>Deterministic Regular Languages</emph>. |
|
2851 Universität Freiburg, Institut für Informatik, |
|
2852 Bericht 38, Oktober 1991. |
|
2853 </bibl> |
|
2854 |
|
2855 <bibl id="RFC1738" xml-link="simple" key="IETF RFC1738"> |
|
2856 IETF (Internet Engineering Task Force). |
|
2857 <emph>RFC 1738: Uniform Resource Locators (URL)</emph>, |
|
2858 ed. T. Berners-Lee, L. Masinter, M. McCahill. |
|
2859 1994. |
|
2860 </bibl> |
|
2861 |
|
2862 <bibl id="RFC1808" xml-link="simple" key="IETF RFC1808"> |
|
2863 IETF (Internet Engineering Task Force). |
|
2864 <emph>RFC 1808: Relative Uniform Resource Locators</emph>, |
|
2865 ed. R. Fielding. |
|
2866 1995. |
|
2867 </bibl> |
|
2868 |
|
2869 <bibl id="RFC2141" xml-link="simple" key="IETF RFC2141"> |
|
2870 IETF (Internet Engineering Task Force). |
|
2871 <emph>RFC 2141: URN Syntax</emph>, |
|
2872 ed. R. Moats. |
|
2873 1997. |
|
2874 </bibl> |
|
2875 |
|
2876 <bibl id='ISO8879' key='ISO/IEC 8879'>ISO |
|
2877 (International Organization for Standardization). |
|
2878 <emph>ISO/IEC 8879-1986 (E). Information processing — Text and Office |
|
2879 Systems — Standard Generalized Markup Language (SGML).</emph> First |
|
2880 edition — 1986-10-15. [Geneva]: International Organization for |
|
2881 Standardization, 1986. |
|
2882 </bibl> |
|
2883 |
|
2884 |
|
2885 <bibl id='ISO10744' key='ISO/IEC 10744'>ISO |
|
2886 (International Organization for Standardization). |
|
2887 <emph>ISO/IEC 10744-1992 (E). Information technology — |
|
2888 Hypermedia/Time-based Structuring Language (HyTime). |
|
2889 </emph> |
|
2890 [Geneva]: International Organization for |
|
2891 Standardization, 1992. |
|
2892 <emph>Extended Facilities Annexe.</emph> |
|
2893 [Geneva]: International Organization for |
|
2894 Standardization, 1996. |
|
2895 </bibl> |
|
2896 |
|
2897 |
|
2898 |
|
2899 </blist> |
|
2900 </div2> |
|
2901 </div1> |
|
2902 <div1 id='CharClasses'> |
|
2903 <head>$BJ8;z%/%i%9(B</head> |
|
2904 |
|
2905 <p>Unicode$BI8=`$KDj5A$9$k(B&property;$B$K$7$?$,$C$F!$J8;z$O!$(B&base-character;(BaseChar)($B$3$l$i$O!$(B&diacritical-mark;$B$r=|$/%i%F%s%"%k%U%!%Y%C%H$N%"%k%U%!%Y%C%HJ8;z$r4^$`(B)$B!$(B&ideographic;(ideographic)$B5Z$S(B&combining-character;(CombiningChar)($B$3$N%/%i%9$O!$$[$H$s$I$N(B&diacritical-mark;$B$r4^$`(B)$B$K%/%i%9J,$1$9$k!#$3$l$i$N%/%i%9$O!$7k9g$7!$(B&letter;(Letter)$B$N%/%i%9$H$J$k!#(B10$B?J?tCM(B(Digit)$B5Z$S(B&extender;(Extender)$B$b6hJL$9$k!#(B |
|
2906 <scrap lang="ebnf" id="CHARACTERS"> |
|
2907 <head>$BJ8;z(B</head> |
|
2908 <prodgroup pcw3="3" pcw4="15"> |
|
2909 <prod id="NT-Letter"><lhs>Letter</lhs> |
|
2910 <rhs><nt def="NT-BaseChar">BaseChar</nt> |
|
2911 | <nt def="NT-Ideographic">Ideographic</nt></rhs> </prod> |
|
2912 <prod id='NT-BaseChar'><lhs>BaseChar</lhs> |
|
2913 <rhs>[#x0041-#x005A] |
|
2914 | [#x0061-#x007A] |
|
2915 | [#x00C0-#x00D6] |
|
2916 | [#x00D8-#x00F6] |
|
2917 | [#x00F8-#x00FF] |
|
2918 | [#x0100-#x0131] |
|
2919 | [#x0134-#x013E] |
|
2920 | [#x0141-#x0148] |
|
2921 | [#x014A-#x017E] |
|
2922 | [#x0180-#x01C3] |
|
2923 | [#x01CD-#x01F0] |
|
2924 | [#x01F4-#x01F5] |
|
2925 | [#x01FA-#x0217] |
|
2926 | [#x0250-#x02A8] |
|
2927 | [#x02BB-#x02C1] |
|
2928 | #x0386 |
|
2929 | [#x0388-#x038A] |
|
2930 | #x038C |
|
2931 | [#x038E-#x03A1] |
|
2932 | [#x03A3-#x03CE] |
|
2933 | [#x03D0-#x03D6] |
|
2934 | #x03DA |
|
2935 | #x03DC |
|
2936 | #x03DE |
|
2937 | #x03E0 |
|
2938 | [#x03E2-#x03F3] |
|
2939 | [#x0401-#x040C] |
|
2940 | [#x040E-#x044F] |
|
2941 | [#x0451-#x045C] |
|
2942 | [#x045E-#x0481] |
|
2943 | [#x0490-#x04C4] |
|
2944 | [#x04C7-#x04C8] |
|
2945 | [#x04CB-#x04CC] |
|
2946 | [#x04D0-#x04EB] |
|
2947 | [#x04EE-#x04F5] |
|
2948 | [#x04F8-#x04F9] |
|
2949 | [#x0531-#x0556] |
|
2950 | #x0559 |
|
2951 | [#x0561-#x0586] |
|
2952 | [#x05D0-#x05EA] |
|
2953 | [#x05F0-#x05F2] |
|
2954 | [#x0621-#x063A] |
|
2955 | [#x0641-#x064A] |
|
2956 | [#x0671-#x06B7] |
|
2957 | [#x06BA-#x06BE] |
|
2958 | [#x06C0-#x06CE] |
|
2959 | [#x06D0-#x06D3] |
|
2960 | #x06D5 |
|
2961 | [#x06E5-#x06E6] |
|
2962 | [#x0905-#x0939] |
|
2963 | #x093D |
|
2964 | [#x0958-#x0961] |
|
2965 | [#x0985-#x098C] |
|
2966 | [#x098F-#x0990] |
|
2967 | [#x0993-#x09A8] |
|
2968 | [#x09AA-#x09B0] |
|
2969 | #x09B2 |
|
2970 | [#x09B6-#x09B9] |
|
2971 | [#x09DC-#x09DD] |
|
2972 | [#x09DF-#x09E1] |
|
2973 | [#x09F0-#x09F1] |
|
2974 | [#x0A05-#x0A0A] |
|
2975 | [#x0A0F-#x0A10] |
|
2976 | [#x0A13-#x0A28] |
|
2977 | [#x0A2A-#x0A30] |
|
2978 | [#x0A32-#x0A33] |
|
2979 | [#x0A35-#x0A36] |
|
2980 | [#x0A38-#x0A39] |
|
2981 | [#x0A59-#x0A5C] |
|
2982 | #x0A5E |
|
2983 | [#x0A72-#x0A74] |
|
2984 | [#x0A85-#x0A8B] |
|
2985 | #x0A8D |
|
2986 | [#x0A8F-#x0A91] |
|
2987 | [#x0A93-#x0AA8] |
|
2988 | [#x0AAA-#x0AB0] |
|
2989 | [#x0AB2-#x0AB3] |
|
2990 | [#x0AB5-#x0AB9] |
|
2991 | #x0ABD |
|
2992 | #x0AE0 |
|
2993 | [#x0B05-#x0B0C] |
|
2994 | [#x0B0F-#x0B10] |
|
2995 | [#x0B13-#x0B28] |
|
2996 | [#x0B2A-#x0B30] |
|
2997 | [#x0B32-#x0B33] |
|
2998 | [#x0B36-#x0B39] |
|
2999 | #x0B3D |
|
3000 | [#x0B5C-#x0B5D] |
|
3001 | [#x0B5F-#x0B61] |
|
3002 | [#x0B85-#x0B8A] |
|
3003 | [#x0B8E-#x0B90] |
|
3004 | [#x0B92-#x0B95] |
|
3005 | [#x0B99-#x0B9A] |
|
3006 | #x0B9C |
|
3007 | [#x0B9E-#x0B9F] |
|
3008 | [#x0BA3-#x0BA4] |
|
3009 | [#x0BA8-#x0BAA] |
|
3010 | [#x0BAE-#x0BB5] |
|
3011 | [#x0BB7-#x0BB9] |
|
3012 | [#x0C05-#x0C0C] |
|
3013 | [#x0C0E-#x0C10] |
|
3014 | [#x0C12-#x0C28] |
|
3015 | [#x0C2A-#x0C33] |
|
3016 | [#x0C35-#x0C39] |
|
3017 | [#x0C60-#x0C61] |
|
3018 | [#x0C85-#x0C8C] |
|
3019 | [#x0C8E-#x0C90] |
|
3020 | [#x0C92-#x0CA8] |
|
3021 | [#x0CAA-#x0CB3] |
|
3022 | [#x0CB5-#x0CB9] |
|
3023 | #x0CDE |
|
3024 | [#x0CE0-#x0CE1] |
|
3025 | [#x0D05-#x0D0C] |
|
3026 | [#x0D0E-#x0D10] |
|
3027 | [#x0D12-#x0D28] |
|
3028 | [#x0D2A-#x0D39] |
|
3029 | [#x0D60-#x0D61] |
|
3030 | [#x0E01-#x0E2E] |
|
3031 | #x0E30 |
|
3032 | [#x0E32-#x0E33] |
|
3033 | [#x0E40-#x0E45] |
|
3034 | [#x0E81-#x0E82] |
|
3035 | #x0E84 |
|
3036 | [#x0E87-#x0E88] |
|
3037 | #x0E8A |
|
3038 | #x0E8D |
|
3039 | [#x0E94-#x0E97] |
|
3040 | [#x0E99-#x0E9F] |
|
3041 | [#x0EA1-#x0EA3] |
|
3042 | #x0EA5 |
|
3043 | #x0EA7 |
|
3044 | [#x0EAA-#x0EAB] |
|
3045 | [#x0EAD-#x0EAE] |
|
3046 | #x0EB0 |
|
3047 | [#x0EB2-#x0EB3] |
|
3048 | #x0EBD |
|
3049 | [#x0EC0-#x0EC4] |
|
3050 | [#x0F40-#x0F47] |
|
3051 | [#x0F49-#x0F69] |
|
3052 | [#x10A0-#x10C5] |
|
3053 | [#x10D0-#x10F6] |
|
3054 | #x1100 |
|
3055 | [#x1102-#x1103] |
|
3056 | [#x1105-#x1107] |
|
3057 | #x1109 |
|
3058 | [#x110B-#x110C] |
|
3059 | [#x110E-#x1112] |
|
3060 | #x113C |
|
3061 | #x113E |
|
3062 | #x1140 |
|
3063 | #x114C |
|
3064 | #x114E |
|
3065 | #x1150 |
|
3066 | [#x1154-#x1155] |
|
3067 | #x1159 |
|
3068 | [#x115F-#x1161] |
|
3069 | #x1163 |
|
3070 | #x1165 |
|
3071 | #x1167 |
|
3072 | #x1169 |
|
3073 | [#x116D-#x116E] |
|
3074 | [#x1172-#x1173] |
|
3075 | #x1175 |
|
3076 | #x119E |
|
3077 | #x11A8 |
|
3078 | #x11AB |
|
3079 | [#x11AE-#x11AF] |
|
3080 | [#x11B7-#x11B8] |
|
3081 | #x11BA |
|
3082 | [#x11BC-#x11C2] |
|
3083 | #x11EB |
|
3084 | #x11F0 |
|
3085 | #x11F9 |
|
3086 | [#x1E00-#x1E9B] |
|
3087 | [#x1EA0-#x1EF9] |
|
3088 | [#x1F00-#x1F15] |
|
3089 | [#x1F18-#x1F1D] |
|
3090 | [#x1F20-#x1F45] |
|
3091 | [#x1F48-#x1F4D] |
|
3092 | [#x1F50-#x1F57] |
|
3093 | #x1F59 |
|
3094 | #x1F5B |
|
3095 | #x1F5D |
|
3096 | [#x1F5F-#x1F7D] |
|
3097 | [#x1F80-#x1FB4] |
|
3098 | [#x1FB6-#x1FBC] |
|
3099 | #x1FBE |
|
3100 | [#x1FC2-#x1FC4] |
|
3101 | [#x1FC6-#x1FCC] |
|
3102 | [#x1FD0-#x1FD3] |
|
3103 | [#x1FD6-#x1FDB] |
|
3104 | [#x1FE0-#x1FEC] |
|
3105 | [#x1FF2-#x1FF4] |
|
3106 | [#x1FF6-#x1FFC] |
|
3107 | #x2126 |
|
3108 | [#x212A-#x212B] |
|
3109 | #x212E |
|
3110 | [#x2180-#x2182] |
|
3111 | [#x3041-#x3094] |
|
3112 | [#x30A1-#x30FA] |
|
3113 | [#x3105-#x312C] |
|
3114 | [#xAC00-#xD7A3] |
|
3115 </rhs></prod> |
|
3116 <prod id='NT-Ideographic'><lhs>Ideographic</lhs> |
|
3117 <rhs>[#x4E00-#x9FA5] |
|
3118 | #x3007 |
|
3119 | [#x3021-#x3029] |
|
3120 </rhs></prod> |
|
3121 <prod id='NT-CombiningChar'><lhs>CombiningChar</lhs> |
|
3122 <rhs>[#x0300-#x0345] |
|
3123 | [#x0360-#x0361] |
|
3124 | [#x0483-#x0486] |
|
3125 | [#x0591-#x05A1] |
|
3126 | [#x05A3-#x05B9] |
|
3127 | #x05BB#x05BD |
|
3128 | #x05BF |
|
3129 | [#x05C1-#x05C2] |
|
3130 | #x05C4 |
|
3131 | #x064B#x0652 |
|
3132 | #x0670 |
|
3133 | [#x06D6-#x06DC] |
|
3134 | #x06DD#x06DF |
|
3135 | [#x06E0-#x06E4] |
|
3136 | [#x06E7-#x06E8] |
|
3137 | [#x06EA-#x06ED] |
|
3138 | [#x0901-#x0903] |
|
3139 | #x093C |
|
3140 | [#x093E-#x094C] |
|
3141 | #x094D |
|
3142 | [#x0951-#x0954] |
|
3143 | [#x0962-#x0963] |
|
3144 | [#x0981-#x0983] |
|
3145 | #x09BC |
|
3146 | #x09BE |
|
3147 | #x09BF |
|
3148 | [#x09C0-#x09C4] |
|
3149 | [#x09C7-#x09C8] |
|
3150 | [#x09CB-#x09CD] |
|
3151 | #x09D7 |
|
3152 | [#x09E2-#x09E3] |
|
3153 | #x0A02 |
|
3154 | #x0A3C |
|
3155 | #x0A3E |
|
3156 | #x0A3F |
|
3157 | [#x0A40-#x0A42] |
|
3158 | [#x0A47-#x0A48] |
|
3159 | [#x0A4B-#x0A4D] |
|
3160 | [#x0A70-#x0A71] |
|
3161 | [#x0A81-#x0A83] |
|
3162 | #x0ABC |
|
3163 | [#x0ABE-#x0AC5] |
|
3164 | [#x0AC7-#x0AC9] |
|
3165 | [#x0ACB-#x0ACD] |
|
3166 | [#x0B01-#x0B03] |
|
3167 | #x0B3C |
|
3168 | [#x0B3E-#x0B43] |
|
3169 | [#x0B47-#x0B48] |
|
3170 | [#x0B4B-#x0B4D] |
|
3171 | [#x0B56-#x0B57] |
|
3172 | [#x0B82-#x0B83] |
|
3173 | [#x0BBE-#x0BC2] |
|
3174 | [#x0BC6-#x0BC8] |
|
3175 | [#x0BCA-#x0BCD] |
|
3176 | #x0BD7 |
|
3177 | [#x0C01-#x0C03] |
|
3178 | [#x0C3E-#x0C44] |
|
3179 | [#x0C46-#x0C48] |
|
3180 | [#x0C4A-#x0C4D] |
|
3181 | [#x0C55-#x0C56] |
|
3182 | [#x0C82-#x0C83] |
|
3183 | [#x0CBE-#x0CC4] |
|
3184 | [#x0CC6-#x0CC8] |
|
3185 | [#x0CCA-#x0CCD] |
|
3186 | [#x0CD5-#x0CD6] |
|
3187 | [#x0D02-#x0D03] |
|
3188 | [#x0D3E-#x0D43] |
|
3189 | [#x0D46-#x0D48] |
|
3190 | [#x0D4A-#x0D4D] |
|
3191 | #x0D57 |
|
3192 | #x0E31 |
|
3193 | [#x0E34-#x0E3A] |
|
3194 | [#x0E47-#x0E4E] |
|
3195 | #x0EB1 |
|
3196 | [#x0EB4-#x0EB9] |
|
3197 | [#x0EBB-#x0EBC] |
|
3198 | [#x0EC8-#x0ECD] |
|
3199 | [#x0F18-#x0F19] |
|
3200 | #x0F35 |
|
3201 | #x0F37 |
|
3202 | #x0F39 |
|
3203 | #x0F3E |
|
3204 | #x0F3F |
|
3205 | [#x0F71-#x0F84] |
|
3206 | [#x0F86-#x0F8B] |
|
3207 | [#x0F90-#x0F95] |
|
3208 | #x0F97 |
|
3209 | [#x0F99-#x0FAD] |
|
3210 | [#x0FB1-#x0FB7] |
|
3211 | #x0FB9 |
|
3212 | [#x20D0-#x20DC] |
|
3213 | #x20E1 |
|
3214 | [#x302A-#x302F] |
|
3215 | #x3099 |
|
3216 | #x309A |
|
3217 </rhs></prod> |
|
3218 <prod id='NT-Digit'><lhs>Digit</lhs> |
|
3219 <rhs>[#x0030-#x0039] |
|
3220 | [#x0660-#x0669] |
|
3221 | [#x06F0-#x06F9] |
|
3222 | [#x0966-#x096F] |
|
3223 | [#x09E6-#x09EF] |
|
3224 | [#x0A66-#x0A6F] |
|
3225 | [#x0AE6-#x0AEF] |
|
3226 | [#x0B66-#x0B6F] |
|
3227 | [#x0BE7-#x0BEF] |
|
3228 | [#x0C66-#x0C6F] |
|
3229 | [#x0CE6-#x0CEF] |
|
3230 | [#x0D66-#x0D6F] |
|
3231 | [#x0E50-#x0E59] |
|
3232 | [#x0ED0-#x0ED9] |
|
3233 | [#x0F20-#x0F29] |
|
3234 </rhs></prod> |
|
3235 <prod id='NT-Extender'><lhs>Extender</lhs> |
|
3236 <rhs>#x00B7 |
|
3237 | #x02D0 |
|
3238 | #x02D1 |
|
3239 | #x0387 |
|
3240 | #x0640 |
|
3241 | #x0E46 |
|
3242 | #x0EC6 |
|
3243 | #x3005 |
|
3244 | [#x3031-#x3035] |
|
3245 | [#x309D-#x309E] |
|
3246 | [#x30FC-#x30FE] |
|
3247 </rhs></prod> |
|
3248 |
|
3249 </prodgroup> |
|
3250 </scrap> |
|
3251 </p> |
|
3252 <p>$B$3$3$GDj5A$9$kJ8;z%/%i%9$O!$(BUnicode$BJ8;z%G!<%?%Y!<%9$+$i!$<!$N$H$*$j$KF@$k$3$H$,$G$-$k!#(B |
|
3253 <ulist> |
|
3254 <item> |
|
3255 <p>a) $BL>A03+;OJ8;z$O!$(BLl, Lu, Lo, Lt, Nl$B%+%F%4%jFb$N0l$D$G$J$1$l$P$J$i$J$$!#(B</p> |
|
3256 </item> |
|
3257 <item> |
|
3258 <p>b) $BL>A03+;OJ8;z0J30$NL>A0J8;z$O!$(BMc, Me, Mn, Lm, Nd$B%+%F%4%jFb$N0l$D$G$J$1$l$P$J$i$J$$!#(B</p> |
|
3259 </item> |
|
3260 <item> |
|
3261 <p>c) &compatibility-area;$B$K$"$kJ8;z(B($BJ8;zId9f$G(B#xF900$B$h$jBg$-$/(B#xFFFE$B$h$j>.$5$$J8;z(B)$B$O!$(BXML$B$K$*$1$kL>A0$H$7$F$O!$5v$5$l$J$$!#(B</p> |
|
3262 </item> |
|
3263 <item> |
|
3264 <p>d) &font-decomposition;$B$+(B&compatibility-decomposition;$B$r$b$DJ8;z(B($B$D$^$j!$%G!<%?%Y!<%9Fb$N#5HVL\$N%U%#!<%k%I$K(B"compatibility formatting tag"$B$,$"$k$b$N!#$3$l$O!$#5HVL\$N%U%#!<%k%I$,!$(B"<"$B$G;O$^$k$3$H$K$h$C$F%^!<%/IU$1$5$l$k!#(B)$B$O!$5v$5$l$J$$!#(B</p> |
|
3265 </item> |
|
3266 <item> |
|
3267 <p>e) $B<!$NJ8;z$O!$L>A03+;OJ8;z$H$7$F07$&!#$3$l$O!$(B&property-file;$B$,!$$3$l$i$NJ8;z$r%"%k%U%!%Y%C%H$KN`;w$9$k$H8+$J$9$3$H$K$h$k!#$=$l$i$O(B |
|
3268 [#x02BB-#x02C1], #x0559, #x06E5, #x06E6$B$H$9$k!#(B</p> |
|
3269 </item> |
|
3270 <item> |
|
3271 <p>f) $BJ8;zId9f$,(B#x20DD-#x20E0$B$NJ8;z$O!$(B(Unicode $B$N(B5.14$B$K$7$?$,$C$F(B)$B=|30$9$k!#(B</p> |
|
3272 </item> |
|
3273 <item> |
|
3274 <p>g) $BJ8;zId9f$,(B#x00B7$B$NJ8;z$O!$(B&property-list;$B$K$7$?$,$C$F!$(B&extender;(extender)$B$KJ,N`$9$k!#(B</p> |
|
3275 </item> |
|
3276 <item> |
|
3277 <p>h) $BJ8;z(B#x0387$B$O!$$3$l$KAjEv$9$k@55,7A$,(B#x00B7$B$J$N$G!$L>A0J8;z$KDI2C$9$k!#(B</p> |
|
3278 </item> |
|
3279 <item> |
|
3280 <p>i) $BJ8;z(B':'$B5Z$S(B'_'$B$O!$L>A03+;OJ8;z$H$7$F5v$9!#(B</p> |
|
3281 </item> |
|
3282 <item> |
|
3283 <p>j) $BJ8;z(B'-'$B5Z$S(B'.'$B$O!$L>A0J8;z$H$7$F5v$9!#(B</p> |
|
3284 </item> |
|
3285 </ulist> |
|
3286 </p> |
|
3287 </div1> |
|
3288 <inform-div1 id="sec-xml-and-sgml"> |
|
3289 <head>XML$B5Z$S(BSGML</head> |
|
3290 |
|
3291 <p>XML$B$O!$(BSGML$B$N(B⊂$B$H$7$F@_7W$5$l$F$$$k!#$9$J$o$A!$$9$Y$F$N(B<termref def="dt-valid">&valid;</termref>$B$J(BXML$BJ8=q$O!$5,3J$KE,9g$9$k(BSGML$BJ8=q$K$b$J$k!#(BSGML$B$,J8=q$K2]$9@)8B0J30$K!$(BXML$B$,$$$+$J$k@)8B$r2]$9$+$K4X$9$k>\:Y$O!$JL$N(B<loc href='http://www.w3.org/TR/NOTE-sgml-xml'>$B5,Dx(B</loc>$B$r;2>H$N$3$H!#$3$N5,Dx$O!$(BXML$B$N@)Ls>r7o$r<($9(BSGML$B@k8@$r4^$_!$$3$l$O!$(BSGML&parser;$B$K;HMQ$G$-$k!#(B |
|
3292 </p> |
|
3293 </inform-div1> |
|
3294 <inform-div1 id="sec-entexpand"> |
|
3295 <head>$B<BBN;2>H5Z$SJ8;z;2>H$NE83+(B</head> |
|
3296 <p>$B$3$NIUO?$O!$<BBN;2>H5Z$SJ8;z;2>H$rG'<1$7!$E83+$9$k!$0lO"$NN.$l$r!$Nc$K;H$C$F<($9!#(B</p> |
|
3297 <p> |
|
3298 DTD$B$,!$<!$N@k8@$r4^$`>l9g$r9M$($k!#(B |
|
3299 <eg><![CDATA[<!ENTITY example "<p>An ampersand (&#38;) may be escaped |
|
3300 numerically (&#38;#38;) or with a general entity |
|
3301 (&amp;).</p>" > |
|
3302 ]]></eg> |
|
3303 XML&processor;$B$O!$<BBN$N@k8@$r9=J82r@O$7$?;~E@$GJ8;z;2>H$rG'<1$7!$$3$l$r2r7h$9$k!#<BBN(B"<code>example</code>"$B$NCM$H$7$F!$<!$N(B&string;$B$rJ]B8$9$k!#(B |
|
3304 <eg><![CDATA[<p>An ampersand (&) may be escaped |
|
3305 numerically (&#38;) or with a general entity |
|
3306 (&amp;).</p> |
|
3307 ]]></eg> |
|
3308 $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 |
|
3309 <eg><![CDATA[An ampersand (&) may be escaped |
|
3310 numerically (&) or with a general entity |
|
3311 (&). |
|
3312 ]]></eg> |
|
3313 </p> |
|
3314 <p>$B5,B'5Z$S$=$N8z2L$r$h$j>\:Y$K<($9$?$a!$$5$i$KJ#;($JNc$r<($9!#<!$NNc$G!$9THV9f$O!$;2>H$NJX59$N$?$a$@$1$KIU$1$k!#(B |
|
3315 <eg><![CDATA[1 <?xml version='1.0'?> |
|
3316 2 <!DOCTYPE test [ |
|
3317 3 <!ELEMENT test (#PCDATA) > |
|
3318 4 <!ENTITY % xx '%zz;'> |
|
3319 5 <!ENTITY % zz '<!ENTITY tricky "error-prone" >' > |
|
3320 6 %xx; |
|
3321 7 ]> |
|
3322 8 <test>This sample shows a &tricky; method.</test> |
|
3323 ]]></eg> |
|
3324 $B$3$l$r=hM}$9$k$H!$<!$N$H$*$j$H$J$k!#(B |
|
3325 <ulist spacing="compact"> |
|
3326 <item><p>a) 4$B9TL\$G!$(B37$BHVL\$NJ8;z$X$N;2>H$rD>$A$KE83+$7!$%Q%i%a%?<BBN(B"<code>xx</code>"$B$r!$%7%s%\%k%F!<%V%k$K(B"<code>%zz;</code>"$B$H$$$&CM$H$H$b$KJ]B8$9$k!#(B&replacement-text;$B$r:F$SAv::$9$k$3$H$O$J$$$N$G!$%Q%i%a%?<BBN(B"<code>zz</code>"$B$X$N;2>H$OG'<1$7$J$$(B("<code>zz</code>"$B$O!$$^$@@k8@$5$l$F$$$J$$$N$G!$Av::$5$l$l$P!$(B&error;$B$H$J$k!#(B)$B!#(B</p></item> |
|
3327 <item><p>b) 5$B9TL\$G!$J8;z;2>H(B"<code>&#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> |
|
3328 <item><p>c) 6$B9TL\$G!$(B"<code>xx</code>"$B$X$N;2>H$rG'<1$7!$(B"<code>xx</code>"$B$N(B&replacement-text;($B$9$J$o$A!$(B"<code>%zz;</code>")$B$r9=J82r@O$9$k!#(B"<code>zz</code>"$B$X$N;2>H$rB3$$$FG'<1$7!$(B&replacement-text;("<code><!ENTITY tricky "error-prone" ></code>")$B$r9=J82r@O$9$k!#0lHL<BBN(B"<code>tricky</code>"$B$O!$$3$N;~E@$G$O!$@k8@$5$l$F$*$j!$$=$N(B&replacement-text;$B$O!$(B"<code>error-prone</code>"$B$H$9$k!#(B </p></item> |
|
3329 <item><p>d) 8$B9TL\$G!$0lHL<BBN(B"<code>tricky</code>"$B$X$N;2>H$rG'<1$7!$E83+$9$k!#MWAG(B"<code>test</code>"$B$N40A4$JFbMF$O!$<!$N(B($BFbMF$r$=$l<+BNI=8=$9$k!#(B)&string;$B$H$J$k!#$D$^$j!$(B<emph>This sample shows a error-prone method.</emph> |
|
3330 </p></item> |
|
3331 </ulist> |
|
3332 </p> |
|
3333 </inform-div1> |
|
3334 <inform-div1 id="determinism"> |
|
3335 <head>$B7hDjE*FbMF%b%G%k(B</head> |
|
3336 <p><termref def='dt-compat'>$B8_49@-$N$?$a(B</termref>$B!$MWAG@k8@$K$*$1$kFbMF%b%G%k$O!$7hDjE*$H$9$kI,MW$,$"$k!#(B |
|
3337 </p> |
|
3338 <!-- FINAL EDIT: WebSGML allows ambiguity? --> |
|
3339 <p>SGML$B$O!$7hDjE*FbMF%b%G%k(B(SGML$B$G$O!$Hs$"$$$^$$$H8F$V!#(B)$B$rMW5a$9$k!#(BSGML$B%7%9%F%`$rMQ$$$F:n@.$7$?(BXML&processor;$B$O!$Hs7hDjE*FbMF%b%G%k$r(B&error;$B$H$7$F$b$h$$!#(B</p> |
|
3340 <p>$BNc$($P!$FbMF%b%G%k(B<code>((b, c) | (b, d))</code>$B$OHs7hDjE*$H$J$k!#$3$l$O!$:G=i$K(B<code>b</code>$B$rM?$($?$H$-!$%b%G%kFb$N$$$:$l$N(B<code>b</code>$B$H(B&match;$B$9$k$N$,K>$^$7$$$+!$$=$N<!$NMWAG$r@hFI$_$9$k$3$H$J$7$K$O!$(B&parser;$B$OCN$k$3$H$,$G$-$J$$$3$H$K$h$k!#$3$N>l9g$O!$(B<code>b</code>$B$X$NFs$D$N;2>H$O!$0l$D$N;2>H$K$^$H$a$k$3$H$,$G$-!$%b%G%k$O!$(B<code>(b, (c | d))</code>$B$H$J$k!#$3$l$G!$:G=i$N(B<code>b</code>$B$,!$FbMF%b%G%kFb$N0l$D$NL>A0$H$@$1(B&match;$B$9$k$3$H$OL@$i$+$H$J$k!#(B&parser;$B$O!$@hFI$_$7$F!$<!$KMh$k$b$N$rCN$kI,MW$,$J$$!#(B<code>c</code>$B$b(B<code>d</code>$B$b!$<uM}$5$l$k!#(B</p> |
|
3341 <p>$B7A<0E*$K<($9!#(BAho, Sethi, and Ullman <bibref ref='Aho'/>$B$N(B3.9$B$N%"%k%4%j%:%`(B3.5$B$NI8=`E*$J%"%k%4%j%:%`$rMQ$$$F!$FbMF%b%G%k$+$iM-8B%*!<%H%^%H%s$r9=@.$9$k$3$H$,$G$-$k!#$3$N<o$NB?$/$N%"%k%4%j%:%`$G$O!$@55,I=8=$K$*$1$k3F!9$N0LCV(B($B$D$^$j!$@55,I=8=$N9=J8LZ$K$*$1$k3F!9$NKvC<%N!<%I(B)$B$KBP$7$F!$(Bfollow set($B<!$K$I$N0LCV$K0\F02DG=$+$rI=$9$b$N(B)$B$r9=@.$9$k!#$"$k0LCV$KBP$9$k(Bfollow set$B$K$*$$$F!$J#?t$N0LCV$,F1$8MWAG7?L>$G%i%Y%kIU$1$5$l$F$$$l$P!$$=$NFbMF%b%G%k$O(B&error;$B$H$J$j!$(B&error;$B$rJV$9>l9g$b$"$k!#(B |
|
3342 </p> |
|
3343 <p>$B$9$Y$F$NHs7hDjE*FbMF%b%G%k$rEy2A$J7hDjE*FbMF%b%G%k$KJQ49$9$k$3$H$O$G$-$J$$$,!$B?$/$NHs7hDjE*FbMF%b%G%k$rJQ49$9$k%"%k%4%j%:%`$,B8:_$9$k!#(BBrüggemann-Klein 1991 <bibref ref='ABK'/>$B$r;2>H$N$3$H!#(B</p> |
|
3344 </inform-div1> |
|
3345 <inform-div1 id="sec-guessing"> |
|
3346 <head>$BJ8;zId9f2=$N<+F08!=P(B</head> |
|
3347 <p> |
|
3348 XML$B$NId9f2=@k8@$O!$3F<BBN$NFbIt%i%Y%k$H$7$F5!G=$7!$$I$NJ8;zId9f2=$r;HMQ$9$k$+$r<($9!#$7$+$7!$(BXML&processor;$B$O!$FbIt%i%Y%k$rFI$`A0$K!$$I$NJ8;zId9f2=$r;HMQ$9$k$+$rCN$kI,MW$,$"$j!$$3$l$,!$FbIt%i%Y%k$,<($=$&$H$9$k$3$H$K$J$k!#0lHLE*$K$O!$$3$l$O!$@dK>E*$J>uBV$H$J$k!#$7$+$7!$(BXML$B$K$*$$$F$O!$40A4$K$O@dK>E*$G$O$J$$!#$3$l$O!$(BXML$B$,!$<!$NFs$D$NE@$G0lHLE*$J>l9g$KBP$9$k@)8B$r2C$($k$3$H$K$h$k!#0l$D$N@)8B$O!$$I$N<BAu$bM-8B8D$NJ8;zId9f2=$@$1$N%5%]!<%H$rA[Dj$9$k$3$H$H$9$k!#B>$N0l$D$N@)8B$O!$3F<BBN$G;HMQ$9$kJ8;zId9f2=$r<+F08!=P2DG=$H$9$k!$(BXML$B$NId9f2=@k8@$N0LCV5Z$SFbMF$K4X$9$k@)8B$H$9$k!#B?$/$N>l9g$K!$(BXML$B$N%G!<%?%9%H%j!<%`$K2C$(!$B>$N>pJs$,MxMQ$G$-$k!#$3$3$G$O!$(BXML$B$N<BBN$,(B&processor;$B$KEO$5$l$k$H$-!$(B($B30It(B)$B>pJs$rH<$&$+$I$&$+$K$h$C$F!$Fs$D$N>l9g$KJ,$1$k!#$^$::G=i$N>l9g$r<($9!#(B</p> |
|
3349 <p> |
|
3350 UTF-8$B7A<0Kt$O(BUTF-16$B7A<0$G$O$J$$(BXML$B<BBN$O!$:G=i$NJ8;z$r!F(B<code><?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> |
|
3351 <p> |
|
3352 <ulist> |
|
3353 <item> |
|
3354 <p>a) <code>00 00 00 3C</code>: UCS-4, big-endian $B%^%7%s(B (1234$B=g(B)</p> |
|
3355 </item> |
|
3356 <item> |
|
3357 <p>b) <code>3C 00 00 00</code>: UCS-4, little-endian $B%^%7%s(B (4321$B=g(B)</p> |
|
3358 </item> |
|
3359 <item> |
|
3360 <p>c) <code>00 00 3C 00</code>: UCS-4, $BIaDL$G$O$J$$%*%/%F%C%H=g(B (2143)</p> |
|
3361 </item> |
|
3362 <item> |
|
3363 <p>d) <code>00 3C 00 00</code>: UCS-4, $BIaDL$G$O$J$$%*%/%F%C%H=g(B (3412)</p> |
|
3364 </item> |
|
3365 <item> |
|
3366 <p>e) <code>FE FF</code>: UTF-16, big-endian</p> |
|
3367 </item> |
|
3368 <item> |
|
3369 <p>f) <code>FF FE</code>: UTF-16, little-endian</p> |
|
3370 </item> |
|
3371 <item> |
|
3372 <p>g) <code>00 3C 00 3F</code>: UTF-16, big-endian, &byte-order-mark;$B$J$7(B($B$7$?$,$C$F!$87L)$K$$$($P!$(B&error;$B$H$9$k!#(B)$B!#(B</p> |
|
3373 </item> |
|
3374 <item> |
|
3375 <p>h) <code>3C 00 3F 00</code>: UTF-16, little-endian, &byte-order-mark;$B$J$7(B($B$7$?$,$C$F!$87L)$K$$$($P!$(B&error;$B$H$9$k!#(B)$B!#(B</p> |
|
3376 </item> |
|
3377 <item> |
|
3378 <p>i) <code>3C 3F 78 6D</code>: UTF-8, ISO 646, ASCII, ISO 8859$B$N3F%Q!<%H!$(BShift-JIS$B!$(BEUC$B!$JB$S$KG$0U$NB>$N(B7$B%S%C%H!$(B8$B%S%C%HKt$O:.:_I}$NId9f2=$G$"$C$F!$(BASCII$BJ8;z$rDL>o$N0LCV!$I}5Z$SCM$H$9$k$3$H$rJ]>Z$9$k$b$N!#$3$l$i$N$I$l$KBP1~$9$k$+$r8!=P$9$k$?$a$K$O!$<B:]$NId9f2=@k8@$rFI$_9~$^$J$1$l$P$J$i$J$$!#$7$+$7!$$3$l$i$9$Y$F$NId9f2=$O!$(BASCII$BJ8;z$KBP$7$FF1$8%S%C%H%Q%?!<%s$r;HMQ$9$k$N$G!$Id9f2=@k8@<+BN$O!$@53N$KFI9~$_2DG=$H$9$k!#(B |
|
3379 </p> |
|
3380 </item> |
|
3381 <item> |
|
3382 <p>j) <code>4C 6F A7 94</code>: EBCDIC ($BKt$O$=$NJQ<o!#$I$N%3!<%I%Z!<%8$r;HMQ$9$k$+$rCN$k$?$a$K$O!$Id9f2=@k8@A4BN$rFI$_9~$^$l$J$1$l$P$J$i$J$$!#(B)</p> |
|
3383 </item> |
|
3384 <item> |
|
3385 <p>k) $B$=$NB>(B: $BId9f2=@k8@$J$7$N(BUTF-8$B!#$=$&$G$J$$$H$-$K$O!$%G!<%?(B&stream;$B$,2u$l$F$$$k$+!$CGJRE*$K$J$C$F$$$k$+!$2?$i$+$N7A<0$K$7$?$,$C$FKd$a9~$^$l$F$$$k!#(B</p> |
|
3386 </item> |
|
3387 </ulist> |
|
3388 </p> |
|
3389 <p> |
|
3390 $B$3$NDxEY$N<+F0H=JL$G$b!$(BXML$B$NId9f2=@k8@$rFI$_9~$_!$J8;zId9f2=$N(B&identifier;$B$r2r@O$9$k$K$O==J,$H$9$k!#(B&identifier;$B$N2r@O$O!$N`;w$9$k3F!9$NId9f2=$N0l$D0l$D$r6hJL$9$k$?$a$KI,MW$H$9$k(B($BNc$($P!$(BUTF-8$B5Z$S(B8859$B$r6hJL$9$k$?$a!$(B8859$B$N3F%Q!<%H$r6hJL$9$k$?$a!$;HMQ$7$F$$$kFCDj$N(BEBCDIC$B%3!<%I%Z!<%8$r6hJL$9$k$?$a!$$J$I!#(B)$B!#(B |
|
3391 </p> |
|
3392 <p> |
|
3393 $BId9f2=@k8@$NFbMF$r(BASCII$BJ8;z$K8BDj$7$F$$$k$N$G!$$I$NJ,N`$NId9f2=$r;HMQ$9$k$+$r8!=P$9$l$P!$(B&processor;$B$O!$Id9f2=@k8@A4BN$r@53N$KFI$_9~$`$3$H$,$G$-$k!#8=<BLdBj$H$7$F!$9-$/;HMQ$5$l$F$$$kJ8;zId9f2=$O!$>e$NJ,N`$N$$$:$l$+$K$"$F$O$^$k$N$G!$%*%Z%l!<%F%#%s%0%7%9%F%`Kt$OEAAw%W%m%H%3%k$,M?$($k30It>pJs$r?.MjIT2DG=$J$H$-$G$5$($b!$FbIt%i%Y%k$GJ8;zId9f2=$r$+$J$j@53N$K<($9$3$H$,!$(BXML$BId9f2=@k8@$K$h$C$F2DG=$H$J$k!#(B |
|
3394 </p> |
|
3395 <p> |
|
3396 &processor;$B$,;HMQ$9$kJ8;zId9f2=$r8!=P$7$5$($9$l$P!$$=$l$>$l$N>l9g$KBP$7$FJL8D$NF~NO%k!<%A%s$r8F$S=P$9!$Kt$OF~NO$9$k3FJ8;z$KBP$7E,@Z$JJQ494X?t$r8F$S=P$9$3$H$K$h$C$F!$E,@Z$JF0:n$,2DG=$H$J$k!#(B</p> |
|
3397 <p> |
|
3398 $B<+J,<+BN$K%i%Y%kIU$1$r$9$k$$$+$J$k%7%9%F%`$G$bF1MM$@$,!$%=%U%H%&%'%"$,!$Id9f2=@k8@$r99?7$;$:$K<BBN$NJ8;z=89gKt$OId9f2=$rJQ$($?$J$i$P!$(BXML$B$NId9f2=@k8@$O!$5!G=$7$J$$!#J8;zId9f2=%k!<%A%s$N<BAu<T$O!$<BBN$N%i%Y%kIU$1$K;HMQ$9$kFbIt5Z$S30It$N>pJs$N@53N$5$NJ]>Z$KCm0U$9$k$N$,K>$^$7$$!#(B |
|
3399 </p> |
|
3400 <p>$B#2HVL\$N>l9g$O!$(BXML$B$N<BBN$NB>$K!$Id9f2=>pJs$,B8:_$9$k$H$-$G$"$C$F!$$$$/$D$+$N%U%!%$%k%7%9%F%`5Z$S%M%C%H%o!<%/%W%m%H%3%k$G$O!$$=$NId9f2=>pJs$,B8:_$9$k!#J#?t$N>pJs$,MxMQ$G$-$k$H$-!$(B<!-- (e.g. both the |
|
3401 internal encoding declaration and an external label), -->$B$=$l$i$NAjBPE*$JM%@hEY5Z$S$=$l$i$,L7=b$7$?$H$-$NK>$^$7$$=hM}J}K!$O!$(BXML$B$NG[Aw$K;HMQ$9$k!$$h$j9b?e=`$N%W%m%H%3%k$N0lIt$H$7$F5,Dx$9$k$N$,$h$$!#Nc$($P!$FbIt%i%Y%k5Z$S30It(B&header;$B$KB8:_$9$k(BMIME$B7A<0$N%i%Y%k$NAjBPE*$JM%@hEY$KBP$9$k5,B'$O!$(Btext/xml$B5Z$S(Bapplication/xml$B$N(BMIME$B7?$rDj5A$9$k(BRFC$BJ8=q$N0lIt$H$J$kJ}$,$h$$!#$7$+$7!$Aj8_1?MQ@-$N$?$a$K!$<!$N5,B'$K=>$&$3$H$,K>$^$7$$!#(B |
|
3402 <ulist> |
|
3403 <item><p>a) XML$B$N<BBN$,%U%!%$%k$KB8:_$9$l$P!$(B&byte-order-mark;$B5Z$SId9f2=@k8@(BPI$B$O!$(B($BB8:_$9$l$P(B)$BJ8;zId9f2=$r7hDj$9$k$?$a$K;HMQ$9$k!#B>$N$9$Y$F$N(B&hueristics;$B5Z$S>pJs$O!$(B&error;$B2sI|$N$?$a$@$1$KMQ$$$k!#(B |
|
3404 </p></item> |
|
3405 <item><p>b) XML$B$N<BBN$r(BMIME$B7?(Btext/xml$B$GG[Aw$9$k$H$-$O!$$3$N(BMIME$B7?$N$b$D(Bcharset$B%Q%i%a%?$,J8;zId9f2=J}K!$r7hDj$9$k!#B>$N$9$Y$F$N(B&hueristics;$B5Z$S>pJs$O!$(B&error;$B2sI|$N$?$a$@$1$KMQ$$$k!#(B |
|
3406 </p></item> |
|
3407 <item><p>c) XML$B$N<BBN$r(B <!-- via the HTTP protocol -->MIME$B7?(Bapplication/xml$B$GG[Aw$9$k$H$-$O!$(B&byte-order-mark;$B5Z$SId9f2=@k8@(BPI$B$r(B($BB8:_$9$l$P(B)$BJ8;zId9f2=$N7hDj$N$?$a$K;HMQ$9$k!#B>$N$9$Y$F$N(B&hueristics;$B5Z$S>pJs$O(B&error;$B2sI|$N$?$a$@$1$KMQ$$$k!#(B |
|
3408 </p></item> |
|
3409 </ulist> |
|
3410 $B$3$l$i$N5,B'$O!$%W%m%H%3%k$K$D$$$F$N;qNA$,$J$$$H$-$K$@$1MQ$$$k!#FC$K!$(BMIME$B7?(Btext/xml$B5Z$S(Bapplication/xml$B$rDj5A$7$?$i!$$3$l$i$r5,Dj$9$k(BRFC$B$KB8:_$9$k5,Dj$,!$$3$l$i$N5,B'$K<h$C$FBe$o$k!#(B |
|
3411 </p> |
|
3412 </inform-div1> |
|
3413 <!-- |
|
3414 <div1 id='sec-trival-grammar'> |
|
3415 <head>A Trivial Grammar for XML Documents</head> |
|
3416 <p>The grammar given in the body of this specification is relatively |
|
3417 simple, but for some purposes it is convenient to have an even simpler |
|
3418 one. |
|
3419 A very simple, though non-conforming, <termref def="dt-xml-proc">XML |
|
3420 processor</termref> could parse a <termref |
|
3421 def="dt-wellformed">well-formed</termref> XML document using the |
|
3422 following simplified grammar, recognizing all element boundaries |
|
3423 correctly, though not expanding entity references and not detecting |
|
3424 all errors: |
|
3425 |
|
3426 <scrap lang="ebnf"> |
|
3427 <head>Trivial text grammar</head> |
|
3428 <prodgroup pcw2="5.5" pcw4="17" pcw5="10"> |
|
3429 <prod id='NT-simpleDoc'><lhs>simpleDoc</lhs> |
|
3430 <rhs>(<nt def='NT-SimpleData'>SimpleData</nt> |
|
3431 | <nt def='NT-Markup'>Markup</nt>)*</rhs></prod> |
|
3432 <prod id="NT-SimpleData"><lhs>SimpleData</lhs> |
|
3433 <rhs>[^<&]*</rhs> |
|
3434 <com>cf. PCData</com> |
|
3435 </prod> |
|
3436 <prod id="NT-SimpleLit"><lhs>SimpleLit</lhs> |
|
3437 <rhs>('"' [^"]* '"')</rhs> |
|
3438 <rhs>| ("'" [^']* "'")</rhs> |
|
3439 <com>cf. SkipLit</com> |
|
3440 </prod> |
|
3441 <prod id='NT-Markup'><lhs>Markup</lhs> |
|
3442 <rhs>'<' <nt def='NT-Name'>Name</nt> |
|
3443 (<nt def='NT-S'>S</nt> |
|
3444 <nt def='NT-Name'>Name</nt> |
|
3445 <nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>? |
|
3446 <nt def='NT-SimpleLit'>SimpleLit</nt>)* |
|
3447 <nt def='NT-S'>S</nt>? '>'</rhs><com>start-tags </com> |
|
3448 <rhs>| '<' <nt def='NT-Name'>Name</nt> |
|
3449 (<nt def='NT-S'>S</nt> |
|
3450 <nt def='NT-Name'>Name</nt> |
|
3451 <nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>? |
|
3452 <nt def='NT-SimpleLit'>SimpleLit</nt>)* |
|
3453 <nt def='NT-S'>S</nt>? '/>'</rhs><com>empty elements</com> |
|
3454 <rhs>| '</' |
|
3455 <nt def='NT-Name'>Name</nt> |
|
3456 <nt def='NT-S'>S</nt>? '>'</rhs> |
|
3457 <com>end-tags </com> |
|
3458 <rhs>| '&' <nt def='NT-Name'>Name</nt> ';'</rhs> |
|
3459 <com>entity references </com> |
|
3460 <rhs>| '&#' [0-9]+ ';'</rhs> |
|
3461 <com>decimal character references </com> |
|
3462 <rhs>| '&hcro;' [0-9a-fA-F]+ ';'</rhs> |
|
3463 <com>hexadecimal character references </com> |
|
3464 <rhs>| '<!&como;' |
|
3465 (<nt def='NT-Char'>Char</nt>* - |
|
3466 (<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*)) |
|
3467 '&comc;>'</rhs> |
|
3468 <com>comments </com> |
|
3469 <rhs>| '<?' |
|
3470 (<nt def='NT-Char'>Char</nt>* - |
|
3471 (<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*)) |
|
3472 '&pic;'</rhs> |
|
3473 <com>processing instructions </com> |
|
3474 <rhs>| '<![CDATA[' |
|
3475 (<nt def='NT-Char'>Char</nt>* - |
|
3476 (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-Char'>Char</nt>*)) |
|
3477 ']]>'</rhs> |
|
3478 <com>CDATA sections</com> |
|
3479 <rhs>| '<!DOCTYPE' |
|
3480 (<nt def="NT-Char">Char</nt> - ('[' | ']'))+ |
|
3481 ('[' |
|
3482 <nt def="NT-simpleDTD">simpleDTD</nt>* |
|
3483 ']')? '>'</rhs> |
|
3484 <com>doc type declaration</com> |
|
3485 </prod> |
|
3486 <prod id="NT-simpleDTD"><lhs>simpleDTD</lhs> |
|
3487 <rhs>'<!&como;' |
|
3488 (<nt def='NT-Char'>Char</nt>* - |
|
3489 (<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*)) |
|
3490 '&comc;>'</rhs> |
|
3491 <com>comment </com> |
|
3492 <rhs>| '<?' |
|
3493 (<nt def='NT-Char'>Char</nt>* - |
|
3494 (<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*)) |
|
3495 '&pic;'</rhs> |
|
3496 <com>processing instruction </com> |
|
3497 <rhs><nt def="NT-SimpleLit">SimpleLit</nt></rhs> |
|
3498 <rhs>(<nt def="NT-Char">Char</nt> - (']' | '<' | '"' | "'"))+ |
|
3499 </rhs> |
|
3500 |
|
3501 <rhs>'<!' (<nt def="NT-Char">Char</nt> - ('-'))+</rhs> |
|
3502 <com>declarations other than comment</com> |
|
3503 </prod> |
|
3504 </prodgroup> |
|
3505 </scrap> |
|
3506 Most processors will require the more complex |
|
3507 grammar given in the body of this specification. |
|
3508 |
|
3509 </p> |
|
3510 </div1> |
|
3511 --> |
|
3512 |
|
3513 <inform-div1 id="sec-xml-wg"> |
|
3514 <head>&informative;W3C XML $B%o!<%-%s%0%0%k!<%W(B</head> |
|
3515 |
|
3516 <p>$B$3$N(B&TR-or-Rec;$B$O!$(BW3C XML $B%o!<%-%s%0%0%k!<%W(B(WG)$B$,=`Hw$7!$8x3+$r>5G'$7$?!#(BWG$B$,$3$N(B&TR-or-Rec;$B$r>5G'$9$k$H$$$&$3$H$O!$(BWG$B$N$9$Y$F$N0Q0w$,>5G'EjI<$r9T$C$?$H$$$&$3$H$rI,$:$7$b0UL#$7$J$$!#(BXML WG$B$N8=:_$N0Q0w5Z$S0JA0$N0Q0w$r<!$K<($9!#(B</p> |
|
3517 |
|
3518 <!-- parens and spaces removed from role elements by bosak 1997.11.07 --> |
|
3519 <orglist> |
|
3520 <member><name>Jon Bosak, Sun</name><role>Chair</role></member> |
|
3521 <member><name>James Clark</name><role>Technical Lead</role></member> |
|
3522 <member><name>Tim Bray, Textuality and Netscape</name><role>XML Co-editor</role></member> |
|
3523 <member><name>Jean Paoli, Microsoft</name><role>XML Co-editor</role></member> |
|
3524 <member><name>C. M. Sperberg-McQueen, U. of Ill.</name><role>XML Co-editor</role></member> |
|
3525 <member><name>Dan Connolly, W3C</name></member> |
|
3526 <member><name>Steve DeRose, INSO</name></member> |
|
3527 <member><name>Dave Hollander, HP</name></member> |
|
3528 <member><name>Eliot Kimber, Highland</name></member> |
|
3529 <member><name>Eve Maler, ArborText</name></member> |
|
3530 <member><name>Tom Magliery, NCSA</name></member> |
|
3531 <member><name>Murray Maloney, Muzmo and Grif</name></member> |
|
3532 <member><name>$BB<ED!!??!$IY;N%<%m%C%/%9>pJs%7%9%F%`(B($B3t(B)</name></member> |
|
3533 <member><name>Joel Nava, Adobe</name></member> |
|
3534 <member><name>Peter Sharpe, SoftQuad</name></member> |
|
3535 <member><name>John Tigue, DataChannel</name></member> |
|
3536 </orglist> |
|
3537 |
|
3538 </inform-div1> |
|
3539 </back> |
|
3540 </spec> |
|
3541 <!-- Keep this comment at the end of the file |
|
3542 Local variables: |
|
3543 mode: sgml |
|
3544 sgml-omittag:t |
|
3545 sgml-shorttag:t |
|
3546 End: |
|
3547 --> |
|
3548 |
|
3549 |