rgen 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +20 -1
- data/MIT-LICENSE +1 -1
- data/README +12 -9
- data/lib/instantiators/ea_instantiator.rb +36 -0
- data/lib/metamodels/uml13_metamodel.rb +559 -0
- data/lib/metamodels/uml13_metamodel_ext.rb +26 -0
- data/lib/mmgen/metamodel_generator.rb +5 -5
- data/lib/mmgen/mm_ext/ecore_ext.rb +95 -0
- data/lib/mmgen/mmgen.rb +6 -4
- data/lib/mmgen/templates/annotations.tpl +37 -0
- data/lib/mmgen/templates/metamodel_generator.tpl +171 -0
- data/lib/rgen/ecore/ecore.rb +190 -0
- data/lib/rgen/ecore/ecore_instantiator.rb +25 -0
- data/lib/rgen/ecore/ecore_transformer.rb +85 -0
- data/lib/rgen/environment.rb +9 -24
- data/lib/rgen/find_helper.rb +68 -0
- data/lib/rgen/{instantiator.rb → instantiator/abstract_instantiator.rb} +6 -2
- data/lib/rgen/instantiator/abstract_xml_instantiator.rb +59 -0
- data/lib/rgen/instantiator/default_xml_instantiator.rb +117 -0
- data/lib/rgen/instantiator/ecore_xml_instantiator.rb +144 -0
- data/lib/rgen/instantiator/nodebased_xml_instantiator.rb +157 -0
- data/lib/rgen/instantiator/xmi11_instantiator.rb +164 -0
- data/lib/rgen/metamodel_builder.rb +103 -9
- data/lib/rgen/metamodel_builder/build_helper.rb +26 -4
- data/lib/rgen/metamodel_builder/builder_extensions.rb +285 -88
- data/lib/rgen/metamodel_builder/builder_runtime.rb +7 -1
- data/lib/rgen/metamodel_builder/data_types.rb +67 -0
- data/lib/rgen/metamodel_builder/intermediate/annotation.rb +30 -0
- data/lib/rgen/metamodel_builder/metamodel_description.rb +232 -0
- data/lib/rgen/metamodel_builder/mm_multiple.rb +23 -0
- data/lib/rgen/metamodel_builder/module_extension.rb +33 -0
- data/lib/rgen/model_comparator.rb +56 -0
- data/lib/rgen/model_dumper.rb +5 -5
- data/lib/rgen/name_helper.rb +17 -1
- data/lib/rgen/template_language.rb +148 -28
- data/lib/rgen/template_language/directory_template_container.rb +56 -38
- data/lib/rgen/template_language/output_handler.rb +93 -77
- data/lib/rgen/template_language/template_container.rb +186 -143
- data/lib/rgen/transformer.rb +19 -14
- data/lib/transformers/uml13_to_ecore.rb +75 -0
- data/redist/xmlscan/ChangeLog +1301 -0
- data/redist/xmlscan/README +34 -0
- data/redist/xmlscan/THANKS +11 -0
- data/redist/xmlscan/doc/changes.html +74 -0
- data/redist/xmlscan/doc/changes.rd +80 -0
- data/redist/xmlscan/doc/en/conformance.html +136 -0
- data/redist/xmlscan/doc/en/conformance.rd +152 -0
- data/redist/xmlscan/doc/en/manual.html +356 -0
- data/redist/xmlscan/doc/en/manual.rd +402 -0
- data/redist/xmlscan/doc/ja/conformance.ja.html +118 -0
- data/redist/xmlscan/doc/ja/conformance.ja.rd +134 -0
- data/redist/xmlscan/doc/ja/manual.ja.html +325 -0
- data/redist/xmlscan/doc/ja/manual.ja.rd +370 -0
- data/redist/xmlscan/doc/src/Makefile +41 -0
- data/redist/xmlscan/doc/src/conformance.rd.src +256 -0
- data/redist/xmlscan/doc/src/langsplit.rb +110 -0
- data/redist/xmlscan/doc/src/manual.rd.src +614 -0
- data/redist/xmlscan/install.rb +41 -0
- data/redist/xmlscan/lib/xmlscan/encoding.rb +311 -0
- data/redist/xmlscan/lib/xmlscan/htmlscan.rb +289 -0
- data/redist/xmlscan/lib/xmlscan/namespace.rb +352 -0
- data/redist/xmlscan/lib/xmlscan/parser.rb +299 -0
- data/redist/xmlscan/lib/xmlscan/scanner.rb +1109 -0
- data/redist/xmlscan/lib/xmlscan/version.rb +22 -0
- data/redist/xmlscan/lib/xmlscan/visitor.rb +158 -0
- data/redist/xmlscan/lib/xmlscan/xmlchar.rb +441 -0
- data/redist/xmlscan/memo/CONFORMANCE +1249 -0
- data/redist/xmlscan/memo/PRODUCTIONS +195 -0
- data/redist/xmlscan/memo/contentspec.ry +335 -0
- data/redist/xmlscan/samples/chibixml.rb +105 -0
- data/redist/xmlscan/samples/getxmlchar.rb +122 -0
- data/redist/xmlscan/samples/rexml.rb +159 -0
- data/redist/xmlscan/samples/xmlbench.rb +88 -0
- data/redist/xmlscan/samples/xmlbench/parser/chibixml.rb +22 -0
- data/redist/xmlscan/samples/xmlbench/parser/nqxml.rb +29 -0
- data/redist/xmlscan/samples/xmlbench/parser/rexml.rb +62 -0
- data/redist/xmlscan/samples/xmlbench/parser/xmlparser.rb +22 -0
- data/redist/xmlscan/samples/xmlbench/parser/xmlscan-0.0.10.rb +62 -0
- data/redist/xmlscan/samples/xmlbench/parser/xmlscan-chibixml.rb +22 -0
- data/redist/xmlscan/samples/xmlbench/parser/xmlscan-rexml.rb +22 -0
- data/redist/xmlscan/samples/xmlbench/parser/xmlscan.rb +99 -0
- data/redist/xmlscan/samples/xmlbench/xmlbench-lib.rb +116 -0
- data/redist/xmlscan/samples/xmlconftest.rb +200 -0
- data/redist/xmlscan/test.rb +7 -0
- data/redist/xmlscan/tests/deftestcase.rb +73 -0
- data/redist/xmlscan/tests/runtest.rb +47 -0
- data/redist/xmlscan/tests/testall.rb +14 -0
- data/redist/xmlscan/tests/testencoding.rb +438 -0
- data/redist/xmlscan/tests/testhtmlscan.rb +752 -0
- data/redist/xmlscan/tests/testnamespace.rb +457 -0
- data/redist/xmlscan/tests/testparser.rb +591 -0
- data/redist/xmlscan/tests/testscanner.rb +1749 -0
- data/redist/xmlscan/tests/testxmlchar.rb +143 -0
- data/redist/xmlscan/tests/visitor.rb +34 -0
- data/test/array_extensions_test.rb +2 -2
- data/test/ea_instantiator_test.rb +41 -0
- data/test/ecore_self_test.rb +53 -0
- data/test/environment_test.rb +11 -6
- data/test/metamodel_builder_test.rb +404 -245
- data/test/metamodel_roundtrip_test.rb +52 -0
- data/test/metamodel_roundtrip_test/TestModel.rb +65 -0
- data/test/metamodel_roundtrip_test/TestModel_Regenerated.rb +64 -0
- data/test/metamodel_roundtrip_test/houseMetamodel.ecore +32 -0
- data/test/metamodel_roundtrip_test/houseMetamodel_from_ecore.rb +39 -0
- data/test/rgen_test.rb +3 -3
- data/test/template_language_test.rb +65 -39
- data/test/template_language_test/expected_result.txt +24 -3
- data/test/template_language_test/templates/code/array.tpl +11 -0
- data/test/template_language_test/templates/content/author.tpl +7 -0
- data/test/template_language_test/templates/content/chapter.tpl +1 -1
- data/test/template_language_test/templates/root.tpl +17 -8
- data/test/template_language_test/testout.txt +24 -3
- data/test/testmodel/class_model_checker.rb +119 -0
- data/test/{xmi_instantiator_test/testmodel.eap → testmodel/ea_testmodel.eap} +0 -0
- data/test/{xmi_instantiator_test/testmodel.xml → testmodel/ea_testmodel.xml} +81 -14
- data/test/testmodel/ea_testmodel_partial.xml +317 -0
- data/test/testmodel/ecore_model_checker.rb +101 -0
- data/test/testmodel/manual_testmodel.xml +22 -0
- data/test/testmodel/object_model_checker.rb +67 -0
- data/test/transformer_test.rb +18 -10
- data/test/xml_instantiator_test.rb +81 -8
- data/test/xml_instantiator_test/simple_ecore_model_checker.rb +94 -0
- data/test/xml_instantiator_test/simple_xmi_ecore_instantiator.rb +53 -0
- data/test/xml_instantiator_test/simple_xmi_metamodel.rb +49 -0
- data/test/xml_instantiator_test/simple_xmi_to_ecore.rb +75 -0
- metadata +126 -28
- data/lib/ea/xmi_class_instantiator.rb +0 -46
- data/lib/ea/xmi_helper.rb +0 -26
- data/lib/ea/xmi_metamodel.rb +0 -34
- data/lib/ea/xmi_object_instantiator.rb +0 -46
- data/lib/ea/xmi_to_classmodel.rb +0 -78
- data/lib/ea/xmi_to_objectmodel.rb +0 -92
- data/lib/mmgen/mm_ext/uml_classmodel_ext.rb +0 -71
- data/lib/mmgen/templates/uml_classmodel.tpl +0 -63
- data/lib/rgen/xml_instantiator.rb +0 -132
- data/lib/uml/objectmodel_instantiator.rb +0 -53
- data/lib/uml/uml_classmodel.rb +0 -92
- data/lib/uml/uml_objectmodel.rb +0 -65
- data/test/metamodel_generator_test.rb +0 -44
- data/test/metamodel_generator_test/TestModel.rb +0 -40
- data/test/metamodel_generator_test/expected_result.txt +0 -40
- data/test/xmi_class_instantiator_test.rb +0 -24
- data/test/xmi_instantiator_test/class_model_checker.rb +0 -97
- data/test/xmi_object_instantiator_test.rb +0 -65
- data/test/xml_instantiator_test/testmodel.xml +0 -7
|
@@ -0,0 +1,1249 @@
|
|
|
1
|
+
$Id: CONFORMANCE,v 1.2 2002/12/26 19:27:02 katsu Exp $
|
|
2
|
+
|
|
3
|
+
| English:
|
|
4
|
+
|
|
|
5
|
+
| Original English statements are all quoted from XML 1.0 specification[1],
|
|
6
|
+
| Namespaces in XML[3], and its errata[4]. Japanese statements are almost
|
|
7
|
+
| quoted from the Japanese translation of XML 1.0 specification[2] and
|
|
8
|
+
| modified by me to adapt to the second edition. New constraints added from
|
|
9
|
+
| the second edition and constraints about XML namespaces are translated
|
|
10
|
+
| into Japanese by me.
|
|
11
|
+
|
|
|
12
|
+
| Each line which begins with `==>' at the end of each constraint is
|
|
13
|
+
| displayed whether xmlscan implements that constraint or not.
|
|
14
|
+
|
|
|
15
|
+
| You can suppress Japanese sentences in this way:
|
|
16
|
+
|
|
|
17
|
+
| ruby -ne 'print unless ~/\e/' CONFORMANCE
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
Japanese / $BF|K\8l(B:
|
|
21
|
+
|
|
22
|
+
$B1Q8l$N86J8$O(B XML 1.0 specification[1], Namespaces in XML[3], $B5Z$S$=$l$N(B
|
|
23
|
+
eratta[4]$B$+$i0zMQ$7$?!#F|K\8lLu$OBgItJ,$r(B XML 1.0 $B$NF|K\8lLu(B[2]$B$+$i0zMQ$7!"(B
|
|
24
|
+
$BBh(B2$BHG$X$NBP1~Ey$N$?$a<c43<j$r2C$($?!#(BXML 1.0 $BBh(B2$BHG$+$i?7$?$K2C$o$C$?@)Ls!"(B
|
|
25
|
+
$B5Z$SL>A06u4V$K4X$9$k@)Ls$NF|K\8lLu$O@[Lu$G$"$k!#(B
|
|
26
|
+
|
|
27
|
+
$B3F@)Ls$NKvHx$K$"$k(B `==>' $B$G;O$^$k9T$O!"8=:_$N(B xmlscan $B$K$*$1$kEv3:@)Ls$N(B
|
|
28
|
+
$B<BAu>u67$r<($9!#(B
|
|
29
|
+
|
|
30
|
+
$B<!$N$h$&$K$9$l$P1Q8l$NJ8$r1#$9$3$H$,$G$-$k!#(B
|
|
31
|
+
|
|
32
|
+
ruby -ne 'print unless ~/^\|/' CONFORMANCE
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
[1] Tim Bray, Jean Paoli, C.M. Sperberg-McQueen, and Eve Maler.
|
|
37
|
+
Extensible Markup Language (XML) 1.0 (Second Edition) Review Version.
|
|
38
|
+
World Wide Web Consortium, 2000.
|
|
39
|
+
(URL: http://www.w3.org/TR/2000/REC-xml-20001006-review.html)
|
|
40
|
+
|
|
41
|
+
[2] $BF|K\5,3J6(2q(B INSTAC S-WG $BLu(B $B!X3HD%2DG=$J%^!<%/IU$18@8l(B (XML) 1.0$B!Y(B
|
|
42
|
+
(URL: http://www.fxis.co.jp/DMS/sgml/xml/wrapper-xml-19980210.html)
|
|
43
|
+
|
|
44
|
+
[3] Tim Bray, Dave Hollander, Andrew Layman. Namespaces in XML.
|
|
45
|
+
World Wide Web Consortium, 1999.
|
|
46
|
+
(URL: http://www.w3.org/TR/1999/REC-xml-names-19990114/)
|
|
47
|
+
|
|
48
|
+
[4] Namespaces in XML Errata, 29 April 2002. World Wide Web Consortium.
|
|
49
|
+
(URL: http://www.w3.org/XML/xml-names-19990114-errata)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
| 2.1 Well-Formed XML Documents
|
|
58
|
+
|
|
|
59
|
+
| [Definition: A textual object is a well-formed XML document if:]
|
|
60
|
+
|
|
|
61
|
+
| 1. Taken as a whole, it matches the production labeled document.
|
|
62
|
+
| 2. It meets all the well-formedness constraints given in this specification.
|
|
63
|
+
| 3. Each of the parsed entities which is referenced directly or indirectly
|
|
64
|
+
| within the document is well-formed.
|
|
65
|
+
|
|
66
|
+
2.1 $B@07A<0$N(BXML$BJ8=q(B
|
|
67
|
+
|
|
68
|
+
[Definition: $B$"$k%F%-%9%H%*%V%8%'%/%H$,!"<!$N>r7o$rK~$?$9$H$-!"(B
|
|
69
|
+
$B$=$N%F%-%9%H%*%V%8%'%/%H$r@07A<0$N(BXML$BJ8=q$H8F$V!#(B]
|
|
70
|
+
|
|
71
|
+
a) $BA4BN$H$7$F!"(Bdocument$B$H$$$&%i%Y%k$r$b$D@8@.5,B'$K%^%C%A$9$k!#(B
|
|
72
|
+
b) $B$3$NI8=`>pJs(B(TR)$B$GDj5A$9$k$9$Y$F$N@07A<0@)Ls$K=>$&!#(B
|
|
73
|
+
c) $BJ8=qFb$GD>@\E*$^$?$O4V@\E*$K;2>H$5$l$k$=$l$>$l$N2r@OBP>]<BBN$,@07A<0$H(B
|
|
74
|
+
$B$J$k!#(B
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
| [Definition: Validating processors must[INS:[E21], at user option,:INS]
|
|
80
|
+
| report violations of the constraints expressed by the declarations in the
|
|
81
|
+
| DTD, and failures to fulfill the validity constraints given in this
|
|
82
|
+
| specification.] To accomplish this, validating XML processors must read and
|
|
83
|
+
| process the entire DTD and all external parsed entities referenced in the
|
|
84
|
+
| document.
|
|
85
|
+
|
|
|
86
|
+
| Non-validating processors are required to check only the document entity,
|
|
87
|
+
| including the entire internal DTD subset, for well-formedness. [Definition:
|
|
88
|
+
| While they are not required to check the document for validity, they are
|
|
89
|
+
| required to process all the declarations they read in the internal DTD subset
|
|
90
|
+
| and in any parameter entity that they read, up to the first reference to a
|
|
91
|
+
| parameter entity that they do not read; that is to say, they must use the
|
|
92
|
+
| information in those declarations to normalize attribute values, include the
|
|
93
|
+
| replacement text of internal entities, and supply default attribute values.]
|
|
94
|
+
| [INS:[E33]Except when standalone="yes",:INS] they must not process entity
|
|
95
|
+
| declarations or attribute-list declarations encountered after a reference
|
|
96
|
+
| to a parameter entity that is not read, since the entity may have contained
|
|
97
|
+
| overriding declarations.
|
|
98
|
+
|
|
99
|
+
[Definition: $BBEEv@-$r8!>Z$9$k%W%m%;%5$O!"(B[INS:$B%f!<%6$N%*%W%7%g%s;XDj$K(B
|
|
100
|
+
$B$h$C$F$O!"(B:INS]DTD$BFb$N@k8@$K$h$C$F<($5$l$?@)Ls$X$N0cH?$H!"$3$NI8=`>pJs(B
|
|
101
|
+
(TR)$B$,5,Dj$9$kBEEv@-@)Ls$X$N0cH?$H$r!"$9$Y$FJs9p$7$J$1$l$P$J$i$J$$!#(B]
|
|
102
|
+
$B$3$l$r<B8=$9$k$?$a$K!"BEEv@-$r8!>Z$9$k(BXML$B%W%m%;%5$O!"(BDTD$BA4BN$HJ8=qFb$G(B
|
|
103
|
+
$B;2>H$5$l$F$$$k$9$Y$F$N30It2r@OBP>]<BBN$H$rFI$_9~$s$G=hM}$7$J$1$l$P$J$i$J$$!#(B
|
|
104
|
+
|
|
105
|
+
$BBEEv@-$r8!>Z$7$J$$%W%m%;%5$O!"@07A<0$G$"$k$3$H$r3NG'$9$k$?$a$K!"(B
|
|
106
|
+
DTD$B$NFbIt%5%V%;%C%HA4BN$r4^$a$?J8=q<BBN$rD4$Y$k$3$H$@$1$,5AL3$E$1$i$l$F$$$k!#(B
|
|
107
|
+
[Definition: $BJ8=q$NBEEv@-$r3NG'$9$kI,MW$O$J$$$,!"FI$_9~$s$G$$$J$$(B
|
|
108
|
+
$B%Q%i%a%?<BBN$X$N;2>H$,:G=i$K5/$-$k$^$G$KFI$_9~$s$@(BDTD$B$NFbIt%5%V%;%C%H$H(B
|
|
109
|
+
$B%Q%i%a%?<BBN$H$K8=$l$k$9$Y$F$N@k8@$r=hM}$7$J$1$l$P$J$i$J$$!#(B
|
|
110
|
+
$B$9$J$o$A!"B0@-CM$r@55,2=$7!"FbIt<BBN$NCV49%F%-%9%H$r<h9~$_!"(B
|
|
111
|
+
$B%G%U%)%k%H$NB0@-CM$rM?$($k$?$a$K!"$3$l$i$N@k8@$K$"$k>pJs$r;HMQ$7$J$1$l$P(B
|
|
112
|
+
$B$J$i$J$$!#(B]
|
|
113
|
+
[INS:standalone="yes" $B$G$"$k>l9g$r=|$-!"(B:INS]$B<BBN$N@k8@$O>e=q$-$5$l$k(B
|
|
114
|
+
$B2DG=@-$,$"$k$N$G!"BEEv@-$r8!>Z$7$J$$%W%m%;%5$O!"FI$_9~$s$G$$$J$$(B
|
|
115
|
+
$B%Q%i%a%?<BBN$X$N;2>H$h$j8e$K8=$l$?<BBN@k8@5Z$SB0@-%j%9%H@k8@$r=hM}$7$F$O(B
|
|
116
|
+
$B$J$i$J$$!#(B
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
| [INS:Parameter entity references are recognized anywhere in the DTD
|
|
124
|
+
| (internal and external subsets and external parameter entities), except
|
|
125
|
+
| in literals, processing instructions, comments, and the contents of
|
|
126
|
+
| ignored conditional sections (see 3.4 Conditional Sections). They are also
|
|
127
|
+
| recognized in entity value literals. The use of parameter entities in the
|
|
128
|
+
| internal subset is restricted as described below.:INS]
|
|
129
|
+
|
|
130
|
+
[INS:$B%Q%i%a%?<BBN;2>H$O%j%F%i%k!"=hM}L?Na!"%3%a%s%H!"5Z$SL5;k$5$l$k(B
|
|
131
|
+
$B>r7oIU$-%;%/%7%g%s(B ($B!V(B3.4 $B>r7oIU$-%;%/%7%g%s!W;2>H(B) $B$r=|$-!"(BDTD
|
|
132
|
+
($BFbIt(BDTD$B%5%V%;%C%H5Z$S30It%Q%i%a%?<BBN(B) $B$NCf$N$I$3$G$bG'<1$5$l$k!#(B
|
|
133
|
+
$B$^$?!"%j%F%i%k<BBNCM$NCf$G$bG'<1$5$l$k!#FbIt%5%V%;%C%HFb$G$N(B
|
|
134
|
+
$B%Q%i%a%?<BBN$N;H$$J}$O8e=R$9$k$h$&$K@)8B$5$l$k!#(B:INS]
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
== $B%Q%i%a%?<BBN$K4X$9$k%a%b(B
|
|
140
|
+
|
|
141
|
+
SGML $B$G$O(B:
|
|
142
|
+
|
|
143
|
+
$B%Q%i%a%?<BBN;2>H3+;O6h@Z$j;R(B % $B$O(B
|
|
144
|
+
* DSM $B!D(B $B@k8@ItJ,=89gKt$O$=$NCf$N%^!<%/6h4V@k8@$N%^!<%/@k8@$NCf(B
|
|
145
|
+
* GRP $B!D(B $B72$NCf(B
|
|
146
|
+
* MD $B!D(B $B%^!<%/@k8@$NCf(B
|
|
147
|
+
* LIT $B!D(B $BI=5-$NCf(B
|
|
148
|
+
$B$GG'CN$9$k!#(B
|
|
149
|
+
|
|
150
|
+
$B0z?t<BBN;2>H$O!"(B
|
|
151
|
+
* $B0z?tJ,N%;R(Bps
|
|
152
|
+
* $B0z?tI=5-(B
|
|
153
|
+
* $B72(B
|
|
154
|
+
* $B@k8@J,N%;R(Bds
|
|
155
|
+
$B$NJ8L.$K8=$l$k!#(B
|
|
156
|
+
|
|
157
|
+
XML $B$NMQ8l$KK]Lu$9$k$H(B:
|
|
158
|
+
|
|
159
|
+
$B%Q%i%a%?<BBN;2>H3+;O6h@Z$j;R(B % $B$O(B
|
|
160
|
+
* DSM $B!D(B DTD$B%5%V%;%C%HKt$O$=$NCf$N>r7oIU$-%;%/%7%g%s$N%-!<%o!<%I(B
|
|
161
|
+
* GRP $B!D(B $BFbMF%b%G%k$NCf(B
|
|
162
|
+
* MD $B!D(B $B%^!<%/IU$1@k8@$NCf(B
|
|
163
|
+
* LIT $B!D(B $B%j%F%i%k$NCf(B
|
|
164
|
+
$B$GG'CN$7!"(B
|
|
165
|
+
* ($B>r7oIU$-%;%/%7%g%s$b4^$_(B)$B%^!<%/IU$1@k8@Fb$N0z?t$N4V(B
|
|
166
|
+
* $B%j%F%i%k<BBNCM(B
|
|
167
|
+
* $BFbMF%b%G%k(B
|
|
168
|
+
* $B%^!<%/IU$1@k8@$N4V(B
|
|
169
|
+
$B$NJ8L.$K8=$l$k!#(B
|
|
170
|
+
|
|
171
|
+
$B!D$H$$$&$3$H$+$J!)(B
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
| Well-formedness constraint: PEs in Internal Subset
|
|
179
|
+
|
|
|
180
|
+
| In the internal DTD subset, parameter-entity references can occur only where
|
|
181
|
+
| markup declarations can occur, not within markup declarations. (This does not
|
|
182
|
+
| apply to references that occur in external parameter entities or to the
|
|
183
|
+
| external subset.)
|
|
184
|
+
|
|
185
|
+
Well-formedness constraint: $BFbIt%5%V%;%C%HFb$N%Q%i%a%?<BBN(B
|
|
186
|
+
|
|
187
|
+
DTD$B$NFbIt%5%V%;%C%H$G$O!"%Q%i%a%?<BBN;2>H$O!"%^!<%/IU$1@k8@$,=P8=2DG=$J(B
|
|
188
|
+
$B>l=j$@$1$K=P8=$G$-$k!#%^!<%/IU$1@k8@$N0lIt$H$7$F$O=P8=$G$-$J$$!#$3$N@)Ls$O(B
|
|
189
|
+
$B30It%Q%i%a%?<BBNKt$O30It%5%V%;%C%H$G$N;2>H$K$OE,MQ$7$J$$!#(B
|
|
190
|
+
|
|
191
|
+
==> Not Implemented.
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
| [INS:
|
|
197
|
+
| Well-formedness constraint: [E109]External Subset
|
|
198
|
+
|
|
|
199
|
+
| The external subset, if any, must match the production for extSubset.
|
|
200
|
+
| :INS]
|
|
201
|
+
|
|
202
|
+
[INS:
|
|
203
|
+
Well-formedness constraint: $B30It%5%V%;%C%H(B
|
|
204
|
+
|
|
205
|
+
$B30It%5%V%;%C%H$O!"(BextSubset $B$K%^%C%A$7$J$1$l$P$J$i$J$$!#(B
|
|
206
|
+
:INS]
|
|
207
|
+
|
|
208
|
+
==> Not Implemented.
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
| [INS:
|
|
214
|
+
| Well-formedness constraint: [E109]PE Between Declarations
|
|
215
|
+
|
|
|
216
|
+
| The replacement text of a parameter entity reference in a DeclSep
|
|
217
|
+
| must match the production extSubsetDecl.
|
|
218
|
+
| :INS]
|
|
219
|
+
|
|
220
|
+
[INS:
|
|
221
|
+
Well-formedness constraint: $B@k8@4V$N%Q%i%a%?<BBN(B
|
|
222
|
+
|
|
223
|
+
DeclSep $BCf$N%Q%i%a%?<BBN;2>H$NCV49%F%-%9%H$O(B extSubsetDecl $B$K(B
|
|
224
|
+
$B%^%C%A$7$J$1$l$P$J$i$J$$!#(B
|
|
225
|
+
:INS]
|
|
226
|
+
|
|
227
|
+
==> Not Implemented.
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
| Well-formedness constraint: Element Type Match
|
|
233
|
+
|
|
|
234
|
+
| The Name in an element's end-tag must match the element type in the
|
|
235
|
+
| start-tag.
|
|
236
|
+
|
|
237
|
+
Well-formedness constraint: $BMWAG7?$N%^%C%A(B
|
|
238
|
+
|
|
239
|
+
$BMWAG$N=*N;%?%0$NL>A0$O!"$=$NMWAG$N3+;O%?%0$K$*$1$kMWAG7?(B ($B$NL>A0(B) $B$H(B
|
|
240
|
+
$B%^%C%A$7$J$1$l$P$J$i$J$$!#(B
|
|
241
|
+
|
|
242
|
+
==> Implemented in XMLScan::XMLParser.
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
| Well-formedness constraint: Unique Att Spec
|
|
248
|
+
|
|
|
249
|
+
| No attribute name may appear more than once in the same start-tag or
|
|
250
|
+
| empty-element tag.
|
|
251
|
+
|
|
252
|
+
Well-formedness constraint: $BB0@-;XDj$N0l0U@-(B
|
|
253
|
+
|
|
254
|
+
$B3+;O%?%0Kt$O6uMWAG%?%0$G$O!"F10l$NB0@-L>$,Fs2s0J>e=P8=$7$F$O$J$i$J$$!#(B
|
|
255
|
+
|
|
256
|
+
==> Implemented in XMLScan::XMLParser.
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
| Well-formedness constraint: No External Entity References
|
|
262
|
+
|
|
|
263
|
+
| Attribute values cannot contain direct or indirect entity references to
|
|
264
|
+
| external entities.
|
|
265
|
+
|
|
266
|
+
Well-formedness constraint: $B30It<BBN$X$N;2>H$,$J$$$3$H(B
|
|
267
|
+
|
|
268
|
+
$BB0@-CM$K$O!"30It<BBN$X$ND>@\E*Kt$O4V@\E*$J;2>H$r4^$`$3$H$O$G$-$J$$!#(B
|
|
269
|
+
|
|
270
|
+
==> Not Implemented.
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
| Well-formedness constraint: No < in Attribute Values
|
|
276
|
+
|
|
|
277
|
+
| The replacement text of any entity referred to directly or indirectly in an
|
|
278
|
+
| attribute value [DEL:(*1):DEL] must not contain a <.
|
|
279
|
+
|
|
|
280
|
+
| (*1) (other than "<")
|
|
281
|
+
|
|
282
|
+
Well-formedness constraint: $BB0@-CM$K(B < $B$r4^$^$J$$$3$H(B
|
|
283
|
+
|
|
284
|
+
$BB0@-CMFb$GD>@\E*Kt$O4V@\E*$K;2>H$9$k<BBN(B [DEL:(*1):DEL] $B$NCV49%F%-%9%H(B
|
|
285
|
+
$B$K$O!"(B< $B$r4^$s$G$O$J$i$J$$!#(B
|
|
286
|
+
|
|
287
|
+
(*1) ("<"$B$r=|$/!#(B)
|
|
288
|
+
|
|
289
|
+
==> Partially Implemented in XMLScan::XMLScanner.
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
| Well-formedness constraint: Legal Character
|
|
295
|
+
|
|
|
296
|
+
| Characters referred to using character references must match the production
|
|
297
|
+
| for Char.
|
|
298
|
+
|
|
299
|
+
Well-formedness constraint: $B;HMQ$G$-$kJ8;z(B
|
|
300
|
+
|
|
301
|
+
$BJ8;z;2>H$G;2>H$9$kJ8;z$O!"(BChar$B$N@8@.5,B'$K%^%C%A$7$J$1$l$P$J$i$J$$!#(B
|
|
302
|
+
|
|
303
|
+
==> Not Implemented.
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
| Well-formedness constraint: Entity Declared
|
|
309
|
+
|
|
|
310
|
+
| In a document without any DTD, a document with only an internal DTD subset
|
|
311
|
+
| which contains no parameter entity references, or a document with
|
|
312
|
+
| "standalone='yes'", [UPD:[E34]for an entity reference that does not occur
|
|
313
|
+
| within the external subset or a parameter entity, the Name given in the
|
|
314
|
+
| entity reference must match that in an entity declaration that does not occur
|
|
315
|
+
| within the external subset or a parameter entity:UPD], except that
|
|
316
|
+
| well-formed documents need not declare any of the following entities: amp,
|
|
317
|
+
| lt, gt, apos, quot. [DEL:(*1):DEL] The declaration of a general entity
|
|
318
|
+
| must precede any reference to it which appears in a default value in
|
|
319
|
+
| an attribute-list declaration.
|
|
320
|
+
|
|
|
321
|
+
| Note that if entities are declared in the external subset or in external
|
|
322
|
+
| parameter entities, a non-validating processor is not obligated to read and
|
|
323
|
+
| process their declarations; for such documents, the rule that an entity
|
|
324
|
+
| must be declared is a well-formedness constraint only if standalone='yes'.
|
|
325
|
+
|
|
|
326
|
+
| (*1) [E29]The declaration of a parameter entity must precede
|
|
327
|
+
| any reference to it. Similarly,
|
|
328
|
+
|
|
329
|
+
Well-formedness constraint: $B<BBN$,@k8@$5$l$F$$$k$3$H(B
|
|
330
|
+
|
|
331
|
+
DTD$B$r$b$?$J$$J8=q!"%Q%i%a%?<BBN;2>H$r4^$^$J$$FbIt(BDTD$B%5%V%;%C%H$@$1$r$b$DJ8=q!"(B
|
|
332
|
+
$BKt$O(B "standalone='yes'" $B$r$b$DJ8=q$K$*$$$F!"(B[UPD:$B30It%5%V%;%C%HKt$O(B
|
|
333
|
+
$B%Q%i%a%?<BBNFb$K8=$l$J$$<BBN;2>H$GMQ$$$k(B Name $B$O!"30It%5%V%;%C%HKt$O(B
|
|
334
|
+
$B%Q%i%a%?<BBNFb$K8=$l$J$$<BBN@k8@$H%^%C%A$7$J$1$l$P$J$i$J$$!#(B:UPD]
|
|
335
|
+
$B$?$@$7!"@07A<0$NJ8=q$O!"<BBN(B amp, lt, gt, apos, quot $B$r@k8@$9$kI,MW$O$J$$!#(B
|
|
336
|
+
[DEL:(*1):DEL] $B0lHL<BBN$N>l9g$O!"B0@-%j%9%H@k8@$N%G%U%)%k%HCMFb$G$N;2>H$h$j(B
|
|
337
|
+
$B@h$K!"@k8@$,8=$l$J$1$l$P$J$i$J$$!#(B
|
|
338
|
+
|
|
339
|
+
$B30It%5%V%;%C%HKt$O30It%Q%i%a%?<BBN$G<BBN$r@k8@$9$k$H$-!"BEEv@-$r8!>Z$7$J$$(B
|
|
340
|
+
$B%W%m%;%5$,!"@k8@$rFI$_!"=hM}$9$k$3$H$r5AL3$E$1$J$$$3$H$KCm0U!#(B
|
|
341
|
+
$B$=$l$i$NJ8=q$G$O!"<BBN$O@k8@$5$l$J$1$l$P$J$i$J$$$H$$$&5,B'$O!"(B
|
|
342
|
+
standalone='yes' $B$N>l9g$N$_!"@07A<0@)Ls$H$J$k!#(B
|
|
343
|
+
|
|
344
|
+
(*1) $B%Q%i%a%?<BBN$N>l9g$O!"@k8@$O!";2>H$K@h9T$7$J$1$l$P$J$i$J$$!#F1MM$K(B
|
|
345
|
+
|
|
346
|
+
==> Not Implemented.
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
| Well-formedness constraint: Parsed Entity
|
|
352
|
+
|
|
|
353
|
+
| An entity reference must not contain the name of an unparsed entity. Unparsed
|
|
354
|
+
| entities may be referred to only in attribute values declared to be of type
|
|
355
|
+
| ENTITY or ENTITIES.
|
|
356
|
+
|
|
357
|
+
Well-formedness constraint: $B2r@OBP>]<BBN(B
|
|
358
|
+
|
|
359
|
+
$B<BBN;2>H$O!"2r@OBP>]30<BBN$NL>A0$r4^$s$G$$$F$O$J$i$J$$!#2r@OBP>]30<BBN$O!"(B
|
|
360
|
+
ENTITY $B7?Kt$O(B ENTITIES $B7?$H$7$F@k8@$7$?B0@-CM$H$7$F$@$1;2>H$G$-$k!#(B
|
|
361
|
+
|
|
362
|
+
==> Not Implemented.
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
| Well-formedness constraint: No Recursion
|
|
368
|
+
|
|
|
369
|
+
| A parsed entity must not contain a recursive reference to itself, either
|
|
370
|
+
| directly or indirectly.
|
|
371
|
+
|
|
372
|
+
Well-formedness constraint: $B:F5"$J$7(B
|
|
373
|
+
|
|
374
|
+
$B2r@OBP>]<BBN$O!"$=$l<+BN$X$N;2>H$r!"D>@\$K$b4V@\$K$b4^$s$G$O$J$i$J$$!#(B
|
|
375
|
+
|
|
376
|
+
==> Not Implemented.
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
| Well-formedness constraint: In DTD
|
|
382
|
+
|
|
|
383
|
+
| Parameter-entity references may only appear in the DTD.
|
|
384
|
+
|
|
385
|
+
Well-formedness constraint: DTD $B$NCf(B
|
|
386
|
+
|
|
387
|
+
$B%Q%i%a%?<BBN;2>H$O!"(BDTD $BFb$K$@$1!"=P8=$7$F$h$$!#(B
|
|
388
|
+
|
|
389
|
+
==> Not Implemented.
|
|
390
|
+
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
| Validity constraint: Root Element Type
|
|
400
|
+
|
|
|
401
|
+
| The Name in the document type declaration must match the element type
|
|
402
|
+
| of the root element.
|
|
403
|
+
|
|
404
|
+
Validity constraint: $B%k!<%HMWAG7?(B
|
|
405
|
+
|
|
406
|
+
$BJ8=q7?@k8@$K$*$1$k(BName$B$O!"%k!<%HMWAG$N7?$H%^%C%A$7$J$1$l$P$J$i$J$$!#(B
|
|
407
|
+
|
|
408
|
+
==> Not Implemented.
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
| Validity constraint: Proper Declaration/PE Nesting
|
|
414
|
+
|
|
|
415
|
+
| Parameter-entity replacement text must be properly nested with markup
|
|
416
|
+
| declarations. That is to say, if either the first character or the last
|
|
417
|
+
| character of a markup declaration (markupdecl above) is contained in the
|
|
418
|
+
| replacement text for a parameter-entity reference, both must be contained in
|
|
419
|
+
| the same replacement text.
|
|
420
|
+
|
|
421
|
+
Validity constraint: $B@k8@5Z$S%Q%i%a%?<BBN$,87L)$KF~$l;R$r$J$9$3$H(B
|
|
422
|
+
|
|
423
|
+
$B%Q%i%a%?<BBN$NCV49%F%-%9%H$O!"%^!<%/IU$1@k8@Fb$K$*$$$F!"87L)$K(B
|
|
424
|
+
$BF~$l;R$K$J$C$F$$$J$1$l$P$J$i$J$$!#$D$^$j!"%^!<%/IU$1@k8@(B(markupdecl)$B$N(B
|
|
425
|
+
$B:G=iKt$O:G8e$NJ8;z$,!"%Q%i%a%?<BBN;2>H$N;X$7<($9CV49%F%-%9%H$K4^$^$l$l$P!"(B
|
|
426
|
+
$BN>J}$H$bF1$8CV49%F%-%9%H$K4^$^$l$J$1$l$P$J$i$J$$!#(B
|
|
427
|
+
|
|
428
|
+
==> Not Implemented.
|
|
429
|
+
|
|
430
|
+
|
|
431
|
+
|
|
432
|
+
|
|
433
|
+
| Validity constraint: Standalone Document Declaration
|
|
434
|
+
|
|
|
435
|
+
| The standalone document declaration must have the value "no" if any external
|
|
436
|
+
| markup declarations contain declarations of:
|
|
437
|
+
|
|
|
438
|
+
| a) attributes with default values, if elements to which these attributes
|
|
439
|
+
| apply appear in the document wi thout specifications of values for these
|
|
440
|
+
| attributes, or
|
|
441
|
+
|
|
|
442
|
+
| b) entities (other than amp, lt, gt, apos, quot), if references to those
|
|
443
|
+
| entities appear in the document, or
|
|
444
|
+
|
|
|
445
|
+
| c) attributes with values subject to normalization, where the attribute
|
|
446
|
+
| appears in the document with a value which will change as a result of
|
|
447
|
+
| normalization, or
|
|
448
|
+
|
|
|
449
|
+
| d) element types with element content, if white space occurs directly within
|
|
450
|
+
| any instance of those types.
|
|
451
|
+
|
|
452
|
+
Validity constraint: $B%9%?%s%I%"%m%sJ8=q@k8@(B
|
|
453
|
+
|
|
454
|
+
$B%9%?%s%I%"%m%sJ8=q@k8@$O!"2?$i$+$N30It%^!<%/IU$1@k8@$,<!$N$$$:$l$+$r(B
|
|
455
|
+
$B@k8@$7$F$$$k$H$-$O!"CM(B "no" $B$r<h$i$J$1$l$P$J$i$J$$!#(B
|
|
456
|
+
|
|
457
|
+
a) $B%G%U%)%k%HCMIU$-$NB0@-$G$"$C$F!"$3$NB0@-$,E,MQ$5$l$kMWAG$,(B
|
|
458
|
+
$BB0@-CM$r;XDj$;$:$KJ8=qFb$K8=$l$k$b$N!#(B
|
|
459
|
+
b) amp, lt, gt, apos, quot$B0J30$N<BBN$G$"$C$F!"$=$N<BBN$KBP$9$k(B
|
|
460
|
+
$B;2>H$,J8=qFb$K=P8=$9$k$b$N!#(B
|
|
461
|
+
c) $BCM$,@55,2=$NBP>]$H$J$kB0@-$G$"$C$F!"@55,2=$N7k2L$H$7$FJQ2=$9$kCM$,(B
|
|
462
|
+
$BJ8=qFb$GB0@-$K;XDj$5$l$F$$$k$b$N!#(B
|
|
463
|
+
d) $BMWAGFbMF$r$b$DMWAG7?$G$"$C$F!"6uGr$,$=$NMWAG7?$N$$$:$l$+$N(B
|
|
464
|
+
$B%$%s%9%?%s%9Fb$KD>@\8=$l$k$b$N!#(B
|
|
465
|
+
|
|
466
|
+
==> Not Implemented.
|
|
467
|
+
|
|
468
|
+
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
| Validity constraint: Element Valid
|
|
472
|
+
|
|
|
473
|
+
| An element is valid if there is a declaration matching elementdecl where the
|
|
474
|
+
| Name matches the element type, and one of the following holds:
|
|
475
|
+
|
|
|
476
|
+
| 1. The declaration matches EMPTY and the element has no content.
|
|
477
|
+
|
|
|
478
|
+
| 2. The declaration matches children and the sequence of child elements
|
|
479
|
+
| belongs to the language generated by the regular expression in the
|
|
480
|
+
| content model, with optional white space (characters matching the
|
|
481
|
+
| nonterminal S) between [UPD:[E59]the start-tag and the first child
|
|
482
|
+
| element, between child elements, or between the last child element
|
|
483
|
+
| and the end-tag. Note that a CDATA section containing only white space
|
|
484
|
+
| does not match the nonterminal S, and hence cannot appear in these
|
|
485
|
+
| positions.:UPD]
|
|
486
|
+
|
|
|
487
|
+
| 3. The declaration matches Mixed and the content consists of character
|
|
488
|
+
| data and child elements whose types match names in the content model.
|
|
489
|
+
|
|
|
490
|
+
| 4. The declaration matches ANY, and the types of any child elements have
|
|
491
|
+
| been declared.
|
|
492
|
+
|
|
493
|
+
Validity constraint: $BMWAG$NBEEv@-(B
|
|
494
|
+
|
|
495
|
+
$BMWAG$,BEEv$H$O!$$=$NMWAG7?(B ($B$NL>A0(B) $B$H%^%C%A$9$k(BName$B$r$b$D@k8@(B
|
|
496
|
+
(elementdecl$B$K%^%C%A$9$k$b$N(B) $B$,B8:_$7!"$5$i$K<!$N$$$:$l$+$N>r7o$rK~$?$9(B
|
|
497
|
+
$B>l9g$H$9$k!#(B
|
|
498
|
+
|
|
499
|
+
1. $B@k8@$,(BEMPTY$B$K%^%C%A$7!"MWAG$,FbMF$r$b$?$J$$!#(B
|
|
500
|
+
2. $B@k8@$,(Bchildren$B$K%^%C%A$7!"MWAG$N;RMWAG$NJB$S$,FbMF%b%G%kCf$N@55,I=8=$K(B
|
|
501
|
+
$B$h$C$F@8@.$5$l$k8@8l$KB0$9$k!#(B[UPD:$B3+;O%?%0$H:G=i$N;RMWAG$N4V!"(B
|
|
502
|
+
$B;RMWAG$N4V!"Kt$O:G8e$N;RMWAG$H=*N;%?%0$N4V$K(B:UPD]$B6uGr(B ($BHs=*C<5-9f(BS$B$K(B
|
|
503
|
+
$B%^%C%A$9$kJ8;z$NJB$S(B) $B$,$"$C$F$b$h$$!#(B[UPD:$B6uGr$N$_$r4^$`(B CDATA
|
|
504
|
+
$B%;%/%7%g%s$OHs=*C<5-9f(BS$B$K%^%C%A$7$J$$$?$a!"$3$l$i$N0LCV$K8=$l$k$3$H$O(B
|
|
505
|
+
$B$G$-$J$$$3$H$KCm0U!#(B:UPD]
|
|
506
|
+
3. $B@k8@$,(BMixed$B$K%^%C%A$7!"MWAG$NFbMF$,J8;z%G!<%?5Z$S;RMWAG$+$i$J$k!#(B
|
|
507
|
+
$B;RMWAG$NMWAG7?$O!"MWAG$NFbMF%b%G%k$K=P8=$9$kL>A0$K%^%C%A$9$k!#(B
|
|
508
|
+
4. $B@k8@$,(BANY$B$K%^%C%A$7!"$I$N;RMWAG$NMWAG7?$b@k8@$5$l$F$$$k!#(B
|
|
509
|
+
|
|
510
|
+
==> Not Implemented.
|
|
511
|
+
|
|
512
|
+
|
|
513
|
+
|
|
514
|
+
|
|
515
|
+
| Validity constraint: Attribute Value Type
|
|
516
|
+
|
|
|
517
|
+
| The attribute must have been declared; the value must be of the type declared
|
|
518
|
+
| for it. (For attribute types, see 3.3 Attribute-List Declarations.)
|
|
519
|
+
|
|
520
|
+
Validity constraint: $BB0@-CM$N7?(B
|
|
521
|
+
|
|
522
|
+
$BB0@-$O@k8@$5$l$F$$$J$1$l$P$J$i$J$$!#B0@-CM$N7?$O!$$=$NB0@-$KBP$7$F(B
|
|
523
|
+
$B@k8@$7$?7?$G$J$1$l$P$J$i$J$$(B ($BB0@-$N7?$K$D$$$F$O!$(B"3.3 $BB0@-%j%9%H@k8@(B"$B$r(B
|
|
524
|
+
$B;2>H(B)$B!#(B
|
|
525
|
+
|
|
526
|
+
==> Not Implemented.
|
|
527
|
+
|
|
528
|
+
|
|
529
|
+
|
|
530
|
+
| Validity constraint: Unique Element Type Declaration
|
|
531
|
+
|
|
|
532
|
+
| No element type may be declared more than once.
|
|
533
|
+
|
|
534
|
+
Validity constraint: $BMWAG7?@k8@$N0l0U@-(B
|
|
535
|
+
|
|
536
|
+
$B0l$D$NMWAG7?$rFs2s0J>e@k8@$G$-$J$$!#(B
|
|
537
|
+
|
|
538
|
+
==> Not Implemented.
|
|
539
|
+
|
|
540
|
+
|
|
541
|
+
|
|
542
|
+
|
|
543
|
+
| Validity constraint: Proper Group/PE Nesting
|
|
544
|
+
|
|
|
545
|
+
| Parameter-entity replacement text must be properly nested with [UPD:[E11]
|
|
546
|
+
| parenthesized:UPD] groups. That is to say, if either of the opening or
|
|
547
|
+
| closing parentheses in a choice, seq, or Mixed construct is contained in the
|
|
548
|
+
| replacement text for a parameter entity, both must be contained in the same
|
|
549
|
+
| replacement text.
|
|
550
|
+
|
|
|
551
|
+
| [UPD:[E19]For interoperability, if a parameter-entity reference appears in a
|
|
552
|
+
| choice, seq, or Mixed construct, its replacement text should contain at
|
|
553
|
+
| least one non-blank character, and neither the first nor last non-blank
|
|
554
|
+
| character of the replacement text should be a connector (| or ,).:UPD]
|
|
555
|
+
|
|
556
|
+
Validity constraint: $B%0%k!<%W5Z$S%Q%i%a%?<BBN$,87L)$JF~$l;R$r$J$7$F$$$k$3$H(B
|
|
557
|
+
|
|
558
|
+
$B%Q%i%a%?<BBN$NCV49%F%-%9%H$O!"(B[UPD:$B$+$C$3$G0O$^$l$?(B:UPD]$B%0%k!<%W$K$h$C$F!"(B
|
|
559
|
+
$B87L)$JF~$l;R$r9=@.$7$J$1$l$P$J$i$J$$!#$D$^$j!"A*Br!"NsKt$O:.:_ItIJ$K(B
|
|
560
|
+
$B3+$-$+$C$3Kt$OJD$8$+$C$3$N$$$:$l$+0lJ}$,%Q%i%a%?<BBN$NCV49%F%-%9%H$K(B
|
|
561
|
+
$B4^$l$l$P!"B>J}$bF1$8CV49%F%-%9%H$K4^$^$l$J$1$l$P$J$i$J$$!#(B
|
|
562
|
+
|
|
563
|
+
[UPD:$BAj8_1?MQ@-$N$?$a$K$O!"%Q%i%a%?<BBN;2>H$,A*Br!"NsKt$O:.:_FbMF$K(B
|
|
564
|
+
$B4^$^$l$l$P!"$=$NCV49%F%-%9%H$O>/$J$/$H$b(B1$B$D$NHs6uGrJ8;z$r4^$`$3$H$,(B
|
|
565
|
+
$BK>$^$7$/!"CV49%F%-%9%H$N@hF,5Z$SKvHx$N6uGr$G$J$$J8;z$O!"%3%M%/%?(B
|
|
566
|
+
(| $BKt$O(B ,) $B$G$J$$J}$,$h$$!#(B:UPD]
|
|
567
|
+
|
|
568
|
+
==> Not Implemented.
|
|
569
|
+
|
|
570
|
+
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
| Validity constraint: No Duplicate Types
|
|
574
|
+
|
|
|
575
|
+
| The same name must not appear more than once in a single mixed-content
|
|
576
|
+
| declaration.
|
|
577
|
+
|
|
578
|
+
Validity constraint: $BMWAG7?$N=EJ#$N6X;_(B
|
|
579
|
+
|
|
580
|
+
$B0l$D$N:.9gFbMF@k8@Fb$K!"F1$8L>A0$,J#?t2s=P8=$7$F$O$J$i$J$$!#(B
|
|
581
|
+
|
|
582
|
+
==> Not Implemented.
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
|
|
586
|
+
|
|
587
|
+
| Validity constraint: ID
|
|
588
|
+
|
|
|
589
|
+
| Values of type ID must match the Name production. A name must not appear more
|
|
590
|
+
| than once in an XML document as a value of this type; i.e., ID values must
|
|
591
|
+
| uniquely identify the elements which bear them.
|
|
592
|
+
|
|
593
|
+
Validity constraint: ID
|
|
594
|
+
|
|
595
|
+
ID$B7?$NCM$O@8@.5,B'(BName$B$K%^%C%A$7$J$1$l$P$J$i$J$$!#0l$D$N(BXML$BJ8=qFb$G$O!"(B
|
|
596
|
+
$B0l$D$NL>A0$,!"$3$N7?$NCM$H$7$FJ#?t2s8=$l$F$O$J$i$J$$!#$D$^$j!"(BID$B$NCM$O(B
|
|
597
|
+
$BMWAG$r0l0U$KFCDj$7$J$1$l$P$J$i$J$$!#(B
|
|
598
|
+
|
|
599
|
+
==> Not Implemented.
|
|
600
|
+
|
|
601
|
+
|
|
602
|
+
|
|
603
|
+
|
|
604
|
+
| Validity constraint: One ID per Element Type
|
|
605
|
+
|
|
|
606
|
+
| No element type may have more than one ID attribute specified.
|
|
607
|
+
|
|
608
|
+
Validity constraint: 1$BMWAG$4$H$K0l$D$N(BID
|
|
609
|
+
|
|
610
|
+
$BMWAG7?$OJ#?t$N(BID$BB0@-$r$b$C$F$O$J$i$J$$!#(B
|
|
611
|
+
|
|
612
|
+
==> Not Implemented.
|
|
613
|
+
|
|
614
|
+
|
|
615
|
+
|
|
616
|
+
|
|
617
|
+
| Validity constraint: ID Attribute Default
|
|
618
|
+
|
|
|
619
|
+
| An ID attribute must have a declared default of #IMPLIED or #REQUIRED.
|
|
620
|
+
|
|
621
|
+
Validity constraint: ID$BB0@-$N%G%U%)%k%H(B
|
|
622
|
+
|
|
623
|
+
ID$BB0@-$O!"%G%U%)%k%H$H$7$F(B#IMPLIED$BKt$O(B#REQUIRED$B$r@k8@$7$J$1$l$P$J$i$J$$!#(B
|
|
624
|
+
|
|
625
|
+
==> Not Implemented.
|
|
626
|
+
|
|
627
|
+
|
|
628
|
+
|
|
629
|
+
|
|
630
|
+
| Validity constraint: IDREF
|
|
631
|
+
|
|
|
632
|
+
| Values of type IDREF must match the Name production, and values of
|
|
633
|
+
| type IDREFS must match Names; each Name must match the value of an ID
|
|
634
|
+
| attribute on some element in the XML document; i.e. IDREF values must
|
|
635
|
+
| match the value of some ID attribute.
|
|
636
|
+
|
|
637
|
+
Validity constraint: IDREF
|
|
638
|
+
|
|
639
|
+
IDREF$B7?$NCM$O@8@.5,B'(BName$B$K%^%C%A$7$J$1$l$P$J$i$J$$!#(BIDREFS$B7?$NCM$O(B
|
|
640
|
+
Names$B$K%^%C%A$7$J$1$l$P$J$i$J$$!#3F!9$N(BName$B$O!"(BXML$BJ8=qFb$KB8:_$9$kMWAG$N(B
|
|
641
|
+
ID$BB0@-$NCM$H%^%C%A$7$J$1$l$P$J$i$J$$!#$D$^$j!"(BIDREF$B$NCM$O(B
|
|
642
|
+
$B$"$k(BID$BB0@-$NCM$H%^%C%A$7$J$1$l$P$J$i$J$$!#(B
|
|
643
|
+
|
|
644
|
+
==> Not Implemented.
|
|
645
|
+
|
|
646
|
+
|
|
647
|
+
|
|
648
|
+
|
|
649
|
+
| Validity constraint: Entity Name
|
|
650
|
+
|
|
|
651
|
+
| Values of type ENTITY must match the Name production, values of type
|
|
652
|
+
| ENTITIES must match Names; each Name must match the name of an unparsed
|
|
653
|
+
| entity declared in the DTD.
|
|
654
|
+
|
|
655
|
+
Validity constraint: $B<BBNL>(B
|
|
656
|
+
|
|
657
|
+
ENTITY$B7?$NCM$O!"(BName$B@8@.5,B'$K%^%C%A$7$J$1$l$P$J$i$J$$!#(BENTITIES$B7?$NCM$O(B
|
|
658
|
+
Names$B$K%^%C%A$7$J$1$l$P$J$i$J$$!#3F!9$N(BName$B$O!"(BDTD$B$G@k8@$9$k2r@OBP>]30<BBN$H(B
|
|
659
|
+
$B%^%C%A$7$J$1$l$P$J$i$J$$!#(B
|
|
660
|
+
|
|
661
|
+
==> Not Implemented.
|
|
662
|
+
|
|
663
|
+
|
|
664
|
+
|
|
665
|
+
|
|
666
|
+
| Validity constraint: Name Token
|
|
667
|
+
|
|
|
668
|
+
| Values of type NMTOKEN must match the Nmtoken production; values of type
|
|
669
|
+
| NMTOKENS must match Nmtokens.
|
|
670
|
+
|
|
671
|
+
Validity constraint: $BL>A0%H!<%/%s(B
|
|
672
|
+
|
|
673
|
+
NMTOKEN$B7?$NCM$O!"(BNmtoken$B@8@.5,B'$K%^%C%A$7$J$1$l$P$J$i$J$$!#(BNMTOKENS$B7?$NCM$O(B
|
|
674
|
+
Nmtokens$B$K%^%C%A$7$J$1$l$P$J$i$J$$!#(B
|
|
675
|
+
|
|
676
|
+
==> Not Implemented.
|
|
677
|
+
|
|
678
|
+
|
|
679
|
+
|
|
680
|
+
|
|
681
|
+
| Validity constraint: Notation Attributes
|
|
682
|
+
|
|
|
683
|
+
| Values of this type must match one of the notation names included in the
|
|
684
|
+
| declaration; all notation names in the declaration must be declared.
|
|
685
|
+
|
|
686
|
+
Validity constraint: $B5-K!B0@-(B
|
|
687
|
+
|
|
688
|
+
$B$3$N7?$NCM$O!"@k8@$K4^$^$l$k4v$D$+$N5-K!$NL>A0$N0l$D$H%^%C%A$7$J$1$l$P(B
|
|
689
|
+
$B$J$i$J$$!#$D$^$j!"@k8@$K4^$^$l$k5-K!L>$O!"$9$Y$F@k8@$5$l$F$$$J$1$l$P$J$i$J$$!#(B
|
|
690
|
+
|
|
691
|
+
==> Not Implemented.
|
|
692
|
+
|
|
693
|
+
|
|
694
|
+
|
|
695
|
+
|
|
696
|
+
| [INS:
|
|
697
|
+
| Validity constraint: [E7]One Notation Per Element Type
|
|
698
|
+
|
|
|
699
|
+
| No element type may have more than one NOTATION attribute specified.
|
|
700
|
+
| :INS]
|
|
701
|
+
|
|
702
|
+
[INS:
|
|
703
|
+
Validity constraint: 1$BMWAG7?$4$H$K(B1$B$D$N5-K!(B
|
|
704
|
+
|
|
705
|
+
$BMWAG7?$OJ#?t$N(B NOTATION $BB0@-$r$b$C$F$O$J$i$J$$!#(B
|
|
706
|
+
:INS]
|
|
707
|
+
|
|
708
|
+
==> Not Implemented.
|
|
709
|
+
|
|
710
|
+
|
|
711
|
+
|
|
712
|
+
|
|
713
|
+
| [INS:
|
|
714
|
+
| Validity constraint: [E68]No Notation on Empty Element
|
|
715
|
+
|
|
|
716
|
+
| For compatibility, an attribute of type NOTATION must not be declared on an
|
|
717
|
+
| element declared EMPTY.
|
|
718
|
+
| :INS]
|
|
719
|
+
|
|
720
|
+
[INS:
|
|
721
|
+
Validity constraint: $B6uMWAGCf$K5-K!$r4^$^$J$$$3$H(B
|
|
722
|
+
|
|
723
|
+
$B8_49@-$N$?$a$K!"6uMWAG$H$7$F@k8@$5$l$?MWAG$KBP$7$F!"(BNOTATION $B7?$N(B
|
|
724
|
+
$BB0@-CM$r@k8@$9$k$3$H$O$G$-$J$$!#(B
|
|
725
|
+
:INS]
|
|
726
|
+
|
|
727
|
+
==> Not Implemented.
|
|
728
|
+
|
|
729
|
+
|
|
730
|
+
|
|
731
|
+
|
|
732
|
+
| Validity constraint: Enumeration
|
|
733
|
+
|
|
|
734
|
+
| Values of this type must match one of the Nmtoken tokens in the declaration.
|
|
735
|
+
|
|
|
736
|
+
| For interoperability, the same Nmtoken should not occur more than once in the
|
|
737
|
+
| enumerated attribute types of a single element type.
|
|
738
|
+
|
|
739
|
+
Validity constraint: $BNs5s(B
|
|
740
|
+
|
|
741
|
+
$B$3$N7?$NCM$O!"@k8@$K4^$^$l$k4v$D$+$N(BNmtoken$B%H!<%/%s$N0l$D$H%^%C%A(B
|
|
742
|
+
$B$7$J$1$l$P$J$i$J$$!#(B
|
|
743
|
+
$BAj8_1?MQ@-$N$?$a$K$O!"F1$8(BNmtoken$B$O!"0l$D$NMWAG7?$N$$$/$D$+$NNs5s7?$N(B
|
|
744
|
+
$BB0@-$H$7$F!"J#?t2s8=$l$J$$J}$,$h$$!#(B
|
|
745
|
+
|
|
746
|
+
==> Not Implemented.
|
|
747
|
+
|
|
748
|
+
|
|
749
|
+
|
|
750
|
+
|
|
751
|
+
| Validity constraint: Required Attribute
|
|
752
|
+
|
|
|
753
|
+
| If the default declaration is the keyword #REQUIRED, then the attribute
|
|
754
|
+
| must be specified for all elements of the type in the attribute-list
|
|
755
|
+
| declaration.
|
|
756
|
+
|
|
757
|
+
Validity constraint: $BI,?\B0@-(B
|
|
758
|
+
|
|
759
|
+
$B%G%U%)%k%H$N@k8@$,(B#REQUIRED$B%-!<%o!<%I$N>l9g!"B0@-%j%9%H@k8@$G;2>H$7$?(B
|
|
760
|
+
$BMWAG7?$N$9$Y$F$NMWAG$G!"$=$NB0@-$r;XDj$7$J$1$l$P$J$i$J$$!#(B
|
|
761
|
+
|
|
762
|
+
==> Not Implemented.
|
|
763
|
+
|
|
764
|
+
|
|
765
|
+
|
|
766
|
+
|
|
767
|
+
| Validity constraint: Attribute Default Legal
|
|
768
|
+
|
|
|
769
|
+
| The declared default value must meet the lexical constraints of the
|
|
770
|
+
| declared attribute type.
|
|
771
|
+
|
|
772
|
+
Validity constraint: $BB0@-%G%U%)%k%H$N@5$7$5(B
|
|
773
|
+
|
|
774
|
+
$B@k8@$7$?%G%U%)%k%HCM$O!"@k8@$7$?B0@-7?$N;z6g@)Ls$rK~$?$5$J$1$l$P$J$i$J$$!#(B
|
|
775
|
+
|
|
776
|
+
==> Not Implemented.
|
|
777
|
+
|
|
778
|
+
|
|
779
|
+
|
|
780
|
+
|
|
781
|
+
| Validity constraint: Fixed Attribute Default
|
|
782
|
+
|
|
|
783
|
+
| If an attribute has a default value declared with the #FIXED keyword,
|
|
784
|
+
| instances of that attribute must match the default value.
|
|
785
|
+
|
|
786
|
+
Validity constraint: $B8GDj$NB0@-%G%U%)%k%H(B
|
|
787
|
+
|
|
788
|
+
$BB0@-$,(B#FIXED$B%-!<%o!<%I$G@k8@$5$l$?%G%U%)%k%HCM$r;}$D>l9g!"$=$NB0@-$N(B
|
|
789
|
+
$B%$%s%9%?%s%9$O%G%U%)%k%HCM$K%^%C%A$7$J$1$l$P$J$i$J$$!#(B
|
|
790
|
+
|
|
791
|
+
==> Not Implemented.
|
|
792
|
+
|
|
793
|
+
|
|
794
|
+
|
|
795
|
+
|
|
796
|
+
| [INS:
|
|
797
|
+
| Validity constraint: [E90]Proper Conditional Section/PE Nesting
|
|
798
|
+
|
|
|
799
|
+
| If any of the "<![", "[", or "]]>" of a conditional section is contained
|
|
800
|
+
| in the replacement text for a parameter-entity reference, all of them
|
|
801
|
+
| must be contained in the same replacement text.
|
|
802
|
+
|
|
|
803
|
+
| Like the internal and external DTD subsets, a conditional section may
|
|
804
|
+
| contain one or more complete declarations, comments, processing
|
|
805
|
+
| instructions, or nested conditional sections, intermingled with white space.
|
|
806
|
+
| :INS]
|
|
807
|
+
|
|
808
|
+
[INS:
|
|
809
|
+
Validity constraint: $B>r7o%;%/%7%g%s5Z$S%Q%i%a%?<BBN$,87L)$JF~$l;R$r(B
|
|
810
|
+
$B$J$7$F$$$k$3$H(B
|
|
811
|
+
|
|
812
|
+
$B%Q%i%a%?<BBN;2>H$NCV49%F%-%9%H$K>r7o%;%/%7%g%s$N(B "<![", "[", "]]>" $B$N$&$A$N(B
|
|
813
|
+
$B$I$l$+$,4^$^$l$F$$$k>l9g$O!"$=$l$iA4$F$,F1$8CV49%F%-%9%H$K4^$^$l$F$$$J$1$l$P(B
|
|
814
|
+
$B$J$i$J$$!#(B
|
|
815
|
+
|
|
816
|
+
$BFbIt5Z$S30It(B DTD $B%5%V%;%C%H$N$h$&$K!">r7o%;%/%7%g%s$O40A4$J@k8@!"(B
|
|
817
|
+
$B%3%a%s%H!"=hM}L?Na!"Kt$O%M%9%H$5$l$?>r7o%;%/%7%g%s$r!"6uGrJ8;z$H6&$K(B
|
|
818
|
+
1$B$D0J>e4^$s$G$b$h$$!#(B
|
|
819
|
+
:INS]
|
|
820
|
+
|
|
821
|
+
==> Not Implemented.
|
|
822
|
+
|
|
823
|
+
|
|
824
|
+
|
|
825
|
+
|
|
826
|
+
| Validity constraint: Entity Declared
|
|
827
|
+
|
|
|
828
|
+
| In a document with an external subset or external parameter entities with
|
|
829
|
+
| "standalone='no'", the Name given in the entity reference must match that
|
|
830
|
+
| in an entity declaration. For interoperability, valid documents should
|
|
831
|
+
| declare the entities amp, lt, gt, apos, quot, in the form specified in 4.6
|
|
832
|
+
| Predefined Entities. The declaration of a parameter entity must precede
|
|
833
|
+
| any reference to it. Similarly, the declaration of a general entity must
|
|
834
|
+
| precede any [UPD:[E92]attribute-list declaration containing a default value
|
|
835
|
+
| with a direct or indirect reference to that general entity.:UPD]
|
|
836
|
+
|
|
837
|
+
Validity constraint: $B<BBN$,@k8@$5$l$F$$$k$3$H(B
|
|
838
|
+
|
|
839
|
+
$B30It%5%V%;%C%HKt$O30It%Q%i%a%?<BBN$r$b$C$F$$$F!"(B"standalone='no'"$B$r(B
|
|
840
|
+
$B$b$DJ8=q$K$*$$$F!"<BBN;2>H$GMQ$$$k(B Name $B$O!"$"$k<BBN@k8@$K4^$^$l$kL>A0$H(B
|
|
841
|
+
$B%^%C%A$7$J$1$l$P$J$i$J$$!#Aj8_1?MQ@-$N$?$a$K$O!"BEEv$JJ8=q$O(B
|
|
842
|
+
"4.6 $BDj5A:Q$_<BBN(B"$B$G;XDj$7$?=q<0$K$h$C$F!"<BBN(B amp, lt, gt, apos, quot$B$r(B
|
|
843
|
+
$B@k8@$9$k$3$H$,K>$^$7$$!#%Q%i%a%?<BBN$N>l9g$O!"@k8@$O!";2>H$K(B
|
|
844
|
+
$B@h9T$7$J$1$l$P$J$i$J$$!#F1MM$K!"0lHL<BBN$N>l9g$O!"(B
|
|
845
|
+
[UPD:$B$=$N0lHL<BBN$X$N;2>H$rD>@\E*Kt$O4V@\E*$K4^$s$G$$$k%G%U%)%k%HCM$r4^$`(B
|
|
846
|
+
$BB0@-%j%9%H@k8@(B:UPD]$B$h$j$b@h$K!"@k8@$,8=$l$J$1$l$P$J$i$J$$!#(B
|
|
847
|
+
|
|
848
|
+
==> Not Implemented.
|
|
849
|
+
|
|
850
|
+
|
|
851
|
+
|
|
852
|
+
|
|
853
|
+
| Validity constraint: Notation Declared
|
|
854
|
+
|
|
|
855
|
+
| The Name must match the declared name of a notation.
|
|
856
|
+
|
|
857
|
+
Validity constraint: $B5-K!$,@k8@$5$l$F$$$k$3$H(B
|
|
858
|
+
Name $B$O!"@k8@$7$?5-K!$NL>A0$H%^%C%A$7$J$1$l$P$J$i$J$$!#(B
|
|
859
|
+
|
|
860
|
+
==> Not Implemented.
|
|
861
|
+
|
|
862
|
+
|
|
863
|
+
|
|
864
|
+
|
|
865
|
+
| [INS:
|
|
866
|
+
| Validity constraint: [E22]Unique Notation Name
|
|
867
|
+
|
|
|
868
|
+
| Only one notation declaration can declare a given Name.
|
|
869
|
+
| :INS]
|
|
870
|
+
|
|
871
|
+
[INS:
|
|
872
|
+
Validity constraint: $B5-K!$NL>A0$N0l0U@-(B
|
|
873
|
+
|
|
874
|
+
$BJ#?t$N5-K!@k8@$GF1$8L>A0$r@k8@$G$-$J$$!#(B
|
|
875
|
+
:INS]
|
|
876
|
+
|
|
877
|
+
==> Not Implemented.
|
|
878
|
+
|
|
879
|
+
|
|
880
|
+
|
|
881
|
+
|
|
882
|
+
|
|
883
|
+
|
|
884
|
+
|
|
885
|
+
|
|
886
|
+
|
|
887
|
+
# from the second edition;
|
|
888
|
+
|
|
889
|
+
| 3.3.3 [E70]Attribute-Value Normalization
|
|
890
|
+
|
|
|
891
|
+
| Before the value of an attribute is passed to the application or checked for
|
|
892
|
+
| validity, the XML processor must normalize the attribute value by applying
|
|
893
|
+
| the algorithm below, or by using some other method such that the value
|
|
894
|
+
| passed to the application is the same as that produced by the algorithm.
|
|
895
|
+
|
|
|
896
|
+
| 1. All line breaks must have been normalized on input to #xA as described in
|
|
897
|
+
| 2.11 End-of-Line Handling, so the rest of this algorithm operates on text
|
|
898
|
+
| normalized in this way.
|
|
899
|
+
|
|
|
900
|
+
| 2. Begin with a normalized value consisting of the empty string.
|
|
901
|
+
|
|
|
902
|
+
| 3. For each character, entity reference, or character reference in the
|
|
903
|
+
| unnormalized attribute value, beginning with the first and continuing to
|
|
904
|
+
| the last, do the following:
|
|
905
|
+
|
|
|
906
|
+
| a) For a character reference, append the referenced character to the
|
|
907
|
+
| normalized value.
|
|
908
|
+
| b) For an entity reference, recursively apply step 3 of this algorithm
|
|
909
|
+
| to the replacement text of the entity.
|
|
910
|
+
| c) For a white space character (#x20, #xD, #xA, #x9), append a space
|
|
911
|
+
| character (#x20) to the normalized value.
|
|
912
|
+
| d) For another character, append the character to the normalized value.
|
|
913
|
+
|
|
914
|
+
3.3.3 $BB0@-CM$N@55,2=(B
|
|
915
|
+
|
|
916
|
+
$BB0@-$NCM$r%"%W%j%1!<%7%g%s$KEO$9A0!"Kt$OBEEv@-$r8!>Z$9$kA0$K!"(BXML $B%W%m%;%5$O(B
|
|
917
|
+
$B0J2<$N%"%k%4%j%:%`$rE,MQ$7$FB0@-CM$r@55,2=$7$J$1$l$P$J$i$J$$!#Kt$O!"(B
|
|
918
|
+
$B0J2<$N%"%k%4%j%:%`$,@8@.$9$kCM$HF1$8CM$r%"%W%j%1!<%7%g%s$KEO$9B>$NJ}K!$r(B
|
|
919
|
+
$BMQ$$$F@55,2=$7$F$b$h$$!#(B
|
|
920
|
+
|
|
921
|
+
1. $BF~NO$K4^$^$l$kA4$F$N2~9T$O!"(B"2.11 $B9TKv$N=hM}(B" $B$G=R$Y$i$l$F$$$k$h$&$K(B
|
|
922
|
+
#xA $B$K@55,2=$5$l$J$1$l$P$J$i$J$$!#$h$C$F!"$3$N%"%k%4%j%:%`$N0J9_$N=hM}(B
|
|
923
|
+
$B$G$O!"$3$N$h$&$K$7$F@55,2=$5$l$?%F%-%9%H$r=hM}$NBP>]$H$9$k!#(B
|
|
924
|
+
|
|
925
|
+
2. $B6uJ8;zNs$+$i$J$k@55,2=$5$l$?CM$+$i;O$a$k!#(B
|
|
926
|
+
|
|
927
|
+
3. $B@55,2=$5$l$F$$$J$$B0@-CMFb$NJ8;z!"<BBN;2>H!"J8;z;2>H$=$l$>$l$K$D$$$F!"(B
|
|
928
|
+
$B@hF,$+$iKvHx$^$G0J2<$NA`:n$rB3$1$k!#(B
|
|
929
|
+
|
|
930
|
+
a) $BJ8;z;2>H$K$D$$$F$O!";2>HJ8;z$r@55,2=$5$l$?CM$KDI2C$9$k!#(B
|
|
931
|
+
b) $B<BBN;2>H$K$D$$$F$O!"$=$NCV49%F%-%9%H$KBP$7$F$3$N%"%k%4%j%:%`$N(B
|
|
932
|
+
$B%9%F%C%W(B 3 $B$r:F5"E*$KE,MQ$9$k!#(B
|
|
933
|
+
c) $B6uGrJ8;z(B (#x20, #xD, #xA, #x9) $B$K$D$$$F$O!"@55,2=$5$l$?CM$K(B
|
|
934
|
+
$B6uGrJ8;z(B (#x20) $B$rDI2C$9$k!#(B
|
|
935
|
+
d) $B$=$NB>$NJ8;z$K$D$$$F$O!"$=$NJ8;z$r@55,2=$5$l$?CM$KDI2C$9$k!#(B
|
|
936
|
+
|
|
937
|
+
| If the attribute type is not CDATA, then the XML processor must further
|
|
938
|
+
| process the normalized attribute value by discarding any leading and
|
|
939
|
+
| trailing space (#x20) characters, and by replacing sequences of space (#x20)
|
|
940
|
+
| characters by a single space (#x20) character.
|
|
941
|
+
|
|
942
|
+
$BB0@-CM$N7?$,(B CDATA $B$G$J$$>l9g!"(BXML $B%W%m%;%5$O!"$5$i$K!"@55,2=$5$l$?CM$N(B
|
|
943
|
+
$BA08e$N%9%Z!<%9J8;z(B (#x20) $B$r:o=|$7!"O"B3$9$k%9%Z!<%9J8;z(B (#x20) $B$r(B 1$B$D$N(B
|
|
944
|
+
$B%9%Z!<%9J8;z(B (#x20) $B$KCV49$7$J$1$l$P$J$i$J$$!#(B
|
|
945
|
+
|
|
946
|
+
| Note that if the unnormalized attribute value contains a character
|
|
947
|
+
| reference to a white space character other than space (#x20),
|
|
948
|
+
| the normalized value contains the referenced character itself (#xD,
|
|
949
|
+
| #xA or #x9). This contrasts with the case where the unnormalized value
|
|
950
|
+
| contains a white space character (not a reference), which is replaced
|
|
951
|
+
| with a space character (#x20) in the normalized value and also contrasts
|
|
952
|
+
| with the case where the unnormalized value contains an entity reference
|
|
953
|
+
| whose replacement text contains a white space character; being recursively
|
|
954
|
+
| processed, the white space character is replaced with a space character
|
|
955
|
+
| (#x20) in the normalized value.
|
|
956
|
+
|
|
957
|
+
$B@55,2=$5$l$F$$$J$$B0@-CM$,%9%Z!<%9J8;z(B (#x20) $B0J30$N6uGrJ8;z$X$NJ8;z;2>H$r(B
|
|
958
|
+
$B4^$s$G$$$k>l9g!"@55,2=$5$l$?CM$K;2>HJ8;z$=$N$b$N(B (#xD, #xA, #x9) $B$,(B
|
|
959
|
+
$B4^$^$l$k$3$H$KCm0U$;$h!#$3$l$O!"@55,2=$5$l$F$$$J$$CMFb$K(B ($B;2>H$G$J$$(B)
|
|
960
|
+
$B6uGrJ8;z$,B8:_$9$k>l9g$,$"$k$H$$$&$3$H$r<($7$F$$$k!#$3$l$i$N6uGrJ8;z$O!"(B
|
|
961
|
+
$B@55,2=$5$l$?CMFb$G$O%9%Z!<%9J8;z(B (#x20) $B$KCV49$5$l$k!#$^$?!"(B
|
|
962
|
+
$B@55,2=$5$l$F$$$J$$CMFb$K!"CV49%F%-%9%H$K6uGrJ8;z$r4^$`<BBN;2>H$,B8:_$9(B
|
|
963
|
+
$B$k$3$H$b$"$jF@$k!#$3$N>l9g!"CV49%F%-%9%H$O:F5"E*$K=hM}$5$l$k$?$a!"(B
|
|
964
|
+
$B@55,2=$5$l$?CMFb$G$O6uGrJ8;z$O%9%Z!<%9J8;z$KCV49$5$l$k!#(B
|
|
965
|
+
|
|
966
|
+
| All attributes for which no declaration has been read should be treated by a
|
|
967
|
+
| non-validating [E95]processor as if declared CDATA.
|
|
968
|
+
|
|
969
|
+
$BBEEv@-$r8!>Z$7$J$$%W%m%;%5$O!"@k8@$,FI$_9~$^$l$F$$$J$$B0@-$OA4$F(B
|
|
970
|
+
CDATA $B$H$7$F@k8@$5$l$?$b$N$H$_$J$9$N$,K>$^$7$$!#(B
|
|
971
|
+
|
|
972
|
+
| Following are examples of attribute normalization. Given the following
|
|
973
|
+
| declarations:
|
|
974
|
+
|
|
|
975
|
+
| <!ENTITY d "
">
|
|
976
|
+
| <!ENTITY a "
">
|
|
977
|
+
| <!ENTITY da "
">
|
|
978
|
+
|
|
|
979
|
+
| the attribute specifications in the left column below would be normalized to
|
|
980
|
+
| the character sequences of the middle column if the attribute a is declared
|
|
981
|
+
| NMTOKENS and to those of the right columns if a is declared CDATA.
|
|
982
|
+
|
|
|
983
|
+
| Attribute specification | a is NMTOKENS | a is CDATA
|
|
984
|
+
| -------------------------------------+---------------+-------------------
|
|
985
|
+
| a=" | x y z | #x20 #x20 x y z
|
|
986
|
+
| | |
|
|
987
|
+
| xyz" | |
|
|
988
|
+
| -------------------------------------+---------------+-------------------
|
|
989
|
+
| a="&d;&d;A&a;&a;B&da;" | A #x20 B | #x20 #x20 A #x20
|
|
990
|
+
| | | #x20 B #x20 #x20
|
|
991
|
+
| -------------------------------------+---------------+-------------------
|
|
992
|
+
| a="

A

B
 | #xD #xD A #xA | #xD #xD A #xA #xA
|
|
993
|
+
| | #xA B #xD #xA | B #xD #xD
|
|
994
|
+
|
|
|
995
|
+
| Note that the last example is invalid (but well-formed) if a is declared
|
|
996
|
+
| to be of type NMTOKENS.
|
|
997
|
+
|
|
998
|
+
$BB0@-CM$N@55,2=$NNc$r0J2<$K<($9!#$^$:!"<!$N$h$&$J@k8@$rM?$($k!#(B
|
|
999
|
+
|
|
1000
|
+
<!ENTITY d "
">
|
|
1001
|
+
<!ENTITY a "
">
|
|
1002
|
+
<!ENTITY da "
">
|
|
1003
|
+
|
|
1004
|
+
$B<!$NI=$O!"1&$N9T$N$h$&$KB0@-$,M?$($i$l$?>l9g!"$=$NB0@-$,(B
|
|
1005
|
+
NMTOKEN $B$H$7$F@k8@$5$l$F$$$l$P??$sCf$N9T$N$h$&$JJ8;zNs$K@55,2=$5$l!"(B
|
|
1006
|
+
CDATA $B$H$7$F@k8@$5$l$F$$$l$P:8$N9T$N$h$&$K@55,2=$5$l$k$3$H$r<($7$F$$$k!#(B
|
|
1007
|
+
|
|
1008
|
+
Attribute specification | a is NMTOKENS | a is CDATA
|
|
1009
|
+
-------------------------------------+---------------+-------------------
|
|
1010
|
+
a=" | x y z | #x20 #x20 x y z
|
|
1011
|
+
| |
|
|
1012
|
+
xyz" | |
|
|
1013
|
+
-------------------------------------+---------------+-------------------
|
|
1014
|
+
a="&d;&d;A&a;&a;B&da;" | A #x20 B | #x20 #x20 A #x20
|
|
1015
|
+
| | #x20 B #x20 #x20
|
|
1016
|
+
-------------------------------------+---------------+-------------------
|
|
1017
|
+
a="

A

B
 | #xD #xD A #xA | #xD #xD A #xA #xA
|
|
1018
|
+
| #xA B #xD #xA | B #xD #xD
|
|
1019
|
+
|
|
1020
|
+
a $B$,(B NMTOKEN $B7?$H$7$F@k8@$5$l$F$$$?>l9g$O!":G8e$NNc$OBEEv$G$O$J$$(B
|
|
1021
|
+
($B@07A<0$G$O$"$k(B) $B$3$H$KCm0U$;$h!#(B
|
|
1022
|
+
|
|
1023
|
+
==> Partially Implemented in XMLScan::XMLParser.
|
|
1024
|
+
|
|
1025
|
+
|
|
1026
|
+
|
|
1027
|
+
|
|
1028
|
+
|
|
1029
|
+
|
|
1030
|
+
|
|
1031
|
+
|
|
1032
|
+
|
|
1033
|
+
|
|
1034
|
+
|
|
1035
|
+
# from the ``Namespaces in XML''
|
|
1036
|
+
|
|
1037
|
+
| Namespace constraint: Reserved Prefixes and Namespace Names
|
|
1038
|
+
|
|
|
1039
|
+
| The prefix xml is by definition bound to the namespace name
|
|
1040
|
+
| http://www.w3.org/XML/1998/namespace. It may, but need not, be declared,
|
|
1041
|
+
| and must not be bound to any other namespace name. No other prefix may be
|
|
1042
|
+
| bound to this namespace name.
|
|
1043
|
+
|
|
|
1044
|
+
| The prefix xmlns is used only to declare namespace bindings and is by
|
|
1045
|
+
| definition bound to the namespace name http://www.w3.org/2000/xmlns/.
|
|
1046
|
+
| It must not be declared. No other prefix may be bound to this namespace
|
|
1047
|
+
| name.
|
|
1048
|
+
|
|
|
1049
|
+
| All other prefixes beginning with the three-letter sequence x, m, l,
|
|
1050
|
+
| in any case combination, are reserved. This means that
|
|
1051
|
+
|
|
|
1052
|
+
| * users should not use them except as defined by later specifications
|
|
1053
|
+
| * processors must not treat them as fatal errors.
|
|
1054
|
+
|
|
|
1055
|
+
| Though legal, it is inadvisable to use prefixed names whose LocalPart
|
|
1056
|
+
| begins with the letters x, m, l, as these names would be reserved if used
|
|
1057
|
+
| without a prefix.
|
|
1058
|
+
|
|
1059
|
+
Namespace Constraint: $BM=Ls$5$l$?@\F,<-$HL>A06u4VL>(B
|
|
1060
|
+
|
|
1061
|
+
$B@\F,<-(B "xml" $B$ODj5A$K$h$jL>A06u4VL>(B "http://www.w3.org/XML/1998/namespace"
|
|
1062
|
+
$B$K4XO"IU$1$i$l$k!#I,MW$G$O$J$$$,$3$l$r@k8@$7$F$b$h$/!"$^$?$3$N@\F,<-$r(B
|
|
1063
|
+
$BB>$NL>A06u4VL>$K%P%$%s%I$7$F$O$J$i$J$$!#B>$N@\F,<-$r$3$NL>A06u4VL>$K(B
|
|
1064
|
+
$B4XO"IU$1$F$O$J$i$J$$!#(B
|
|
1065
|
+
|
|
1066
|
+
$B@\F,<-(B "xmlns" $B$OL>A06u4V$N4XO"IU$1$r@k8@$9$k$?$a$@$1$KMQ$$$i$l!"(B
|
|
1067
|
+
$BDj5A$K$h$jL>A06u4VL>(B "http://www.w3.org/2000/xmlns/" $B$K4XO"IU$1$i$l$k!#(B
|
|
1068
|
+
$B$3$l$r@k8@$7$F$O$J$i$J$$!#B>$N@\F,<-$r$3$NL>A06u4VL>$K4XO"IU$1$F$O(B
|
|
1069
|
+
$B$J$i$J$$!#(B
|
|
1070
|
+
|
|
1071
|
+
$B$3$l$i0J30$G!"BgJ8;z!&>.J8;z$NAH$_9g$o$;$rLd$o$:(B x, m, l $B$N(B3$BJ8;z$,JB$s$G(B
|
|
1072
|
+
$B;O$^$k@\F,<-$O!"(BXML $B5Z$S(B XML $B4XO"5,3J$G$N;HMQ$N$?$a$KM=Ls$5$l$F$$$k!#(B
|
|
1073
|
+
$B$3$l$O<!$N$3$H$r0UL#$9$k!#(B
|
|
1074
|
+
* $B8e$N5,3J$GDj5A$5$l$J$$8B$j!"%f!<%6!<$O$3$l$i$r;HMQ$9$k$Y$-$G$O$J$$!#(B
|
|
1075
|
+
* $B%W%m%;%5$O$3$l$i$rCWL?E*$J%(%i!<$H$7$F07$C$F$O$J$i$J$$!#(B
|
|
1076
|
+
|
|
1077
|
+
$B@\F,<-$,IU$-!"(BLocalPart $B$,(B x, m, l $B$NJ8;z$G;O$^$kL>A0$O$3$N@)Ls$r(B
|
|
1078
|
+
$BK~$?$7$F$O$$$k$,!"@\F,<-L5$7$GMQ$$$i$l$?>l9g$KM=Ls$5$l$?L>A0$H$J$C$F(B
|
|
1079
|
+
$B$7$^$&$?$a!"$=$N$h$&$JL>A0$rMQ$$$k$N$O4+$a$i$l$J$$!#(B
|
|
1080
|
+
|
|
1081
|
+
==> Implemented in XMLScan::XMLNamespace.
|
|
1082
|
+
|
|
1083
|
+
|
|
1084
|
+
|
|
1085
|
+
| Namespace Constraint: Prefix Declared
|
|
1086
|
+
|
|
|
1087
|
+
| The namespace prefix, unless it is xml or xmlns, must have been declared
|
|
1088
|
+
| in a namespace declaration attribute in either the start-tag of the element
|
|
1089
|
+
| where the prefix is used or in an an ancestor element (i.e. an element in
|
|
1090
|
+
| whose content the prefixed markup occurs). [DEL:(*1):DEL]
|
|
1091
|
+
|
|
|
1092
|
+
| This constraint may lead to operational difficulties in the case where the
|
|
1093
|
+
| namespace declaration attribute is provided, not directly in the XML document
|
|
1094
|
+
| entity, but via a default attribute declared in an external entity.
|
|
1095
|
+
| Such declarations may not be read by software which is based on a
|
|
1096
|
+
| non-validating XML processor. Many XML applications, presumably including
|
|
1097
|
+
| namespace-sensitive ones, fail to require validating processors.
|
|
1098
|
+
| For correct operation with such applications, namespace declarations must
|
|
1099
|
+
| be provided either directly or via default attributes declared in the
|
|
1100
|
+
| internal subset of the DTD.
|
|
1101
|
+
|
|
|
1102
|
+
| (*1) The prefix xml is by definition bound to the namespace name
|
|
1103
|
+
| http://www.w3.org/XML/1998/namespace. The prefix xmlns is used
|
|
1104
|
+
| only for namespace bindings and is not itself bound to any
|
|
1105
|
+
| namespace name.
|
|
1106
|
+
|
|
1107
|
+
Namespace Constraint: $B@\F,<-$,@k8@$5$l$F$$$k$3$H(B
|
|
1108
|
+
|
|
1109
|
+
"xml" $BKt$O(B "xmlns" $B0J30$NL>A06u4V@\F,<-$O!"$=$N@\F,<-$,;HMQ$5$l$F$$$k(B
|
|
1110
|
+
$BMWAG$N3+;O%?%0$+$=$NAD@h$NMWAG(B ($B$9$J$o$A@\F,<-$N$D$$$?%^!<%/%"%C%W$r(B
|
|
1111
|
+
$BFbMF$K;}$DMWAG(B) $B$NCf$G!"L>A06u4V@k8@B0@-$K$h$C$F@k8@$5$l$F$$$J$1$l$P(B
|
|
1112
|
+
$B$J$i$J$$!#(B[DEL:(*1):DEL]
|
|
1113
|
+
|
|
1114
|
+
$B$3$N@)Ls$O!"L>A06u4V@k8@B0@-$,(B XML $BJ8=q<BBN$NCf$KD>@\B8:_$9$k$N$G$O$J$/!"(B
|
|
1115
|
+
$B30It<BBN$G@k8@$5$l$F$$$kB0@-$N%G%U%)%k%H$KB8:_$9$k>l9g!"A`:n>e$N:$Fq$r(B
|
|
1116
|
+
$B>7$/$@$m$&!#BEEv@-$r8!>Z$7$J$$(BXML$B%W%m%;%5$r85$K$7$?%=%U%H%&%'%"$O!"(B
|
|
1117
|
+
$B$=$N$h$&$J@k8@$rFI$_9~$^$J$$!#B?$/$N(B XML $B%"%W%j%1!<%7%g%s$O!"L>A06u4V$r(B
|
|
1118
|
+
$BG'<1$9$k$b$N$b$*$=$i$/4^$a!"BEEv@-$r8!>Z$9$k%W%m%;%5$rMW5a$9$k$3$H$K(B
|
|
1119
|
+
$B<:GT$9$k!#$=$N$h$&$J%"%W%j%1!<%7%g%s$G$N@5$7$$A`:n$N$?$a$K!"L>A06u4V(B
|
|
1120
|
+
$B@k8@$O!"J8=qCf$KD>@\8=$l$k$+!"Kt$OFbIt(BDTD$B%5%V%;%C%H$G@k8@$5$l$F$$$k(B
|
|
1121
|
+
$BB0@-$N%G%U%)%k%H$K8=$l$J$1$l$P$J$i$J$$!#(B
|
|
1122
|
+
|
|
1123
|
+
(*1) $B@\F,<-(B "xml" $B$ODj5A$K$h$jL>A06u4VL>(B
|
|
1124
|
+
"http://www.w3.org/XML/1998/namespace" $B$K4XO"IU$1$i$l$k!#(B
|
|
1125
|
+
$B@\F,<-(B "xmlns" $B$OL>A06u4V$N4XO"IU$1$r@k8@$9$k$?$a$@$1$KMQ$$$i$l!"(B
|
|
1126
|
+
$B$=$l<+?H$O$I$NL>A06u4VL>$K$b4XO"IU$1$i$l$J$$!#(B
|
|
1127
|
+
|
|
1128
|
+
==> Partially Implemented in XMLScan::XMLNamespace.
|
|
1129
|
+
|
|
1130
|
+
|
|
1131
|
+
|
|
1132
|
+
|
|
1133
|
+
|
|
1134
|
+
|
|
1135
|
+
|
|
1136
|
+
| 5.1 Namespace Scoping
|
|
1137
|
+
|
|
|
1138
|
+
| [UPD:A namespace declaration is considered to apply to the element where
|
|
1139
|
+
| it is specified and its attributes, and to all elements and their attributes
|
|
1140
|
+
| within the content of that element, unless overridden by another namespace
|
|
1141
|
+
| declaration with the same NSAttName part.:UPD]
|
|
1142
|
+
|
|
1143
|
+
5.1 $BL>A06u4V$N%9%3!<%W(B
|
|
1144
|
+
|
|
1145
|
+
[UPD:$BL>A06u4V@k8@$O!"F1$8(B NSAttName $BItJ,$r;}$DB>$NL>A06u4V@k8@$K$h$C$F(B
|
|
1146
|
+
$B>e=q$-$5$l$J$$8B$j!"$=$l$,;XDj$5$l$?MWAG$H$=$NB0@-!"5Z$S$=$NMWAG$N(B
|
|
1147
|
+
$BFbMF$K$"$kA4$F$NMWAG$H$=$NB0@-$KE,MQ$5$l$k$b$N$H$9$k!#(B:UPD]
|
|
1148
|
+
|
|
1149
|
+
==> Implemented in XMLScan::XMLNamespace.
|
|
1150
|
+
|
|
1151
|
+
|
|
1152
|
+
| 5.2 Namespace Defaulting
|
|
1153
|
+
|
|
|
1154
|
+
| [UPD:A default namespace declaration is considered to apply to the element
|
|
1155
|
+
| where it is specified, and to all elements within the content of that
|
|
1156
|
+
| element, unless overridden by another default namespace declaration.:UPD]
|
|
1157
|
+
|
|
1158
|
+
5.2 $BL>A06u4V$N%G%U%)%k%H(B
|
|
1159
|
+
|
|
1160
|
+
[UPD:$B%G%U%)%k%HL>A06u4V@k8@$O!"B>$N%G%U%)%k%HL>A06u4V@k8@$K$h$C$F>e=q$-(B
|
|
1161
|
+
$B$5$l$J$$8B$j!"$=$l$,;XDj$5$l$?MWAG5Z$S$=$NMWAG$NFbMF$K$"$kA4$F$NMWAG$K(B
|
|
1162
|
+
$BE,MQ$5$l$k$b$N$H$9$k!#(B:UPD]
|
|
1163
|
+
|
|
1164
|
+
==> Implemented in XMLScan::XMLNamespace.
|
|
1165
|
+
|
|
1166
|
+
|
|
1167
|
+
| 5.3 Uniqueness of Attributes
|
|
1168
|
+
|
|
|
1169
|
+
| In XML documents conforming to this specification, no tag may contain two
|
|
1170
|
+
| attributes which:
|
|
1171
|
+
|
|
|
1172
|
+
| 1. have identical names, or
|
|
1173
|
+
| 2. have qualified names with the same local part and with prefixes which
|
|
1174
|
+
| have been bound to namespace names that are identical.
|
|
1175
|
+
|
|
1176
|
+
5.3 $BB0@-$N0l0U@-(B
|
|
1177
|
+
|
|
1178
|
+
$B$3$N5,3J$K=`5r$7$?(B XML $BJ8=q$G$O!"$I$N%?%0$b<!$N$h$&$JB0@-$r(B2$B$D4^$`$3$H$O(B
|
|
1179
|
+
$B$G$-$J$$!#(B
|
|
1180
|
+
|
|
1181
|
+
1. $BF10l$NL>A0$r;}$D!#Kt$O(B
|
|
1182
|
+
2. $BF1$8%m!<%+%k%Q!<%H$HF10l$NL>A06u4VL>$KB+G{$5$l$F$$$k@\F,<-$+$i$J$k(B
|
|
1183
|
+
$B=$>~L>(B (qualified name) $B$r;}$D!#(B
|
|
1184
|
+
|
|
1185
|
+
==> Implemented in XMLScan::XMLNamespace.
|
|
1186
|
+
|
|
1187
|
+
|
|
1188
|
+
|
|
1189
|
+
|
|
1190
|
+
| 6. Conformance of Documents
|
|
1191
|
+
|
|
|
1192
|
+
| This specification applies to XML 1.0 documents. To conform to this
|
|
1193
|
+
| specification, a document must be well-formed according to the XML 1.0
|
|
1194
|
+
| specification.
|
|
1195
|
+
|
|
|
1196
|
+
| In XML documents which conform to this specification, element types and
|
|
1197
|
+
| attribute names must match the production for QName and must satisfy the
|
|
1198
|
+
| "Namespace Constraints". All other tokens in the document which are
|
|
1199
|
+
| required, for XML 1.0 well-formedness, to match the XML production for
|
|
1200
|
+
| Name, must match this specification's production for NCName.
|
|
1201
|
+
|
|
|
1202
|
+
| Definition: A document is namespace-well-formed if it conforms to this
|
|
1203
|
+
| specification.
|
|
1204
|
+
|
|
|
1205
|
+
| It follows that in a namespace-well-formed document
|
|
1206
|
+
| * All element types and attribute names contain either zero or one colon;
|
|
1207
|
+
| * No entity names, PI targets, or notation names contain any colons.
|
|
1208
|
+
|
|
|
1209
|
+
| In addition, a namespace-well-formed document may also be namespace-valid.
|
|
1210
|
+
|
|
|
1211
|
+
| Definition: A namespace-well-formed document is namespace-valid if it is
|
|
1212
|
+
| valid according to the XML 1.0 specification, and all tokens other than
|
|
1213
|
+
| element types and attribute names which are required, for XML 1.0 validity,
|
|
1214
|
+
| to match the XML production for Name, match this specification's production
|
|
1215
|
+
| for NCName.
|
|
1216
|
+
|
|
|
1217
|
+
| It follows that in a namespace-valid document
|
|
1218
|
+
| * No attributes with a declared type of ID, IDREF(S), ENTITY(IES) or
|
|
1219
|
+
| NOTATION contain any colons.
|
|
1220
|
+
|
|
1221
|
+
6. $BJ8=q$NE,9g@-(B
|
|
1222
|
+
|
|
1223
|
+
$B$3$N5,3J$O(B XML 1.0 $BJ8=q$KBP$7$FE,MQ$5$l$k!#$3$N5,3J$rK~B-$9$k$?$a$K$O!"(B
|
|
1224
|
+
$BJ8=q$O(B XML 1.0 $B5,3J$N8@$&@07A<0$G$J$1$l$P$J$i$J$$!#(B
|
|
1225
|
+
|
|
1226
|
+
$B$3$N5,3J$KE,9g$9$k(B XML $BJ8=q$G$O!"MWAG7?$HB0@-L>$O@8@.5,B'(B QName $B$K(B
|
|
1227
|
+
$B%^%C%A$7!"$+$DL>A06u4V@)Ls(B (Namespace Constraints) $B$rK~$?$5$J$1$l$P(B
|
|
1228
|
+
$B$J$i$J$$!#MW5a$5$l$kJ8=qCf$NB>$N%H!<%/%s$O!"(BXML 1.0 $B$N@07A<0@)Ls$N$?$a!"(B
|
|
1229
|
+
XML $B$N@8@.5,B'(B Name $B$K%^%C%A$9$k$?$a$K!"$3$N5,3J$N@8@.5,B'(B NCName $B$K(B
|
|
1230
|
+
$B%^%C%A$7$J$1$l$P$J$i$J$$!#(B
|
|
1231
|
+
|
|
1232
|
+
$BDj5A(B: $B$"$kJ8=q$,$3$N5,3J$KE,9g$7$F$$$k$H$-!"$=$NJ8=q$rL>A06u4V@07A<0(B
|
|
1233
|
+
(namespace-well-formed) $B$N(BXML$BJ8=q$H8F$V!#(B
|
|
1234
|
+
|
|
1235
|
+
$BL>A06u4V@07A<0$G$"$kJ8=q$O!"<!$N>r7o$rK~$?$9!#(B
|
|
1236
|
+
* $BA4$F$NMWAG7?$HB0@-L>$O(B0$B8D$+(B1$B8D$N%3%m%s$r4^$`!#(B
|
|
1237
|
+
* $B<BBNL>!"=hM}L?Na$N%?!<%2%C%HL>!"5Z$S5-K!L>$O%3%m%s$r4^$^$J$$!#(B
|
|
1238
|
+
|
|
1239
|
+
$B$^$?!"L>A06u4V@07A<0$G$"$kJ8=q$OF1;~$KL>A06u4VBEEv(B (namespace-valid)
|
|
1240
|
+
$B$G$"$C$F$b$h$$!#(B
|
|
1241
|
+
|
|
1242
|
+
$BDj5A(B: $BL>A06u4V@07A<0$G$"$kJ8=q$,(B XML 1.0 $B5,3J$GBEEv$G$"$j!"$+$D(B
|
|
1243
|
+
$BMW5a$5$l$kMWAG7?$HB0@-L>$r=|$/A4$F$N%H!<%/%s$,!"(BXML 1.0 $B$NBEEv@-$N(B
|
|
1244
|
+
$B$?$a!"(BXML $B$N@8@.5,B'(B Name $B$K%^%C%A$9$k$?$a$K!"$3$N5,3J$N@8@.5,B'(B
|
|
1245
|
+
NCName $B$K%^%C%A$7$F$$$k$H$-!"$=$NJ8=q$rL>A06u4VBEEv$J(BXML$BJ8=q$H8F$V!#(B
|
|
1246
|
+
|
|
1247
|
+
$BL>A06u4VBEEv$JJ8=q$O!"<!$N>r7o$rK~$?$9!#(B
|
|
1248
|
+
* ID, IDREF, ENTITY, $B5Z$S(B NOTATION $B7?$K@k8@$5$l$?B0@-$O%3%m%s$r(B
|
|
1249
|
+
$B4^$^$J$$!#(B
|