├── LICENSE
├── README.md
├── SVG-1.2-RFC.rnc
├── draft-rfcxml-general-template-annotated-00.xml
├── draft-rfcxml-general-template-bare-00.xml
├── draft-rfcxml-general-template-standard-00.xml
└── rfc7991bis.rnc
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2021 IETF Trust and the persons identified as authors of the
2 | code. All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without
5 | modification, are permitted provided that the following conditions are met:
6 |
7 | * Redistributions of source code must retain the above copyright notice, this
8 | list of conditions and the following disclaimer.
9 |
10 | * Redistributions in binary form must reproduce the above copyright notice,
11 | this list of conditions and the following disclaimer in the documentation
12 | and/or other materials provided with the distribution.
13 |
14 | * Neither the name of Internet Society, IETF or IETF Trust, nor the names of
15 | specific contributors, may be used to endorse or promote products derived
16 | from this software without specific prior written permission.
17 |
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS”
19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
22 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
25 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # rfcxml-templates-and-schemas
2 | These are the current official templates and schema files for RFCXML. See [https://authors.ietf.org/en/templates-and-schemas](https://authors.ietf.org/en/templates-and-schemas) for full details including explanations of each file.
3 |
--------------------------------------------------------------------------------
/SVG-1.2-RFC.rnc:
--------------------------------------------------------------------------------
1 | # SVG-1.2-RFC.rnc
2 | #
3 | # SVG 1.2 RFC RNC schema as specified in RFC 7996.
4 | #
5 | # This schema is automatically included by the parent RFCXML v3 RNC schema
6 | # and so needs to be present for succesful validation but does not need to
7 | # be specified separately.
8 | #
9 | # Documentation is at https://authors.ietf.org/en/templates-and-schemas
10 | #
11 | # Nevil Brownlee, Tue Jan 16 2018 (NZDT)
12 |
13 | default namespace = "http://www.w3.org/2000/svg"
14 | namespace xlink = "http://www.w3.org/1999/xlink"
15 |
16 | rfc-color = ( # SVG-1.2-RFC doesn't allow "color or grey-scale"
17 | "black" | "white" | "#000000" | "#FFFFFF" | "#ffffff" |
18 | "currentColor" | "inherit" )
19 |
20 | start = svg
21 |
22 | svg =
23 | element svg {
24 | ((attribute fill-opacity { "inherit" | xsd:string }?,
25 | attribute stroke-opacity { "inherit" | xsd:string }?)
26 | & (attribute fill { "none" | rfc-color }?,
27 | attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
28 | attribute stroke { rfc-color }?,
29 | attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
30 | attribute stroke-dashoffset { "inherit" | xsd:string }?,
31 | attribute stroke-linecap {
32 | "butt" | "round" | "square" | "inherit"
33 | }?,
34 | attribute stroke-linejoin {
35 | "miter" | "round" | "bevel" | "inherit"
36 | }?,
37 | attribute stroke-miterlimit { "inherit" | xsd:string }?,
38 | attribute stroke-width { "inherit" | xsd:string }?,
39 | attribute color { rfc-color }?,
40 | attribute color-rendering {
41 | "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
42 | }?)
43 | & attribute vector-effect {
44 | "none" | "non-scaling-stroke" | "inherit"
45 | }?
46 | & (attribute direction { "ltr" | "rtl" | "inherit" }?,
47 | attribute unicode-bidi {
48 | "normal" | "embed" | "bidi-override" | "inherit"
49 | }?)
50 | & (attribute solid-color { rfc-color }?,
51 | attribute solid-opacity { "inherit" | xsd:string }?)
52 | & (attribute display-align {
53 | "auto" | "before" | "center" | "after" | "inherit"
54 | }?,
55 | attribute line-increment { "auto" | "inherit" | xsd:string }?)
56 | & (attribute stop-color { rfc-color }?,
57 | attribute stop-opacity { "inherit" | xsd:string }?)
58 | & (attribute font-family { "serif" | "sans-serif" | "monospace"
59 | | "inherit" }?,
60 | attribute font-size { "inherit" | xsd:string }?,
61 | attribute font-style {
62 | "normal" | "italic" | "oblique" | "inherit"
63 | }?,
64 | attribute font-variant { "normal" | "small-caps" | "inherit" }?,
65 | attribute font-weight {
66 | "normal"
67 | | "bold"
68 | | "bolder"
69 | | "lighter"
70 | }?,
71 | attribute text-anchor {
72 | "start" | "middle" | "end" | "inherit"}?,
73 | attribute text-align {
74 | "start" | "center" | "end" | "inherit"
75 | }?)),
76 | (attribute id { xsd:NCName }
77 | | attribute xml:id { xsd:NCName })?,
78 | attribute xml:base { xsd:anyURI | xsd:string }?,
79 | attribute xml:lang { xsd:language? }?,
80 | attribute class { xsd:NMTOKENS }?,
81 | attribute role { xsd:string }?,
82 | attribute rel { xsd:string }?,
83 | attribute rev { xsd:string }?,
84 | attribute typeof { xsd:string }?,
85 | attribute content { xsd:string }?,
86 | attribute datatype { xsd:string }?,
87 | attribute resource { xsd:string }?,
88 | attribute about { xsd:string }?,
89 | attribute property { xsd:string }?,
90 | attribute xml:space { "default" | "preserve" }?,
91 | attribute width { xsd:string }?,
92 | attribute height { xsd:string }?,
93 | attribute preserveAspectRatio {
94 | xsd:string { pattern = "\s*(none|xMidYMid)\s*(meet)?\s*" }
95 | }?,
96 | attribute viewBox { text }?,
97 | attribute version {
98 | xsd:string "1.0" | xsd:string "1.1" | xsd:string "1.2"
99 | }?,
100 | attribute baseProfile {
101 | xsd:string "none"
102 | | xsd:string "tiny"
103 | | xsd:string "basic"
104 | | xsd:string "full"
105 | }?,
106 | attribute snapshotTime { xsd:string "none" | xsd:string }?,
107 | (desc
108 | | svgTitle
109 | | path
110 | | rect
111 | | circle
112 | | line
113 | | ellipse
114 | | polyline
115 | | polygon
116 | | solidColor
117 | | textArea
118 | | \text
119 | | g
120 | | defs
121 | | use
122 | | a)*
123 | }
124 |
125 | desc =
126 | element desc {
127 | (attribute id { xsd:NCName }
128 | | attribute xml:id { xsd:NCName })?,
129 | attribute xml:base { xsd:anyURI | xsd:string }?,
130 | attribute xml:lang { xsd:language? }?,
131 | attribute class { xsd:NMTOKENS }?,
132 | attribute role { xsd:string }?,
133 | attribute rel { xsd:string }?,
134 | attribute rev { xsd:string }?,
135 | attribute typeof { xsd:string }?,
136 | attribute content { xsd:string }?,
137 | attribute datatype { xsd:string }?,
138 | attribute resource { xsd:string }?,
139 | attribute about { xsd:string }?,
140 | attribute property { xsd:string }?,
141 | attribute xml:space { "default" | "preserve" }?,
142 | ((attribute display {
143 | "inline"
144 | | "block"
145 | | "list-item"
146 | | "run-in"
147 | | "compact"
148 | | "marker"
149 | | "table"
150 | | "inline-table"
151 | | "table-row-group"
152 | | "table-header-group"
153 | | "table-footer-group"
154 | | "table-row"
155 | | "table-column-group"
156 | | "table-column"
157 | | "table-cell"
158 | | "table-caption"
159 | | "none"
160 | | "inherit"
161 | }?,
162 | attribute visibility { "visible" | "hidden" | "collapse" | "inherit" }?,
163 | attribute image-rendering {
164 | "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
165 | }?,
166 | attribute shape-rendering {
167 | "auto"
168 | | "optimizeSpeed"
169 | | "crispEdges"
170 | | "geometricPrecision"
171 | | "inherit"
172 | }?,
173 | attribute text-rendering {
174 | "auto"
175 | | "optimizeSpeed"
176 | | "optimizeLegibility"
177 | | "geometricPrecision"
178 | | "inherit"
179 | }?,
180 | attribute buffered-rendering {
181 | "auto" | "dynamic" | "static" | "inherit"
182 | }?)
183 | & (attribute viewport-fill { "none" | rfc-color }?,
184 | attribute viewport-fill-opacity { "inherit" | xsd:string }?)),
185 | text
186 | }
187 |
188 | svgTitle =
189 | element title {
190 | (attribute id { xsd:NCName }
191 | | attribute xml:id { xsd:NCName })?,
192 | attribute xml:base { xsd:anyURI | xsd:string }?,
193 | attribute xml:lang { xsd:language? }?,
194 | attribute class { xsd:NMTOKENS }?,
195 | attribute role { xsd:string }?,
196 | attribute rel { xsd:string }?,
197 | attribute rev { xsd:string }?,
198 | attribute typeof { xsd:string }?,
199 | attribute content { xsd:string }?,
200 | attribute datatype { xsd:string }?,
201 | attribute resource { xsd:string }?,
202 | attribute about { xsd:string }?,
203 | attribute property { xsd:string }?,
204 | attribute xml:space { "default" | "preserve" }?,
205 | ((attribute display {
206 | "inline"
207 | | "block"
208 | | "list-item"
209 | | "run-in"
210 | | "compact"
211 | | "marker"
212 | | "table"
213 | | "inline-table"
214 | | "table-row-group"
215 | | "table-header-group"
216 | | "table-footer-group"
217 | | "table-row"
218 | | "table-column-group"
219 | | "table-column"
220 | | "table-cell"
221 | | "table-caption"
222 | | "none"
223 | | "inherit"
224 | }?,
225 | attribute visibility { "visible" | "hidden" | "collapse" | "inherit" }?,
226 | attribute image-rendering {
227 | "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
228 | }?,
229 | attribute shape-rendering {
230 | "auto"
231 | | "optimizeSpeed"
232 | | "crispEdges"
233 | | "geometricPrecision"
234 | | "inherit"
235 | }?,
236 | attribute text-rendering {
237 | "auto"
238 | | "optimizeSpeed"
239 | | "optimizeLegibility"
240 | | "geometricPrecision"
241 | | "inherit"
242 | }?,
243 | attribute buffered-rendering {
244 | "auto" | "dynamic" | "static" | "inherit"
245 | }?)
246 | & (attribute viewport-fill { "none" | rfc-color }?,
247 | attribute viewport-fill-opacity { "inherit" | xsd:string }?)),
248 | text
249 | }
250 |
251 | path =
252 | element path {
253 | (attribute id { xsd:NCName }
254 | | attribute xml:id { xsd:NCName })?,
255 | attribute xml:base { xsd:anyURI | xsd:string }?,
256 | attribute xml:lang { xsd:language? }?,
257 | attribute class { xsd:NMTOKENS }?,
258 | attribute role { xsd:string }?,
259 | attribute rel { xsd:string }?,
260 | attribute rev { xsd:string }?,
261 | attribute typeof { xsd:string }?,
262 | attribute content { xsd:string }?,
263 | attribute datatype { xsd:string }?,
264 | attribute resource { xsd:string }?,
265 | attribute about { xsd:string }?,
266 | attribute property { xsd:string }?,
267 | attribute xml:space { "default" | "preserve" }?,
268 | attribute transform { xsd:string | "none" }?,
269 | ((attribute fill-opacity { "inherit" | xsd:string }?,
270 | attribute stroke-opacity { "inherit" | xsd:string }?)
271 | & (attribute fill { "none" | rfc-color }?,
272 | attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
273 | attribute stroke { rfc-color }?,
274 | attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
275 | attribute stroke-dashoffset { "inherit" | xsd:string }?,
276 | attribute stroke-linecap {
277 | "butt" | "round" | "square" | "inherit"
278 | }?,
279 | attribute stroke-linejoin {
280 | "miter" | "round" | "bevel" | "inherit"
281 | }?,
282 | attribute stroke-miterlimit { "inherit" | xsd:string }?,
283 | attribute stroke-width { "inherit" | xsd:string }?,
284 | attribute color { rfc-color }?,
285 | attribute color-rendering {
286 | "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
287 | }?)
288 | & attribute vector-effect {
289 | "none" | "non-scaling-stroke" | "inherit"
290 | }?
291 | & (attribute direction { "ltr" | "rtl" | "inherit" }?,
292 | attribute unicode-bidi {
293 | "normal" | "embed" | "bidi-override" | "inherit"
294 | }?)
295 | & (attribute solid-color { rfc-color }?,
296 | attribute solid-opacity { "inherit" | xsd:string }?)
297 | & (attribute display-align {
298 | "auto" | "before" | "center" | "after" | "inherit"
299 | }?,
300 | attribute line-increment { "auto" | "inherit" | xsd:string }?)
301 | & (attribute stop-color { rfc-color }?,
302 | attribute stop-opacity { "inherit" | xsd:string }?)
303 | & (attribute font-family { "serif" | "sans-serif" | "monospace"
304 | | "inherit" }?,
305 | attribute font-size { "inherit" | xsd:string }?,
306 | attribute font-style {
307 | "normal" | "italic" | "oblique" | "inherit"
308 | }?,
309 | attribute font-variant { "normal" | "small-caps" | "inherit" }?,
310 | attribute font-weight {
311 | "normal"
312 | | "bold"
313 | | "bolder"
314 | | "lighter"
315 | | "inherit"
316 | }?,
317 | attribute text-anchor {
318 | "start" | "middle" | "end" | "inherit"
319 | }?,
320 | attribute text-align {
321 | "start" | "center" | "end" | "inherit"
322 | }?)),
323 | attribute d { xsd:string }?,
324 | attribute pathLength { xsd:string }?,
325 | (desc
326 | | svgTitle)*
327 | }
328 |
329 | rect =
330 | element rect {
331 | (attribute id { xsd:NCName }
332 | | attribute xml:id { xsd:NCName })?,
333 | attribute xml:base { xsd:anyURI | xsd:string }?,
334 | attribute xml:lang { xsd:language? }?,
335 | attribute class { xsd:NMTOKENS }?,
336 | attribute role { xsd:string }?,
337 | attribute rel { xsd:string }?,
338 | attribute rev { xsd:string }?,
339 | attribute typeof { xsd:string }?,
340 | attribute content { xsd:string }?,
341 | attribute datatype { xsd:string }?,
342 | attribute resource { xsd:string }?,
343 | attribute about { xsd:string }?,
344 | attribute property { xsd:string }?,
345 | attribute xml:space { "default" | "preserve" }?,
346 | attribute transform { xsd:string | "none" }?,
347 | ((attribute fill-opacity { "inherit" | xsd:string }?,
348 | attribute stroke-opacity { "inherit" | xsd:string }?)
349 | & (attribute fill { "none" | rfc-color }?,
350 | attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
351 | attribute stroke { rfc-color }?,
352 | attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
353 | attribute stroke-dashoffset { "inherit" | xsd:string }?,
354 | attribute stroke-linecap {
355 | "butt" | "round" | "square" | "inherit"
356 | }?,
357 | attribute stroke-linejoin {
358 | "miter" | "round" | "bevel" | "inherit"
359 | }?,
360 | attribute stroke-miterlimit { "inherit" | xsd:string }?,
361 | attribute stroke-width { "inherit" | xsd:string }?,
362 | attribute color { rfc-color }?,
363 | attribute color-rendering {
364 | "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
365 | }?)
366 | & attribute vector-effect {
367 | "none" | "non-scaling-stroke" | "inherit"
368 | }?
369 | & (attribute direction { "ltr" | "rtl" | "inherit" }?,
370 | attribute unicode-bidi {
371 | "normal" | "embed" | "bidi-override" | "inherit"
372 | }?)
373 | & (attribute solid-color { rfc-color }?,
374 | attribute solid-opacity { "inherit" | xsd:string }?)
375 | & (attribute display-align {
376 | "auto" | "before" | "center" | "after" | "inherit"
377 | }?,
378 | attribute line-increment { "auto" | "inherit" | xsd:string }?)
379 | & (attribute stop-color { rfc-color }?,
380 | attribute stop-opacity { "inherit" | xsd:string }?)
381 | & (attribute font-family { "serif" | "sans-serif" | "monospace"
382 | | "inherit" }?,
383 | attribute font-size { "inherit" | xsd:string }?,
384 | attribute font-style {
385 | "normal" | "italic" | "oblique" | "inherit"
386 | }?,
387 | attribute font-variant { "normal" | "small-caps" | "inherit" }?,
388 | attribute font-weight {
389 | "normal"
390 | | "bold"
391 | | "bolder"
392 | | "lighter"
393 | | "inherit"
394 | }?,
395 | attribute text-anchor {
396 | "start" | "middle" | "end" | "inherit"
397 | }?,
398 | attribute text-align {
399 | "start" | "center" | "end" | "inherit"
400 | }?)),
401 | attribute x { xsd:string }?,
402 | attribute y { xsd:string }?,
403 | attribute width { xsd:string }?,
404 | attribute height { xsd:string }?,
405 | attribute rx { xsd:string }?,
406 | attribute ry { xsd:string }?,
407 | (desc
408 | | svgTitle)*
409 | }
410 |
411 | circle =
412 | element circle {
413 | (attribute id { xsd:NCName }
414 | | attribute xml:id { xsd:NCName })?,
415 | attribute xml:base { xsd:anyURI | xsd:string }?,
416 | attribute xml:lang { xsd:language? }?,
417 | attribute class { xsd:NMTOKENS }?,
418 | attribute role { xsd:string }?,
419 | attribute rel { xsd:string }?,
420 | attribute rev { xsd:string }?,
421 | attribute typeof { xsd:string }?,
422 | attribute content { xsd:string }?,
423 | attribute datatype { xsd:string }?,
424 | attribute resource { xsd:string }?,
425 | attribute about { xsd:string }?,
426 | attribute property { xsd:string }?,
427 | attribute xml:space { "default" | "preserve" }?,
428 | attribute transform { xsd:string | "none" }?,
429 | ((attribute fill-opacity { "inherit" | xsd:string }?,
430 | attribute stroke-opacity { "inherit" | xsd:string }?)
431 | & (attribute fill { "none" | rfc-color }?,
432 | attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
433 | attribute stroke { rfc-color }?,
434 | attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
435 | attribute stroke-dashoffset { "inherit" | xsd:string }?,
436 | attribute stroke-linecap {
437 | "butt" | "round" | "square" | "inherit"
438 | }?,
439 | attribute stroke-linejoin {
440 | "miter" | "round" | "bevel" | "inherit"
441 | }?,
442 | attribute stroke-miterlimit { "inherit" | xsd:string }?,
443 | attribute stroke-width { "inherit" | xsd:string }?,
444 | attribute color { rfc-color }?,
445 | attribute color-rendering {
446 | "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
447 | }?)
448 | & attribute vector-effect {
449 | "none" | "non-scaling-stroke" | "inherit"
450 | }?
451 | & (attribute direction { "ltr" | "rtl" | "inherit" }?,
452 | attribute unicode-bidi {
453 | "normal" | "embed" | "bidi-override" | "inherit"
454 | }?)
455 | & (attribute solid-color { rfc-color }?,
456 | attribute solid-opacity { "inherit" | xsd:string }?)
457 | & (attribute display-align {
458 | "auto" | "before" | "center" | "after" | "inherit"
459 | }?,
460 | attribute line-increment { "auto" | "inherit" | xsd:string }?)
461 | & (attribute stop-color { rfc-color }?,
462 | attribute stop-opacity { "inherit" | xsd:string }?)
463 | & (attribute font-family { "serif" | "sans-serif" | "monospace"
464 | | "inherit" }?,
465 | attribute font-size { "inherit" | xsd:string }?,
466 | attribute font-style {
467 | "normal" | "italic" | "oblique" | "inherit"
468 | }?,
469 | attribute font-variant { "normal" | "small-caps" | "inherit" }?,
470 | attribute font-weight {
471 | "normal"
472 | | "bold"
473 | | "bolder"
474 | | "lighter"
475 | | "inherit"
476 | }?,
477 | attribute text-anchor {
478 | "start" | "middle" | "end" | "inherit"
479 | }?,
480 | attribute text-align {
481 | "start" | "center" | "end" | "inherit"
482 | }?)),
483 | attribute cx { xsd:string }?,
484 | attribute cy { xsd:string }?,
485 | attribute r { xsd:string }?,
486 | (desc
487 | | svgTitle)*
488 | }
489 |
490 | line =
491 | element line {
492 | (attribute id { xsd:NCName }
493 | | attribute xml:id { xsd:NCName })?,
494 | attribute xml:base { xsd:anyURI | xsd:string }?,
495 | attribute xml:lang { xsd:language? }?,
496 | attribute class { xsd:NMTOKENS }?,
497 | attribute role { xsd:string }?,
498 | attribute rel { xsd:string }?,
499 | attribute rev { xsd:string }?,
500 | attribute typeof { xsd:string }?,
501 | attribute content { xsd:string }?,
502 | attribute datatype { xsd:string }?,
503 | attribute resource { xsd:string }?,
504 | attribute about { xsd:string }?,
505 | attribute property { xsd:string }?,
506 | attribute xml:space { "default" | "preserve" }?,
507 | attribute transform { xsd:string | "none" }?,
508 | ((attribute fill-opacity { "inherit" | xsd:string }?,
509 | attribute stroke-opacity { "inherit" | xsd:string }?)
510 | & (attribute fill { "none" | rfc-color }?,
511 | attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
512 | attribute stroke { rfc-color }?,
513 | attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
514 | attribute stroke-dashoffset { "inherit" | xsd:string }?,
515 | attribute stroke-linecap {
516 | "butt" | "round" | "square" | "inherit"
517 | }?,
518 | attribute stroke-linejoin {
519 | "miter" | "round" | "bevel" | "inherit"
520 | }?,
521 | attribute stroke-miterlimit { "inherit" | xsd:string }?,
522 | attribute stroke-width { "inherit" | xsd:string }?,
523 | attribute color { rfc-color }?,
524 | attribute color-rendering {
525 | "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
526 | }?)
527 | & attribute vector-effect {
528 | "none" | "non-scaling-stroke" | "inherit"
529 | }?
530 | & (attribute direction { "ltr" | "rtl" | "inherit" }?,
531 | attribute unicode-bidi {
532 | "normal" | "embed" | "bidi-override" | "inherit"
533 | }?)
534 | & (attribute solid-color { rfc-color }?,
535 | attribute solid-opacity { "inherit" | xsd:string }?)
536 | & (attribute display-align {
537 | "auto" | "before" | "center" | "after" | "inherit"
538 | }?,
539 | attribute line-increment { "auto" | "inherit" | xsd:string }?)
540 | & (attribute stop-color { rfc-color }?,
541 | attribute stop-opacity { "inherit" | xsd:string }?)
542 | & (attribute font-family { "serif" | "sans-serif" | "monospace"
543 | | "inherit" }?,
544 | attribute font-size { "inherit" | xsd:string }?,
545 | attribute font-style {
546 | "normal" | "italic" | "oblique" | "inherit"
547 | }?,
548 | attribute font-variant { "normal" | "small-caps" | "inherit" }?,
549 | attribute font-weight {
550 | "normal"
551 | | "bold"
552 | | "bolder"
553 | | "lighter"
554 | | "inherit"
555 | }?,
556 | attribute text-anchor {
557 | "start" | "middle" | "end" | "inherit"
558 | }?,
559 | attribute text-align {
560 | "start" | "center" | "end" | "inherit"
561 | }?)),
562 | attribute x1 { xsd:string }?,
563 | attribute y1 { xsd:string }?,
564 | attribute x2 { xsd:string }?,
565 | attribute y2 { xsd:string }?,
566 | (desc
567 | | svgTitle)*
568 | }
569 |
570 | ellipse =
571 | element ellipse {
572 | (attribute id { xsd:NCName }
573 | | attribute xml:id { xsd:NCName })?,
574 | attribute xml:base { xsd:anyURI | xsd:string }?,
575 | attribute xml:lang { xsd:language? }?,
576 | attribute class { xsd:NMTOKENS }?,
577 | attribute role { xsd:string }?,
578 | attribute rel { xsd:string }?,
579 | attribute rev { xsd:string }?,
580 | attribute typeof { xsd:string }?,
581 | attribute content { xsd:string }?,
582 | attribute datatype { xsd:string }?,
583 | attribute resource { xsd:string }?,
584 | attribute about { xsd:string }?,
585 | attribute property { xsd:string }?,
586 | attribute xml:space { "default" | "preserve" }?,
587 | attribute transform { xsd:string | "none" }?,
588 | ((attribute fill-opacity { "inherit" | xsd:string }?,
589 | attribute stroke-opacity { "inherit" | xsd:string }?)
590 | & (attribute fill { "none" | rfc-color }?,
591 | attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
592 | attribute stroke { rfc-color }?,
593 | attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
594 | attribute stroke-dashoffset { "inherit" | xsd:string }?,
595 | attribute stroke-linecap {
596 | "butt" | "round" | "square" | "inherit"
597 | }?,
598 | attribute stroke-linejoin {
599 | "miter" | "round" | "bevel" | "inherit"
600 | }?,
601 | attribute stroke-miterlimit { "inherit" | xsd:string }?,
602 | attribute stroke-width { "inherit" | xsd:string }?,
603 | attribute color { rfc-color }?,
604 | attribute color-rendering {
605 | "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
606 | }?)
607 | & attribute vector-effect {
608 | "none" | "non-scaling-stroke" | "inherit"
609 | }?
610 | & (attribute direction { "ltr" | "rtl" | "inherit" }?,
611 | attribute unicode-bidi {
612 | "normal" | "embed" | "bidi-override" | "inherit"
613 | }?)
614 | & (attribute solid-color { rfc-color }?,
615 | attribute solid-opacity { "inherit" | xsd:string }?)
616 | & (attribute display-align {
617 | "auto" | "before" | "center" | "after" | "inherit"
618 | }?,
619 | attribute line-increment { "auto" | "inherit" | xsd:string }?)
620 | & (attribute stop-color { rfc-color }?,
621 | attribute stop-opacity { "inherit" | xsd:string }?)
622 | & (attribute font-family { "serif" | "sans-serif" | "monospace"
623 | | "inherit" }?,
624 | attribute font-size { "inherit" | xsd:string }?,
625 | attribute font-style {
626 | "normal" | "italic" | "oblique" | "inherit"
627 | }?,
628 | attribute font-variant { "normal" | "small-caps" | "inherit" }?,
629 | attribute font-weight {
630 | "normal"
631 | | "bold"
632 | | "bolder"
633 | | "lighter"
634 | | "inherit"
635 | }?,
636 | attribute text-anchor {
637 | "start" | "middle" | "end" | "inherit"
638 | }?,
639 | attribute text-align {
640 | "start" | "center" | "end" | "inherit"
641 | }?)),
642 | attribute rx { xsd:string }?,
643 | attribute ry { xsd:string }?,
644 | attribute cx { xsd:string }?,
645 | attribute cy { xsd:string }?,
646 | (desc
647 | | svgTitle)*
648 | }
649 |
650 | polyline =
651 | element polyline {
652 | (attribute id { xsd:NCName }
653 | | attribute xml:id { xsd:NCName })?,
654 | attribute xml:base { xsd:anyURI | xsd:string }?,
655 | attribute xml:lang { xsd:language? }?,
656 | attribute class { xsd:NMTOKENS }?,
657 | attribute role { xsd:string }?,
658 | attribute rel { xsd:string }?,
659 | attribute rev { xsd:string }?,
660 | attribute typeof { xsd:string }?,
661 | attribute content { xsd:string }?,
662 | attribute datatype { xsd:string }?,
663 | attribute resource { xsd:string }?,
664 | attribute about { xsd:string }?,
665 | attribute property { xsd:string }?,
666 | attribute xml:space { "default" | "preserve" }?,
667 | attribute transform { xsd:string | "none" }?,
668 | ((attribute fill-opacity { "inherit" | xsd:string }?,
669 | attribute stroke-opacity { "inherit" | xsd:string }?)
670 | & (attribute fill { "none" | rfc-color }?,
671 | attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
672 | attribute stroke { rfc-color }?,
673 | attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
674 | attribute stroke-dashoffset { "inherit" | xsd:string }?,
675 | attribute stroke-linecap {
676 | "butt" | "round" | "square" | "inherit"
677 | }?,
678 | attribute stroke-linejoin {
679 | "miter" | "round" | "bevel" | "inherit"
680 | }?,
681 | attribute stroke-miterlimit { "inherit" | xsd:string }?,
682 | attribute stroke-width { "inherit" | xsd:string }?,
683 | attribute color { rfc-color }?,
684 | attribute color-rendering {
685 | "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
686 | }?)
687 | & attribute vector-effect {
688 | "none" | "non-scaling-stroke" | "inherit"
689 | }?
690 | & (attribute direction { "ltr" | "rtl" | "inherit" }?,
691 | attribute unicode-bidi {
692 | "normal" | "embed" | "bidi-override" | "inherit"
693 | }?)
694 | & (attribute solid-color { rfc-color }?,
695 | attribute solid-opacity { "inherit" | xsd:string }?)
696 | & (attribute display-align {
697 | "auto" | "before" | "center" | "after" | "inherit"
698 | }?,
699 | attribute line-increment { "auto" | "inherit" | xsd:string }?)
700 | & (attribute stop-color { rfc-color }?,
701 | attribute stop-opacity { "inherit" | xsd:string }?)
702 | & (attribute font-family { "serif" | "sans-serif" | "monospace"
703 | | "inherit" }?,
704 | attribute font-size { "inherit" | xsd:string }?,
705 | attribute font-style {
706 | "normal" | "italic" | "oblique" | "inherit"
707 | }?,
708 | attribute font-variant { "normal" | "small-caps" | "inherit" }?,
709 | attribute font-weight {
710 | "normal"
711 | | "bold"
712 | | "bolder"
713 | | "lighter"
714 | | "inherit"
715 | }?,
716 | attribute text-anchor {
717 | "start" | "middle" | "end" | "inherit"
718 | }?,
719 | attribute text-align {
720 | "start" | "center" | "end" | "inherit"
721 | }?)),
722 | attribute points { xsd:string }?,
723 | (desc
724 | | svgTitle)*
725 | }
726 |
727 | polygon =
728 | element polygon {
729 | (attribute id { xsd:NCName }
730 | | attribute xml:id { xsd:NCName })?,
731 | attribute xml:base { xsd:anyURI | xsd:string }?,
732 | attribute xml:lang { xsd:language? }?,
733 | attribute class { xsd:NMTOKENS }?,
734 | attribute role { xsd:string }?,
735 | attribute rel { xsd:string }?,
736 | attribute rev { xsd:string }?,
737 | attribute typeof { xsd:string }?,
738 | attribute content { xsd:string }?,
739 | attribute datatype { xsd:string }?,
740 | attribute resource { xsd:string }?,
741 | attribute about { xsd:string }?,
742 | attribute property { xsd:string }?,
743 | attribute xml:space { "default" | "preserve" }?,
744 | attribute transform { xsd:string | "none" }?,
745 | ((attribute fill-opacity { "inherit" | xsd:string }?,
746 | attribute stroke-opacity { "inherit" | xsd:string }?)
747 | & (attribute fill { "none" | rfc-color }?,
748 | attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
749 | attribute stroke { rfc-color }?,
750 | attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
751 | attribute stroke-dashoffset { "inherit" | xsd:string }?,
752 | attribute stroke-linecap {
753 | "butt" | "round" | "square" | "inherit"
754 | }?,
755 | attribute stroke-linejoin {
756 | "miter" | "round" | "bevel" | "inherit"
757 | }?,
758 | attribute stroke-miterlimit { "inherit" | xsd:string }?,
759 | attribute stroke-width { "inherit" | xsd:string }?,
760 | attribute color { rfc-color }?,
761 | attribute color-rendering {
762 | "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
763 | }?)
764 | & attribute vector-effect {
765 | "none" | "non-scaling-stroke" | "inherit"
766 | }?
767 | & (attribute direction { "ltr" | "rtl" | "inherit" }?,
768 | attribute unicode-bidi {
769 | "normal" | "embed" | "bidi-override" | "inherit"
770 | }?)
771 | & (attribute solid-color { rfc-color }?,
772 | attribute solid-opacity { "inherit" | xsd:string }?)
773 | & (attribute display-align {
774 | "auto" | "before" | "center" | "after" | "inherit"
775 | }?,
776 | attribute line-increment { "auto" | "inherit" | xsd:string }?)
777 | & (attribute stop-color { rfc-color }?,
778 | attribute stop-opacity { "inherit" | xsd:string }?)
779 | & (attribute font-family { "serif" | "sans-serif" | "monospace"
780 | | "inherit" }?,
781 | attribute font-size { "inherit" | xsd:string }?,
782 | attribute font-style {
783 | "normal" | "italic" | "oblique" | "inherit"
784 | }?,
785 | attribute font-variant { "normal" | "small-caps" | "inherit" }?,
786 | attribute font-weight {
787 | "normal"
788 | | "bold"
789 | | "bolder"
790 | | "lighter"
791 | | "inherit"
792 | }?,
793 | attribute text-anchor {
794 | "start" | "middle" | "end" | "inherit"
795 | }?,
796 | attribute text-align {
797 | "start" | "center" | "end" | "inherit"
798 | }?)),
799 | attribute points { xsd:string }?,
800 | (desc
801 | | svgTitle)*
802 | }
803 |
804 | solidColor =
805 | element solidColor {
806 | ((attribute fill-opacity { "inherit" | xsd:string }?,
807 | attribute stroke-opacity { "inherit" | xsd:string }?)
808 | & (attribute fill { "none" | rfc-color }?,
809 | attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
810 | attribute stroke { rfc-color }?,
811 | attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
812 | attribute stroke-dashoffset { "inherit" | xsd:string }?,
813 | attribute stroke-linecap {
814 | "butt" | "round" | "square" | "inherit"
815 | }?,
816 | attribute stroke-linejoin {
817 | "miter" | "round" | "bevel" | "inherit"
818 | }?,
819 | attribute stroke-miterlimit { "inherit" | xsd:string }?,
820 | attribute stroke-width { "inherit" | xsd:string }?,
821 | attribute color { rfc-color }?,
822 | attribute color-rendering {
823 | "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
824 | }?)
825 | & attribute vector-effect {
826 | "none" | "non-scaling-stroke" | "inherit"
827 | }?
828 | & (attribute direction { "ltr" | "rtl" | "inherit" }?,
829 | attribute unicode-bidi {
830 | "normal" | "embed" | "bidi-override" | "inherit"
831 | }?)
832 | & (attribute solid-color { rfc-color }?,
833 | attribute solid-opacity { "inherit" | xsd:string }?)
834 | & (attribute display-align {
835 | "auto" | "before" | "center" | "after" | "inherit"
836 | }?,
837 | attribute line-increment { "auto" | "inherit" | xsd:string }?)
838 | & (attribute stop-color { rfc-color }?,
839 | attribute stop-opacity { "inherit" | xsd:string }?)
840 | & (attribute font-family { "serif" | "sans-serif" | "monospace"
841 | | "inherit" }?,
842 | attribute font-size { "inherit" | xsd:string }?,
843 | attribute font-style {
844 | "normal" | "italic" | "oblique" | "inherit"
845 | }?,
846 | attribute font-variant { "normal" | "small-caps" | "inherit" }?,
847 | attribute font-weight {
848 | "normal"
849 | | "bold"
850 | | "bolder"
851 | | "lighter"
852 | | "inherit"
853 | }?,
854 | attribute text-anchor {
855 | "start" | "middle" | "end" | "inherit"
856 | }?,
857 | attribute text-align {
858 | "start" | "center" | "end" | "inherit"
859 | }?)),
860 | (attribute id { xsd:NCName }
861 | | attribute xml:id { xsd:NCName })?,
862 | attribute xml:base { xsd:anyURI | xsd:string }?,
863 | attribute xml:lang { xsd:language? }?,
864 | attribute class { xsd:NMTOKENS }?,
865 | attribute role { xsd:string }?,
866 | attribute rel { xsd:string }?,
867 | attribute rev { xsd:string }?,
868 | attribute typeof { xsd:string }?,
869 | attribute content { xsd:string }?,
870 | attribute datatype { xsd:string }?,
871 | attribute resource { xsd:string }?,
872 | attribute about { xsd:string }?,
873 | attribute property { xsd:string }?,
874 | attribute xml:space { "default" | "preserve" }?,
875 | (desc
876 | | svgTitle)*
877 | }
878 |
879 | textArea =
880 | element textArea {
881 | ((attribute fill-opacity { "inherit" | xsd:string }?,
882 | attribute stroke-opacity { "inherit" | xsd:string }?)
883 | & (attribute fill { "none" | rfc-color }?,
884 | attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
885 | attribute stroke { rfc-color }?,
886 | attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
887 | attribute stroke-dashoffset { "inherit" | xsd:string }?,
888 | attribute stroke-linecap {
889 | "butt" | "round" | "square" | "inherit"
890 | }?,
891 | attribute stroke-linejoin {
892 | "miter" | "round" | "bevel" | "inherit"
893 | }?,
894 | attribute stroke-miterlimit { "inherit" | xsd:string }?,
895 | attribute stroke-width { "inherit" | xsd:string }?,
896 | attribute color { rfc-color }?,
897 | attribute color-rendering {
898 | "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
899 | }?)
900 | & attribute vector-effect {
901 | "none" | "non-scaling-stroke" | "inherit"
902 | }?
903 | & (attribute direction { "ltr" | "rtl" | "inherit" }?,
904 | attribute unicode-bidi {
905 | "normal" | "embed" | "bidi-override" | "inherit"
906 | }?)
907 | & (attribute solid-color { rfc-color }?,
908 | attribute solid-opacity { "inherit" | xsd:string }?)
909 | & (attribute display-align {
910 | "auto" | "before" | "center" | "after" | "inherit"
911 | }?,
912 | attribute line-increment { "auto" | "inherit" | xsd:string }?)
913 | & (attribute stop-color { rfc-color }?,
914 | attribute stop-opacity { "inherit" | xsd:string }?)
915 | & (attribute font-family { "serif" | "sans-serif" | "monospace"
916 | | "inherit" }?,
917 | attribute font-size { "inherit" | xsd:string }?,
918 | attribute font-style {
919 | "normal" | "italic" | "oblique" | "inherit"
920 | }?,
921 | attribute font-variant { "normal" | "small-caps" | "inherit" }?,
922 | attribute font-weight {
923 | "normal"
924 | | "bold"
925 | | "bolder"
926 | | "lighter"
927 | | "inherit"
928 | }?,
929 | attribute text-anchor {
930 | "start" | "middle" | "end" | "inherit"
931 | }?,
932 | attribute text-align {
933 | "start" | "center" | "end" | "inherit"
934 | }?)),
935 | (attribute id { xsd:NCName }
936 | | attribute xml:id { xsd:NCName })?,
937 | attribute xml:base { xsd:anyURI | xsd:string }?,
938 | attribute xml:lang { xsd:language? }?,
939 | attribute class { xsd:NMTOKENS }?,
940 | attribute role { xsd:string }?,
941 | attribute rel { xsd:string }?,
942 | attribute rev { xsd:string }?,
943 | attribute typeof { xsd:string }?,
944 | attribute content { xsd:string }?,
945 | attribute datatype { xsd:string }?,
946 | attribute resource { xsd:string }?,
947 | attribute about { xsd:string }?,
948 | attribute property { xsd:string }?,
949 | attribute xml:space { "default" | "preserve" }?,
950 | attribute transform { xsd:string | "none" }?,
951 | attribute x { xsd:string }?,
952 | attribute y { xsd:string }?,
953 | attribute width { xsd:string | "auto" }?,
954 | attribute height { xsd:string | "auto" }?,
955 | (tspan
956 | | desc
957 | | svgTitle
958 | | tspan_2
959 | | text
960 | | a_2)+
961 | }
962 |
963 | \text =
964 | element text {
965 | ((attribute fill-opacity { "inherit" | xsd:string }?,
966 | attribute stroke-opacity { "inherit" | xsd:string }?)
967 | & (attribute fill { "none" | rfc-color }?,
968 | attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
969 | attribute stroke { rfc-color }?,
970 | attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
971 | attribute stroke-dashoffset { "inherit" | xsd:string }?,
972 | attribute stroke-linecap {
973 | "butt" | "round" | "square" | "inherit"
974 | }?,
975 | attribute stroke-linejoin {
976 | "miter" | "round" | "bevel" | "inherit"
977 | }?,
978 | attribute stroke-miterlimit { "inherit" | xsd:string }?,
979 | attribute stroke-width { "inherit" | xsd:string }?,
980 | attribute color { rfc-color }?,
981 | attribute color-rendering {
982 | "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
983 | }?)
984 | & attribute vector-effect {
985 | "none" | "non-scaling-stroke" | "inherit"
986 | }?
987 | & (attribute direction { "ltr" | "rtl" | "inherit" }?,
988 | attribute unicode-bidi {
989 | "normal" | "embed" | "bidi-override" | "inherit"
990 | }?)
991 | & (attribute solid-color { rfc-color }?,
992 | attribute solid-opacity { "inherit" | xsd:string }?)
993 | & (attribute display-align {
994 | "auto" | "before" | "center" | "after" | "inherit"
995 | }?,
996 | attribute line-increment { "auto" | "inherit" | xsd:string }?)
997 | & (attribute stop-color { rfc-color }?,
998 | attribute stop-opacity { "inherit" | xsd:string }?)
999 | & (attribute font-family { "serif" | "sans-serif" | "monospace"
1000 | | "inherit" }?,
1001 | attribute font-size { "inherit" | xsd:string }?,
1002 | attribute font-style {
1003 | "normal" | "italic" | "oblique" | "inherit"
1004 | }?,
1005 | attribute font-variant { "normal" | "small-caps" | "inherit" }?,
1006 | attribute font-weight {
1007 | "normal"
1008 | | "bold"
1009 | | "bolder"
1010 | | "lighter"
1011 | | "inherit"
1012 | }?,
1013 | attribute text-anchor {
1014 | "start" | "middle" | "end" | "inherit"
1015 | }?,
1016 | attribute text-align {
1017 | "start" | "center" | "end" | "inherit"
1018 | }?)),
1019 | (attribute id { xsd:NCName }
1020 | | attribute xml:id { xsd:NCName })?,
1021 | attribute xml:base { xsd:anyURI | xsd:string }?,
1022 | attribute xml:lang { xsd:language? }?,
1023 | attribute class { xsd:NMTOKENS }?,
1024 | attribute role { xsd:string }?,
1025 | attribute rel { xsd:string }?,
1026 | attribute rev { xsd:string }?,
1027 | attribute typeof { xsd:string }?,
1028 | attribute content { xsd:string }?,
1029 | attribute datatype { xsd:string }?,
1030 | attribute resource { xsd:string }?,
1031 | attribute about { xsd:string }?,
1032 | attribute property { xsd:string }?,
1033 | attribute xml:space { "default" | "preserve" }?,
1034 | attribute transform { xsd:string | "none" }?,
1035 | attribute x { xsd:string }?,
1036 | attribute y { xsd:string }?,
1037 | attribute rotate { xsd:string }?,
1038 | (desc
1039 | | svgTitle
1040 | | tspan_2
1041 | | text
1042 | | a_2)+
1043 | }
1044 |
1045 | g =
1046 | element g {
1047 | ((attribute fill-opacity { "inherit" | xsd:string }?,
1048 | attribute stroke-opacity { "inherit" | xsd:string }?)
1049 | & (attribute fill { "none" | rfc-color }?,
1050 | attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
1051 | attribute stroke { rfc-color }?,
1052 | attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
1053 | attribute stroke-dashoffset { "inherit" | xsd:string }?,
1054 | attribute stroke-linecap {
1055 | "butt" | "round" | "square" | "inherit"
1056 | }?,
1057 | attribute stroke-linejoin {
1058 | "miter" | "round" | "bevel" | "inherit"
1059 | }?,
1060 | attribute stroke-miterlimit { "inherit" | xsd:string }?,
1061 | attribute stroke-width { "inherit" | xsd:string }?,
1062 | attribute color { rfc-color }?,
1063 | attribute color-rendering {
1064 | "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
1065 | }?)
1066 | & attribute vector-effect {
1067 | "none" | "non-scaling-stroke" | "inherit"
1068 | }?
1069 | & (attribute direction { "ltr" | "rtl" | "inherit" }?,
1070 | attribute unicode-bidi {
1071 | "normal" | "embed" | "bidi-override" | "inherit"
1072 | }?)
1073 | & (attribute solid-color { rfc-color }?,
1074 | attribute solid-opacity { "inherit" | xsd:string }?)
1075 | & (attribute display-align {
1076 | "auto" | "before" | "center" | "after" | "inherit"
1077 | }?,
1078 | attribute line-increment { "auto" | "inherit" | xsd:string }?)
1079 | & (attribute stop-color { rfc-color }?,
1080 | attribute stop-opacity { "inherit" | xsd:string }?)
1081 | & (attribute font-family { "serif" | "sans-serif" | "monospace"
1082 | | "inherit" }?,
1083 | attribute font-size { "inherit" | xsd:string }?,
1084 | attribute font-style {
1085 | "normal" | "italic" | "oblique" | "inherit"
1086 | }?,
1087 | attribute font-variant { "normal" | "small-caps" | "inherit" }?,
1088 | attribute font-weight {
1089 | "normal"
1090 | | "bold"
1091 | | "bolder"
1092 | | "lighter"
1093 | | "inherit"
1094 | }?,
1095 | attribute text-anchor {
1096 | "start" | "middle" | "end" | "inherit"
1097 | }?,
1098 | attribute text-align {
1099 | "start" | "center" | "end" | "inherit"
1100 | }?)),
1101 | (attribute id { xsd:NCName }
1102 | | attribute xml:id { xsd:NCName })?,
1103 | attribute xml:base { xsd:anyURI | xsd:string }?,
1104 | attribute xml:lang { xsd:language? }?,
1105 | attribute class { xsd:NMTOKENS }?,
1106 | attribute role { xsd:string }?,
1107 | attribute rel { xsd:string }?,
1108 | attribute rev { xsd:string }?,
1109 | attribute typeof { xsd:string }?,
1110 | attribute content { xsd:string }?,
1111 | attribute datatype { xsd:string }?,
1112 | attribute resource { xsd:string }?,
1113 | attribute about { xsd:string }?,
1114 | attribute property { xsd:string }?,
1115 | attribute xml:space { "default" | "preserve" }?,
1116 | attribute transform { xsd:string | "none" }?,
1117 | (desc
1118 | | svgTitle
1119 | | path
1120 | | rect
1121 | | circle
1122 | | line
1123 | | ellipse
1124 | | polyline
1125 | | polygon
1126 | | solidColor
1127 | | textArea
1128 | | \text
1129 | | g
1130 | | defs
1131 | | use
1132 | | a)*
1133 | }
1134 |
1135 | defs =
1136 | element defs {
1137 | ((attribute fill-opacity { "inherit" | xsd:string }?,
1138 | attribute stroke-opacity { "inherit" | xsd:string }?)
1139 | & (attribute fill { "none" | rfc-color }?,
1140 | attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
1141 | attribute stroke { rfc-color }?,
1142 | attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
1143 | attribute stroke-dashoffset { "inherit" | xsd:string }?,
1144 | attribute stroke-linecap {
1145 | "butt" | "round" | "square" | "inherit"
1146 | }?,
1147 | attribute stroke-linejoin {
1148 | "miter" | "round" | "bevel" | "inherit"
1149 | }?,
1150 | attribute stroke-miterlimit { "inherit" | xsd:string }?,
1151 | attribute stroke-width { "inherit" | xsd:string }?,
1152 | attribute color { rfc-color }?,
1153 | attribute color-rendering {
1154 | "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
1155 | }?)
1156 | & attribute vector-effect {
1157 | "none" | "non-scaling-stroke" | "inherit"
1158 | }?
1159 | & (attribute direction { "ltr" | "rtl" | "inherit" }?,
1160 | attribute unicode-bidi {
1161 | "normal" | "embed" | "bidi-override" | "inherit"
1162 | }?)
1163 | & (attribute solid-color { rfc-color }?,
1164 | attribute solid-opacity { "inherit" | xsd:string }?)
1165 | & (attribute display-align {
1166 | "auto" | "before" | "center" | "after" | "inherit"
1167 | }?,
1168 | attribute line-increment { "auto" | "inherit" | xsd:string }?)
1169 | & (attribute stop-color { rfc-color }?,
1170 | attribute stop-opacity { "inherit" | xsd:string }?)
1171 | & (attribute font-family { "serif" | "sans-serif" | "monospace"
1172 | | "inherit" }?,
1173 | attribute font-size { "inherit" | xsd:string }?,
1174 | attribute font-style {
1175 | "normal" | "italic" | "oblique" | "inherit"
1176 | }?,
1177 | attribute font-variant { "normal" | "small-caps" | "inherit" }?,
1178 | attribute font-weight {
1179 | "normal"
1180 | | "bold"
1181 | | "bolder"
1182 | | "lighter"
1183 | | "inherit"
1184 | }?,
1185 | attribute text-anchor {
1186 | "start" | "middle" | "end" | "inherit"
1187 | }?,
1188 | attribute text-align {
1189 | "start" | "center" | "end" | "inherit"
1190 | }?)),
1191 | (attribute id { xsd:NCName }
1192 | | attribute xml:id { xsd:NCName })?,
1193 | attribute xml:base { xsd:anyURI | xsd:string }?,
1194 | attribute xml:lang { xsd:language? }?,
1195 | attribute class { xsd:NMTOKENS }?,
1196 | attribute role { xsd:string }?,
1197 | attribute rel { xsd:string }?,
1198 | attribute rev { xsd:string }?,
1199 | attribute typeof { xsd:string }?,
1200 | attribute content { xsd:string }?,
1201 | attribute datatype { xsd:string }?,
1202 | attribute resource { xsd:string }?,
1203 | attribute about { xsd:string }?,
1204 | attribute property { xsd:string }?,
1205 | attribute xml:space { "default" | "preserve" }?,
1206 | (desc
1207 | | svgTitle
1208 | | path
1209 | | rect
1210 | | circle
1211 | | line
1212 | | ellipse
1213 | | polyline
1214 | | polygon
1215 | | solidColor
1216 | | textArea
1217 | | \text
1218 | | g
1219 | | defs
1220 | | use
1221 | | a)*
1222 | }
1223 |
1224 | use =
1225 | element use {
1226 | ((attribute fill-opacity { "inherit" | xsd:string }?,
1227 | attribute stroke-opacity { "inherit" | xsd:string }?)
1228 | & (attribute fill { "none" | rfc-color }?,
1229 | attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
1230 | attribute stroke { rfc-color }?,
1231 | attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
1232 | attribute stroke-dashoffset { "inherit" | xsd:string }?,
1233 | attribute stroke-linecap {
1234 | "butt" | "round" | "square" | "inherit"
1235 | }?,
1236 | attribute stroke-linejoin {
1237 | "miter" | "round" | "bevel" | "inherit"
1238 | }?,
1239 | attribute stroke-miterlimit { "inherit" | xsd:string }?,
1240 | attribute stroke-width { "inherit" | xsd:string }?,
1241 | attribute color { rfc-color }?,
1242 | attribute color-rendering {
1243 | "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
1244 | }?)
1245 | & attribute vector-effect {
1246 | "none" | "non-scaling-stroke" | "inherit"
1247 | }?
1248 | & (attribute direction { "ltr" | "rtl" | "inherit" }?,
1249 | attribute unicode-bidi {
1250 | "normal" | "embed" | "bidi-override" | "inherit"
1251 | }?)
1252 | & (attribute solid-color { rfc-color }?,
1253 | attribute solid-opacity { "inherit" | xsd:string }?)
1254 | & (attribute display-align {
1255 | "auto" | "before" | "center" | "after" | "inherit"
1256 | }?,
1257 | attribute line-increment { "auto" | "inherit" | xsd:string }?)
1258 | & (attribute stop-color { rfc-color }?,
1259 | attribute stop-opacity { "inherit" | xsd:string }?)
1260 | & (attribute font-family { "serif" | "sans-serif" | "monospace"
1261 | | "inherit" }?,
1262 | attribute font-size { "inherit" | xsd:string }?,
1263 | attribute font-style {
1264 | "normal" | "italic" | "oblique" | "inherit"
1265 | }?,
1266 | attribute font-variant { "normal" | "small-caps" | "inherit" }?,
1267 | attribute font-weight {
1268 | "normal"
1269 | | "bold"
1270 | | "bolder"
1271 | | "lighter"
1272 | | "inherit"
1273 | }?,
1274 | attribute text-anchor {
1275 | "start" | "middle" | "end" | "inherit"
1276 | }?,
1277 | attribute text-align {
1278 | "start" | "center" | "end" | "inherit"
1279 | }?)),
1280 | (attribute id { xsd:NCName }
1281 | | attribute xml:id { xsd:NCName })?,
1282 | attribute xml:base { xsd:anyURI | xsd:string }?,
1283 | attribute xml:lang { xsd:language? }?,
1284 | attribute class { xsd:NMTOKENS }?,
1285 | attribute role { xsd:string }?,
1286 | attribute rel { xsd:string }?,
1287 | attribute rev { xsd:string }?,
1288 | attribute typeof { xsd:string }?,
1289 | attribute content { xsd:string }?,
1290 | attribute datatype { xsd:string }?,
1291 | attribute resource { xsd:string }?,
1292 | attribute about { xsd:string }?,
1293 | attribute property { xsd:string }?,
1294 | attribute xml:space { "default" | "preserve" }?,
1295 | attribute transform { xsd:string | "none" }?,
1296 | attribute xlink:show { "embed" }?,
1297 | attribute xlink:actuate { "onLoad" }?,
1298 | attribute xlink:type { "simple" }?,
1299 | attribute xlink:role { xsd:anyURI | xsd:string }?,
1300 | attribute xlink:arcrole { xsd:anyURI | xsd:string }?,
1301 | attribute xlink:title { text }?,
1302 | attribute xlink:href { xsd:anyURI | xsd:string }?,
1303 | attribute x { xsd:string }?,
1304 | attribute y { xsd:string }?,
1305 | (desc
1306 | | svgTitle)*
1307 | }
1308 |
1309 | a =
1310 | element a {
1311 | (attribute id { xsd:NCName }
1312 | | attribute xml:id { xsd:NCName })?,
1313 | attribute xml:base { xsd:anyURI | xsd:string }?,
1314 | attribute xml:lang { xsd:language? }?,
1315 | attribute class { xsd:NMTOKENS }?,
1316 | attribute role { xsd:string }?,
1317 | attribute rel { xsd:string }?,
1318 | attribute rev { xsd:string }?,
1319 | attribute typeof { xsd:string }?,
1320 | attribute content { xsd:string }?,
1321 | attribute datatype { xsd:string }?,
1322 | attribute resource { xsd:string }?,
1323 | attribute about { xsd:string }?,
1324 | attribute property { xsd:string }?,
1325 | attribute xml:space { "default" | "preserve" }?,
1326 | ((attribute fill-opacity { "inherit" | xsd:string }?,
1327 | attribute stroke-opacity { "inherit" | xsd:string }?)
1328 | & (attribute fill { "none" | rfc-color }?,
1329 | attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
1330 | attribute stroke { rfc-color }?,
1331 | attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
1332 | attribute stroke-dashoffset { "inherit" | xsd:string }?,
1333 | attribute stroke-linecap {
1334 | "butt" | "round" | "square" | "inherit"
1335 | }?,
1336 | attribute stroke-linejoin {
1337 | "miter" | "round" | "bevel" | "inherit"
1338 | }?,
1339 | attribute stroke-miterlimit { "inherit" | xsd:string }?,
1340 | attribute stroke-width { "inherit" | xsd:string }?,
1341 | attribute color { rfc-color }?,
1342 | attribute color-rendering {
1343 | "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
1344 | }?)
1345 | & attribute vector-effect {
1346 | "none" | "non-scaling-stroke" | "inherit"
1347 | }?
1348 | & (attribute direction { "ltr" | "rtl" | "inherit" }?,
1349 | attribute unicode-bidi {
1350 | "normal" | "embed" | "bidi-override" | "inherit"
1351 | }?)
1352 | & (attribute solid-color { rfc-color }?,
1353 | attribute solid-opacity { "inherit" | xsd:string }?)
1354 | & (attribute display-align {
1355 | "auto" | "before" | "center" | "after" | "inherit"
1356 | }?,
1357 | attribute line-increment { "auto" | "inherit" | xsd:string }?)
1358 | & (attribute stop-color { rfc-color }?,
1359 | attribute stop-opacity { "inherit" | xsd:string }?)
1360 | & (attribute font-family { "serif" | "sans-serif" | "monospace"
1361 | | "inherit" }?,
1362 | attribute font-size { "inherit" | xsd:string }?,
1363 | attribute font-style {
1364 | "normal" | "italic" | "oblique" | "inherit"
1365 | }?,
1366 | attribute font-variant { "normal" | "small-caps" | "inherit" }?,
1367 | attribute font-weight {
1368 | "normal"
1369 | | "bold"
1370 | | "bolder"
1371 | | "lighter"
1372 | | "inherit"
1373 | }?,
1374 | attribute text-anchor {
1375 | "start" | "middle" | "end" | "inherit"
1376 | }?,
1377 | attribute text-align {
1378 | "start" | "center" | "end" | "inherit"
1379 | }?)),
1380 | attribute transform { xsd:string | "none" }?,
1381 | attribute xlink:show { "new" | "replace" }?,
1382 | attribute xlink:actuate { "onRequest" }?,
1383 | attribute xlink:type { "simple" }?,
1384 | attribute xlink:role { xsd:anyURI | xsd:string }?,
1385 | attribute xlink:arcrole { xsd:anyURI | xsd:string }?,
1386 | attribute xlink:title { text }?,
1387 | attribute xlink:href { xsd:anyURI | xsd:string }?,
1388 | attribute target {
1389 | "_replace" | "_self" | "_parent" | "_top" | "_blank" | xsd:Name
1390 | }?,
1391 | (desc
1392 | | svgTitle
1393 | | path
1394 | | rect
1395 | | circle
1396 | | line
1397 | | ellipse
1398 | | polyline
1399 | | polygon
1400 | | solidColor
1401 | | textArea
1402 | | \text
1403 | | g
1404 | | defs
1405 | | use)*
1406 | }
1407 |
1408 | tspan =
1409 | element tspan {
1410 | ((attribute fill-opacity { "inherit" | xsd:string }?,
1411 | attribute stroke-opacity { "inherit" | xsd:string }?)
1412 | & (attribute fill { "none" | rfc-color }?,
1413 | attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
1414 | attribute stroke { rfc-color }?,
1415 | attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
1416 | attribute stroke-dashoffset { "inherit" | xsd:string }?,
1417 | attribute stroke-linecap {
1418 | "butt" | "round" | "square" | "inherit"
1419 | }?,
1420 | attribute stroke-linejoin {
1421 | "miter" | "round" | "bevel" | "inherit"
1422 | }?,
1423 | attribute stroke-miterlimit { "inherit" | xsd:string }?,
1424 | attribute stroke-width { "inherit" | xsd:string }?,
1425 | attribute color { rfc-color }?,
1426 | attribute color-rendering {
1427 | "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
1428 | }?)
1429 | & attribute vector-effect {
1430 | "none" | "non-scaling-stroke" | "inherit"
1431 | }?
1432 | & (attribute direction { "ltr" | "rtl" | "inherit" }?,
1433 | attribute unicode-bidi {
1434 | "normal" | "embed" | "bidi-override" | "inherit"
1435 | }?)
1436 | & (attribute solid-color { rfc-color }?,
1437 | attribute solid-opacity { "inherit" | xsd:string }?)
1438 | & (attribute display-align {
1439 | "auto" | "before" | "center" | "after" | "inherit"
1440 | }?,
1441 | attribute line-increment { "auto" | "inherit" | xsd:string }?)
1442 | & (attribute stop-color { rfc-color }?,
1443 | attribute stop-opacity { "inherit" | xsd:string }?)
1444 | & (attribute font-family { "serif" | "sans-serif" | "monospace"
1445 | | "inherit" }?,
1446 | attribute font-size { "inherit" | xsd:string }?,
1447 | attribute font-style {
1448 | "normal" | "italic" | "oblique" | "inherit"
1449 | }?,
1450 | attribute font-variant { "normal" | "small-caps" | "inherit" }?,
1451 | attribute font-weight {
1452 | "normal"
1453 | | "bold"
1454 | | "bolder"
1455 | | "lighter"
1456 | | "inherit"
1457 | }?,
1458 | attribute text-anchor {
1459 | "start" | "middle" | "end" | "inherit"
1460 | }?,
1461 | attribute text-align {
1462 | "start" | "center" | "end" | "inherit"
1463 | }?)),
1464 | (attribute id { xsd:NCName }
1465 | | attribute xml:id { xsd:NCName })?,
1466 | attribute xml:base { xsd:anyURI | xsd:string }?,
1467 | attribute xml:lang { xsd:language? }?,
1468 | attribute class { xsd:NMTOKENS }?,
1469 | attribute role { xsd:string }?,
1470 | attribute rel { xsd:string }?,
1471 | attribute rev { xsd:string }?,
1472 | attribute typeof { xsd:string }?,
1473 | attribute content { xsd:string }?,
1474 | attribute datatype { xsd:string }?,
1475 | attribute resource { xsd:string }?,
1476 | attribute about { xsd:string }?,
1477 | attribute property { xsd:string }?,
1478 | attribute xml:space { "default" | "preserve" }?,
1479 | attribute x { xsd:string }?, # For SVG-1.2-RFC
1480 | attribute y { xsd:string }?,
1481 | (tbreak
1482 | | desc
1483 | | svgTitle
1484 | | tspan_2
1485 | | text
1486 | | a_2)+
1487 | }
1488 |
1489 | tspan_2 =
1490 | element tspan {
1491 | ((attribute fill-opacity { "inherit" | xsd:string }?,
1492 | attribute stroke-opacity { "inherit" | xsd:string }?)
1493 | & (attribute fill { "none" | rfc-color }?,
1494 | attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
1495 | attribute stroke { rfc-color }?,
1496 | attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
1497 | attribute stroke-dashoffset { "inherit" | xsd:string }?,
1498 | attribute stroke-linecap {
1499 | "butt" | "round" | "square" | "inherit"
1500 | }?,
1501 | attribute stroke-linejoin {
1502 | "miter" | "round" | "bevel" | "inherit"
1503 | }?,
1504 | attribute stroke-miterlimit { "inherit" | xsd:string }?,
1505 | attribute stroke-width { "inherit" | xsd:string }?,
1506 | attribute color { rfc-color }?,
1507 | attribute color-rendering {
1508 | "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
1509 | }?)
1510 | & attribute vector-effect {
1511 | "none" | "non-scaling-stroke" | "inherit"
1512 | }?
1513 | & (attribute direction { "ltr" | "rtl" | "inherit" }?,
1514 | attribute unicode-bidi {
1515 | "normal" | "embed" | "bidi-override" | "inherit"
1516 | }?)
1517 | & (attribute solid-color { rfc-color }?,
1518 | attribute solid-opacity { "inherit" | xsd:string }?)
1519 | & (attribute display-align {
1520 | "auto" | "before" | "center" | "after" | "inherit"
1521 | }?,
1522 | attribute line-increment { "auto" | "inherit" | xsd:string }?)
1523 | & (attribute stop-color { rfc-color }?,
1524 | attribute stop-opacity { "inherit" | xsd:string }?)
1525 | & (attribute font-family { "serif" | "sans-serif" | "monospace"
1526 | | "inherit" }?,
1527 | attribute font-size { "inherit" | xsd:string }?,
1528 | attribute font-style {
1529 | "normal" | "italic" | "oblique" | "inherit"
1530 | }?,
1531 | attribute font-variant { "normal" | "small-caps" | "inherit" }?,
1532 | attribute font-weight {
1533 | "normal"
1534 | | "bold"
1535 | | "bolder"
1536 | | "lighter"
1537 | | "inherit"
1538 | }?,
1539 | attribute text-anchor {
1540 | "start" | "middle" | "end" | "inherit"
1541 | }?,
1542 | attribute text-align {
1543 | "start" | "center" | "end" | "inherit"
1544 | }?)),
1545 | (attribute id { xsd:NCName }
1546 | | attribute xml:id { xsd:NCName })?,
1547 | attribute xml:base { xsd:anyURI | xsd:string }?,
1548 | attribute xml:lang { xsd:language? }?,
1549 | attribute class { xsd:NMTOKENS }?,
1550 | attribute role { xsd:string }?,
1551 | attribute rel { xsd:string }?,
1552 | attribute rev { xsd:string }?,
1553 | attribute typeof { xsd:string }?,
1554 | attribute content { xsd:string }?,
1555 | attribute datatype { xsd:string }?,
1556 | attribute resource { xsd:string }?,
1557 | attribute about { xsd:string }?,
1558 | attribute property { xsd:string }?,
1559 | attribute xml:space { "default" | "preserve" }?,
1560 | attribute x { xsd:string }?, # For SVG-1.2-RFC
1561 | attribute y { xsd:string }?,
1562 | (desc
1563 | | svgTitle
1564 | | tspan_2
1565 | | text
1566 | | a_2)+
1567 | }
1568 |
1569 | a_2 =
1570 | element a {
1571 | (attribute id { xsd:NCName }
1572 | | attribute xml:id { xsd:NCName })?,
1573 | attribute xml:base { xsd:anyURI | xsd:string }?,
1574 | attribute xml:lang { xsd:language? }?,
1575 | attribute class { xsd:NMTOKENS }?,
1576 | attribute role { xsd:string }?,
1577 | attribute rel { xsd:string }?,
1578 | attribute rev { xsd:string }?,
1579 | attribute typeof { xsd:string }?,
1580 | attribute content { xsd:string }?,
1581 | attribute datatype { xsd:string }?,
1582 | attribute resource { xsd:string }?,
1583 | attribute about { xsd:string }?,
1584 | attribute property { xsd:string }?,
1585 | attribute xml:space { "default" | "preserve" }?,
1586 | ((attribute fill-opacity { "inherit" | xsd:string }?,
1587 | attribute stroke-opacity { "inherit" | xsd:string }?)
1588 | & (attribute fill { "none" | rfc-color }?,
1589 | attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
1590 | attribute stroke { rfc-color }?,
1591 | attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
1592 | attribute stroke-dashoffset { "inherit" | xsd:string }?,
1593 | attribute stroke-linecap {
1594 | "butt" | "round" | "square" | "inherit"
1595 | }?,
1596 | attribute stroke-linejoin {
1597 | "miter" | "round" | "bevel" | "inherit"
1598 | }?,
1599 | attribute stroke-miterlimit { "inherit" | xsd:string }?,
1600 | attribute stroke-width { "inherit" | xsd:string }?,
1601 | attribute color { rfc-color }?,
1602 | attribute color-rendering {
1603 | "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
1604 | }?)
1605 | & attribute vector-effect {
1606 | "none" | "non-scaling-stroke" | "inherit"
1607 | }?
1608 | & (attribute direction { "ltr" | "rtl" | "inherit" }?,
1609 | attribute unicode-bidi {
1610 | "normal" | "embed" | "bidi-override" | "inherit"
1611 | }?)
1612 | & (attribute solid-color { rfc-color }?,
1613 | attribute solid-opacity { "inherit" | xsd:string }?)
1614 | & (attribute display-align {
1615 | "auto" | "before" | "center" | "after" | "inherit"
1616 | }?,
1617 | attribute line-increment { "auto" | "inherit" | xsd:string }?)
1618 | & (attribute stop-color { rfc-color }?,
1619 | attribute stop-opacity { "inherit" | xsd:string }?)
1620 | & (attribute font-family { "serif" | "sans-serif" | "monospace"
1621 | | "inherit" }?,
1622 | attribute font-size { "inherit" | xsd:string }?,
1623 | attribute font-style {
1624 | "normal" | "italic" | "oblique" | "inherit"
1625 | }?,
1626 | attribute font-variant { "normal" | "small-caps" | "inherit" }?,
1627 | attribute font-weight {
1628 | "normal"
1629 | | "bold"
1630 | | "bolder"
1631 | | "lighter"
1632 | | "inherit"
1633 | }?,
1634 | attribute text-anchor {
1635 | "start" | "middle" | "end" | "inherit"
1636 | }?,
1637 | attribute text-align {
1638 | "start" | "center" | "end" | "inherit"
1639 | }?)),
1640 | attribute transform { xsd:string | "none" }?,
1641 | attribute xlink:show { "new" | "replace" }?,
1642 | attribute xlink:actuate { "onRequest" }?,
1643 | attribute xlink:type { "simple" }?,
1644 | attribute xlink:role { xsd:anyURI | xsd:string }?,
1645 | attribute xlink:arcrole { xsd:anyURI | xsd:string }?,
1646 | attribute xlink:title { text }?,
1647 | attribute xlink:href { xsd:anyURI | xsd:string }?,
1648 | attribute target {
1649 | "_replace" | "_self" | "_parent" | "_top" | "_blank" | xsd:Name
1650 | }?,
1651 | (desc
1652 | | svgTitle
1653 | | tspan_2
1654 | | text)+
1655 | }
1656 |
1657 | tbreak =
1658 | element tbreak {
1659 | (attribute id { xsd:NCName }
1660 | | attribute xml:id { xsd:NCName })?,
1661 | attribute xml:base { xsd:anyURI | xsd:string }?,
1662 | attribute xml:lang { xsd:language? }?,
1663 | attribute class { xsd:NMTOKENS }?,
1664 | attribute role { xsd:string }?,
1665 | attribute rel { xsd:string }?,
1666 | attribute rev { xsd:string }?,
1667 | attribute typeof { xsd:string }?,
1668 | attribute content { xsd:string }?,
1669 | attribute datatype { xsd:string }?,
1670 | attribute resource { xsd:string }?,
1671 | attribute about { xsd:string }?,
1672 | attribute property { xsd:string }?,
1673 | attribute xml:space { "default" | "preserve" }?
1674 | }
1675 |
1676 | #--- End of SVG 1.2 RFC rnc schema
1677 |
--------------------------------------------------------------------------------
/draft-rfcxml-general-template-annotated-00.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
13 |
14 |
16 |
17 |
18 |
19 | ]>
20 |
22 |
23 |
33 |
40 |
41 |
42 | Title
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 | Organization
55 |
56 |
57 |
58 | Street
59 | City
60 | Region
61 | Postal code
62 | Country
63 |
64 |
65 | Phone
66 | Email
67 |
68 | URI
69 |
70 |
71 |
72 |
73 |
79 |
80 | General
81 | Internet Engineering Task Force
82 |
85 |
86 | template
87 |
89 |
90 |
91 | Abstract
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 | Introduction
101 | Introductory text
102 |
103 |
104 |
105 | Requirements Language
106 | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
107 | "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
108 | RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
109 | interpreted as described in BCP 14
110 | when, and only when, they appear in
111 | all capitals, as shown here.
112 |
113 |
114 |
115 |
116 |
117 | Body
118 | Body text
119 |
120 |
121 |
122 | List Examples
123 |
124 |
125 | Simple Unordered (Bullet) List
126 | Text before the list
127 |
128 | - First bullet
129 | - Second bullet
130 |
131 | Text after the list.
132 |
133 |
134 |
135 | Ordered List With Lowercase Letters in Brackets Instead of Numbers
136 |
137 | - List item (a)
138 | - List item (b)
139 |
140 |
141 |
142 |
143 | Continuous Numbering in a List That is Split by Text or Sections
144 |
152 | Text to introduce the list
153 |
154 | - This will be "REQ1:"
155 | - This will be "REQ2:"
156 |
157 | Some text in between
158 |
159 | - This will be "REQ3:"
160 | - This will be "REQ4:"
161 |
162 |
163 | Section in-between
164 | More text in-between
165 |
166 | - This will be REQ5:
167 | - This will be REQ6:
168 |
169 |
170 |
171 |
172 |
173 | Definition Lists
174 |
175 |
176 | - First term:
177 | - Definition of the first term
178 | - Second term:
179 | - Definition of the second term
180 |
181 |
182 |
183 |
184 | Lists With Hanging Labels
185 | the list item is indented the value of indent
186 |
187 |
188 | - short
189 | - With a label shorter than the indent.
190 | - fantastically long label
191 | - With a label longer than the indent.
192 |
193 |
194 |
195 |
196 |
197 | Tables
198 |
199 |
200 |
201 | Column 1 | Column 2 | Column 3 |
202 |
203 |
204 |
205 | Left cell | Colspan cell |
206 |
207 | Rowspan cell | Center cell | Right cell |
208 | Cell | Cell |
209 |
210 |
211 |
212 | Colspan footer |
213 |
214 |
215 |
216 |
217 |
218 | Source Code Examples
219 | This is an example C program
220 |
221 |
223 |
224 | int main() {
225 | printf("Hello World");
226 | return 0;
227 | }
228 | ]]>
229 |
230 |
231 |
234 |
235 |
236 |
237 |
238 | Adding Diagrams
239 |
240 | A Box
241 |
242 |
244 |
245 |
248 |
257 |
258 |
259 |
264 |
265 |
266 |
267 |
268 |
269 |
270 | Using xref
271 | A reference to
272 | A reference to
273 |
274 |
275 |
276 |
277 | IANA Considerations
278 | This memo includes no request to IANA.
279 |
280 |
281 |
282 |
283 | Security Considerations
284 | This document should not affect the security of the Internet.
285 |
286 |
287 |
288 |
289 |
290 |
291 |
292 | References
293 |
294 | Normative References
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 | Informative References
303 |
304 |
305 |
306 |
307 | Key words for use in RFCs to Indicate Requirement Levels
308 |
309 |
310 |
311 |
312 |
313 | In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.
314 |
315 |
316 |
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 |
325 | Title
326 |
327 |
328 |
329 |
330 |
331 |
332 |
333 |
334 |
335 |
336 | Title
337 |
338 | Organization
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 | Appendix 1
349 | This becomes an Appendix
350 |
351 |
352 |
353 |
354 | Acknowledgements
355 | This template uses extracts from templates written by Pekka Savola, Elwyn Davies and
356 | Henrik Levkowetz.
357 |
358 |
359 |
360 |
361 | Contributors
362 | Thanks to all of the contributors.
363 |
364 |
365 | Acme
366 |
367 | jdoe@example.com
368 |
369 |
370 |
371 |
372 |
373 |
374 |
--------------------------------------------------------------------------------
/draft-rfcxml-general-template-bare-00.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 |
16 |
17 |
18 |
19 | ]>
20 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/draft-rfcxml-general-template-standard-00.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 |
15 |
16 |
17 |
19 |
20 |
21 |
22 | ]>
23 |
25 |
26 |
36 |
44 |
45 |
46 | Title [REPLACE]
47 |
48 |
49 |
50 |
51 |
52 |
55 |
56 |
57 |
58 | Organization [REPLACE/DELETE]
59 |
60 |
61 |
62 | Street [REPLACE/DELETE]
63 | City [REPLACE/DELETE]
64 | Region [REPLACE/DELETE]
65 | Postal code [REPLACE/DELETE]
66 | Country [REPLACE/DELETE]
67 |
68 |
69 | Phone [REPLACE/DELETE]
70 | Email [REPLACE/DELETE]
71 |
72 | URI [REPLACE/DELETE]
73 |
74 |
75 |
76 |
77 |
83 |
84 | General
85 | Internet Engineering Task Force
86 |
89 |
90 | keyword
91 |
93 |
94 |
95 | Abstract [REPLACE]
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 | Introduction
104 | Introductory text [REPLACE]
105 |
106 |
107 | Requirements Language
108 | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
109 | "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
110 | RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
111 | interpreted as described in BCP 14
112 | when, and only when, they appear in
113 | all capitals, as shown here.
114 |
115 |
116 |
117 |
118 |
119 |
120 | Body [REPLACE]
121 | Body text [REPLACE]
122 |
123 |
124 | - Ordered list item [REPLACE/DELETE]
125 |
126 |
127 |
128 | - Bulleted list item [REPLACE/DELETE]
129 |
130 |
131 |
132 |
133 | - First term: [REPLACE/DELETE]
134 | - Definition of the first term [REPLACE/DELETE]
135 | - Second term: [REPLACE/DELETE]
136 | - Definition of the second term [REPLACE/DELETE]
137 |
138 |
139 |
140 |
141 |
142 | Column 1 [REPLACE] |
143 |
144 |
145 | Cell [REPLACE] |
146 |
147 |
148 |
149 |
150 | Source [REPLACE]
151 |
152 |
155 |
156 |
157 |
158 |
159 |
160 | Diagram [REPLACE]
161 |
162 |
163 |
164 |
165 |
166 |
167 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 | IANA Considerations
178 | This memo includes no request to IANA. [CHECK]
179 |
180 |
181 |
182 |
183 | Security Considerations
184 | This document should not affect the security of the Internet. [CHECK]
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 | References
193 |
194 | Normative References
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 | Informative References
204 |
205 |
206 |
207 |
208 | Title [REPLACE]
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 | Title [REPLACE]
221 |
222 | Organization [REPLACE]
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 | Appendix 1 [REPLACE/DELETE]
234 | This becomes an Appendix [REPLACE]
235 |
236 |
237 |
238 |
239 | Acknowledgements
240 | This template uses extracts from templates written by Pekka Savola, Elwyn Davies and
241 | Henrik Levkowetz. [REPLACE]
242 |
243 |
244 |
245 |
246 | Contributors
247 | Thanks to all of the contributors. [REPLACE]
248 |
249 |
250 |
251 |
252 |
253 |
--------------------------------------------------------------------------------
/rfc7991bis.rnc:
--------------------------------------------------------------------------------
1 | # rfc7991bis.rnc
2 | #
3 | # RFCXML v3 RNC schema. Includes changes made after the publication of RFC
4 | # 7991 and features deprecated in RFC 7991.
5 | #
6 | # To use in an RFCXML I-D add the following line before the element:
7 | #
8 | #
9 | # Documentation is at https://authors.ietf.org/en/templates-and-schemas
10 |
11 | namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
12 |
13 | rfc =
14 | element rfc {
15 | attribute xml:base { text }?,
16 | attribute xml:lang { text }?,
17 | attribute number { text }?,
18 | [ a:defaultValue = "" ] attribute obsoletes { text }?,
19 | [ a:defaultValue = "" ] attribute updates { text }?,
20 | attribute category {
21 | "std" | "bcp" | "exp" | "info" | "historic"
22 | }?,
23 | attribute mode { text }?,
24 | [ a:defaultValue = "false" ]
25 | attribute consensus { "no" | "yes" | "false" | "true" }?,
26 | attribute seriesNo { text }?,
27 | attribute ipr { text }?,
28 | attribute iprExtract { xsd:IDREF }?,
29 | [ a:defaultValue = "IETF" ]
30 | attribute submissionType {
31 | "IETF" | "IAB" | "IRTF" | "independent" | "editorial"
32 | }?,
33 | attribute docName { text }?,
34 | [ a:defaultValue = "false" ]
35 | attribute sortRefs { "true" | "false" }?,
36 | [ a:defaultValue = "true" ]
37 | attribute symRefs { "true" | "false" }?,
38 | [ a:defaultValue = "true" ]
39 | attribute tocInclude { "true" | "false" }?,
40 | [ a:defaultValue = "3" ] attribute tocDepth { text }?,
41 | attribute prepTime { text }?,
42 | [ a:defaultValue = "true" ]
43 | attribute indexInclude { "true" | "false" }?,
44 | attribute version { text }?,
45 | [ a:defaultValue = "Common,Latin" ] attribute scripts { text }?,
46 | attribute expiresDate { text }?,
47 | link*,
48 | front,
49 | middle,
50 | back?
51 | }
52 |
53 | link =
54 | element link {
55 | attribute xml:base { text }?,
56 | attribute xml:lang { text }?,
57 | attribute href { text },
58 | attribute rel { text }?
59 | }
60 |
61 | front =
62 | element front {
63 | attribute xml:base { text }?,
64 | attribute xml:lang { text }?,
65 | title,
66 | seriesInfo*,
67 | author+,
68 | date?,
69 | area*,
70 | workgroup*,
71 | keyword*,
72 | abstract?,
73 | note*,
74 | boilerplate?,
75 | toc?
76 | }
77 |
78 | title =
79 | element title {
80 | attribute xml:base { text }?,
81 | attribute xml:lang { text }?,
82 | attribute abbrev { text }?,
83 | attribute ascii { text }?,
84 | (text | br)*
85 | }
86 |
87 | author =
88 | element author {
89 | attribute xml:base { text }?,
90 | attribute xml:lang { text }?,
91 | attribute anchor { xsd:ID }?,
92 | attribute initials { text }?,
93 | attribute asciiInitials { text }?,
94 | attribute surname { text }?,
95 | attribute asciiSurname { text }?,
96 | attribute fullname { text }?,
97 | attribute role { "editor" }?,
98 | attribute asciiFullname { text }?,
99 | organization?,
100 | address?
101 | }
102 |
103 | contact =
104 | element contact {
105 | attribute xml:base { text }?,
106 | attribute xml:lang { text }?,
107 | attribute anchor { xsd:ID }?,
108 | attribute initials { text }?,
109 | attribute asciiInitials { text }?,
110 | attribute surname { text }?,
111 | attribute asciiSurname { text }?,
112 | attribute fullname { text }?,
113 | attribute asciiFullname { text }?,
114 | organization?,
115 | address?
116 | }
117 |
118 | organization =
119 | element organization {
120 | attribute xml:base { text }?,
121 | attribute xml:lang { text }?,
122 | attribute abbrev { text }?,
123 | attribute ascii { text }?,
124 | attribute asciiAbbrev { text }?,
125 | [ a:defaultValue = "true" ]
126 | attribute showOnFrontPage { "true" | "false" }?,
127 | text
128 | }
129 |
130 | address =
131 | element address {
132 | attribute xml:base { text }?,
133 | attribute xml:lang { text }?,
134 | postal?,
135 | phone?,
136 | facsimile?,
137 | email*,
138 | uri?
139 | }
140 |
141 | postal =
142 | element postal {
143 | attribute xml:base { text }?,
144 | attribute xml:lang { text }?,
145 | (( city | cityarea | code | country | extaddr | pobox | region
146 | | sortingcode | street)*
147 | | postalLine+)
148 | }
149 |
150 | extaddr =
151 | element extaddr {
152 | attribute xml:base { text }?,
153 | attribute xml:lang { text }?,
154 | attribute ascii { text }?,
155 | text
156 | }
157 |
158 | pobox =
159 | element pobox {
160 | attribute xml:base { text }?,
161 | attribute xml:lang { text }?,
162 | attribute ascii { text }?,
163 | text
164 | }
165 |
166 | street =
167 | element street {
168 | attribute xml:base { text }?,
169 | attribute xml:lang { text }?,
170 | attribute ascii { text }?,
171 | text
172 | }
173 |
174 | cityarea =
175 | element cityarea {
176 | attribute xml:base { text }?,
177 | attribute xml:lang { text }?,
178 | attribute ascii { text }?,
179 | text
180 | }
181 |
182 | city =
183 | element city {
184 | attribute xml:base { text }?,
185 | attribute xml:lang { text }?,
186 | attribute ascii { text }?,
187 | text
188 | }
189 |
190 | region =
191 | element region {
192 | attribute xml:base { text }?,
193 | attribute xml:lang { text }?,
194 | attribute ascii { text }?,
195 | text
196 | }
197 |
198 | code =
199 | element code {
200 | attribute xml:base { text }?,
201 | attribute xml:lang { text }?,
202 | attribute ascii { text }?,
203 | text
204 | }
205 |
206 | sortingcode =
207 | element sortingcode {
208 | attribute xml:base { text }?,
209 | attribute xml:lang { text }?,
210 | attribute ascii { text }?,
211 | text
212 | }
213 |
214 | country =
215 | element country {
216 | attribute xml:base { text }?,
217 | attribute xml:lang { text }?,
218 | attribute ascii { text }?,
219 | text
220 | }
221 |
222 | postalLine =
223 | element postalLine {
224 | attribute xml:base { text }?,
225 | attribute xml:lang { text }?,
226 | attribute ascii { text }?,
227 | text
228 | }
229 |
230 | phone =
231 | element phone {
232 | attribute xml:base { text }?,
233 | attribute xml:lang { text }?,
234 | text
235 | }
236 |
237 | facsimile =
238 | element facsimile {
239 | attribute xml:base { text }?,
240 | attribute xml:lang { text }?,
241 | text
242 | }
243 |
244 | email =
245 | element email {
246 | attribute xml:base { text }?,
247 | attribute xml:lang { text }?,
248 | attribute ascii { text }?,
249 | text
250 | }
251 |
252 | uri =
253 | element uri {
254 | attribute xml:base { text }?,
255 | attribute xml:lang { text }?,
256 | text
257 | }
258 |
259 | date =
260 | element date {
261 | attribute xml:base { text }?,
262 | attribute xml:lang { text }?,
263 | attribute day { text }?,
264 | attribute month { text }?,
265 | attribute year { text }?,
266 | text
267 | }
268 |
269 | area =
270 | element area {
271 | attribute xml:base { text }?,
272 | attribute xml:lang { text }?,
273 | text
274 | }
275 |
276 | workgroup =
277 | element workgroup {
278 | attribute xml:base { text }?,
279 | attribute xml:lang { text }?,
280 | text
281 | }
282 |
283 | keyword =
284 | element keyword {
285 | attribute xml:base { text }?,
286 | attribute xml:lang { text }?,
287 | text
288 | }
289 |
290 | abstract =
291 | element abstract {
292 | attribute xml:base { text }?,
293 | attribute xml:lang { text }?,
294 | attribute anchor { xsd:ID }?,
295 | attribute pn { xsd:ID }?,
296 | (dl | ol | t | ul)+
297 | }
298 |
299 | note =
300 | element note {
301 | attribute xml:base { text }?,
302 | attribute xml:lang { text }?,
303 | attribute title { text }?,
304 | attribute pn { xsd:ID }?,
305 | [ a:defaultValue = "false" ]
306 | attribute removeInRFC { "true" | "false" }?,
307 | name?,
308 | (dl | ol | t | ul)+
309 | }
310 |
311 | boilerplate =
312 | element boilerplate {
313 | attribute xml:base { text }?,
314 | attribute xml:lang { text }?,
315 | section+
316 | }
317 |
318 | toc =
319 | element toc {
320 | attribute xml:base { text }?,
321 | attribute xml:lang { text }?,
322 | section*
323 | }
324 |
325 | middle =
326 | element middle {
327 | attribute xml:base { text }?,
328 | attribute xml:lang { text }?,
329 | section+
330 | }
331 |
332 | section =
333 | element section {
334 | attribute xml:base { text }?,
335 | attribute xml:lang { text }?,
336 | attribute anchor { xsd:ID }?,
337 | attribute pn { xsd:ID }?,
338 | attribute title { text }?,
339 | [ a:defaultValue = "true" ]
340 | attribute numbered { "true" | "false" }?,
341 | [ a:defaultValue = "default" ]
342 | attribute toc { "include" | "exclude" | "default" }?,
343 | [ a:defaultValue = "false" ]
344 | attribute removeInRFC { "true" | "false" }?,
345 | name?,
346 | (artset
347 | | artwork
348 | | aside
349 | | author
350 | | blockquote
351 | | contact
352 | | dl
353 | | figure
354 | | iref
355 | | ol
356 | | sourcecode
357 | | t
358 | | table
359 | | texttable
360 | | ul)*,
361 | section*
362 | }
363 |
364 | name =
365 | element name {
366 | attribute xml:base { text }?,
367 | attribute xml:lang { text }?,
368 | attribute slugifiedName { xsd:ID }?,
369 | (text
370 | | bcp14
371 | | br
372 | | cref
373 | | em
374 | | eref
375 | | iref
376 | | relref
377 | | strong
378 | | sub
379 | | sup
380 | | tt
381 | | xref)*
382 | }
383 |
384 | br =
385 | element br {
386 | attribute xml:base { text }?,
387 | attribute xml:lang { text }?,
388 | empty
389 | }
390 |
391 | t =
392 | element t {
393 | attribute xml:base { text }?,
394 | attribute xml:lang { text }?,
395 | attribute anchor { xsd:ID }?,
396 | attribute pn { xsd:ID }?,
397 | attribute hangText { text }?,
398 | [ a:defaultValue = "0" ]
399 | attribute indent { text }?,
400 | [ a:defaultValue = "false" ]
401 | attribute keepWithNext { "true" | "false" }?,
402 | [ a:defaultValue = "false" ]
403 | attribute keepWithPrevious { "true" | "false" }?,
404 | (text
405 | | bcp14
406 | | br
407 | | contact
408 | | cref
409 | | em
410 | | eref
411 | | iref
412 | | \list
413 | | relref
414 | | spanx
415 | | strong
416 | | sub
417 | | sup
418 | | tt
419 | | u
420 | | vspace
421 | | xref)*
422 | }
423 |
424 | aside =
425 | element aside {
426 | attribute xml:base { text }?,
427 | attribute xml:lang { text }?,
428 | attribute anchor { xsd:ID }?,
429 | attribute pn { xsd:ID }?,
430 | (artset
431 | | artwork
432 | | blockquote
433 | | dl
434 | | figure
435 | | iref
436 | | ol
437 | | t
438 | | table
439 | | ul)*
440 |
441 | }
442 |
443 | blockquote =
444 | element blockquote {
445 | attribute xml:base { text }?,
446 | attribute xml:lang { text }?,
447 | attribute anchor { xsd:ID }?,
448 | attribute pn { xsd:ID }?,
449 | attribute cite { text }?,
450 | attribute quotedFrom { text }?,
451 | ((artset | artwork | dl | figure | ol | sourcecode | t | ul)+
452 | | (text
453 | | bcp14
454 | | br
455 | | cref
456 | | em
457 | | eref
458 | | iref
459 | | relref
460 | | strong
461 | | sub
462 | | sup
463 | | tt
464 | | u
465 | | xref)+)
466 | }
467 |
468 | \list =
469 | element list {
470 | attribute xml:base { text }?,
471 | attribute xml:lang { text }?,
472 | [ a:defaultValue = "empty" ] attribute style { text }?,
473 | attribute hangIndent { text }?,
474 | attribute counter { text }?,
475 | attribute pn { xsd:ID }?,
476 | t+
477 | }
478 |
479 | ol =
480 | element ol {
481 | attribute xml:base { text }?,
482 | attribute xml:lang { text }?,
483 | attribute anchor { xsd:ID }?,
484 | [ a:defaultValue = "1" ] attribute type { text }?,
485 | [ a:defaultValue = "1" ] attribute start { text }?,
486 | attribute group { text }?,
487 | [ a:defaultValue = "normal" ]
488 | attribute spacing { "normal" | "compact" }?,
489 | [ a:defaultValue = "adaptive" ]
490 | attribute indent { text | "adaptive" }?,
491 | attribute pn { xsd:ID }?,
492 | li+
493 | }
494 |
495 | ul =
496 | element ul {
497 | attribute xml:base { text }?,
498 | attribute xml:lang { text }?,
499 | attribute anchor { xsd:ID }?,
500 | [ a:defaultValue = "normal" ]
501 | attribute spacing { "normal" | "compact" }?,
502 | ([ a:defaultValue = "false" ]
503 | attribute empty { "true" | "false" },
504 | [ a:defaultValue = "false" ]
505 | attribute bare { "true" | "false" }?)?,
506 | [ a:defaultValue = "3" ]
507 | attribute indent { text }?,
508 | attribute pn { xsd:ID }?,
509 | li+
510 | }
511 |
512 | li =
513 | element li {
514 | attribute xml:base { text }?,
515 | attribute xml:lang { text }?,
516 | attribute anchor { xsd:ID }?,
517 | attribute derivedCounter { text }?,
518 | attribute pn { xsd:ID }?,
519 | (( artset
520 | | artwork
521 | | blockquote
522 | | dl
523 | | figure
524 | | ol
525 | | sourcecode
526 | | t
527 | | table
528 | | ul)+
529 | | (text
530 | | bcp14
531 | | br
532 | | cref
533 | | em
534 | | eref
535 | | iref
536 | | relref
537 | | strong
538 | | sub
539 | | sup
540 | | tt
541 | | u
542 | | xref)+)
543 | }
544 |
545 | dl =
546 | element dl {
547 | attribute xml:base { text }?,
548 | attribute xml:lang { text }?,
549 | attribute anchor { xsd:ID }?,
550 | [ a:defaultValue = "normal" ]
551 | attribute spacing { "normal" | "compact" }?,
552 | [ a:defaultValue = "false" ]
553 | attribute newline { "true" | "false" }?,
554 | [ a:defaultValue = "3" ]
555 | attribute indent { text }?,
556 | attribute pn { xsd:ID }?,
557 | (dt, dd)+
558 | }
559 |
560 | dt =
561 | element dt {
562 | attribute xml:base { text }?,
563 | attribute xml:lang { text }?,
564 | attribute anchor { xsd:ID }?,
565 | attribute pn { xsd:ID }?,
566 | (text
567 | | bcp14
568 | | br
569 | | cref
570 | | em
571 | | eref
572 | | iref
573 | | relref
574 | | strong
575 | | sub
576 | | sup
577 | | tt
578 | | xref)*
579 | }
580 |
581 | dd =
582 | element dd {
583 | attribute xml:base { text }?,
584 | attribute xml:lang { text }?,
585 | attribute anchor { xsd:ID }?,
586 | attribute pn { xsd:ID }?,
587 | (( artset
588 | | artwork
589 | | aside
590 | | dl
591 | | figure
592 | | ol
593 | | sourcecode
594 | | t
595 | | table
596 | | ul)+
597 | | (text
598 | | bcp14
599 | | br
600 | | cref
601 | | em
602 | | eref
603 | | iref
604 | | relref
605 | | strong
606 | | sub
607 | | sup
608 | | tt
609 | | u
610 | | xref)+)
611 | }
612 |
613 | xref =
614 | element xref {
615 | attribute xml:base { text }?,
616 | attribute xml:lang { text }?,
617 | attribute target { xsd:IDREF },
618 | [ a:defaultValue = "false" ]
619 | attribute pageno { "true" | "false" }?,
620 | [ a:defaultValue = "default" ]
621 | attribute format { "default" | "title" | "counter" | "none" }?,
622 | attribute derivedContent { text }?,
623 | [ a:defaultValue = "of" ]
624 | attribute sectionFormat { "of" | "comma" | "parens" | "bare" }?,
625 | attribute section { text }?,
626 | attribute relative { text }?,
627 | attribute derivedLink { text }?,
628 | (text | em | strong | sub | sup | tt)*
629 | }
630 |
631 | relref =
632 | element relref {
633 | attribute xml:base { text }?,
634 | attribute xml:lang { text }?,
635 | attribute target { xsd:IDREF },
636 | [ a:defaultValue = "of" ]
637 | attribute displayFormat { "of" | "comma" | "parens" | "bare" }?,
638 | attribute derivedContent { text }?,
639 | attribute section { text },
640 | attribute relative { text }?,
641 | attribute derivedLink { text }?,
642 | text
643 | }
644 |
645 | eref =
646 | element eref {
647 | attribute xml:base { text }?,
648 | attribute xml:lang { text }?,
649 | [ a:defaultValue = "none" ]
650 | attribute brackets { "none" | "angle" }?,
651 | attribute target { text },
652 | text
653 | }
654 |
655 | iref =
656 | element iref {
657 | attribute xml:base { text }?,
658 | attribute xml:lang { text }?,
659 | attribute item { text },
660 | [ a:defaultValue = "" ] attribute subitem { text }?,
661 | [ a:defaultValue = "false" ]
662 | attribute primary { "true" | "false" }?,
663 | attribute pn { xsd:ID }?,
664 | empty
665 | }
666 |
667 | cref =
668 | element cref {
669 | attribute xml:base { text }?,
670 | attribute xml:lang { text }?,
671 | attribute anchor { xsd:ID }?,
672 | attribute source { text }?,
673 | [ a:defaultValue = "true" ]
674 | attribute display { "true" | "false" }?,
675 | (text
676 | | br
677 | | em
678 | | eref
679 | | relref
680 | | strong
681 | | sub
682 | | sup
683 | | tt
684 | | xref)*
685 | }
686 |
687 | tt =
688 | element tt {
689 | attribute xml:base { text }?,
690 | attribute xml:lang { text }?,
691 | (text
692 | | bcp14
693 | | br
694 | | cref
695 | | em
696 | | eref
697 | | iref
698 | | relref
699 | | strong
700 | | sub
701 | | sup
702 | | xref)*
703 | }
704 |
705 | strong =
706 | element strong {
707 | attribute xml:base { text }?,
708 | attribute xml:lang { text }?,
709 | (text
710 | | bcp14
711 | | br
712 | | cref
713 | | em
714 | | eref
715 | | iref
716 | | relref
717 | | sub
718 | | sup
719 | | tt
720 | | xref)*
721 | }
722 |
723 | em =
724 | element em {
725 | attribute xml:base { text }?,
726 | attribute xml:lang { text }?,
727 | (text
728 | | bcp14
729 | | br
730 | | cref
731 | | eref
732 | | iref
733 | | relref
734 | | strong
735 | | sub
736 | | sup
737 | | tt
738 | | xref)*
739 | }
740 |
741 | sub =
742 | element sub {
743 | attribute xml:base { text }?,
744 | attribute xml:lang { text }?,
745 | (text
746 | | bcp14
747 | | cref
748 | | em
749 | | eref
750 | | iref
751 | | relref
752 | | strong
753 | | sub
754 | | sup
755 | | tt
756 | | xref)*
757 | }
758 |
759 | sup =
760 | element sup {
761 | attribute xml:base { text }?,
762 | attribute xml:lang { text }?,
763 | (text
764 | | bcp14
765 | | cref
766 | | em
767 | | eref
768 | | iref
769 | | relref
770 | | strong
771 | | sub
772 | | sup
773 | | tt
774 | | xref)*
775 | }
776 |
777 | spanx =
778 | element spanx {
779 | attribute xml:base { text }?,
780 | attribute xml:lang { text }?,
781 | [ a:defaultValue = "preserve" ]
782 | attribute xml:space { "default" | "preserve" }?,
783 | [ a:defaultValue = "emph" ] attribute style { text }?,
784 | text
785 | }
786 |
787 | vspace =
788 | element vspace {
789 | attribute xml:base { text }?,
790 | attribute xml:lang { text }?,
791 | [ a:defaultValue = "0" ] attribute blankLines { text }?,
792 | empty
793 | }
794 |
795 | figure =
796 | element figure {
797 | attribute xml:base { text }?,
798 | attribute xml:lang { text }?,
799 | attribute anchor { xsd:ID }?,
800 | attribute pn { xsd:ID }?,
801 | [ a:defaultValue = "" ] attribute title { text }?,
802 | [ a:defaultValue = "false" ]
803 | attribute suppress-title { "true" | "false" }?,
804 | attribute src { text }?,
805 | attribute originalSrc { text }?,
806 | [ a:defaultValue = "left" ]
807 | attribute align { "left" | "center" | "right" }?,
808 | [ a:defaultValue = "" ] attribute alt { text }?,
809 | [ a:defaultValue = "" ] attribute width { text }?,
810 | [ a:defaultValue = "" ] attribute height { text }?,
811 | name?,
812 | iref*,
813 | preamble?,
814 | (artset | artwork | sourcecode)+,
815 | postamble?
816 | }
817 |
818 | table =
819 | element table {
820 | attribute xml:base { text }?,
821 | attribute xml:lang { text }?,
822 | [ a:defaultValue = "center" ]
823 | attribute align { "left" | "center" | "right" }?,
824 | attribute anchor { xsd:ID }?,
825 | attribute pn { xsd:ID }?,
826 | name?,
827 | iref*,
828 | thead?,
829 | tbody+,
830 | tfoot?
831 | }
832 |
833 | preamble =
834 | element preamble {
835 | attribute xml:base { text }?,
836 | attribute xml:lang { text }?,
837 | (text
838 | | bcp14
839 | | cref
840 | | em
841 | | eref
842 | | iref
843 | | relref
844 | | spanx
845 | | strong
846 | | sub
847 | | sup
848 | | tt
849 | | u
850 | | xref)*
851 | }
852 |
853 | artset =
854 | element artset {
855 | attribute xml:base { text }?,
856 | attribute xml:lang { text }?,
857 | attribute anchor { xsd:ID }?,
858 | attribute pn { xsd:ID }?,
859 | artwork+
860 | }
861 |
862 |
863 | artwork =
864 | element artwork {
865 | attribute xml:base { text }?,
866 | attribute xml:lang { text }?,
867 | attribute anchor { xsd:ID }?,
868 | attribute pn { xsd:ID }?,
869 | attribute xml:space { text }?,
870 | [ a:defaultValue = "" ] attribute name { text }?,
871 | [ a:defaultValue = "" ] attribute type { text }?,
872 | attribute src { text }?,
873 | [ a:defaultValue = "left" ]
874 | attribute align { "left" | "center" | "right" }?,
875 | [ a:defaultValue = "" ] attribute alt { text }?,
876 | [ a:defaultValue = "" ] attribute width { text }?,
877 | [ a:defaultValue = "" ] attribute height { text }?,
878 | attribute originalSrc { text }?,
879 | (text* | svg)
880 | }
881 | include "SVG-1.2-RFC.rnc"
882 |
883 | sourcecode =
884 | element sourcecode {
885 | attribute xml:base { text }?,
886 | attribute xml:lang { text }?,
887 | attribute anchor { xsd:ID }?,
888 | attribute pn { xsd:ID }?,
889 | [ a:defaultValue = "" ] attribute name { text }?,
890 | [ a:defaultValue = "" ] attribute type { text }?,
891 | [ a:defaultValue = "false" ]
892 | attribute markers { "true" | "false" }?,
893 | attribute src { text }?,
894 | attribute originalSrc { text }?,
895 | text
896 | }
897 |
898 | thead =
899 | element thead {
900 | attribute xml:base { text }?,
901 | attribute xml:lang { text }?,
902 | attribute anchor { xsd:ID }?,
903 | tr+
904 | }
905 |
906 | tbody =
907 | element tbody {
908 | attribute xml:base { text }?,
909 | attribute xml:lang { text }?,
910 | attribute anchor { xsd:ID }?,
911 | tr+
912 | }
913 |
914 | tfoot =
915 | element tfoot {
916 | attribute xml:base { text }?,
917 | attribute xml:lang { text }?,
918 | attribute anchor { xsd:ID }?,
919 | tr+
920 | }
921 |
922 | tr =
923 | element tr {
924 | attribute xml:base { text }?,
925 | attribute xml:lang { text }?,
926 | attribute anchor { xsd:ID }?,
927 | (td | th)+
928 | }
929 |
930 | td =
931 | element td {
932 | attribute xml:base { text }?,
933 | attribute xml:lang { text }?,
934 | attribute anchor { xsd:ID }?,
935 | [ a:defaultValue = "1" ] attribute colspan { text }?,
936 | [ a:defaultValue = "1" ] attribute rowspan { text }?,
937 | [ a:defaultValue = "left" ]
938 | attribute align { "left" | "center" | "right" }?,
939 | ((artset | artwork | dl | figure | ol | sourcecode | t | ul)+
940 | | (text
941 | | bcp14
942 | | br
943 | | cref
944 | | em
945 | | eref
946 | | iref
947 | | relref
948 | | strong
949 | | sub
950 | | sup
951 | | tt
952 | | u
953 | | xref)*)
954 | }
955 |
956 | th =
957 | element th {
958 | attribute xml:base { text }?,
959 | attribute xml:lang { text }?,
960 | attribute anchor { xsd:ID }?,
961 | [ a:defaultValue = "1" ] attribute colspan { text }?,
962 | [ a:defaultValue = "1" ] attribute rowspan { text }?,
963 | [ a:defaultValue = "left" ]
964 | attribute align { "left" | "center" | "right" }?,
965 | ((artset | artwork | dl | figure | ol | sourcecode | t | ul)+
966 | | (text
967 | | bcp14
968 | | br
969 | | cref
970 | | em
971 | | eref
972 | | iref
973 | | relref
974 | | strong
975 | | sub
976 | | sup
977 | | tt
978 | | u
979 | | xref)*)
980 | }
981 |
982 | postamble =
983 | element postamble {
984 | attribute xml:base { text }?,
985 | attribute xml:lang { text }?,
986 | (text | cref | eref | iref | spanx | xref)*
987 | }
988 |
989 | texttable =
990 | element texttable {
991 | attribute xml:base { text }?,
992 | attribute xml:lang { text }?,
993 | attribute anchor { xsd:ID }?,
994 | [ a:defaultValue = "" ] attribute title { text }?,
995 | [ a:defaultValue = "false" ]
996 | attribute suppress-title { "true" | "false" }?,
997 | [ a:defaultValue = "center" ]
998 | attribute align { "left" | "center" | "right" }?,
999 | [ a:defaultValue = "full" ]
1000 | attribute style { "all" | "none" | "headers" | "full" }?,
1001 | name?,
1002 | preamble?,
1003 | ttcol+,
1004 | c*,
1005 | postamble?
1006 | }
1007 |
1008 | ttcol =
1009 | element ttcol {
1010 | attribute xml:base { text }?,
1011 | attribute xml:lang { text }?,
1012 | attribute width { text }?,
1013 | [ a:defaultValue = "left" ]
1014 | attribute align { "left" | "center" | "right" }?,
1015 | (cref | eref | iref | xref | text)*
1016 | }
1017 |
1018 | c =
1019 | element c {
1020 | attribute xml:base { text }?,
1021 | attribute xml:lang { text }?,
1022 | (text | cref | eref | iref | spanx | xref)*
1023 | }
1024 |
1025 | bcp14 =
1026 | element bcp14 {
1027 | attribute xml:base { text }?,
1028 | attribute xml:lang { text }?,
1029 | text
1030 | }
1031 |
1032 | back =
1033 | element back {
1034 | attribute xml:base { text }?,
1035 | attribute xml:lang { text }?,
1036 | displayreference*,
1037 | references*,
1038 | section*
1039 | }
1040 |
1041 | displayreference =
1042 | element displayreference {
1043 | attribute xml:base { text }?,
1044 | attribute xml:lang { text }?,
1045 | attribute target { xsd:IDREF },
1046 | attribute to { text }
1047 | }
1048 |
1049 | references =
1050 | element references {
1051 | attribute xml:base { text }?,
1052 | attribute xml:lang { text }?,
1053 | attribute pn { xsd:ID }?,
1054 | attribute anchor { xsd:ID }?,
1055 | attribute title { text }?,
1056 | name?,
1057 | (references+ | (reference | referencegroup)*)
1058 | }
1059 |
1060 | reference =
1061 | element reference {
1062 | attribute xml:base { text }?,
1063 | attribute xml:lang { text }?,
1064 | attribute anchor { xsd:ID },
1065 | attribute derivedAnchor { text }?,
1066 | attribute target { text }?,
1067 | [ a:defaultValue = "true" ]
1068 | attribute quoteTitle { "true" | "false" }?,
1069 | attribute quote-title { "true" | "false" }?,
1070 | stream?,
1071 | front,
1072 | (annotation | format | refcontent | seriesInfo)*
1073 | }
1074 |
1075 | stream =
1076 | element stream {
1077 | ( "IETF" | "IAB" | "IRTF" | "independent" | "editorial" )?
1078 | }
1079 |
1080 | referencegroup =
1081 | element referencegroup {
1082 | attribute xml:base { text }?,
1083 | attribute xml:lang { text }?,
1084 | attribute anchor { xsd:ID },
1085 | attribute derivedAnchor { text }?,
1086 | attribute target { text }?,
1087 | reference+
1088 | }
1089 |
1090 | seriesInfo =
1091 | element seriesInfo {
1092 | attribute xml:base { text }?,
1093 | attribute xml:lang { text }?,
1094 | attribute name { text },
1095 | attribute value { text },
1096 | attribute asciiName { text }?,
1097 | attribute asciiValue { text }?,
1098 | attribute status { text }?,
1099 | attribute stream { "IETF" | "IAB" | "IRTF" | "independent" | "editorial" }?,
1100 | empty
1101 | }
1102 |
1103 | format =
1104 | element format {
1105 | attribute xml:base { text }?,
1106 | attribute xml:lang { text }?,
1107 | attribute target { text }?,
1108 | attribute type { text },
1109 | attribute octets { text }?,
1110 | empty
1111 | }
1112 |
1113 | annotation =
1114 | element annotation {
1115 | attribute xml:base { text }?,
1116 | attribute xml:lang { text }?,
1117 | (text
1118 | | bcp14
1119 | | cref
1120 | | em
1121 | | eref
1122 | | iref
1123 | | relref
1124 | | spanx
1125 | | strong
1126 | | sub
1127 | | sup
1128 | | tt
1129 | | u
1130 | | xref)*
1131 | }
1132 |
1133 | refcontent =
1134 | element refcontent {
1135 | attribute xml:base { text }?,
1136 | attribute xml:lang { text }?,
1137 | (text | bcp14 | em | strong | sub | sup | tt)*
1138 | }
1139 |
1140 | u =
1141 | element u {
1142 | attribute anchor { xsd:ID }?,
1143 | attribute ascii { text }?,
1144 | [ a:defaultValue = "lit-name-num" ]
1145 | attribute format { text }?,
1146 | attribute pn { xsd:ID }?,
1147 | text
1148 | }
1149 |
1150 | start |= rfc
1151 |
--------------------------------------------------------------------------------