Return to SVG.S CVS log | Up to [Public] / Amaya / amaya |
1.1 vatton 1: 2: { Thot structure schema for Scalable Vector Graphics } 3: 4: STRUCTURE SVG; 5: 6: DEFPRES SVGP; 7: 8: ATTR 9: 10: { global attributes for all SVG elements } 11: id = text; 12: class = text; 13: PseudoClass = Text; 14: style_ = text; 15: xml_space = xml_space_default, xml_space_preserve; 1.3 cvs 16: { xml_base = Text; } 17: 1.1 vatton 18: { global attributes for internal processing } 1.2 cvs 19: Unknown_attribute = text; 1.1 vatton 20: Ghost_restruct = text; 21: Highlight = Yes_; { to show the SVG element corresponding to the 22: current selection in the source view } 23: Namespace = text; { for children of element foreignObject } 24: IntEmptyShape = yes_, no_; 25: 26: STRUCT 27: 1.21 ! quint 28: { Document Structure } 1.8 cvs 29: 1.1 vatton 30: SVG 1.7 cvs 31: (ATTR requiredFeatures = text; 32: requiredExtensions = text; 33: systemLanguage = text; 34: externalResourcesRequired = false, true; 35: fill = text; 36: stroke = text; 37: stroke_width = text; 38: font_family = text; 1.5 cvs 39: font_size = text; 40: font_style = normal_, italic, oblique_, inherit; 41: font_variant = normal_, small_caps, inherit; 42: font_weight = normal_, bold_, bolder, lighter, w100, w200, w300, 43: w400, w500, w600, w700, w800, w900, inherit; 1.16 quint 44: direction_ = ltr_, rtl_, inherit; 1.21 ! quint 45: text_anchor = start, middle, end__, inherit; 1.6 cvs 46: text_decoration = text; 1.14 quint 47: unicode_bidi = normal_, embed_, bidi_override, inherit; 1.5 cvs 48: viewBox = text; 1.19 quint 49: version = text; 1.1 vatton 50: x = text; 51: y = text; 1.5 cvs 52: width_ = text; 1.1 vatton 53: height_ = text; 1.11 cvs 54: RealLang = Yes_; 1.1 vatton 55: Charset = text) 1.14 quint 56: = LIST OF (GraphicsElement) + (XMLcomment, XMLPI, CDATA, 57: Unknown_namespace); 1.1 vatton 58: 59: g 1.7 cvs 60: (ATTR requiredFeatures; requiredExtensions; systemLanguage; 61: externalResourcesRequired; 62: fill; stroke; stroke_width; 1.5 cvs 63: font_family; font_size; font_style; font_variant; font_weight; 1.16 quint 64: direction_; text_anchor; text_decoration; unicode_bidi; 1.1 vatton 65: transform = text) 66: = LIST OF (GraphicsElement); 67: 68: defs 1.7 cvs 69: (ATTR requiredFeatures; requiredExtensions; systemLanguage; 70: externalResourcesRequired; 71: fill; stroke; stroke_width; 1.5 cvs 72: font_family; font_size; font_style; font_variant; font_weight; 1.16 quint 73: direction_; text_anchor; text_decoration; unicode_bidi; 1.1 vatton 74: transform; 75: { graphicsElementEvents }) 76: = LIST OF (GraphicsElement); 77: 1.21 ! quint 78: desc = TEXT; ! 79: ! 80: title = TEXT; ! 81: 1.14 quint 82: symbol_ { not in SVG Tiny } 83: (ATTR externalResourcesRequired; 84: fill; stroke; stroke_width; 85: font_family; font_size; font_style; font_variant; font_weight; 1.16 quint 86: direction_; text_anchor; text_decoration; unicode_bidi; 1.14 quint 87: viewBox; 88: preserveAspectRatio = text; 89: { graphicsElementEvents }) 90: = LIST OF (GraphicsElement); 91: 1.8 cvs 92: use_ { not in SVG Tiny } 93: (ATTR xlink_href = text; 94: requiredFeatures; requiredExtensions; systemLanguage; 95: externalResourcesRequired; 96: fill; stroke; stroke_width; 97: font_family; font_size; font_style; font_variant; font_weight; 1.16 quint 98: direction_; text_anchor; text_decoration; unicode_bidi; 1.8 cvs 99: transform; 100: { graphicsElementEvents } 101: x; 102: y; 103: width_; 104: height_) 105: = AGGREGATE 106: desc; title; metadata; 1.21 ! quint 107: LIST OF (Anim); 1.8 cvs 108: END; 109: 110: { Images } 111: 112: image 113: (ATTR xlink_href; 114: requiredFeatures; requiredExtensions; systemLanguage; 1.7 cvs 115: externalResourcesRequired; 1.8 cvs 116: transform; 117: x; 118: y; 119: width_; 120: height_) 1.1 vatton 121: = AGGREGATE 1.8 cvs 122: desc; ? title; ? metadata; 1.21 ! quint 123: LIST OF (Anim); 1.8 cvs 124: PICTURE; 125: SVG_Image = SVG; 1.1 vatton 126: END; 127: 1.8 cvs 128: { Conditional Processing } 129: 130: switch 131: (ATTR requiredFeatures; requiredExtensions; systemLanguage; 132: externalResourcesRequired; 133: { PresentationAttributes-All } 134: fill; stroke; stroke_width; 135: font_family; font_size; font_style; font_variant; font_weight; 1.16 quint 136: direction_; text_anchor; text_decoration; unicode_bidi; 1.8 cvs 137: transform; 138: { graphicsElementEvents }) 139: = LIST OF (CASE OF 140: GraphicsElement; foreignObject; 141: END); 142: 143: { Styling } 144: 145: style__ { not in SVG Tiny } 146: (ATTR type = text; 147: media = text; 148: title_ = text) 149: = TEXT; 150: 1.21 ! quint 151: { Paths } ! 152: ! 153: path ! 154: (ATTR requiredFeatures; requiredExtensions; systemLanguage; ! 155: externalResourcesRequired; ! 156: fill; stroke; stroke_width; ! 157: transform; ! 158: d = text; ! 159: pathLength = text) ! 160: = AGGREGATE ! 161: desc; title; metadata; ! 162: LIST OF (Anim); ! 163: GRAPHICS; ! 164: END; ! 165: ! 166: { Basic Shapes } 1.8 cvs 167: 1.1 vatton 168: rect 1.7 cvs 169: (ATTR requiredFeatures; requiredExtensions; systemLanguage; 170: externalResourcesRequired; 171: fill; stroke; stroke_width; 172: transform; 1.1 vatton 173: x; 174: y; 175: width_; 176: height_; 177: rx = text; 1.7 cvs 178: ry = text) 1.1 vatton 179: = AGGREGATE 180: desc; title; metadata; 1.21 ! quint 181: LIST OF (Anim); 1.1 vatton 182: GRAPHICS; 183: END; 184: 185: circle 1.7 cvs 186: (ATTR requiredFeatures; requiredExtensions; systemLanguage; 187: externalResourcesRequired; 188: fill; stroke; stroke_width; 189: transform; 1.1 vatton 190: cx = text; 191: cy = text; 1.7 cvs 192: r = text) 1.1 vatton 193: = AGGREGATE 194: desc; title; metadata; 1.21 ! quint 195: LIST OF (Anim); 1.1 vatton 196: GRAPHICS; 197: END; 198: 1.21 ! quint 199: ellipse 1.7 cvs 200: (ATTR requiredFeatures; requiredExtensions; systemLanguage; 201: externalResourcesRequired; 202: fill; stroke; stroke_width; 203: transform; 1.21 ! quint 204: cx; ! 205: cy; ! 206: rx; ! 207: ry) 1.1 vatton 208: = AGGREGATE 209: desc; title; metadata; 1.21 ! quint 210: LIST OF (Anim); 1.1 vatton 211: GRAPHICS; 212: END; 213: 1.21 ! quint 214: line_ 1.7 cvs 215: (ATTR requiredFeatures; requiredExtensions; systemLanguage; 216: externalResourcesRequired; 217: fill; stroke; stroke_width; 218: transform; 1.21 ! quint 219: x1 = text; ! 220: y1 = text; ! 221: x2 = text; ! 222: y2 = text) 1.1 vatton 223: = AGGREGATE 224: desc; title; metadata; 1.21 ! quint 225: LIST OF (Anim); 1.1 vatton 226: GRAPHICS; 227: END; 228: 229: polyline 1.7 cvs 230: (ATTR requiredFeatures; requiredExtensions; systemLanguage; 231: externalResourcesRequired; 232: fill; stroke; stroke_width; 1.1 vatton 233: transform; 1.7 cvs 234: points = text) 1.1 vatton 235: = AGGREGATE 236: desc; title; metadata; 1.21 ! quint 237: LIST OF (Anim); 1.1 vatton 238: GRAPHICS; 239: END; 240: 241: polygon 1.7 cvs 242: (ATTR requiredFeatures; requiredExtensions; systemLanguage; 243: externalResourcesRequired; 244: fill; stroke; stroke_width; 1.1 vatton 245: transform; 1.7 cvs 246: points) 1.1 vatton 247: = AGGREGATE 248: desc; title; metadata; 1.21 ! quint 249: LIST OF (Anim); 1.8 cvs 250: GRAPHICS; 251: END; 252: 253: { Text } 254: 1.1 vatton 255: text_ 1.7 cvs 256: (ATTR requiredFeatures; requiredExtensions; systemLanguage; 257: externalResourcesRequired; 258: fill; stroke; stroke_width; 259: font_family; font_size; font_style; font_variant; font_weight; 1.16 quint 260: direction_; text_anchor; text_decoration; unicode_bidi; 1.5 cvs 261: transform; 1.20 vatton 262: writing_mode = lr_tb, rl_tb, tb_rl, lr, rl, tb, inherit; 1.1 vatton 263: x; 1.7 cvs 264: y; 265: dx = text; 266: dy = text) 1.1 vatton 267: = LIST OF (TextComponent); 268: 1.8 cvs 269: tspan { not in SVG Tiny } 1.7 cvs 270: (ATTR requiredFeatures; requiredExtensions; systemLanguage; 271: externalResourcesRequired; 272: fill; stroke; stroke_width; 273: font_family; font_size; font_style; font_variant; font_weight; 1.16 quint 274: direction_; text_anchor; text_decoration; unicode_bidi; 1.20 vatton 275: writing_mode; 1.5 cvs 276: x; 1.1 vatton 277: y; 1.7 cvs 278: dx; 279: dy) 1.8 cvs 280: = LIST OF (SpanElement = CASE OF 281: TEXT; 1.21 ! quint 282: desc; title; metadata; ! 283: tspan; ! 284: a; ! 285: animate; set; animateColor; 1.8 cvs 286: END); 287: 1.1 vatton 288: { tref } 289: { textPath } 290: { altGlyph } 1.21 ! quint 291: { altGlyphDef } ! 292: { altGlyphItem } ! 293: { glyphRef } ! 294: ! 295: { Marker Symbols } ! 296: ! 297: { marker } ! 298: ! 299: { Color } ! 300: ! 301: { color-profile } ! 302: ! 303: { Gradients and Patterns } ! 304: ! 305: { linearGradient } ! 306: { radialGradient } ! 307: { stop } ! 308: { pattern } ! 309: ! 310: { Clipping, Masking and Compositing } ! 311: ! 312: clipPath ! 313: (ATTR requiredFeatures; requiredExtensions; systemLanguage; ! 314: externalResourcesRequired; ! 315: fill; stroke; stroke_width; ! 316: font_family; font_size; font_style; font_variant; font_weight; ! 317: direction_; text_anchor; text_decoration; unicode_bidi; ! 318: transform; ! 319: clipPathUnits = userSpaceOnUse, objectBoundingBox;) ! 320: = AGGREGATE ! 321: desc; title; metadata; ! 322: LIST OF ! 323: (CASE OF ! 324: path; text_; rect; circle; ellipse; line_; polyline; polygon; ! 325: use_; animate; set; animateMotion; animateColor; ! 326: animateTransform; ! 327: END); ! 328: END; ! 329: ! 330: { mask } 1.8 cvs 331: 1.21 ! quint 332: { Filter Effects } 1.8 cvs 333: 334: { filter } 1.21 ! quint 335: { feDistantLight } ! 336: { fePointLight } ! 337: { feSpotLight } 1.8 cvs 338: { feBlend } 339: { feColorMatrix } 340: { feComponentTransfer } 1.21 ! quint 341: { feFuncR } ! 342: { feFuncG } ! 343: { feFuncB } ! 344: { feFuncA } 1.8 cvs 345: { feComposite } 346: { feConvolveMatrix } 347: { feDiffuseLighting } 348: { feDisplacementMap } 1.21 ! quint 349: { feFlood } 1.8 cvs 350: { feGaussianBlur } 351: { feImage } 352: { feMerge } 1.21 ! quint 353: { feMergeNode } 1.8 cvs 354: { feMorphology } 355: { feOffset } 356: { feSpecularLighting } 357: { feTile } 358: { feTurbulence } 359: 1.14 quint 360: { Interactivity } 361: 362: { cursor } 363: 364: { Linking } 365: 366: a 367: (ATTR xlink_href; 368: requiredFeatures; requiredExtensions; systemLanguage; 369: externalResourcesRequired; 370: fill; stroke; stroke_width; 371: font_family; font_size; font_style; font_variant; font_weight; 1.16 quint 372: direction_; text_anchor; text_decoration; unicode_bidi; 1.14 quint 373: transform; 374: { graphicsElementEvents } 375: target_ = text) 376: = LIST OF (CASE OF 377: GraphicsElement; TextComponent; 378: END); 1.21 ! quint 379: { view } 1.14 quint 380: 1.8 cvs 381: { Scripting } 382: 1.12 vatton 383: script_ { not in SVG Tiny } 1.8 cvs 384: (ATTR externalResourcesRequired; 385: type) 386: = TEXT; 387: 388: { Animation } 389: 1.21 ! quint 390: animate ! 391: (ATTR requiredFeatures; requiredExtensions; systemLanguage; {testAttrs} ! 392: externalResourcesRequired; ! 393: onbegin = text; {animationEvents} ! 394: onend = text; ! 395: onrepeat = text; ! 396: {animElementAttrs - see XLink.S} ! 397: xlink_href; ! 398: attributeName = text; {animAttributeAttrs} ! 399: attributeType = text; ! 400: begin_ = text; {animTimingAttrs} ! 401: dur = text; ! 402: end_ = text; ! 403: min = text; ! 404: max = text; ! 405: restart = always, never, whenNotActive; ! 406: repeatCount = text; ! 407: repeatDur = text; ! 408: fill_ = remove, freeze; ! 409: calcMode = discrete, linear, paced, spline; {animValueAttrs} ! 410: values = text; ! 411: keyTimes = text; ! 412: keySplines = text; ! 413: from = text; ! 414: to = text; ! 415: by = text; ! 416: additive = replace, sum; {animAdditionAttrs} ! 417: accumulate = none_, sum;) ! 418: = AGGREGATE ! 419: desc; title; metadata; ! 420: END; ! 421: ! 422: set ! 423: (ATTR requiredFeatures; requiredExtensions; systemLanguage; {testAttrs} ! 424: externalResourcesRequired; ! 425: onbegin; onend; onrepeat; {animationEvents} ! 426: xlink_href; {animElementAttrs - see XLink.S} ! 427: attributeName; attributeType; {animAttributeAttrs} ! 428: begin_; dur; end_; min; max; restart; repeatCount; repeatDur; fill_; ! 429: {animTimingAttrs} ! 430: to;) ! 431: = AGGREGATE ! 432: desc; title; metadata; ! 433: END; 1.8 cvs 434: 1.21 ! quint 435: animateMotion ! 436: (ATTR requiredFeatures; requiredExtensions; systemLanguage; {testAttrs} ! 437: externalResourcesRequired; ! 438: onbegin; onend; onrepeat; {animationEvents} ! 439: xlink_href; {animElementAttrs - see XLink.S} ! 440: attributeName; attributeType; {animAttributeAttrs} ! 441: begin_; dur; end_; min; max; restart; repeatCount; repeatDur; fill_; ! 442: {animTimingAttrs} ! 443: calcMode; values; keyTimes; keySplines; from; to; by; ! 444: additive; accumulate; {animAdditionAttrs} ! 445: path_ = text; ! 446: keyPoints = text; ! 447: rotate = text; ! 448: origin = text;) ! 449: = AGGREGATE ! 450: desc; title; metadata; ? mpath; ! 451: END; ! 452: ! 453: mpath ! 454: (ATTR ! 455: xlink_href; {xlinkRefAttrs - see XLink.S} ! 456: externalResourcesRequired;) ! 457: = AGGREGATE ! 458: desc; title; metadata; ! 459: END; ! 460: ! 461: animateColor ! 462: (ATTR requiredFeatures; requiredExtensions; systemLanguage; {testAttrs} ! 463: externalResourcesRequired; ! 464: onbegin; onend; onrepeat; {animationEvents} ! 465: xlink_href; {animElementAttrs - see XLink.S} ! 466: attributeName; attributeType; {animAttributeAttrs} ! 467: begin_; dur; end_; min; max; restart; repeatCount; repeatDur; fill_; ! 468: {animTimingAttrs} ! 469: calcMode; values; keyTimes; keySplines; from; to; by; ! 470: {animValueAttrs} ! 471: additive; accumulate;) {animAdditionAttrs} ! 472: = AGGREGATE ! 473: desc; title; metadata; ! 474: END; ! 475: ! 476: animateTransform ! 477: (ATTR requiredFeatures; requiredExtensions; systemLanguage; {testAttrs} ! 478: externalResourcesRequired; ! 479: onbegin; onend; onrepeat; {animationEvents} ! 480: xlink_href; {animElementAttrs - see XLink.S} ! 481: attributeName; attributeType; {animAttributeAttrs} ! 482: begin_; dur; end_; min; max; restart; repeatCount; repeatDur; fill_; ! 483: {animTimingAttrs} ! 484: calcMode; values; keyTimes; keySplines; from; to; by; ! 485: {animValueAttrs} ! 486: additive; accumulate; {animAdditionAttrs} ! 487: type_ = translate, scale, rotate_, skewX, skewY;) ! 488: = AGGREGATE ! 489: desc; title; metadata; ! 490: END; ! 491: ! 492: Anim = CASE OF animate; set; animateMotion; animateColor; animateTransform; ! 493: END; 1.8 cvs 494: { Fonts } 495: 1.1 vatton 496: { font } 497: { glyph } 498: { missing-glyph } 499: { hkern } 500: { vkern } 1.21 ! quint 501: { font-face } ! 502: { font-face-src } ! 503: { font-face-uri } ! 504: { font-face-format } ! 505: { font-face-name } ! 506: { definition-src } ! 507: { cursor } ! 508: ! 509: { Metadata } ! 510: ! 511: metadata = TEXT; 1.1 vatton 512: 1.8 cvs 513: { Extensibility } 514: 515: foreignObject { not in SVG Tiny } 516: (ATTR requiredFeatures; requiredExtensions; systemLanguage; 517: externalResourcesRequired; 1.7 cvs 518: fill; stroke; stroke_width; 1.5 cvs 519: font_family; font_size; font_style; font_variant; font_weight; 1.16 quint 520: direction_; text_anchor; text_decoration; unicode_bidi; 1.1 vatton 521: transform; 522: x; 1.8 cvs 523: y; 1.1 vatton 524: width_; 525: height_) 1.8 cvs 526: = BEGIN CASE OF 527: HTML; MathML; 1.1 vatton 528: END; 1.8 cvs 529: END; 530: 531: { The following elements are not defined in the SVG DTD } 1.1 vatton 532: 533: GraphicsElement 534: = CASE OF 1.18 quint 535: desc; title; metadata; defs; 1.1 vatton 536: path; text_; rect; circle; ellipse; line_; polyline; polygon; 1.3 cvs 537: use_; image; SVG; g; switch; a; 1.18 quint 538: script_; style__; symbol_; clipPath; 1.21 ! quint 539: animate; set; animateMotion; animateColor; animateTransform; 1.3 cvs 540: XLink; 1.1 vatton 541: END; 542: 543: TextComponent 544: = CASE OF 545: tspan; { must be the first option, to allow the Return key 546: to create tspan elements } 547: TEXT; 1.21 ! quint 548: desc; title; metadata; ! 549: a; ! 550: animate; set; animateMotion; animateColor; animateTransform; 1.1 vatton 551: END; 552: 1.10 cvs 553: DOCTYPE = LIST OF (DOCTYPE_line = TEXT); 1.9 cvs 554: 1.1 vatton 555: XMLcomment = LIST OF (XMLcomment_line = TEXT); 556: 557: XMLPI = LIST OF (XMLPI_line = TEXT); 558: 1.13 cvs 559: CDATA = LIST OF (CDATA_line = TEXT); 560: 1.2 cvs 561: Unknown_namespace = TEXT; 1.6 cvs 562: 1.1 vatton 563: EXCEPT 564: 565: SVG: IsDraw, MoveResize, NoMove; 566: g: NoMove, NoResize, HighlightChildren, NoShowBox, 567: NoCreate; 568: defs: NoMove, NoResize, NoShowBox, NoCreate; 569: rect: MoveResize, HighlightChildren, NoShowBox, NoCreate; 570: circle: MoveResize, HighlightChildren, NoShowBox, NoCreate; 571: ellipse: MoveResize, HighlightChildren, NoShowBox, NoCreate; 572: line_: MoveResize, HighlightChildren, NoShowBox, NoCreate; 573: polyline: MoveResize, HighlightChildren, NoShowBox, NoCreate; 574: polygon: MoveResize, HighlightChildren, NoShowBox, NoCreate; 575: path: MoveResize, HighlightChildren, NoShowBox, NoCreate; 576: text_: MoveResize, NoResize, NoShowBox, ReturnCreateWithin, 577: NoCreate; 578: tspan: NoShowBox; 579: use_: NoMove, NoResize, HighlightChildren, NoShowBox, 580: NoCreate; 581: image: MoveResize, HighlightChildren, NoShowBox; 582: symbol_: NoMove, NoResize, HighlightChildren,NoShowBox, 583: NoCreate; 584: a: NoMove, NoResize, HighlightChildren, NoShowBox, 585: NoCreate; 1.12 vatton 586: script_: NoMove, NoResize, NoShowBox, NoCreate; 1.1 vatton 587: style__: NoMove, NoResize, NoShowBox, NoCreate; 1.17 vatton 588: switch: NoMove, NoResize, NoShowBox, NoCreate, HighlightChildren; 1.1 vatton 589: foreignObject: MoveResize, HighlightChildren, NoCreate; 1.4 cvs 590: SVG_Image: Hidden, SelectParent; 1.1 vatton 591: GRAPHICS: SelectParent; 592: PICTURE: NoMove, NoResize, SelectParent; 593: TEXT: NoMove, NoResize; 1.2 cvs 594: Unknown_namespace: NoCreate; 1.21 ! quint 595: DOCTYPE: NoCut; ! 596: DOCTYPE_line: Hidden, NoCut; 1.18 quint 597: XMLcomment_line: Hidden; 598: XMLPI_line: Hidden; 599: CDATA_line: Hidden; 1.1 vatton 600: 601: id: CssId; 602: class: CssClass; 603: PseudoClass: Invisible, CssPseudoClass; 1.2 cvs 604: Unknown_attribute: Invisible; 1.1 vatton 605: Highlight: Invisible; 606: Ghost_restruct: Invisible; 607: Namespace: Invisible; 608: IntEmptyShape: Invisible; 1.11 cvs 609: RealLang: Invisible; 610: Charset: Invisible; 1.1 vatton 611: 612: END