-
Notifications
You must be signed in to change notification settings - Fork 5
/
pr-xml-utf-8.xml
3549 lines (3338 loc) · 199 KB
/
pr-xml-utf-8.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0"?>
<!DOCTYPE spec SYSTEM "spec.dtd" [
<!-- 日本語訳のための解析対象実体(ここから) -->
<!ENTITY TR-or-Rec "仕様書">
<!-- <!ENTITY TR-or-Rec "標準情報(TR)"> -->
<!ENTITY eTR-or-Rec "specification">
<!-- <!ENTITY eTR-or-Rec "technical report(TR)"> -->
<!ENTITY application "アプリケーション">
<!ENTITY error "エラー">
<!ENTITY fatal-error "致命的エラー">
<!ENTITY parsed-data "解析されるデータ">
<!ENTITY unparsed-data "解析されないデータ">
<!ENTITY parsed-entity "解析対象実体">
<!ENTITY parser "パーサ">
<!ENTITY unparsed-entity "解析対象外実体">
<!ENTITY well-formed "整形式">
<!ENTITY valid "妥当">
<!ENTITY validity "妥当性">
<!ENTITY escape "別扱い">
<!ENTITY prolog "書き">
<!ENTITY surrogate-blocks "サロゲートブロック">
<!ENTITY letter "字">
<!ENTITY ideographic "統合漢字">
<!ENTITY markup "マーク付け">
<!ENTITY left-angle-bracket "不等号(小なり)">
<!ENTITY right-angle-bracket "不等号(大なり)">
<!ENTITY string "文字列">
<!ENTITY char-string "文字列"><!-- string of chararacters,
character strings, strings,
characters はすべて文字列とする -->
<!ENTITY replacement-text "置換テキスト">
<!ENTITY single-quote "一重引用符">
<!ENTITY double-quote "二重引用符">
<!ENTITY adaptations-annex "適用附属書">
<!ENTITY root "ルート">
<!ENTITY base-character "基底文字">
<!ENTITY diacritical-mark "発音符"><!--(ダイアクリティカルマーク)を初出のとき補う-->
<!ENTITY composed-form "合成形式">
<!ENTITY standalone "スタンドアロン">
<!ENTITY double-hyphen "二連ハイフン">
<!--<!ENTITY case-fold "大文字か小文字への統一">-->
<!-- <!ENTITY case-fold "比較のとき,大文字と小文字の同一視">-->
<!ENTITY parameter "パラメタ">
<!ENTITY stream "ストリーム">
<!ENTITY validating "妥当性を検証する">
<!ENTITY non-validating "妥当性を検証しない">
<!ENTITY user "ユーザ">
<!--<!ENTITY at-user-option "ユーザがオプションを指定したとき">-->
<!ENTITY at-user-option "ユーザのオプション指定によっては">
<!ENTITY content-particle "内容素子">
<!ENTITY processor "プロセサ">
<!ENTITY default "デフォルト">
<!ENTITY default-value "デフォルト値">
<!ENTITY header "ヘッダ">
<!ENTITY target "ターゲット">
<!ENTITY mixed-content "混合内容">
<!ENTITY country-code "国コード">
<!ENTITY language-code "言語コード">
<!ENTITY version "版"> <!-- version 1.0は第1.0版 -->
<!ENTITY match "マッチ">
<!ENTITY character-value "文字番号">
<!ENTITY byte-order-mark "バイト順マーク">
<!ENTITY bypass "処理しない">
<!ENTITY identifier "識別子">
<!-- <!ENTITY identify "識別する"> -->
<!ENTITY identify "特定する">
<!-- <!ENTITY identified "識別される"> -->
<!ENTITY identified "特定される">
<!ENTITY combining-character "結合文字">
<!ENTITY subset "サブセット">
<!ENTITY token "トークン">
<!ENTITY literal "リテラル">
<!ENTITY parenthesis "かっこ">
<!ENTITY left-parenthesis "開きかっこ">
<!ENTITY right-parenthesis "閉じかっこ">
<!-- あとで気がついたもの JIS X0221を見る必要あり -->
<!ENTITY extender "エクステンダ">
<!ENTITY property "プロパティ">
<!ENTITY property-list "プロパティリスト">
<!ENTITY property-file "プロパティファイル">
<!ENTITY font-decomposition "フォント分解">
<!ENTITY compatibility-decomposition "互換性分解">
<!ENTITY compatibility-area "互換性領域">
<!ENTITY language-identification "言語識別">
<!ENTITY space-character "スペース文字">
<!ENTITY space "スペース">
<!ENTITY code-value "コード値">
<!ENTITY normative "規定の">
<!ENTITY hueristics "ヒューリスティック">
<!ENTITY informative "">
<!ENTITY WebSGML 'ISO 8879へのWebSGML&adaptations-annex;'>
<!ENTITY XML.version "1.0">
<!ENTITY doc.date "1997年12月8日">
<!ENTITY iso6.doc.date "971208">
<!ENTITY w3c.doc.date "97年12月3日">
<!ENTITY draft.day '8日'>
<!ENTITY draft.month '12月'>
<!ENTITY draft.year '1997年'>
<!-- 日本語訳のための解析対象実体(ここまで) -->
<!-- LAST TOUCHED BY: Tim Bray, 3 Dec 1997 -->
<!-- The words 'FINAL EDIT' in comments mark places where changes
need to be made after approval of the document by the ERB, before
publication. -->
<!ENTITY XML.version "1.0">
<!ENTITY doc.date "8 December 1997">
<!ENTITY iso6.doc.date "971208">
<!ENTITY w3c.doc.date "03-Dec-97">
<!ENTITY draft.day '8'>
<!ENTITY draft.month 'December'>
<!ENTITY draft.year '1997'>
<!ENTITY WebSGML
'WebSGML Adaptations Annex to ISO 8879'>
<!ENTITY newline " ">
<!-- old: <!ENTITY newline "
"> -->
<!ENTITY lt "<">
<!ENTITY gt ">">
<!--<!ENTITY amp "&"> -->
<!ENTITY xmlpio "'<?xml'">
<!ENTITY pic "'?>'">
<!ENTITY br "\n">
<!ENTITY cellback '#c0d9c0'>
<!ENTITY mdash "--"> <!-- was: <!ENTITY mdash "&#151;"> -->
<!ENTITY com "--">
<!ENTITY como "--">
<!ENTITY comc "--">
<!ENTITY hcro "&#x">
<!-- <!ENTITY nbsp ""> -->
<!ENTITY nbsp " ">
<!ENTITY magicents "<code>amp</code>,
<code>lt</code>,
<code>gt</code>,
<code>apos</code>,
<code>quot</code>">
<!--日本語訳について: コメントは翻訳対象から外しました。鈴木和夫 -->
<!-- audience and distribution status: for use at publication time -->
<!-- -->
<!ENTITY doc.audience "公開レビュー及び議論">
<!ENTITY doc.distribution "テキスト及び法律上の注意を改変しない限り,
自由に配布してもよい">
]>
<!-- for Panorama *-->
<?VERBATIM "eg" ?>
<spec>
<header>
<title>拡張可能な&markup;言語 (XML)</title>
<version>第1.0&version;</version>
<w3c-designation>PR-xml-&iso6.doc.date;</w3c-designation>
<w3c-doctype>World Wide Web Consortium</w3c-doctype>
<pubdate><day>&draft.day;</day><month>&draft.month;</month><year>&draft.year;</year></pubdate>
<notice><p>この草案は,XML WG及び他の関係者によるレビューのためのものであって,公開の議論のためのものではない。
<!-- FINAL EDIT: FIX --></p></notice>
<publoc>
<loc href="http://www.w3.org/TR/PR-xml-&iso6.doc.date;">
http://www.w3.org/TR/PR-xml-&iso6.doc.date;</loc></publoc>
<prevlocs>
<loc href='http://www.w3.org/TR/WD-xml-961114'>
http://www.w3.org/TR/WD-xml-961114</loc>
<loc href='http://www.w3.org/TR/WD-xml-lang-970331'>
http://www.w3.org/TR/WD-xml-lang-970331</loc>
<loc href='http://www.w3.org/TR/WD-xml-lang-970630'>
http://www.w3.org/TR/WD-xml-lang-970630</loc>
<loc href='http://www.w3.org/TR/WD-xml-970807'>
http://www.w3.org/TR/WD-xml-970807</loc>
<loc href='http://www.w3.org/TR/WD-xml-971117'>
http://www.w3.org/TR/WD-xml-971117</loc>
</prevlocs>
<authlist>
<author><name>Tim Bray</name>
<affiliation>Textuality and Netscape</affiliation>
<email
href="mailto:[email protected]">[email protected]</email></author>
<author><name>Jean Paoli</name>
<affiliation>Microsoft</affiliation>
<email href="mailto:[email protected]">[email protected]</email></author>
<author><name>C. M. Sperberg-McQueen</name>
<affiliation>University of Illinois at Chicago</affiliation>
<email href="mailto:[email protected]">[email protected]</email></author>
</authlist>
<status>
<p>この&TR-or-Rec;は, 1997年12月にWorld Wide Web Consortiumから
公表された勧告案Extensible Markup Language version第1.0版を翻訳し, 技
術的内容を変更することなく作成した&TR-or-Rec;である。This &eTR-or-Rec;
is a translation of the XML proposed recommendation 1.0
published by the World Wide Web Consortium in December 1997. It is
intended that &eTR-or-Rec; is technically identical to the original.</p>
<p>原文にある、著作権に関しての記述を次に示す。The
original copyright notice is shown below:</p>
<p>この版のXMLの規定は,公開レビュー及び議論を
目的とする。テキスト及び法律上の注意を改変しない限り,自由に
配布してもよい。This version of the XML specification is for
public review and discussion. It may be distributed freely,
as long as all text and legal notices remain intact.</p>
<p>この&TR-or-Rec;の元となったXML勧告案は,1998年2月にWorld
Wide Web Consortiumから公表されたXML勧告によってすでに置き換
えられている。この標準情報は,XML勧告に従って訂正することを
予定している。The XML Proposed Recommendation is superseded
by the XML Recommendation which was published by the World
Wide Web Consortium in February 1998. It is intended that
this &eTR-or-Rec; be revised accordingly in the near future.</p>
<p>この&TR-or-Rec;は,安定したものであって,昨年来の<loc
href='http://www.w3.org/XML'>XML活動</loc>を通じて作成された,一連の作
業草案を元とする。現在,広範囲に使用されている国際的なテキスト処理の標
準(標準一般化&markup;言語,Standard Generalized Markup Language, ISO
8879:1986に追加及び訂正を加えたもの)の,WWW上での使用のために⊂
化した言語を,この&TR-or-Rec;は,規定する。ISO 8879のどの機能をこの
⊂に残すか,という決定についての詳細は,<loc
href='http://www.w3.org/XML/#WG-decisions'>別途用意する</loc>。XMLは,
既にいくつかの商品でサポートされ,XMLをサポートする<loc
href='http://www.w3.org/XML/#software'>フリーウェア</loc>の数も増えて
いる。XMLに関する公開の論議も,オンラインで<loc
href='http://www.w3.org/XML/#discussion'>入手できる</loc>。It is a
stable document derived from a series of working drafts produced over
the last year as deliverables of the <loc
href='http://www.w3.org/XML'>XML activity</loc>. It specifies a
language created by subsetting an existing, widely used international
text processing standard (Standard Generalized Markup Language, ISO
8879:1986 as amended and corrected) for use on the World Wide Web.
Details of the decisions regarding which features of ISO 8879 to
retain in the subset <loc
href='http://www.w3.org/XML/#WG-decisions'>are available
separately</loc>. XML is already supported by some commercial
products, and there are a growing number of <loc
href='http://www.w3.org/XML/#software'>free implementations</loc>.
Public discussions of XML <loc
href='http://www.w3.org/XML/#discussion'>are accessible
online</loc>.</p>
<p>この&TR-or-Rec;では,<bibref ref="Berners-Lee"/>に定義する
URI(Uniform Resource Identifier)を使用する。URIの制定作業は進行中であっ
て,<bibref ref="RFC1738"/>及び<bibref ref="RFC1808"/>を更新する予定と
なっている。この作業がRFCとして受け入れられない場合は,この規程内のURI
への参照は,URL(Uniform Resource Locator)への参照に代わる。This
specification uses the term URI, which is defined by <bibref
ref="Berners-Lee"/>, a work in progress expected to update <bibref
ref="RFC1738"/> and <bibref ref="RFC1808"/>. Should the work not be
accepted as an RFC, the references to uniform resource identifiers
(URIs) in this specification will become references to uniform
resource locators (URLs).</p>
<p>XMLの仕様に準拠しているかどうかの基準となるはW3Cのサイトにあ
る原文である。The normative version of the specification is
the English version found at the W3C site.</p>
<p>この標準情報は原仕様と技術的に同一であることを意図しているが、
翻訳上の誤りはあり得る。Although this technical report is
intended to be technically identical to the original, it may
contain errors from the translation.</p>
<p>備考: 原規定との規定箇所の対応関係を明らかにするため、この
&TR-or-Rec;の節構成及び節番号は、原規定のそれらをできるだけ保存してい
る。この&TR-or-Rec;のWeb版は、原規定のHTMLタグをそのまま保存している。
</p>
</status>
<!-- out of date
<statusp>This is a W3C Working Draft for review by W3C members and other
interested parties. It is a draft document and may be updated,
replaced, or obsoleted by other documents at any time. It is
inappropriate to use W3C Working Drafts as reference material or to
cite them as other than "work in progress". A list of current W3C
working drafts can be found at
<loc href="http://www.w3.org/TR">http://www.w3.org/TR</loc>.</statusp>
<statusp><emph>Note:</emph> Since working drafts are subject to frequent
change, you are advised to reference the above URL, rather than the
URLs for working drafts themselves.</statusp>
<statusp>This work is part of the W3C SGML Activity (for current
status, see <loc href="http://www.w3.org/MarkUp/SGML/Activity"
>http://www.w3.org/MarkUp/SGML/Activity</loc>).</statusp>
<p>The current
draft of this specification
presupposes the successful completion of the current
work on the &WebSGML;, being prepared by ISO/IEC JTC1
at the time this draft specification was drafted.
If it is not
adopted in the expected form, some clauses of this specification
may change, and some
recommendations now labeled "<termref def="dt-interop">for
interoperability</termref>" will become requirements labeled
"<termref def="dt-compat">for compatibility</termref>".
</p>
<p>The current draft of this specification uses the term
URI, which is defined by
<bibref ref="Berners-Lee"/>,
which is work in progress expected to update
<bibref ref="RFC1738"/> and <bibref ref="RFC1808"/>.
Should the work in this draft not be accepted as an RFC, the
references to uniform resource identifiers (URIs) in this
specification will become references to uniform resource
locators (URLs).</p>
</status> -->
<abstract>
<p>拡張可能な&markup;言語(XML)はSGMLの簡単な方言であって,この&TR-or-Rec;で,そのすべてを規定する。XMLの目標は,現在のHTMLと同様に,一般性のあるSGMLをウェブ上で配布,受信及び処理できることとする。XMLは実装が容易であって,SGML及びHTMLのどちらに対しても相互運用性を保つ設計がなされている。</p>
</abstract>
<pubstmt>
<p>Chicago, Vancouver, Mountain View, et al.:
World-Wide Web Consortium, XML作業グループ, 1996, 1997.</p>
</pubstmt>
<sourcedesc>
<p>Created in electronic form.</p>
</sourcedesc>
<langusage>
<language id='EN'>English</language>
<language id='ebnf'>Extended Backus-Naur Form (formal grammar)</language>
</langusage>
<revisiondesc>
<slist>
<sitem>1997-12-03 : CMSMcQ : yet further changes</sitem>
<sitem>1997-12-02 : TB : further changes (see TB to XML WG,
2 December 1997)</sitem>
<sitem>1997-12-02 : CMSMcQ : deal with as many corrections and
comments from the proofreaders as possible:
entify hard-coded document date in pubdate element,
change expansion of entity WebSGML,
update status description as per Dan Connolly (am not sure
about refernece to Berners-Lee et al.),
add 'The' to abstract as per WG decision,
move Relationship to Existing Standards to back matter and
combine with References,
re-order back matter so normative appendices come first,
re-tag back matter so informative appendices are tagged informdiv1,
remove XXX XXX from list of 'normative' specs in prose,
move some references from Other References to Normative References,
add RFC 1738, 1808, and 2141 to Other References (they are not
normative since we do not require the processor to enforce any
rules based on them),
add reference to 'Fielding draft' (Berners-Lee et al.),
move notation section to end of body,
drop URIchar non-terminal and use SkipLit instead,
lose stray reference to defunct nonterminal 'markupdecls',
move reference to Aho et al. into appendix (Tim's right),
add prose note saying that hash marks and fragment identifiers are
NOT part of the URI formally speaking, and are NOT legal in
system identifiers (processor 'may' signal an error).
Work through:
Tim Bray reacting to James Clark,
Tim Bray on his own,
Eve Maler,
NOT DONE YET:
change binary / text to unparsed / parsed.
handle James's suggestion about < in attriubte values
uppercase hex characters,
namechar list,
</sitem>
<sitem>1997-12-01 : JB : add some column-width parameters</sitem>
<sitem>1997-12-01 : CMSMcQ : begin round of changes to incorporate
recent WG decisions and other corrections:
binding sources of character encoding info (27 Aug / 3 Sept),
correct wording of Faust quotation (restore dropped line),
drop SDD from EncodingDecl,
change text at version number 1.0,
drop misleading (wrong!) sentence about ignorables and extenders,
modify definition of PCData to make bar on msc grammatical,
change grammar's handling of internal subset (drop non-terminal markupdecls),
change definition of includeSect to allow conditional sections,
add integral-declaration constraint on internal subset,
drop misleading / dangerous sentence about relationship of
entities with system storage objects,
change table body tag to htbody as per EM change to DTD,
add rule about space normalization in public identifiers,
add description of how to generate our name-space rules from
Unicode character database (needs further work!).
</sitem>
<sitem>1997-10-08 : TB : Removed %-constructs again, new rules
for PE appearance.</sitem>
<sitem>1997-10-01 : TB : Case-sensitive markup; cleaned up
element-type defs, lotsa little edits for style</sitem>
<sitem>1997-09-25 : TB : Change to elm's new DTD, with
substantial detail cleanup as a side-effect</sitem>
<sitem>1997-07-24 : CMSMcQ : correct error (lost *) in definition
of ignoreSectContents (thanks to Makoto Murata)</sitem>
<sitem>Allow all empty elements to have end-tags, consistent with
SGML TC (as per JJC).</sitem>
<sitem>1997-07-23 : CMSMcQ : pre-emptive strike on pending corrections:
introduce the term 'empty-element tag', note that all empty elements
may use it, and elements declared EMPTY must use it.
Add WFC requiring encoding decl to come first in an entity.
Redefine notations to point to PIs as well as binary entities.
Change autodetection table by removing bytes 3 and 4 from
examples with Byte Order Mark.
Add content model as a term and clarify that it applies to both
mixed and element content.
</sitem>
<sitem>1997-06-30 : CMSMcQ : change date, some cosmetic changes,
changes to productions for choice, seq, Mixed, NotationType,
Enumeration. Follow James Clark's suggestion and prohibit
conditional sections in internal subset. TO DO: simplify
production for ignored sections as a result, since we don't
need to worry about parsers which don't expand PErefs finding
a conditional section.</sitem>
<sitem>1997-06-29 : TB : various edits</sitem>
<sitem>1997-06-29 : CMSMcQ : further changes:
Suppress old FINAL EDIT comments and some dead material.
Revise occurrences of % in grammar to exploit Henry Thompson's pun,
especially markupdecl and attdef.
Remove RMD requirement relating to element content (?).
</sitem>
<sitem>1997-06-28 : CMSMcQ : Various changes for 1 July draft:
Add text for draconian error handling (introduce
the term Fatal Error).
RE deleta est (changing wording from
original announcement to restrict the requirement to validating
parsers).
Tag definition of validating processor and link to it.
Add colon as name character.
Change def of %operator.
Change standard definitions of lt, gt, amp.
Strip leading zeros from #x00nn forms.</sitem>
<sitem>1997-04-02 : CMSMcQ : final corrections of editorial errors
found in last night's proofreading. Reverse course once more on
well-formed: Webster's Second hyphenates it, and that's enough
for me.</sitem>
<sitem>1997-04-01 : CMSMcQ : corrections from JJC, EM, HT, and self</sitem>
<sitem>1997-03-31 : Tim Bray : many changes</sitem>
<sitem>1997-03-29 : CMSMcQ : some Henry Thompson (on entity handling),
some Charles Goldfarb, some ERB decisions (PE handling in miscellaneous
declarations. Changed Ident element to accept def attribute.
Allow normalization of Unicode characters. move def of systemliteral
into section on literals.</sitem>
<sitem>1997-03-28 : CMSMcQ : make as many corrections as possible, from
Terry Allen, Norbert Mikula, James Clark, Jon Bosak, Henry Thompson,
Paul Grosso, and self. Among other things: give in on "well formed"
(Terry is right), tentatively rename QuotedCData as AttValue
and Literal as EntityValue to be more informative, since attribute
values are the <emph>only</emph> place QuotedCData was used, and
vice versa for entity text and Literal. (I'd call it Entity Text,
but 8879 uses that name for both internal and external entities.)</sitem>
<sitem>1997-03-26 : CMSMcQ : resynch the two forks of this draft, reapply
my changes dated 03-20 and 03-21. Normalize old 'may not' to 'must not'
except in the one case where it meant 'may or may not'.</sitem>
<sitem>1997-03-21 : TB : massive changes on plane flight from Chicago
to Vancouver</sitem>
<sitem>1997-03-21 : CMSMcQ : correct as many reported errors as possible.
</sitem>
<sitem>1997-03-20 : CMSMcQ : correct typos listed in CMSMcQ hand copy of spec.</sitem>
<sitem>1997-03-20 : CMSMcQ : cosmetic changes preparatory to revision for
WWW conference April 1997: restore some of the internal entity
references (e.g. to docdate, etc.), change character xA0 to &nbsp;
and define nbsp as &#160;, and refill a lot of paragraphs for
legibility.</sitem>
<sitem>1996-11-12 : CMSMcQ : revise using Tim's edits:
Add list type of NUMBERED and change most lists either to
BULLETS or to NUMBERED.
Suppress QuotedNames, Names (not used).
Correct trivial-grammar doc type decl.
Rename 'marked section' as 'CDATA section' passim.
Also edits from James Clark:
Define the set of characters from which [^abc] subtracts.
Charref should use just [0-9] not Digit.
Location info needs cleaner treatment: remove? (ERB
question).
One example of a PI has wrong pic.
Clarify discussion of encoding names.
Encoding failure should lead to unspecified results; don't
prescribe error recovery.
Don't require exposure of entity boundaries.
Ignore white space in element content.
Reserve entity names of the form u-NNNN.
Clarify relative URLs.
And some of my own:
Correct productions for content model: model cannot
consist of a name, so "elements ::= cp" is no good.
</sitem>
<sitem>1996-11-11 : CMSMcQ : revise for style.
Add new rhs to entity declaration, for parameter entities.</sitem>
<sitem>1996-11-10 : CMSMcQ : revise for style.
Fix / complete section on names, characters.
Add sections on parameter entities, conditional sections.
Still to do: Add compatibility note on deterministic content models.
Finish stylistic revision.</sitem>
<sitem>1996-10-31 : TB : Add Entity Handling section</sitem>
<sitem>1996-10-30 : TB : Clean up term & termdef. Slip in
ERB decision re EMPTY.</sitem>
<sitem>1996-10-28 : TB : Change DTD. Implement some of Michael's
suggestions. Change comments back to //. Introduce language for
XML namespace reservation. Add section on white-space handling.
Lots more cleanup.</sitem>
<sitem>1996-10-24 : CMSMcQ : quick tweaks, implement some ERB
decisions. Characters are not integers. Comments are /* */ not //.
Add bibliographic refs to 10646, HyTime, Unicode.
Rename old Cdata as MsData since it's <emph>only</emph> seen
in marked sections. Call them attribute-value pairs not
name-value pairs, except once. Internal subset is optional, needs
'?'. Implied attributes should be signaled to the app, not
have values supplied by processor.</sitem>
<sitem>1996-10-16 : TB : track down & excise all DSD references;
introduce some EBNF for entity declarations.</sitem>
<sitem>1996-10-?? : TB : consistency check, fix up scraps so
they all parse, get formatter working, correct a few productions.</sitem>
<sitem>1996-10-10/11 : CMSMcQ : various maintenance, stylistic, and
organizational changes:
Replace a few literals with xmlpio and
pic entities, to make them consistent and ensure we can change pic
reliably when the ERB votes.
Drop paragraph on recognizers from notation section.
Add match, exact match to terminology.
Move old 2.2 XML Processors and Apps into intro.
Mention comments, PIs, and marked sections in discussion of
delimiter escaping.
Streamline discussion of doctype decl syntax.
Drop old section of 'PI syntax' for doctype decl, and add
section on partial-DTD summary PIs to end of Logical Structures
section.
Revise DSD syntax section to use Tim's subset-in-a-PI
mechanism.</sitem>
<sitem>1996-10-10 : TB : eliminate name recognizers (and more?)</sitem>
<sitem>1996-10-09 : CMSMcQ : revise for style, consistency through 2.3
(Characters)</sitem>
<sitem>1996-10-09 : CMSMcQ : re-unite everything for convenience,
at least temporarily, and revise quickly</sitem>
<sitem>1996-10-08 : TB : first major homogenization pass</sitem>
<sitem>1996-10-08 : TB : turn "current" attribute on div type into
CDATA</sitem>
<sitem>1996-10-02 : TB : remould into skeleton + entities</sitem>
<sitem>1996-09-30 : CMSMcQ : add a few more sections prior to exchange
with Tim.</sitem>
<sitem>1996-09-20 : CMSMcQ : finish transcribing notes.</sitem>
<sitem>1996-09-19 : CMSMcQ : begin transcribing notes for draft.</sitem>
<sitem>1996-09-13 : CMSMcQ : made outline from notes of 09-06,
do some housekeeping</sitem>
</slist>
</revisiondesc>
</header>
<body>
<div1 id='sec-intro'>
<head>一般事項</head>
<!-- <div2 id='sec-scope'>
<head>適用範囲</head> -->
<p>拡張可能な&markup;言語XML(eXtensible Markup Language)は,<termref def="dt-xml-doc">XML文書</termref>というデータオブジェクトのクラスを規定し,XML文書を処理するプログラムの動作の一部を規定する。XMLは,SGML(標準一般化&markup;言語,Standard Generalized Markup Language)<bibref ref='ISO8879'/>の制限した⊂とする。構造上,XML文書は,かならずSGML規格に適合する。</p>
<p>XML文書は,<termref def="dt-entity">実体</termref>という記憶単位からなり,実体は,&parsed-data;又は&unparsed-data;からなる。&parsed-data;は,<termref def="dt-character">文字</termref>からなり,その一部は,文書の<termref def="dt-chardata">文字データ</termref>を構成し,一部は,<termref def="dt-markup">&markup;</termref>を構成する。&markup;は,文書の記憶レイアウト及び論理構造についての記述を表す符号とする。XMLは,記憶レイアウト及び論理構造についての制約条件を記述する機構を提供する。</p>
<p><termdef id="dt-xml-proc" term="XML&processor;"><term>XML&processor;</term>というソフトウェアモジュールは,XML文書を読み込み,その内容及び構造へのアクセスを提供するために用いる。 </termdef> <termdef id="dt-app" term="&application;">XML&processor;は,他のモジュールのために動作することを前提とし,そのモジュールを<term>&application;</term>という。</termdef>この&TR-or-Rec;は,XML&processor;が行わなければならない振舞いを規定する。つまり,XMLデータの読込み方法を規定し,&application;に提供する情報を規定する。</p>
<!-- </div2> -->
<div2 id='sec-origin-goals'>
<head>経緯及び目標</head>
<p>1996年にWorld Wide Web Consortium(W3C)の中に設立したXML作業グループ(以前は, SGML編集レビュー委員会と呼ばれた)が,XMLを開発した。この作業グループの議長を,Sun MicrosystemsのJon Bosakが勤める。W3Cが組織し,以前はSGML作業グループと呼ばれたXML SIG(Special Interest Group)も,XMLの制定に非常に活発に参画した。
<!--JISでは? XML作業グループのメンバを付録に示す。-->Dan Connollyは,作業グループのW3Cにおける連絡係を務めた。</p>
<p>XMLの設計目標を,次に示す。<ulist>
<item><p>a) XMLは,Internet上でそのまま使用できる。</p></item>
<item><p>b) XMLは,広範囲の&application;を支援する。</p></item>
<item><p>c) XMLは,SGMLと互換性をもつ。</p></item>
<item><p>d) XML文書を処理するプログラムを書くことは,容易でなければならない。</p></item>
<item><p>e) XMLでは,オプションの機能はできるだけ少なくし,一つも存在しないことを目指す。</p></item>
<item><p>f) XML文書は,人間にとって読みやすく,十分に理解しやすい。</p></item>
<item><p>g) XMLの設計は,すみやかに行えなければならない。</p></item>
<item><p>h) XMLの設計は,厳密及び簡潔でなければならない。</p></item>
<item><p>i) XML文書は,容易に作成できる。</p></item>
<item><p>j) XMLでは,&markup;の数を減らすことは,重要ではない。</p></item></ulist>
</p>
<p>XML第&XML.version;&version;を理解し,それを処理する計算機プログラムを書くために十分な情報は,この&TR-or-Rec;及び関連する規格(文字用として,Unicode及びISO/IEC 10646,<!--* XXX for Uniform Resource Identifiers, *-->&language-identification;タグ用として,インタネット RFC 1766,&language-code;用として,ISO 639,並びに&country-code;用として,ISO 3166)で,すべて示す。</p>
<p>この&version;のXMLの規定<!-- (&doc.date;) -->は,公開レビュー及び議論を目的とする。テキスト及び法律上の注意を改変しない限り,自由に配布してもよい。</p>
</div2>
<div2 id='sec-terminology'>
<head>定義</head>
<p>XML文書の規定のために使用する用語は,この&TR-or-Rec;内で定義する。次に示す語句は,それらの用語を定義するため,及びXML&processor;の動きを規定するために使用する。
<glist>
<gitem>
<label>1.2.1 してもよい(may)</label>
<def><p><termdef id="dt-may" term="してもよい">適合する文書又はXML&processor;は,記述されたとおりに動作してもよいが,そのとおりにする必要はない。</termdef></p></def>
</gitem>
<gitem>
<label>1.2.2 しなければならない(must)</label>
<def><p>適合する文書又はXML&processor;は,記述されたとおりに動作することが要求される。そうでなければ,&error;とする。<!-- do NOT change this! this is what defines a violation ofa 'must' clause as 'an error'. -MSM -->
</p></def>
</gitem>
<gitem>
<label>1.2.3 &error;(error)</label>
<def><p><termdef id="dt-error" term="&error;">この&TR-or-Rec;が定める規則に対する違反。結果は定義しない。適合するソフトウェアは,&error;を検出して報告してもよく,&error;から回復してもよい。</termdef></p></def>
</gitem>
<gitem>
<label>1.2.4 &fatal-error;(fatal error)</label>
<def><p><termdef id="dt-fatal" term="&fatal-error;">適合する<termref def="dt-xml-proc">XML&processor;</termref>が検出しなければならず,&application;に報告しなければならない&error;。&fatal-error;を発見したあと,&processor;は,それ以降の&error;を探すためにデータ処理を続行してもよく,&error;を発見した場合は,その&error;を&application;に報告してもよい。&error;訂正をサポートするために,&processor;は,未処理データ(文字データ及び&markup;の混在したもの)を文書から取り出し,&application;に渡してもよい。しかし,一度,&fatal-error;を検出したら,&processor;は,通常の処理を続行してはならない。つまり,&processor;は,文字データ及び文書の論理構造についての情報を,通常の方法で&application;に渡し続けてはならない。</termdef></p></def>
</gitem>
<gitem>
<label>1.2.5 &at-user-option;(at user option)</label>
<def><p>適合するソフトウエアは,記述されたとおりに振る舞ってもよい(may),又は振る舞わなくてはならない(must)(文章中の助動詞による。)。そのとおりに振る舞う場合は,記述された振舞いを選択又は拒否する手段を&user;に提供しなければならない。</p></def>
</gitem>
<gitem>
<label>1.2.6 &validity;制約(validity constraint)</label>
<def><p>すべての<termref def="dt-valid">&valid;な</termref>XML文書に適用する規則。&validity;制約の違反は,&error;とする。&at-user-option;,<termref def="dt-validating">検証を行うXML&processor;</termref>は,この&error;を報告しなければならない。</p></def>
</gitem>
<gitem>
<label>1.2.7 &well-formed;制約(well-formedness constraint)</label>
<def><p>すべての<termref def="dt-wellformed">&well-formed;</termref>のXML文書に適用する規則。&well-formed;制約の違反は,<termref def="dt-fatal">&fatal-error;</termref>とする。</p></def>
</gitem>
<gitem>
<label>1.2.8 &match;(match)</label>
<def><p>a) <termdef id="dt-match" term="&match;">&string;又は名前の&match; 比較する二つの&string;又は名前は,同一でなければならない。ISO/IEC 10646において,複数の表現が可能な文字[例えば,&composed-form;及び基底+&diacritical-mark;(ダイアクリティカルマーク)形式]は,どちらの&string;も同じ表現のときに限り,&match;する。&at-user-option;,&processor;は,その文字を標準形に正規化してもよい。比較のとき、大文字と小文字との区別をする。<!-- Note that no processing of characters with respect to case is part of the matching process. --><BR>b) &string;と文法中の規則との&match; ある生成規則から生成する言語に,ある&string;が属するとき,この&string;は,この生成規則に&match;するという。<BR>c) 内容と内容モデルとの&match; ある要素が,<titleref href='elementvalid'>要素の&validity;</titleref>の制約に示す意味で適合するとき,この要素は,その宣言に&match;するという。</termdef></p></def>
</gitem>
<gitem>
<label>1.2.9 互換性のため(for compatibility)</label>
<def><p><termdef id="dt-compat" term="互換性のため">XMLの機能であって,XMLがSGMLと互換であることを保証するためだけに導入されるもの。</termdef></p></def>
</gitem>
<gitem>
<label>1.2.10 相互運用性のため(for interoperability)</label>
<def><p><termdef id="dt-interop" term="相互運用性のため">拘束力はもたない推奨事項。&WebSGML;以前から存在するSGML&processor;が,XML文書を処理できる可能性を高めるために取り入れるもの。</termdef></p></def>
</gitem>
</glist>
</p>
</div2>
</div1>
<!-- &Docs; -->
<div1 id='sec-documents'>
<head>文書</head>
<p><termdef id="dt-xml-doc" term="XML文書">
<!-- A textual object -->
この&TR-or-Rec;で定義する意味で,<termref def="dt-wellformed">&well-formed;</termref>とするデータオブジェクトを,<term>XML文書</term>という。&well-formed;のXML文書が,さらに,ある制約条件を満足すれば,<termref def="dt-valid">&valid;</termref>なXML文書とする。
</termdef></p>
<!-- why this div? -TB
<div2 id='sec-log-phys'>
<head>Logical and Physical Structure</head> -->
<p>いずれのXML文書も,論理構造及び物理構造をもつ。物理的には,文書は,<termref def="dt-entity">実体</termref>と呼ぶ単位からなる。ある実体は,文書内に他の実体を含むために,その他の実体を<termref def="dt-entref">参照</termref>してもよい。文書は,“ルート”すなわち<termref def="dt-docent">文書実体</termref>から始まる。論理的には,文書は,宣言,要素,コメント,文字参照及び処理命令を含み,これらすべては,文書内で明示的な&markup;によって示す。論理構造及び物理構造は,<titleref href="wf-entities">以降</titleref>に示すとおりに,厳密に入れ子になっていなければならない。</p>
<!--
</div2> -->
<div2 id='sec-well-formed'>
<head>&well-formed;のXML文書</head>
<p><termdef id="dt-wellformed" term="&well-formed;">あるテキストオブジェクトが,次のいずれかのとき,そのテキストオブジェクトを&well-formed;のXML文書と呼ぶ。</termdef>
<ulist>
<item><p>a) 全体として,<nt def='NT-document'>document</nt>というラベルをもつ生成規則に&match;する。</p></item>
<item><p>b) この&TR-or-Rec;で定義する,すべての&well-formed;制約に従う。</p>
</item>
<item><p>c) それぞれの<termref def='dt-parsedent'>&parsed-entity;</termref>が,<titleref href='wf-entities'>&well-formed;</titleref>となる。</p></item>
</ulist></p>
<p>
<scrap lang='ebnf' id='document'>
<head>文書</head>
<prod id='NT-document'><lhs>document</lhs>
<rhs><nt def='NT-prolog'>prolog</nt>
<nt def='NT-element'>element</nt>
<nt def='NT-Misc'>Misc</nt>*</rhs></prod>
</scrap>
</p>
<p><nt def="NT-document">document</nt>生成規則に&match;するとは,次を意味する。
<ulist>
<item><p>a) 一つ以上の<termref def="dt-element">要素</termref>を含む。</p>
</item>
<!--* N.B. some readers (notably JC) find the following
paragraph awkward and redundant. I agree it's logically redundant:
it *says* it is summarizing the logical implications of
matching the grammar, and that means by definition it's
logically redundant. I don't think it's rhetorically
redundant or unnecessary, though, so I'm keeping it. It
could however use some recasting when the editors are feeling
stronger. -MSM *-->
<item><p>b) <termdef id="dt-root" term="ルート要素"><term>ルート</term>又は文書要素という要素が一つだけ存在し,これは,他の要素の<termref def="dt-content">内容</termref>に含まれない。</termdef>これ以外のすべての要素は,その開始タグが他の要素の内容に含まれれば,対応する終了タグも同じ要素の内容に含まれる。つまり,要素は,開始タグ及び終了タグによって区切られ,入れ子構造をなす。
</p></item>
</ulist>
</p>
<p><termdef id="dt-parentchild" term="親要素/子要素">これらの結果として,文書内のどの非ルート要素<code>C</code>に対しても,ある他の要素<code>P</code>が存在し,<code>C</code>は,<code>P</code>の内容に含まれるが,<code>P</code>の内容に含まれる他の要素に含まれることはない。このとき,<code>P</code>を<code>C</code>の<code>親</code>といい,<code>C</code>を<code>P</code>の<code>子</code>という。</termdef></p>
</div2>
<div2 id="charsets">
<head>文字</head>
<p>
<!--The data stored in an XML <termref def="dt-entity">entity</termref> is
either <termref def="dt-text">parsed</termref> or <termref
def="dt-unparsed">unparsed</termref>. -->
<termdef id="dt-text" term="テキスト">&parsed-entity;は,<term>テキスト</term>(<termref def="dt-character">文字</termref>の並びであって,&markup;又は文字データを表してもよい。)を含む。</termdef><termdef id="dt-character" term="文字"><term>文字</term>は,テキストの最小単位であって,ISO/IEC 10646<bibref ref="ISO10646"/>に規定される。<!--Users may extend the ISO/IEC 10646 character repertoire by exploiting the private use areas. -->許容する文字は,タブ,改行,復帰並びにUnicode及びISO/IEC 10646が許容する図形文字とする。</termdef>
<scrap lang="ebnf" id="char32">
<head>文字の範囲</head>
<prodgroup pcw2="4" pcw4="17.5" pcw5="11">
<prod id="NT-Char"><lhs>Char</lhs>
<rhs>#x9 | #xA | #xD | [#x20-#D7FF] | [#xE000-#xFFFD]
| [#x10000-#x10FFFF]</rhs>
<com>任意のUnicode文字。ただし,&surrogate-blocks;,FFFE及びFFFFは除く。</com>
</prod>
</prodgroup>
</scrap>
</p>
<p>&character-value;をビットパタンに符号化する機構は,実体ごとに違ってもよい。すべてのXML&processor;は,ISO/IEC 10646のUTF-8符号化及びUTF-16符号化を受け付けなければならない。二つのどちらが用いられているかを明示するための機構,及び他の符号化方法を利用するための機構は,<titleref href='charencoding'>文字の符号化</titleref>に記述する。</p>
<p>どの符号化方法を用いるかに関係なく,ISO/IEC 10646の文字集合にあるすべての文字は,そのUCS-4&code-value;<!-- bit string. -->と等価な10進数又は16進数によって,参照できる。</p>
</div2>
<div2 id='sec-common-syn'>
<head>共通の構文構成子</head>
<p>2.3では,文法内で広く使用するいくつかの記号を定義する。</p>
<p><nt def="NT-S">S</nt> (空白)は,一つ若しくは複数の&space-character;(#x20),復帰,改行又はタブから成る。
<scrap lang="ebnf" id='white'>
<head>空白</head>
<prodgroup pcw2="4" pcw4="17.5" pcw5="11">
<prod id='NT-S'><lhs>S</lhs>
<rhs>(#x20 | #x9 | #xD | #xA)+</rhs>
</prod>
</prodgroup>
</scrap></p>
<p>便宜上,文字を,&letter;,数字又は他の文字に分類する。&letter;は,アルファベット的又は表音的である基本文字(一つ又は複数の&combining-character;が,後に続くこともある。),&ideographic;から成る。
<!--
Certain layout and format-control characters defined by ISO/IEC 10646
should be ignored when recognizing identifiers; these are defined by the
classes <nt def='NT-Ignorable'>Ignorable</nt> and <nt def='NT-
Extender'>Extender</nt>.
-->
各クラスにおける実際の文字についての完全な定義は,<titleref href='CharClasses'>文字クラス</titleref>に関する付録に規定する。</p>
<p><termdef id="dt-name" term="Name"><term>Name</term>は,&letter;又はいくつかの区切り文字の一つで始まり,その後に&letter;,数字,ハイフン,下線,コロン又はピリオドが続く(これらを名前文字という。)。</termdef>&string;"<code>xml</code>"又は<code>(('X'|'x') ('M'|'m') ('L'|'l'))</code>に&match;する任意の&string;で始まる名前は,この&TR-or-Rec;の現在の版又は将来の版での標準化のために予約する。
</p>
<note>
<p>XMLの名前の中のコロンは,名前空間での実験のために予約する。コロンの意味は,将来のある時点で標準化するものとし,そのときには,実験的な目的でコロンを使用する文書を更新する必要が生じる可能性がある。XMLで採用する名前空間の機構が,区切り子として実際にコロンを使用するという保証はない。事実上,これは,名前空間の実験の一つとして以外には,XMLの名前の中でコロンを使用しないほうがよいことを意味する。しかし,XML&processor;は,名前文字としてコロンを受け付けることが望ましい。
</p>
</note>
<p>
<nt def='NT-Nmtoken'>Nmtoken</nt> (名前&token;)は,名前文字で構成する列とする。
<scrap lang='ebnf'>
<head>名前及び&token;</head>
<!--
<prod id='NT-MiscName'><lhs>MiscName</lhs>
<rhs></rhs>
</prod>-->
<prod id='NT-NameChar'><lhs>NameChar</lhs>
<rhs><nt def="NT-Letter">Letter</nt>
| <nt def='NT-Digit'>Digit</nt>
<!--| <nt def='NT-MiscName'>MiscName</nt>-->
| '.' | '-' | '_' | ':'
| <nt def='NT-CombiningChar'>CombiningChar</nt>
<!-- | <nt def='NT-Ignorable'>Ignorable</nt> -->
| <nt def='NT-Extender'>Extender</nt></rhs>
</prod>
<prod id='NT-Name'><lhs>Name</lhs>
<rhs>(<nt def='NT-Letter'>Letter</nt> | '_' | ':')
(<nt def='NT-NameChar'>NameChar</nt>)*</rhs></prod>
<prod id='NT-Names'><lhs>Names</lhs>
<rhs><nt def='NT-Name'>Name</nt>
(<nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>)*</rhs></prod>
<prod id='NT-Nmtoken'><lhs>Nmtoken</lhs>
<rhs>(<nt def='NT-NameChar'>NameChar</nt>)+</rhs></prod>
<prod id='NT-Nmtokens'><lhs>Nmtokens</lhs>
<rhs><nt def='NT-Nmtoken'>Nmtoken</nt> (<nt def='NT-S'>S</nt> <nt
def='NT-Nmtoken'>Nmtoken</nt>)*</rhs></prod>
</scrap>
</p>
<p>&literal;データは,引用符で囲まれた&string;とし,その列の区切り子として使用する引用符は含まない。&literal;は,内部実体(<nt def='NT-EntityValue'>EntityValue</nt>),属性値(<nt def='NT-AttValue'>AttValue</nt>),外部&identifier;(<nt def="NT-SystemLiteral">SystemLiteral</nt>)の内容の指定に使用する。目的によっては,&literal;全体を,その中の&markup;の走査を行なわずに,スキップすることがある(<nt def='NT-SkipLit'>SkipLit</nt>。)。
<scrap lang='ebnf'>
<head>&literal;</head>
<!-- is marked section end legal in entity values etc.?
James says yes. Handbook page 392, sec. 10.4 seems to me to say no.
If James is right, leave as is. Otherwise, uncomment
the next comment and ...
-->
<!--
<prod id='NT-EntityValue'><lhs>EntityValue</lhs>
<rhs>' " '
(([^%&"]
| <nt def='NT-PEReference'>PEReference</nt>
| <nt def='NT-Reference'>Reference</nt>)*
- (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-char'>Char</nt>*))
' " '
</rhs>
<rhs>|
" ' "
(([^%&']
| <nt def='NT-PEReference'>PEReference</nt>
| <nt def='NT-Reference'>Reference</nt>)*
- (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-char'>Char</nt>*))
" ' "</rhs>
</prod>
<prod id='NT-AttValue'><lhs>AttValue</lhs>
<rhs>'"'
(([^<&"]
| <nt def='NT-Reference'>Reference</nt>)*
- (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-char'>Char</nt>*))
' " '
</rhs>
<rhs>|
" ' "
(([^<&']
| <nt def='NT-Reference'>Reference</nt>)*
- (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-char'>Char</nt>*))
" ' "</rhs>
<wfc def="CleanAttrVals"/>
</prod>
-->
<!-- ... and comment out the following, down to ... -->
<prod id='NT-EntityValue'><lhs>EntityValue</lhs>
<rhs>' " '
([^%&"]
| <nt def='NT-PEReference'>PEReference</nt>
| <nt def='NT-Reference'>Reference</nt>)*
' " '
</rhs>
<rhs>|
" ' "
([^%&']
| <nt def='NT-PEReference'>PEReference</nt>
| <nt def='NT-Reference'>Reference</nt>)*
" ' "</rhs>
</prod>
<prod id='NT-AttValue'><lhs>AttValue</lhs>
<rhs>' " '
([^<&"]
| <nt def='NT-Reference'>Reference</nt>)*
' " '
</rhs>
<rhs>|
" ' "
([^<&']
| <nt def='NT-Reference'>Reference</nt>)*
" ' "</rhs>
<!--<wfc def="WF-Attvaldelim"/>-->
</prod>
<!-- ... down to here. -->
<prod id="NT-SystemLiteral"><lhs>SystemLiteral</lhs>
<rhs><nt def='NT-SkipLit'>SkipLit</nt></rhs>
</prod>
<!-- <prod id="NT-URIchar"><lhs>URIchar</lhs>
<rhs><com>See <loc href="http://www.w3.org/XXX">XXX</loc></com>
</rhs></prod>
-->
<prod id="NT-PubidLiteral"><lhs>PubidLiteral</lhs>
<rhs>' " ' <nt def='NT-PubidChar'>PubidChar</nt>*
' " '
| " ' " (<nt def='NT-PubidChar'>PubidChar</nt> - " ' ")* " ' "</rhs>
</prod>
<prod id="NT-PubidChar"><lhs>PubidChar</lhs>
<rhs>#x20 | #xD | #xA
| [a-zA-Z0-9]
| [-'()+,./:=?]</rhs>
</prod>
<prod id="NT-SkipLit"><lhs>SkipLit</lhs>
<rhs>(' " ' [^"]* ' " ')
| (" ' " [^']* " ' ")</rhs>
</prod>
<!-- alternate form, making ms end illegal: -->
<!--
<prod id="NT-SkipLit"><lhs>SkipLit</lhs>
<rhs>(' " ' ([^"]* - ([^"]* ']]>' [^"]*)) ' " ')
| (" ' " ([^']* - ([^']* ']]>' [^']*)) " ' ")</rhs>
</prod>
-->
</scrap>
</p>
<!--
<wfcnote id="WF-Attvaldelim">
<head>Delimiters in Attribute Values</head>
<p>After the expansion of character and entity references,
an attribute value must not contain a "<code><</code>"
or "<code>&</code>" character unless that character was
introduced by the expansion of a character reference
or one of the entities &magicents;.</p>
</wfcnote>-->
<!--
This is not quite right: < should be legal, should it not?
Suppress this WFC until we get it right.
-->
<!-- Henry Thompson suggests (in substance, not form: the wording needs
to be clarified):
"Cooked Attribute values must not contain < & or the
quote which closed their uncooked literal,
unless arising from the expansion of a character reference or
magic reference
directly contained in their uncooked literal."
I'm not sure I agree with this rule, but it's at least coherent,
which is more than I can say for my attempt.
-->
</div2>
<div2 id='syntax'>
<head>文字データ及び&markup;</head>
<p><termref def='dt-text'>テキスト</termref>は,<termref def="dt-chardata">文字データ</termref>及び&markup;が混在するものとして構成する。<termdef id="dt-markup" term="Markup"><term>&markup;</term>は,<termref def="dt-stag">開始タグ</termref>,<termref def="dt-etag">終了タグ</termref>,<termref def="dt-empty">空要素</termref>,<termref def="dt-entref">実体参照</termref>,<termref def="dt-charref">文字参照</termref>,<termref def="dt-comment">コメント</termref>,<termref def="dt-cdsection">CDATAセクション</termref> の区切り子,<termref def="dt-doctype">文書型宣言</termref>及び<termref def="dt-pi">処理命令</termref>の形を取る。
</termdef>
</p>
<p><termdef id="dt-chardata" term="Character Data">&markup;ではないすべてのテキストは,文書の<term>文字データ</term>を構成する。</termdef></p>
<p>アンパサンド文字 (&)及び&left-angle-bracket; (<)は,&markup;の区切り子として,又は<termref def="dt-comment">コメント</termref>,<termref def="dt-pi">処理命令</termref>若しくは<termref def="dt-cdsection">CDATAセクション</termref>内で使用する場合に<emph>だけ</emph>,そのままの形で出現してよい。これらの文字は,内部実体宣言の<termref def='dt-litentval'>&literal;実体値</termref>内に記述してもよい。 詳しくは,<titleref href='wf-entities'>&well-formed;の実体</titleref>に関する規定を参照。<!-- FINAL EDIT: restore internal entity decl or leave it out. -->これらの文字が他の部分で必要な場合,数値による文字参照又は&string;"<code>&amp;</code>"及び&string;"<code>&lt;</code>"を使用し,<termref def="dt-escape">&escape;</termref>しなければならない。&right-angle-bracket; (>) は,&string;"<code>&gt;</code>"を使用して表現してもよい。内容の中で列"<code>]]></code>"を使用するときは,それが,<termref def="dt-cdsection">CDATAセクション</termref>の終了を&markup;しない限り,<termref def='dt-compat'>互換性のため</termref>,"<code>&gt;</code>"又は文字参照を使用し,&escape;しなければならない。</p>
<p>要素の内容では,文字データは,いかなる&markup;の開始区切り子を含まない任意の&char-string;とする。CDATAセクションでは,文字データとは,CDATAセクションの終了区切り子"<code>]]></code>"を含まない任意の&char-string;とする。
</p>
<p>
属性値に&single-quote;及び&double-quote;を含むためには,アポストロフィ又は&single-quote;(') は,"<code>&apos;</code>"として表現し,&double-quote;(")は,"<code>&quot;</code>"として表現する。
<scrap lang="ebnf">
<head>文字データ</head>
<prod id='NT-CharData'>
<lhs>CharData</lhs>
<rhs>[^<&]* - ([^<&]* ']]>' [^<&]*)</rhs>
</prod>
</scrap>
</p>
</div2>
<div2 id='sec-comments'>
<head>コメント</head>
<p><termdef id="dt-comment" term="Comment"><term>コメント</term>は,他の<termref def='dt-markup'>&markup;</termref>の外ならば,文書のどこに現れてもよい。さらに,文書型宣言内で,文法が許す場所に現れてもよい。
<!-- TB
except in a <termref def="dt-cdsection">CDATA section</termref>, i.e. within
<termref def="dt-elemcontent">element content</termref>, in
<termref def="dt-mixed">mixed content</termref>, or in the prolog. They must
not occur within declarations or tags. -->
コメントは,文書の<termref def="dt-chardata">文字データ</termref>の一部ではない。XML&processor;は,&application;がコメントのテキストを取り出すことを可能としてもよいが,そうしなくともよい。
<termref def="dt-compat">互換性のため</termref>,&string;"<code>--</code>" (&double-hyphen;)は,コメント内で現れてはならない。
<scrap lang="ebnf">
<head>コメント</head>
<prod id='NT-Comment'><lhs>Comment</lhs>
<rhs>'<!--'
((<nt def='NT-Char'>Char</nt> - '-')
| ('-' (<nt def='NT-Char'>Char</nt> - '-')))*
'-->'</rhs>
<!--
<rhs>'<!&como;'
(<nt def='NT-Char'>Char</nt>* -
(<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*))
'&comc;>'</rhs> -->
</prod>
</scrap>
</termdef></p>
<p>コメントの例を次に示す。
<eg><!&como; declarations for <head> & <body> &comc;></eg>
</p>
</div2>
<div2 id='sec-pi'>
<head>処理命令</head>
<p><termdef id="dt-pi" term="Processing instruction"><term>処理命令</term>(PI)によって,&application;のための命令を文書に入れることができる。
<scrap lang="ebnf">
<head>処理命令</head>
<prod id='NT-PI'><lhs>PI</lhs>
<rhs>'<?' <nt def='NT-PITarget'>PITarget</nt>
(<nt def='NT-S'>S</nt>
(<nt def='NT-Char'>Char</nt>* -
(<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*)))?
&pic;</rhs></prod>
<prod id='NT-PITarget'><lhs>PITarget</lhs>
<rhs><nt def='NT-Name'>Name</nt> -
(('X' | 'x') ('M' | 'm') ('L' | 'l'))</rhs>
</prod>
</scrap></termdef>
PIは,文書の<termref def="dt-chardata">文字データ</termref>の一部ではないが,&application;に渡されなければならない。PIは,命令が渡される&application;を&identify;ために使用する⌖ (<nt def='NT-PITarget'>PITarget</nt>) で始まる。⌖名 "<code>XML</code>","<code>xml</code>"などは,この&TR-or-Rec;の現在の版又は将来の版の規格化用に予約する。XMLの<termref def='dt-notation'>記法</termref>機構を,PIの⌖を宣言するために使用してもよい。
</p>
</div2>
<div2 id='sec-cdata-sect'>
<head>CDATAセクション</head>
<p><termdef id="dt-cdsection" term="CDATA Section"><term>CDATAセクション</term>は,文字データが出現するところであれば,どこに出現してもよい。これは,そうでなければ,&markup;として認識する文字を含む,テキストの区画を&escape;するのに使用する。CDATAセクションは,&string;"<code><![CDATA[</code>"で始まり,&string;
"<code>]]></code>"で終わる。
<scrap lang="ebnf">
<head>CDATAセクション</head>
<prod id='NT-CDSect'><lhs>CDSect</lhs>
<rhs><nt def='NT-CDStart'>CDStart</nt>
<nt def='NT-CData'>CData</nt>
<nt def='NT-CDEnd'>CDEnd</nt></rhs></prod>
<prod id='NT-CDStart'><lhs>CDStart</lhs>
<rhs>'<![CDATA['</rhs>
</prod>
<prod id='NT-CData'><lhs>CData</lhs>
<rhs>(<nt def='NT-Char'>Char</nt>* -
(<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-Char'>Char</nt>*))
</rhs>
</prod>
<prod id='NT-CDEnd'><lhs>CDEnd</lhs>
<rhs>']]>'</rhs>
</prod>
</scrap>
CDATAセクション内では,列<nt def='NT-CDEnd'>CDEnd</nt>だけを&markup;として認識するので,&left-angle-bracket;及びアンパサンドは,その&literal;形式で出現してよい。それらは,"<code>&lt;</code>"及び"<code>&amp;</code>"を使用して&escape;する必要はない。CDATAセクションは,入れ子にはできない。
</termdef>
</p>
<p>"<code><greeting></code>"及び"<code></greeting></code>"を,<termref def='dt-markup'>&markup;</termref>ではなく,<termref def='dt-chardata'>文字データ</termref>として認識するCDATAセクションの例を,次に示す。
<eg><![CDATA[<greeting>Hello, world!</greeting>]]></eg>
</p>
</div2>
<div2 id='sec-prolog-dtd'>
<head>&prolog;及び文書型宣言</head>
<p><termdef id='dt-xmldecl' term='XML Declaration'>XML文書は,使用するXMLの&version;を指定する<term>XML宣言</term>で始めてもよく,又そうするのが望ましい。
</termdef>
</p>
<p>この&TR-or-Rec;のこの&version;に適合することを示すためには,&version;番号 "<code>1.0</code>" を使用しなければならない。ある文書が,この&TR-or-Rec;のこの&version;に適合しないとき,値"<code>1.0</code>"を使用するのは,&error;とする。この&TR-or-Rec;の今後の&version;に"<code>1.0</code>"以外の値を付与することが,XML作業グループの意図だが,XMLの将来の&version;を作成することの確約を示すわけではなく,作成したとしても,番号付けについて,特定の方法を使用することの確約を示すわけでもない。将来の&version;の可能性を除外しないので,必要な場合,自動的な&version;の認識を可能とする手段として,この構成子を提供する。&processor;は,サポートしていない&version;でラベル付けした文書を受け取ったとき,&error;を通知してもよい。
</p>