Annotation of Amaya/amaya/SVG.S, revision 1.38

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:    PseudoClass = Text;
                     13:    xml_space = xml_space_default, xml_space_preserve;
1.3       cvs        14:    { xml_base = Text; }
                     15:        
1.1       vatton     16:    { global attributes for internal processing }
1.2       cvs        17:    Unknown_attribute = text;
1.1       vatton     18:    Ghost_restruct = text;
                     19:    Highlight = Yes_;        { to show the SVG element corresponding to the
                     20:                              current selection in the source view }
                     21:    Namespace = text;        { for children of element foreignObject }
                     22: 
1.37      quint      23: CONST
                     24: 
                     25:    C_Empty = ' ';
                     26: 
1.1       vatton     27: STRUCT
                     28: 
1.21      quint      29: { Document Structure }
1.8       cvs        30: 
1.1       vatton     31:    SVG
1.7       cvs        32:        (ATTR requiredFeatures = text;
                     33:              requiredExtensions = text;
                     34:              systemLanguage = text;
1.31      vatton     35:              baseProfile = text;
1.7       cvs        36:              externalResourcesRequired = false, true;
1.37      quint      37:               class = text;
                     38:               style_ = text;
1.7       cvs        39:              fill = text;
1.37      quint      40:              fill_opacity =  text; 
1.7       cvs        41:              stroke = text;
                     42:              stroke_width = text;
1.37      quint      43:              stroke_opacity = text; 
                     44:              opacity_ = text; 
1.7       cvs        45:              font_family = text;
1.5       cvs        46:              font_size = text;
                     47:              font_style = normal_, italic, oblique_, inherit;
                     48:              font_variant = normal_, small_caps, inherit;
                     49:              font_weight = normal_, bold_, bolder, lighter, w100, w200, w300,
                     50:                            w400, w500, w600, w700, w800, w900, inherit;
1.16      quint      51:              direction_ = ltr_, rtl_, inherit;
1.21      quint      52:              text_anchor = start, middle, end__, inherit;
1.6       cvs        53:              text_decoration = text;
1.14      quint      54:              unicode_bidi = normal_, embed_, bidi_override, inherit;
1.5       cvs        55:              viewBox = text;
1.19      quint      56:              version = text;
1.1       vatton     57:              x = text;
1.27      cheyroul   58:               y = text; 
1.5       cvs        59:              width_ = text;
1.1       vatton     60:              height_ = text;
1.11      cvs        61:              RealLang = Yes_;
1.1       vatton     62:              Charset = text)
1.14      quint      63:         = LIST OF (GraphicsElement) + (XMLcomment, XMLPI, CDATA,
                     64:                                       Unknown_namespace);
1.1       vatton     65: 
                     66:    g
1.7       cvs        67:         (ATTR requiredFeatures; requiredExtensions; systemLanguage;
1.37      quint      68:              externalResourcesRequired;
                     69:              class; style_;
                     70:              fill; fill_opacity; stroke; stroke_width; stroke_opacity;
1.34      quint      71:              opacity_; 
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 = text)
                     75:         = LIST OF (GraphicsElement);
                     76: 
                     77:    defs
1.7       cvs        78:         (ATTR requiredFeatures; requiredExtensions; systemLanguage;
                     79:              externalResourcesRequired;
1.37      quint      80:              class; style_;
1.7       cvs        81:              fill; stroke; stroke_width;
1.5       cvs        82:              font_family; font_size; font_style; font_variant; font_weight;
1.16      quint      83:              direction_; text_anchor; text_decoration; unicode_bidi;
1.1       vatton     84:              transform;
                     85:              { graphicsElementEvents })
                     86:         = LIST OF (GraphicsElement);
                     87: 
1.37      quint      88:    desc
                     89:        (ATTR  class; style_)
                     90:        = TEXT;
1.21      quint      91:        
1.37      quint      92:    title
                     93:        (ATTR  class; style_)
                     94:        = TEXT;
1.21      quint      95:        
1.14      quint      96:    symbol_  { not in SVG Tiny }
                     97:        (ATTR externalResourcesRequired;
1.37      quint      98:              class; style_;
1.14      quint      99:              fill; stroke; stroke_width;
                    100:              font_family; font_size; font_style; font_variant; font_weight;
1.16      quint     101:              direction_; text_anchor; text_decoration; unicode_bidi;
1.14      quint     102:              viewBox;
                    103:              preserveAspectRatio = text; 
                    104:              { graphicsElementEvents })
                    105:         = LIST OF (GraphicsElement);
                    106: 
1.37      quint     107:    use_
1.8       cvs       108:         (ATTR xlink_href = text;
                    109:              requiredFeatures; requiredExtensions; systemLanguage;
                    110:              externalResourcesRequired;
1.37      quint     111:              class; style_;
                    112:              fill; fill_opacity; stroke; stroke_width; stroke_opacity;
                    113:              opacity_;
1.8       cvs       114:              font_family; font_size; font_style; font_variant; font_weight;
1.16      quint     115:              direction_; text_anchor; text_decoration; unicode_bidi;
1.8       cvs       116:              transform;
                    117:              { graphicsElementEvents }
                    118:              x; 
                    119:              y;
                    120:               width_;
                    121:               height_)
1.37      quint     122:         = LIST OF (CASE OF
1.8       cvs       123:               desc; title; metadata;
1.37      quint     124:              animate; set_; animateMotion; animateColor; animateTransform;
                    125:              END);
1.8       cvs       126:        
                    127: { Images }
                    128: 
                    129:    image
                    130:        (ATTR xlink_href;
                    131:              requiredFeatures; requiredExtensions; systemLanguage;
1.7       cvs       132:              externalResourcesRequired; 
1.37      quint     133:              class; style_;
                    134:              opacity_; 
1.8       cvs       135:              transform;
                    136:              x; 
                    137:              y;
                    138:               width_;
1.28      cheyroul  139:               height_)         
1.37      quint     140:         = LIST OF (CASE OF
                    141:               desc; title; metadata;
                    142:              animate; set_; animateMotion; animateColor; animateTransform;
1.8       cvs       143:               PICTURE;
                    144:               SVG_Image = SVG;
1.37      quint     145:              END);
1.1       vatton    146: 
1.8       cvs       147: { Conditional Processing }
                    148: 
                    149:    switch
                    150:        (ATTR requiredFeatures; requiredExtensions; systemLanguage;
                    151:              externalResourcesRequired;
1.37      quint     152:              class; style_;
1.8       cvs       153:              { PresentationAttributes-All }
                    154:              fill; stroke; stroke_width;
                    155:              font_family; font_size; font_style; font_variant; font_weight;
1.16      quint     156:              direction_; text_anchor; text_decoration; unicode_bidi;
1.8       cvs       157:              transform;
                    158:              { graphicsElementEvents })
                    159:        = LIST OF (CASE OF
1.37      quint     160:              desc; title; metadata;
                    161:              path; text_; rect; circle; ellipse; line_; polyline; polygon;
                    162:              use_; image; Timeline_cross; SVG; g; switch; a; foreignObject;
                    163:              script_; style__; symbol_; clipPath;
                    164:              animate; set_; animateMotion; animateColor; animateTransform;
                    165:              END);
1.8       cvs       166: 
                    167: { Styling }
                    168: 
                    169:    style__  { not in SVG Tiny }
                    170:        (ATTR type = text;
                    171:              media = text;
                    172:              title_ = text)
                    173:        = TEXT;
                    174: 
1.21      quint     175: { Paths }
                    176: 
                    177:    path
                    178:        (ATTR requiredFeatures; requiredExtensions; systemLanguage;
                    179:              externalResourcesRequired; 
1.37      quint     180:              class; style_;
                    181:              fill; fill_opacity; stroke; stroke_width; stroke_opacity;
                    182:              opacity_;
1.21      quint     183:               transform;
                    184:              d = text;
                    185:              pathLength = text)
1.37      quint     186:         = LIST OF (CASE OF
                    187:               desc; title; metadata;
                    188:              animate; set_; animateMotion; animateColor; animateTransform;
1.21      quint     189:              GRAPHICS;
1.37      quint     190:              END);
1.21      quint     191:        
                    192: { Basic Shapes }
1.8       cvs       193: 
1.1       vatton    194:    rect
1.7       cvs       195:         (ATTR requiredFeatures; requiredExtensions; systemLanguage;
                    196:              externalResourcesRequired; 
1.37      quint     197:              class; style_;
                    198:              fill; fill_opacity; stroke; stroke_width; stroke_opacity;
                    199:              opacity_;
1.7       cvs       200:              transform;
1.1       vatton    201:              x;
                    202:               y;
                    203:               width_;
                    204:               height_;
                    205:              rx = text;
1.7       cvs       206:              ry = text)
1.37      quint     207:         = LIST OF (CASE OF
                    208:               desc; title; metadata;
                    209:              animate; set_; animateMotion; animateColor; animateTransform;
1.1       vatton    210:              GRAPHICS;
1.37      quint     211:              END);
1.1       vatton    212:        
                    213:    circle
1.7       cvs       214:         (ATTR requiredFeatures; requiredExtensions; systemLanguage;
                    215:              externalResourcesRequired; 
1.37      quint     216:              class; style_;
                    217:              fill; fill_opacity; stroke; stroke_width; stroke_opacity;
                    218:              opacity_;
1.7       cvs       219:              transform;
1.1       vatton    220:              cx = text;
                    221:              cy = text;
1.37      quint     222:               r = text)
                    223:         = LIST OF (CASE OF
                    224:               desc; title; metadata;
                    225:              animate; set_; animateMotion; animateColor; animateTransform;
1.1       vatton    226:              GRAPHICS;
1.37      quint     227:              END);
1.1       vatton    228:        
1.21      quint     229:    ellipse
1.7       cvs       230:         (ATTR requiredFeatures; requiredExtensions; systemLanguage;
                    231:              externalResourcesRequired; 
1.37      quint     232:              class; style_;
                    233:              fill; fill_opacity; stroke; stroke_width; stroke_opacity;
                    234:              opacity_;
1.7       cvs       235:              transform;
1.21      quint     236:              cx;
                    237:              cy;
                    238:              rx;
1.37      quint     239:              ry)
                    240:         = LIST OF (CASE OF
                    241:               desc; title; metadata;
                    242:              animate; set_; animateMotion; animateColor; animateTransform;
1.1       vatton    243:              GRAPHICS;
1.37      quint     244:              END);
1.1       vatton    245:        
1.21      quint     246:    line_
1.7       cvs       247:         (ATTR requiredFeatures; requiredExtensions; systemLanguage;
                    248:              externalResourcesRequired; 
1.37      quint     249:              class; style_;
                    250:              fill; fill_opacity; stroke; stroke_width; stroke_opacity;
                    251:              opacity_;
1.7       cvs       252:              transform;
1.21      quint     253:              x1 = text;
                    254:              y1 = text;
                    255:               x2 = text;
1.37      quint     256:              y2 = text)
                    257:         = LIST OF (CASE OF
                    258:               desc; title; metadata;
                    259:              animate; set_; animateMotion; animateColor; animateTransform;
1.1       vatton    260:              GRAPHICS;
1.37      quint     261:              END);
1.1       vatton    262:        
                    263:    polyline
1.7       cvs       264:         (ATTR requiredFeatures; requiredExtensions; systemLanguage;
                    265:              externalResourcesRequired; 
1.37      quint     266:              class; style_;
                    267:              fill; fill_opacity; stroke; stroke_width; stroke_opacity;
                    268:              opacity_;
1.1       vatton    269:              transform;
1.37      quint     270:               points = text)
                    271:         = LIST OF (CASE OF
                    272:               desc; title; metadata;
                    273:              animate; set_; animateMotion; animateColor; animateTransform;
1.1       vatton    274:              GRAPHICS;
1.37      quint     275:              END);
                    276: 
1.1       vatton    277:    polygon
1.7       cvs       278:         (ATTR requiredFeatures; requiredExtensions; systemLanguage;
                    279:              externalResourcesRequired; 
1.37      quint     280:              class; style_;
                    281:              fill; fill_opacity; stroke; stroke_width; stroke_opacity;
                    282:              opacity_;
1.1       vatton    283:              transform;
1.37      quint     284:               points)
                    285:         = LIST OF (CASE OF
                    286:               desc; title; metadata;
                    287:              animate; set_; animateMotion; animateColor; animateTransform;
1.8       cvs       288:              GRAPHICS;
1.37      quint     289:              END);
1.8       cvs       290: 
                    291: { Text }
                    292:        
1.1       vatton    293:    text_
1.7       cvs       294:         (ATTR requiredFeatures; requiredExtensions; systemLanguage;
                    295:              externalResourcesRequired; 
1.37      quint     296:              class; style_;
                    297:              fill; fill_opacity; stroke; stroke_width; stroke_opacity;
1.7       cvs       298:              font_family; font_size; font_style; font_variant; font_weight;
1.16      quint     299:              direction_; text_anchor; text_decoration; unicode_bidi;
1.37      quint     300:              opacity_;
1.5       cvs       301:              transform;
1.20      vatton    302:              writing_mode = lr_tb, rl_tb, tb_rl, lr, rl, tb, inherit;
1.1       vatton    303:              x;
1.7       cvs       304:              y;
                    305:              dx = text;
1.27      cheyroul  306:              dy = text;
1.37      quint     307:              rotate = text)
1.23      quint     308:         = LIST OF (CASE OF
1.37      quint     309:                   tspan;       { must be the first option, to allow the Return
                    310:                                  key to create tspan elements }
1.23      quint     311:                   TEXT; desc; title; metadata;
1.37      quint     312:                   tref; textPath; altGlyph; a;
1.23      quint     313:                   animate; set_; animateMotion; animateColor; animateTransform;
                    314:                   END);
1.1       vatton    315: 
1.8       cvs       316:    tspan  { not in SVG Tiny }
1.7       cvs       317:        (ATTR requiredFeatures; requiredExtensions; systemLanguage;
                    318:              externalResourcesRequired; 
1.37      quint     319:              class; style_;
                    320:              fill; fill_opacity; stroke; stroke_width; stroke_opacity;
1.7       cvs       321:              font_family; font_size; font_style; font_variant; font_weight;
1.24      quint     322:              baseline_shift = text;
1.37      quint     323:              opacity_;
1.16      quint     324:              direction_; text_anchor; text_decoration; unicode_bidi;
1.20      vatton    325:              writing_mode;
1.5       cvs       326:              x;
1.1       vatton    327:               y;
1.7       cvs       328:              dx;
1.27      cheyroul  329:              dy;
1.37      quint     330:              rotate)
1.8       cvs       331:        = LIST OF (SpanElement = CASE OF
                    332:                      TEXT;
1.21      quint     333:                      desc; title; metadata;
1.37      quint     334:                      tspan; tref; altGlyph;
1.21      quint     335:                      a;
1.23      quint     336:                      animate; set_; animateColor;
1.8       cvs       337:                      END);
1.37      quint     338:        
                    339:    tref  { not in SVG Tiny }
1.23      quint     340:        (ATTR xlink_href;
                    341:              requiredFeatures; requiredExtensions; systemLanguage;
                    342:              externalResourcesRequired; 
1.37      quint     343:              class; style_;
                    344:              fill; fill_opacity; stroke; stroke_width; stroke_opacity;
1.23      quint     345:              font_family; font_size; font_style; font_variant; font_weight;
1.24      quint     346:              baseline_shift;
1.23      quint     347:              direction_; text_anchor; text_decoration; unicode_bidi;
                    348:              writing_mode;
1.37      quint     349:              opacity_;
1.23      quint     350:              x;
                    351:               y;
                    352:              dx;
1.27      cheyroul  353:              dy;
1.37      quint     354:              rotate)
                    355:        = LIST OF (CASE OF
                    356:                   desc; title; metadata;
                    357:                   animate; set_; animateColor;
                    358:                   END);
                    359: 
                    360:    textPath  { not in SVG Tiny } {@@@@@}
                    361:        (ATTR xlink_href;
                    362:              requiredFeatures; requiredExtensions; systemLanguage;
                    363:              externalResourcesRequired; 
                    364:              class; style_;
                    365:              fill; fill_opacity; stroke; stroke_width; stroke_opacity;
                    366:              font_family; font_size; font_style; font_variant; font_weight;
                    367:              baseline_shift;
                    368:              direction_; text_anchor; text_decoration; unicode_bidi;
                    369:              writing_mode;
                    370:              opacity_;
                    371:              startOffset = text; {@@@@@}
                    372:              textLength = text; {@@@@@}
                    373:              lengthAdjust = spacing_, spacingAndGlyphs;  {@@@@@}
                    374:              method = align, stretch;  {@@@@@}
                    375:              spacing = auto, exact) {@@@@@}
1.23      quint     376:        = LIST OF (CASE OF
1.37      quint     377:                   TEXT;
1.23      quint     378:                   desc; title; metadata;
1.37      quint     379:                   tspan; tref; altGlyph; a;
1.23      quint     380:                   animate; set_; animateColor;
                    381:                   END);
                    382: 
1.37      quint     383:    altGlyph  { not in SVG Tiny } {@@@@@}
                    384:        (ATTR xlink_href;
                    385:              glyphRef_ = text;  {@@@@@}
                    386:              format = text; {@@@@@}
                    387:              requiredFeatures; requiredExtensions; systemLanguage;
                    388:              externalResourcesRequired; 
                    389:              class; style_;
                    390:              fill; fill_opacity; stroke; stroke_width; stroke_opacity;
                    391:              font_family; font_size; font_style; font_variant; font_weight;
                    392:              baseline_shift;
                    393:              opacity_;
                    394:              direction_; text_anchor; text_decoration; unicode_bidi;
                    395:              writing_mode;
                    396:              x;
                    397:               y;
                    398:              dx;
                    399:              dy;
                    400:              rotate)
                    401:        = TEXT;
                    402: 
                    403:    altGlyphDef  { not in SVG Tiny } {@@@@@}
                    404:        = BEGIN
                    405:          CASE OF
                    406:              LIST OF (glyphRef);
                    407:              LIST OF (altGlyphItem);
                    408:              END;
                    409:          END;
                    410: 
                    411:    altGlyphItem  { not in SVG Tiny } {@@@@@}
                    412:        = LIST OF (glyphRef);
                    413:        
                    414:    glyphRef { not in SVG Tiny } {@@@@@}
                    415:        (ATTR xlink_href;
                    416:              class; style_;
                    417:              font_family; font_size; font_style; font_variant; font_weight;
                    418:              glyphRef_;
                    419:              format;
                    420:              x;
                    421:               y;
                    422:              dx;
                    423:              dy)
                    424:        = CONSTANT C_Empty;
1.21      quint     425: 
                    426: { Marker Symbols }
                    427: 
1.37      quint     428:    marker  { not in SVG Tiny, not in SVG Basic } {@@@@@}
                    429:        (ATTR externalResourcesRequired; 
                    430:              class; style_;
                    431:              fill; fill_opacity; stroke; stroke_width; stroke_opacity;
                    432:              opacity_; 
                    433:              font_family; font_size; font_style; font_variant; font_weight;
                    434:              direction_; text_anchor; text_decoration; unicode_bidi;
                    435:              viewBox;
                    436:              preserveAspectRatio;
                    437:              refX = text;  {@@@@@}
                    438:              refY = text;  {@@@@@}
                    439:              markerUnits = strokeWidth, userSpaceOnUse; {@@@@@}
                    440:              markerWidth = text;  {@@@@@}
                    441:              markerHeight = text;  {@@@@@}
                    442:              orient = text) {@@@@@}
                    443:         = LIST OF (GraphicsElement);
                    444:        
1.21      quint     445: { Color }
                    446: 
1.37      quint     447:    color_profile  { not in SVG Tiny }  {@@@@@}
                    448:        (ATTR xlink_href;
                    449:              local = text; {@@@@@}
                    450:              name = text; {@@@@@}
                    451:              rendering_intent = auto, perceptual, relative_colorimetric,
                    452:                                 saturation, absolute_colorimetric) {@@@@@}
                    453:        = LIST OF
                    454:            (CASE OF
                    455:              desc; title; metadata;
                    456:             END);
1.21      quint     457: 
                    458: { Gradients and Patterns }
                    459: 
1.37      quint     460:    linearGradient  { not in SVG Tiny }  {@@@@@}
                    461:        (ATTR xlink_href;
1.33      cheyroul  462:              externalResourcesRequired;
1.37      quint     463:              class; style_;
                    464:              stop_color = text;  {@@@@@}
                    465:              stop_opacity = text; {@@@@@}
                    466:              gradientUnits = userSpaceOnUse, objectBoundingBox; {@@@@@}
                    467:              gradientTransform = text; {@@@@@}
                    468:              x1; y1; x2; y2;      
                    469:               spreadMethod = pad, reflect, repeat) {@@@@@}
                    470:        = LIST OF
                    471:            (CASE OF
1.33      cheyroul  472:              desc; title; metadata;
1.37      quint     473:              stop; animate; set_; animateTransform;
                    474:             END);
1.33      cheyroul  475: 
1.37      quint     476:    radialGradient  { not in SVG Tiny }  {@@@@@}
                    477:        (ATTR xlink_href;
1.33      cheyroul  478:              externalResourcesRequired;
1.37      quint     479:              class; style_;
                    480:              stop_color; stop_opacity;
                    481:              gradientUnits;
                    482:              gradientTransform;
                    483:              cx; cy; r;
                    484:              fx = text;  {@@@@@}
                    485:              fy = text;  {@@@@@}
                    486:              spreadMethod)
                    487:        = LIST OF
                    488:            (CASE OF
                    489:              desc; title; metadata;
                    490:              stop; animate; set_; animateTransform;
                    491:             END);      
                    492: 
                    493:    stop  { not in SVG Tiny }  {@@@@@}
                    494:        (ATTR 
                    495:              class; style_;          
                    496:              stop_color; stop_opacity;
                    497:              offset = text)  {@@@@@}
                    498:        = LIST OF
                    499:             (CASE OF
                    500:                animate; set_; animateColor;
                    501:              END);
1.33      cheyroul  502:        
1.37      quint     503:    pattern  { not in SVG Tiny }  {@@@@@}
                    504:        (ATTR xlink_href;
                    505:              requiredFeatures; requiredExtensions; systemLanguage;
                    506:              externalResourcesRequired;
                    507:              class; style_;
                    508:              fill; fill_opacity; stroke; stroke_width; stroke_opacity;
                    509:              opacity_; 
                    510:              font_family; font_size; font_style; font_variant; font_weight;
                    511:              direction_; text_anchor; text_decoration; unicode_bidi;
                    512:              viewBox;
                    513:              preserveAspectRatio;
                    514:              patternUnits = userSpaceOnUse, objectBoundingBox; {@@@@@}
                    515:              patternContentUnits = userSpaceOnUse, objectBoundingBox; {@@@@@}
                    516:              patternTransform = text; {@@@@@}
                    517:              x;
                    518:               y;
                    519:               width_;
                    520:               height_)
                    521:         = LIST OF (GraphicsElement);
1.21      quint     522: 
                    523: { Clipping, Masking and Compositing }
                    524: 
1.37      quint     525:    clipPath  { not in SVG Tiny }
1.21      quint     526:         (ATTR requiredFeatures; requiredExtensions; systemLanguage;
                    527:              externalResourcesRequired;
1.37      quint     528:              class; style_;
1.21      quint     529:              fill; stroke; stroke_width;
                    530:              font_family; font_size; font_style; font_variant; font_weight;
                    531:              direction_; text_anchor; text_decoration; unicode_bidi;
                    532:              transform;
                    533:              clipPathUnits = userSpaceOnUse, objectBoundingBox;)
                    534:        = AGGREGATE
                    535:            desc; title; metadata;
                    536:            LIST OF
                    537:              (CASE OF
                    538:                 path; text_; rect; circle; ellipse; line_; polyline; polygon;
1.23      quint     539:                 use_; animate; set_; animateMotion; animateColor;
1.21      quint     540:                 animateTransform;
                    541:               END);
                    542:          END;
                    543: 
1.37      quint     544:    mask  { not in SVG Tiny }  {@@@@@}
                    545:         (ATTR requiredFeatures; requiredExtensions; systemLanguage;
                    546:              externalResourcesRequired;
                    547:              class; style_;
                    548:              fill; stroke; stroke_width;
                    549:              font_family; font_size; font_style; font_variant; font_weight;
                    550:              direction_; text_anchor; text_decoration; unicode_bidi;
                    551:              maskUnits = userSpaceOnUse, objectBoundingBox; {@@@@@}
                    552:              maskContentUnits = userSpaceOnUse, objectBoundingBox; {@@@@@}
                    553:              x;
                    554:               y;
                    555:               width_;
                    556:               height_)       
                    557:         = LIST OF (GraphicsElement);
1.8       cvs       558: 
1.21      quint     559: { Filter Effects }
1.8       cvs       560: 
                    561:    { filter }
1.21      quint     562:    { feDistantLight }
                    563:    { fePointLight }
                    564:    { feSpotLight }
1.8       cvs       565:    { feBlend }
                    566:    { feColorMatrix }
                    567:    { feComponentTransfer }
1.21      quint     568:    { feFuncR }
                    569:    { feFuncG }
                    570:    { feFuncB }
                    571:    { feFuncA }
1.8       cvs       572:    { feComposite }
                    573:    { feConvolveMatrix }
                    574:    { feDiffuseLighting }
                    575:    { feDisplacementMap }
1.21      quint     576:    { feFlood }
1.8       cvs       577:    { feGaussianBlur }
                    578:    { feImage }
                    579:    { feMerge }
1.21      quint     580:    { feMergeNode }
1.8       cvs       581:    { feMorphology }
                    582:    { feOffset }
                    583:    { feSpecularLighting }
                    584:    { feTile }
                    585:    { feTurbulence }
                    586: 
1.14      quint     587: { Interactivity }
                    588: 
                    589:    { cursor }
                    590: 
                    591: { Linking }
                    592: 
                    593:    a
                    594:         (ATTR xlink_href;
                    595:              requiredFeatures; requiredExtensions; systemLanguage;
                    596:              externalResourcesRequired;
1.37      quint     597:              class; style_;
1.14      quint     598:              fill; stroke; stroke_width;
                    599:              font_family; font_size; font_style; font_variant; font_weight;
1.16      quint     600:              direction_; text_anchor; text_decoration; unicode_bidi;
1.14      quint     601:              transform;
                    602:              { graphicsElementEvents }
                    603:              target_ = text)
                    604:        = LIST OF (CASE OF
1.23      quint     605:                   TEXT; 
                    606:                   GraphicsElement;
                    607:                   END);
1.21      quint     608:    { view }
1.14      quint     609: 
1.8       cvs       610: { Scripting }
                    611: 
1.12      vatton    612:    script_  { not in SVG Tiny }
1.8       cvs       613:        (ATTR externalResourcesRequired;
                    614:              type)
                    615:        = TEXT;
                    616: 
                    617: { Animation }
                    618: 
1.21      quint     619:    animate
                    620:        (ATTR requiredFeatures; requiredExtensions; systemLanguage; {testAttrs}
                    621:              externalResourcesRequired;
                    622:              onbegin = text;  {animationEvents}
                    623:              onend = text;
                    624:              onrepeat = text;
                    625:              {animElementAttrs - see XLink.S}
                    626:               xlink_href;
1.22      quint     627:               attributeName_ = text;  {animAttributeAttrs}
1.21      quint     628:              attributeType = text;
                    629:              begin_ = text;  {animTimingAttrs}
                    630:              dur = text;
                    631:              end_ = text;
1.22      quint     632:              min_ = text;
                    633:              max_ = text;
1.21      quint     634:              restart = always, never, whenNotActive;
                    635:              repeatCount = text;
                    636:              repeatDur = text;
1.22      quint     637:              fill_ = remove_, freeze;
1.21      quint     638:               calcMode = discrete, linear, paced, spline;  {animValueAttrs}
                    639:              values = text;
                    640:              keyTimes = text;
                    641:              keySplines = text;
                    642:              from = text;
1.22      quint     643:              to_ = text;
1.21      quint     644:              by = text;
                    645:               additive = replace, sum;  {animAdditionAttrs}
                    646:              accumulate = none_, sum;)
                    647:        = AGGREGATE
                    648:              desc; title; metadata;
                    649:          END;
                    650: 
1.22      quint     651:    set_
1.21      quint     652:        (ATTR requiredFeatures; requiredExtensions; systemLanguage; {testAttrs}
                    653:              externalResourcesRequired;
                    654:              onbegin; onend; onrepeat; {animationEvents}
                    655:              xlink_href; {animElementAttrs - see XLink.S}
1.22      quint     656:               attributeName_; attributeType; {animAttributeAttrs}
                    657:              begin_; dur; end_; min_; max_; restart; repeatCount; repeatDur; fill_;
1.21      quint     658:                                                              {animTimingAttrs}
1.22      quint     659:              to_;)
1.21      quint     660:        = AGGREGATE
                    661:              desc; title; metadata;
                    662:          END;
1.8       cvs       663: 
1.21      quint     664:    animateMotion
                    665:        (ATTR requiredFeatures; requiredExtensions; systemLanguage; {testAttrs}
                    666:              externalResourcesRequired;
                    667:              onbegin; onend; onrepeat; {animationEvents}
                    668:              xlink_href; {animElementAttrs - see XLink.S}
1.22      quint     669:               attributeName_; attributeType; {animAttributeAttrs}
                    670:              begin_; dur; end_; min_; max_; restart; repeatCount; repeatDur; fill_;
1.21      quint     671:                                                              {animTimingAttrs}
1.22      quint     672:              calcMode; values; keyTimes; keySplines; from; to_; by;
1.21      quint     673:               additive; accumulate; {animAdditionAttrs}
                    674:              path_ = text;
                    675:               keyPoints = text;
1.37      quint     676:               rotate;
1.21      quint     677:               origin = text;)
                    678:        = AGGREGATE
                    679:              desc; title; metadata; ? mpath;
                    680:          END;
                    681: 
                    682:    mpath
                    683:        (ATTR
                    684:           xlink_href;  {xlinkRefAttrs - see XLink.S}
                    685:           externalResourcesRequired;)
                    686:        = AGGREGATE
                    687:              desc; title; metadata;
                    688:          END;
                    689: 
                    690:    animateColor
                    691:        (ATTR requiredFeatures; requiredExtensions; systemLanguage; {testAttrs}
                    692:              externalResourcesRequired;
                    693:              onbegin; onend; onrepeat; {animationEvents}
                    694:              xlink_href; {animElementAttrs - see XLink.S}
1.22      quint     695:               attributeName_; attributeType; {animAttributeAttrs}
                    696:              begin_; dur; end_; min_; max_; restart; repeatCount; repeatDur; fill_;
1.21      quint     697:                                                              {animTimingAttrs}
1.22      quint     698:               calcMode; values; keyTimes; keySplines; from; to_; by;
1.21      quint     699:                                                               {animValueAttrs}
                    700:               additive; accumulate;) {animAdditionAttrs}
                    701:        = AGGREGATE
                    702:              desc; title; metadata;
                    703:          END;
                    704:        
                    705:    animateTransform
                    706:        (ATTR requiredFeatures; requiredExtensions; systemLanguage; {testAttrs}
                    707:              externalResourcesRequired;
                    708:              onbegin; onend; onrepeat; {animationEvents}
                    709:              xlink_href; {animElementAttrs - see XLink.S}
1.22      quint     710:               attributeName_; attributeType; {animAttributeAttrs}
                    711:              begin_; dur; end_; min_; max_; restart; repeatCount; repeatDur; fill_;
1.21      quint     712:                                                              {animTimingAttrs}
1.22      quint     713:               calcMode; values; keyTimes; keySplines; from; to_; by;
1.21      quint     714:                                                               {animValueAttrs}
                    715:               additive; accumulate;  {animAdditionAttrs}
                    716:              type_ = translate, scale, rotate_, skewX, skewY;)
                    717:        = AGGREGATE
                    718:              desc; title; metadata;
                    719:          END;
                    720: 
1.8       cvs       721: { Fonts }
                    722: 
1.1       vatton    723:    { font }
                    724:    { glyph }
                    725:    { missing-glyph }
                    726:    { hkern }
                    727:    { vkern }
1.21      quint     728:    { font-face }
                    729:    { font-face-src }
                    730:    { font-face-uri }
                    731:    { font-face-format }
                    732:    { font-face-name }
                    733:    { definition-src }
                    734:    { cursor }
                    735: 
                    736: { Metadata }
                    737:        
                    738:    metadata = TEXT;
1.1       vatton    739: 
1.8       cvs       740: { Extensibility }
                    741: 
                    742:    foreignObject  { not in SVG Tiny }
                    743:         (ATTR requiredFeatures; requiredExtensions; systemLanguage;
                    744:              externalResourcesRequired; 
1.37      quint     745:              class; style_;
1.34      quint     746:              opacity_; fill_opacity; stroke_opacity; fill; stroke; stroke_width;
1.5       cvs       747:              font_family; font_size; font_style; font_variant; font_weight;
1.16      quint     748:              direction_; text_anchor; text_decoration; unicode_bidi;
1.1       vatton    749:              transform;
                    750:              x; 
1.8       cvs       751:               y;
1.1       vatton    752:               width_;
                    753:               height_)
1.8       cvs       754:        = BEGIN CASE OF
                    755:              HTML; MathML;
1.1       vatton    756:              END;
1.8       cvs       757:           END;
                    758: 
                    759: { The following elements are not defined in the SVG DTD }
1.1       vatton    760: 
1.25      pierre    761: 
                    762:   Timeline_cross
                    763:        (ATTR x; 
                    764:              y;
1.34      quint     765:        opacity_; 
1.25      pierre    766:           width_;
                    767:           height_)
1.26      pierre    768:         = PICTURE;
1.25      pierre    769: 
1.1       vatton    770:    GraphicsElement
                    771:        = CASE OF
1.18      quint     772:              desc; title; metadata; defs;
1.1       vatton    773:              path; text_; rect; circle; ellipse; line_; polyline; polygon;
1.37      quint     774:              use_; image; SVG; g; switch; a; altGlyphDef;
                    775:              script_; style__; symbol_; marker; clipPath; mask;
                    776:              linearGradient; radialGradient; pattern;
1.33      cheyroul  777:              animate; set_; animateMotion; animateColor; animateTransform;
1.37      quint     778:              color_profile;
                    779:              Timeline_cross; 
1.1       vatton    780:              END;
                    781: 
1.10      cvs       782:    DOCTYPE = LIST OF (DOCTYPE_line = TEXT);    
1.9       cvs       783:        
1.1       vatton    784:    XMLcomment = LIST OF (XMLcomment_line = TEXT);
                    785: 
                    786:    XMLPI = LIST OF (XMLPI_line = TEXT);
                    787: 
1.13      cvs       788:    CDATA = LIST OF (CDATA_line = TEXT);
                    789: 
1.2       cvs       790:    Unknown_namespace = TEXT;
1.6       cvs       791: 
1.1       vatton    792: EXCEPT
                    793: 
                    794:    SVG:                 IsDraw, MoveResize, NoMove;
                    795:    g:                   NoMove, NoResize, HighlightChildren, NoShowBox,
1.33      cheyroul  796:                         NoCreate, IsGroup;
1.1       vatton    797:    defs:                NoMove, NoResize, NoShowBox, NoCreate;
1.33      cheyroul  798:    linearGradient:      NoMove, NoResize, NoShowBox, NoCreate;
                    799:    stop:               NoMove, NoResize, NoShowBox, NoCreate;
1.38    ! quint     800:    rect:                MoveResize, HighlightChildren, NoShowBox, NoCreate, EmptyGraphic;
        !           801:    circle:              MoveResize, HighlightChildren, NoShowBox, NoCreate, EmptyGraphic;
        !           802:    ellipse:             MoveResize, HighlightChildren, NoShowBox, NoCreate, EmptyGraphic;
        !           803:    line_:               MoveResize, HighlightChildren, NoShowBox, NoCreate, EmptyGraphic;
        !           804:    polyline:            MoveResize, HighlightChildren, NoShowBox, NoCreate, EmptyGraphic;
        !           805:    polygon:             MoveResize, HighlightChildren, NoShowBox, NoCreate, EmptyGraphic;
        !           806:    path:               MoveResize, HighlightChildren, NoShowBox, NoCreate, EmptyGraphic;
1.1       vatton    807:    text_:               MoveResize, NoResize, NoShowBox, ReturnCreateWithin,
                    808:                        NoCreate;
                    809:    tspan:              NoShowBox; 
                    810:    use_:               NoMove, NoResize, HighlightChildren, NoShowBox,
1.38    ! quint     811:                        NoCreate, IsGroup, EmptyGraphic;
        !           812:    tref:               EmptyGraphic;
        !           813:    image:              MoveResize, HighlightChildren, NoShowBox, EmptyGraphic;
1.1       vatton    814:    symbol_:            NoMove, NoResize,  HighlightChildren,NoShowBox,
                    815:                         NoCreate;
                    816:    a:                  NoMove, NoResize, HighlightChildren, NoShowBox,
                    817:                         NoCreate;
1.12      vatton    818:    script_:            NoMove, NoResize, NoShowBox, NoCreate;
1.1       vatton    819:    style__:             NoMove, NoResize, NoShowBox, NoCreate;
1.17      vatton    820:    switch:              NoMove, NoResize, NoShowBox, NoCreate, HighlightChildren;
1.1       vatton    821:    foreignObject:       MoveResize, HighlightChildren, NoCreate;
1.4       cvs       822:    SVG_Image:           Hidden, SelectParent;
1.1       vatton    823:    GRAPHICS:           SelectParent;
                    824:    PICTURE:             NoMove, NoResize, SelectParent;
                    825:    TEXT:                NoMove, NoResize;
1.2       cvs       826:    Unknown_namespace:   NoCreate;
1.21      quint     827:    DOCTYPE:             NoCut;
1.29      quint     828:    DOCTYPE_line:        Hidden, NoSpellCheck, NoCut;
                    829:    XMLcomment_line:     Hidden, NoSpellCheck;
                    830:    XMLPI_line:          Hidden, NoSpellCheck;
1.18      quint     831:    CDATA_line:          Hidden;
1.32      cvs       832:    XMLPI:              ReturnCreateNL, NoReplicate;
                    833:    XMLcomment:         ReturnCreateNL, NoReplicate;
1.1       vatton    834:    id:                  CssId;
                    835:    class:               CssClass;
                    836:    PseudoClass:                Invisible, CssPseudoClass;
1.2       cvs       837:    Unknown_attribute:   Invisible;
1.1       vatton    838:    Highlight:          Invisible; 
                    839:    Ghost_restruct:      Invisible;
                    840:    Namespace:          Invisible;
1.11      cvs       841:    RealLang:           Invisible;
                    842:    Charset:            Invisible;
1.25      pierre    843:    Timeline_cross:      MoveResize, NoResize, HighlightChildren, NoShowBox, NoCut;
1.1       vatton    844: 
                    845: END

Webmaster