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