├── 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 |
  1. List item (a)
  2. 138 |
  3. List item (b)
  4. 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 |
  1. This will be "REQ1:"
  2. 155 |
  3. This will be "REQ2:"
  4. 156 |
157 | Some text in between 158 |
    159 |
  1. This will be "REQ3:"
  2. 160 |
  3. This will be "REQ4:"
  4. 161 |
162 |
163 | Section in-between 164 | More text in-between 165 |
    166 |
  1. This will be REQ5:
  2. 167 |
  3. This will be REQ6:
  4. 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 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 |
Column 1Column 2Column 3
Left cellColspan cell
Rowspan cellCenter cellRight cell
CellCell
Colspan footer
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 | 249 | 250 | Layer 1 251 | 252 | 253 | A box 254 | 255 | 256 | 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 |
31 |
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 |
  1. Ordered list item [REPLACE/DELETE]
  2. 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 | 143 | 144 | 145 | 146 | 147 |
Column 1 [REPLACE]
Cell [REPLACE]
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 | --------------------------------------------------------------------------------