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; 1.22 ! quint 398: attributeName_ = text; {animAttributeAttrs} 1.21 quint 399: attributeType = text; 400: begin_ = text; {animTimingAttrs} 401: dur = text; 402: end_ = text; 1.22 ! quint 403: min_ = text; ! 404: max_ = text; 1.21 quint 405: restart = always, never, whenNotActive; 406: repeatCount = text; 407: repeatDur = text; 1.22 ! quint 408: fill_ = remove_, freeze; 1.21 quint 409: calcMode = discrete, linear, paced, spline; {animValueAttrs} 410: values = text; 411: keyTimes = text; 412: keySplines = text; 413: from = text; 1.22 ! quint 414: to_ = text; 1.21 quint 415: by = text; 416: additive = replace, sum; {animAdditionAttrs} 417: accumulate = none_, sum;) 418: = AGGREGATE 419: desc; title; metadata; 420: END; 421: 1.22 ! quint 422: set_ 1.21 quint 423: (ATTR requiredFeatures; requiredExtensions; systemLanguage; {testAttrs} 424: externalResourcesRequired; 425: onbegin; onend; onrepeat; {animationEvents} 426: xlink_href; {animElementAttrs - see XLink.S} 1.22 ! quint 427: attributeName_; attributeType; {animAttributeAttrs} ! 428: begin_; dur; end_; min_; max_; restart; repeatCount; repeatDur; fill_; 1.21 quint 429: {animTimingAttrs} 1.22 ! quint 430: to_;) 1.21 quint 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} 1.22 ! quint 440: attributeName_; attributeType; {animAttributeAttrs} ! 441: begin_; dur; end_; min_; max_; restart; repeatCount; repeatDur; fill_; 1.21 quint 442: {animTimingAttrs} 1.22 ! quint 443: calcMode; values; keyTimes; keySplines; from; to_; by; 1.21 quint 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} 1.22 ! quint 466: attributeName_; attributeType; {animAttributeAttrs} ! 467: begin_; dur; end_; min_; max_; restart; repeatCount; repeatDur; fill_; 1.21 quint 468: {animTimingAttrs} 1.22 ! quint 469: calcMode; values; keyTimes; keySplines; from; to_; by; 1.21 quint 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} 1.22 ! quint 481: attributeName_; attributeType; {animAttributeAttrs} ! 482: begin_; dur; end_; min_; max_; restart; repeatCount; repeatDur; fill_; 1.21 quint 483: {animTimingAttrs} 1.22 ! quint 484: calcMode; values; keyTimes; keySplines; from; to_; by; 1.21 quint 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