Annotation of Amaya/amaya/SVG.S, revision 1.11
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.8 cvs 28: { Structure Module }
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.6 cvs 44: text_decoration = text;
1.5 cvs 45: viewBox = text;
1.1 vatton 46: x = text;
47: y = text;
1.5 cvs 48: width_ = text;
1.1 vatton 49: height_ = text;
1.11 ! cvs 50: RealLang = Yes_;
1.1 vatton 51: Charset = text)
1.2 cvs 52: = LIST OF (GraphicsElement) + (XMLcomment, XMLPI, Unknown_namespace);
1.1 vatton 53:
1.8 cvs 54: desc = TEXT;
55:
56: title = TEXT;
57:
58: metadata = TEXT;
59:
1.1 vatton 60: g
1.7 cvs 61: (ATTR requiredFeatures; requiredExtensions; systemLanguage;
62: externalResourcesRequired;
63: fill; stroke; stroke_width;
1.5 cvs 64: font_family; font_size; font_style; font_variant; font_weight;
1.6 cvs 65: text_decoration;
1.1 vatton 66: transform = text)
67: = LIST OF (GraphicsElement);
68:
69: defs
1.7 cvs 70: (ATTR requiredFeatures; requiredExtensions; systemLanguage;
71: externalResourcesRequired;
72: fill; stroke; stroke_width;
1.5 cvs 73: font_family; font_size; font_style; font_variant; font_weight;
1.6 cvs 74: text_decoration;
1.1 vatton 75: transform;
76: { graphicsElementEvents })
77: = LIST OF (GraphicsElement);
78:
1.8 cvs 79: use_ { not in SVG Tiny }
80: (ATTR xlink_href = text;
81: requiredFeatures; requiredExtensions; systemLanguage;
82: externalResourcesRequired;
83: fill; stroke; stroke_width;
84: font_family; font_size; font_style; font_variant; font_weight;
85: text_decoration;
86: transform;
87: { graphicsElementEvents }
88: x;
89: y;
90: width_;
91: height_)
92: = AGGREGATE
93: desc; title; metadata;
94: END;
95:
96: symbol_ { not in SVG Tiny }
97: (ATTR externalResourcesRequired;
98: fill; stroke; stroke_width;
99: font_family; font_size; font_style; font_variant; font_weight;
100: text_decoration;
101: viewBox;
102: preserveAspectRatio = text;
103: { graphicsElementEvents })
104: = LIST OF (GraphicsElement);
105:
106: { Images }
107:
108: image
109: (ATTR xlink_href;
110: requiredFeatures; requiredExtensions; systemLanguage;
1.7 cvs 111: externalResourcesRequired;
1.8 cvs 112: transform;
113: x;
114: y;
115: width_;
116: height_)
1.1 vatton 117: = AGGREGATE
1.8 cvs 118: desc; ? title; ? metadata;
119: PICTURE;
120: SVG_Image = SVG;
1.1 vatton 121: END;
122:
1.8 cvs 123: { Conditional Processing }
124:
125: switch
126: (ATTR requiredFeatures; requiredExtensions; systemLanguage;
127: externalResourcesRequired;
128: { PresentationAttributes-All }
129: fill; stroke; stroke_width;
130: font_family; font_size; font_style; font_variant; font_weight;
131: text_decoration;
132: transform;
133: { graphicsElementEvents })
134: = LIST OF (CASE OF
135: GraphicsElement; foreignObject;
136: END);
137:
138: { Hyperlinking }
139:
140: a
141: (ATTR xlink_href;
142: requiredFeatures; requiredExtensions; systemLanguage;
143: externalResourcesRequired;
144: fill; stroke; stroke_width;
145: font_family; font_size; font_style; font_variant; font_weight;
146: text_decoration;
147: transform;
148: { graphicsElementEvents }
149: target_ = text)
150: = LIST OF (CASE OF
151: GraphicsElement; TextComponent;
152: END);
153:
154: { Styling }
155:
156: style__ { not in SVG Tiny }
157: (ATTR type = text;
158: media = text;
159: title_ = text)
160: = TEXT;
161:
162: { Shapes }
163:
1.1 vatton 164: rect
1.7 cvs 165: (ATTR requiredFeatures; requiredExtensions; systemLanguage;
166: externalResourcesRequired;
167: fill; stroke; stroke_width;
168: transform;
1.1 vatton 169: x;
170: y;
171: width_;
172: height_;
173: rx = text;
1.7 cvs 174: ry = text)
1.1 vatton 175: = AGGREGATE
176: desc; title; metadata;
177: GRAPHICS;
178: END;
179:
180: circle
1.7 cvs 181: (ATTR requiredFeatures; requiredExtensions; systemLanguage;
182: externalResourcesRequired;
183: fill; stroke; stroke_width;
184: transform;
1.1 vatton 185: cx = text;
186: cy = text;
1.7 cvs 187: r = text)
1.1 vatton 188: = AGGREGATE
189: desc; title; metadata;
190: GRAPHICS;
191: END;
192:
1.8 cvs 193: line_
1.7 cvs 194: (ATTR requiredFeatures; requiredExtensions; systemLanguage;
195: externalResourcesRequired;
196: fill; stroke; stroke_width;
197: transform;
1.8 cvs 198: x1 = text;
199: y1 = text;
200: x2 = text;
201: y2 = text)
1.1 vatton 202: = AGGREGATE
203: desc; title; metadata;
204: GRAPHICS;
205: END;
206:
1.8 cvs 207: ellipse
1.7 cvs 208: (ATTR requiredFeatures; requiredExtensions; systemLanguage;
209: externalResourcesRequired;
210: fill; stroke; stroke_width;
211: transform;
1.8 cvs 212: cx;
213: cy;
214: rx;
215: ry)
1.1 vatton 216: = AGGREGATE
217: desc; title; metadata;
218: GRAPHICS;
219: END;
220:
221: polyline
1.7 cvs 222: (ATTR requiredFeatures; requiredExtensions; systemLanguage;
223: externalResourcesRequired;
224: fill; stroke; stroke_width;
1.1 vatton 225: transform;
1.7 cvs 226: points = text)
1.1 vatton 227: = AGGREGATE
228: desc; title; metadata;
229: GRAPHICS;
230: END;
231:
232: polygon
1.7 cvs 233: (ATTR requiredFeatures; requiredExtensions; systemLanguage;
234: externalResourcesRequired;
235: fill; stroke; stroke_width;
1.1 vatton 236: transform;
1.7 cvs 237: points)
1.1 vatton 238: = AGGREGATE
239: desc; title; metadata;
240: GRAPHICS;
241: END;
242:
1.8 cvs 243: path
244: (ATTR requiredFeatures; requiredExtensions; systemLanguage;
245: externalResourcesRequired;
246: fill; stroke; stroke_width;
247: transform;
248: d = text;
249: pathLength = text)
250: = AGGREGATE
251: desc; title; metadata;
252: GRAPHICS;
253: END;
254:
255: { Text }
256:
1.1 vatton 257: text_
1.7 cvs 258: (ATTR requiredFeatures; requiredExtensions; systemLanguage;
259: externalResourcesRequired;
260: fill; stroke; stroke_width;
261: font_family; font_size; font_style; font_variant; font_weight;
1.6 cvs 262: text_decoration;
1.5 cvs 263: transform;
1.1 vatton 264: x;
1.7 cvs 265: y;
266: dx = text;
267: dy = text)
1.1 vatton 268: = LIST OF (TextComponent);
269:
1.8 cvs 270: tspan { not in SVG Tiny }
1.7 cvs 271: (ATTR requiredFeatures; requiredExtensions; systemLanguage;
272: externalResourcesRequired;
273: fill; stroke; stroke_width;
274: font_family; font_size; font_style; font_variant; font_weight;
1.6 cvs 275: text_decoration;
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;
282: tspan;
283: desc;
284: title;
285: metadata;
286: END);
287:
1.1 vatton 288: { tref }
289: { textPath }
290: { altGlyph }
1.8 cvs 291:
292: { Filters }
293:
294: { filter }
295: { feBlend }
296: { feFlood }
297: { feColorMatrix }
298: { feComponentTransfer }
299: { feComposite }
300: { feConvolveMatrix }
301: { feDiffuseLighting }
302: { feDisplacementMap }
303: { feGaussianBlur }
304: { feImage }
305: { feMerge }
306: { feMorphology }
307: { feOffset }
308: { feSpecularLighting }
309: { feTile }
310: { feTurbulence }
311:
312: { Scripting }
313:
314: script { not in SVG Tiny }
315: (ATTR externalResourcesRequired;
316: type)
317: = TEXT;
318:
319: { Animation }
320:
321: { animate }
322: { set }
323: { animateMotion }
324: { animateTransform }
325: { animateColor }
326: { mpath }
327:
328: { Fonts }
329:
1.1 vatton 330: { font }
1.8 cvs 331: { font-face }
1.1 vatton 332: { glyph }
333: { missing-glyph }
334: { hkern }
335: { vkern }
336:
1.8 cvs 337: { Extensibility }
338:
339: foreignObject { not in SVG Tiny }
340: (ATTR requiredFeatures; requiredExtensions; systemLanguage;
341: externalResourcesRequired;
1.7 cvs 342: fill; stroke; stroke_width;
1.5 cvs 343: font_family; font_size; font_style; font_variant; font_weight;
1.6 cvs 344: text_decoration;
1.1 vatton 345: transform;
346: x;
1.8 cvs 347: y;
1.1 vatton 348: width_;
349: height_)
1.8 cvs 350: = BEGIN CASE OF
351: HTML; MathML;
1.1 vatton 352: END;
1.8 cvs 353: END;
354:
355: { Clipping }
1.1 vatton 356:
357: { clipPath }
1.8 cvs 358:
359: { Masking }
360:
1.1 vatton 361: { mask }
1.8 cvs 362:
363: { Markers }
364:
365: { marker }
366:
367: { Gradients }
368:
1.1 vatton 369: { linearGradient }
370: { radialGradient }
371: { stop }
1.8 cvs 372:
373: { Patterns }
374:
1.1 vatton 375: { pattern }
376:
1.8 cvs 377: { Cursors }
378:
379: { cursor }
380:
381: { Views }
1.1 vatton 382:
383: { view }
384:
1.8 cvs 385: { The following elements from SVG 1.0 does not appear in WD-SVG11-20011030 }
1.1 vatton 386:
1.8 cvs 387: { altGlyphDef }
388: { altGlyphItem }
389: { glyphRef }
1.1 vatton 390: { color-profile }
391: { font-face-src }
392: { font-face-uri }
393: { font-face-format }
394: { font-face-name }
395: { definition-src }
396: { cursor }
397:
1.8 cvs 398: { The following elements are not defined in the SVG DTD }
1.1 vatton 399:
400: GraphicsElement
401: = CASE OF
1.3 cvs 402: desc; title; metadata;
403: defs;
1.1 vatton 404: path; text_; rect; circle; ellipse; line_; polyline; polygon;
1.3 cvs 405: use_; image; SVG; g; switch; a;
1.1 vatton 406: script; style__; symbol_;
1.3 cvs 407: XLink;
1.1 vatton 408: END;
409:
410: TextComponent
411: = CASE OF
412: tspan; { must be the first option, to allow the Return key
413: to create tspan elements }
414: TEXT;
415: desc;
416: title;
417: metadata;
418: END;
419:
1.10 cvs 420: DOCTYPE = LIST OF (DOCTYPE_line = TEXT);
1.9 cvs 421:
1.1 vatton 422: XMLcomment = LIST OF (XMLcomment_line = TEXT);
423:
424: XMLPI = LIST OF (XMLPI_line = TEXT);
425:
1.2 cvs 426: Unknown_namespace = TEXT;
1.6 cvs 427:
1.1 vatton 428: EXCEPT
429:
430: SVG: IsDraw, MoveResize, NoMove;
431: g: NoMove, NoResize, HighlightChildren, NoShowBox,
432: NoCreate;
433: defs: NoMove, NoResize, NoShowBox, NoCreate;
434: rect: MoveResize, HighlightChildren, NoShowBox, NoCreate;
435: circle: MoveResize, HighlightChildren, NoShowBox, NoCreate;
436: ellipse: MoveResize, HighlightChildren, NoShowBox, NoCreate;
437: line_: MoveResize, HighlightChildren, NoShowBox, NoCreate;
438: polyline: MoveResize, HighlightChildren, NoShowBox, NoCreate;
439: polygon: MoveResize, HighlightChildren, NoShowBox, NoCreate;
440: path: MoveResize, HighlightChildren, NoShowBox, NoCreate;
441: text_: MoveResize, NoResize, NoShowBox, ReturnCreateWithin,
442: NoCreate;
443: tspan: NoShowBox;
444: use_: NoMove, NoResize, HighlightChildren, NoShowBox,
445: NoCreate;
446: image: MoveResize, HighlightChildren, NoShowBox;
447: symbol_: NoMove, NoResize, HighlightChildren,NoShowBox,
448: NoCreate;
449: a: NoMove, NoResize, HighlightChildren, NoShowBox,
450: NoCreate;
451: script: NoMove, NoResize, NoShowBox, NoCreate;
452: style__: NoMove, NoResize, NoShowBox, NoCreate;
1.4 cvs 453: switch: NoMove, NoResize, NoShowBox, NoCreate;
1.1 vatton 454: foreignObject: MoveResize, HighlightChildren, NoCreate;
1.4 cvs 455: SVG_Image: Hidden, SelectParent;
1.1 vatton 456: GRAPHICS: SelectParent;
457: PICTURE: NoMove, NoResize, SelectParent;
458: TEXT: NoMove, NoResize;
1.2 cvs 459: Unknown_namespace: NoCreate;
1.1 vatton 460:
461: id: CssId;
462: class: CssClass;
463: PseudoClass: Invisible, CssPseudoClass;
1.2 cvs 464: Unknown_attribute: Invisible;
1.1 vatton 465: Highlight: Invisible;
466: Ghost_restruct: Invisible;
467: Namespace: Invisible;
468: IntEmptyShape: Invisible;
1.11 ! cvs 469: RealLang: Invisible;
! 470: Charset: Invisible;
1.10 cvs 471: XMLcomment_line: Hidden;
472: XMLPI_line: Hidden;
473: DOCTYPE_line: Hidden;
1.1 vatton 474:
475: END
Webmaster