Annotation of Amaya/amaya/HTML.S, revision 1.70

1.1       cvs         1:                { I. Vatton      November 1994  }
1.68      cvs         2: 
1.1       cvs         3: STRUCTURE HTML;
                      4: 
                      5: DEFPRES HTMLP;
1.44      cvs         6: 
1.1       cvs         7: ATTR
1.59      cvs         8:                        { coreattrs }
1.63      cvs         9:    ID = Text;                  { id }
                     10:    Class = Text;               { class }
                     11:    PseudoClass = Text;
                     12:    Style\240 = Text;           { style }
                     13:    Title = Text;               { title }
1.59      cvs        14:                        { i18n }
                     15:    dir = ltr, rtl;             { dir }
                     16:                        { events }
1.63      cvs        17:    onclick = Text;             { onclick }
                     18:    ondblclick = Text;          { ondblclick }
                     19:    onmousedown = Text;         { onmousedown }
                     20:    onmouseup = Text;           { onmouseup }
                     21:    onmouseover = Text;         { onmouseover }
                     22:    onmousemove = Text;         { onmousemove }
                     23:    onmouseout = Text;          { onmouseout }
                     24:    onkeypress = Text;          { onkeypress }
                     25:    onkeydown = Text;           { onkeydown }
                     26:    onkeyup = Text;             { onkeyup }
1.59      cvs        27: 
1.63      cvs        28:    Invalid_attribute = Text;
                     29:    Ghost_restruct = Text;
1.1       cvs        30: 
                     31: CONST
1.59      cvs        32: 
1.1       cvs        33:    C_Empty = ' ';
                     34:    C_Foot = ' ';
                     35:    C_Head = ' ';
1.64      cvs        36:    C_BR   = '\12';
1.1       cvs        37: 
                     38: STRUCT
1.59      cvs        39: 
1.63      cvs        40:   HTML                                                         { HTML }
1.65      cvs        41:      (ATTR SectionNumbering = Yes_; ShowAreas = Yes_;
                     42:           Namespaces = Text) =
1.17      cvs        43:        BEGIN
1.1       cvs        44:        HEAD;
                     45:        BODY;
                     46:        END + (Invalid_element, Comment\240);
                     47: 
1.62      cvs        48: #ifdef FRAMES
1.63      cvs        49:   FRAMESET                                                     { FRAMESET }
                     50:      (ATTR RowHeight = Text; ColWidth = Text) =
                     51:         { rows              cols }
1.62      cvs        52:        AGGREGATE
                     53:        Frames = LIST [1, *] OF (CASE OF FRAMESET; FRAME; END);
                     54:       ?        NOFRAMES = BODY;                                        { NOFRAMES }
                     55:        END;
                     56: 
1.63      cvs        57:   FRAME                                                                { FRAME }
                     58:      (ATTR FrameName = Text; FrameSrc = Text) =
1.62      cvs        59:            { name              src }
                     60:        CONSTANT C_Empty;
                     61: #endif
                     62: 
1.59      cvs        63:   BODY                                                         { BODY }
1.63      cvs        64:      (ATTR onload = Text; onunload = Text;
                     65:         { onload         onunload }
                     66:           background_ = Text; BackgroundColor = Text;
                     67:         { background          bgcolor }
                     68:           TextColor = Text; LinkColor = Text;
                     69:          { text              link }
                     70:           VisitedLinkColor = Text; ActiveLinkColor = Text) =
                     71:          { vlink                    alink }
                     72:        LIST OF (Element) + (INS, DEL);
1.1       cvs        73: 
1.11      cvs        74:   Invalid_element (ATTR Error_type = UnknownTag, BadPosition) = TEXT;
1.1       cvs        75:   Comment\240 = LIST OF (Comment_line = TEXT);
                     76: 
1.63      cvs        77:   HEAD                                                         { HEAD }
                     78:      (ATTR profile = Text) =
                     79:        AGGREGATE
                     80:        Document_URL = TEXT;
                     81:        TITLE = TEXT;                                           { TITLE }
                     82:       ? ISINDEX (ATTR Prompt = Text) = CONSTANT C_Empty;       { ISINDEX }
                     83:                    { prompt }
                     84:       ? BASE;                                                  { BASE }
1.64      cvs        85:       ? Styles = LIST OF (STYLE_);
1.63      cvs        86:       ? Scripts = LIST OF (SCRIPT);
                     87:       ? Metas = LIST OF (META);
                     88:       ? Links = LIST OF (LINK);
                     89:        END;
                     90: 
1.64      cvs        91:   STYLE_                                                       { STYLE }
                     92:      (ATTR Notation = Text; media = Text) =
                     93:         { type             media }
                     94:         TEXT;
                     95: 
1.63      cvs        96:   SCRIPT                                                       { SCRIPT }
                     97:      (ATTR charset = Text; !content_type = Text;
                     98:         { charset          type }
                     99:           script_language = Text; script_src = Text;
                    100:         { language                src }
                    101:           defer = Yes_; event = Text; for_ = Text) =
                    102:         { defer         event         for }
                    103:        TEXT;
1.59      cvs       104: 
                    105:   META                                                         { META }
1.63      cvs       106:      (ATTR http_equiv = Text;
                    107:         { http-equiv }
                    108:           !meta_name = Text; !meta_content = Text;
                    109:          {  name               content }
                    110:           scheme = Text) =
                    111:         { scheme }
                    112:        CONSTANT C_Empty;
1.1       cvs       113: 
1.63      cvs       114:   LINK                                                         { LINK }
                    115:      (ATTR charset; HREF_ = Text; hreflang = Text;
                    116:         { charset  href          hreflang }
                    117:           Link_type = Text; REL = Text; REV = Text;
                    118:         { type              rel         rev }
                    119:           media; target_ = Text) =
                    120:         { media  target }
                    121:        CONSTANT C_Empty;
                    122: 
                    123:   BASE                                                         { BASE }
                    124:      (ATTR !HREF_; target_) =
                    125:          { href   target }
                    126:        CONSTANT C_Empty;
1.1       cvs       127: 
1.59      cvs       128:   Element = CASE OF                                            { block }
                    129:        Paragraph;                                              { P }
1.20      cvs       130:        Pseudo_paragraph;
1.59      cvs       131:        Heading;                                                { heading }
                    132:        List_;                                                  { list + DL }
                    133:        Preformatted;                                           { PRE preformatted }
                    134:        Division;                                               { DIV }
                    135:        Center;                                                 { CENTER }
1.62      cvs       136:        NOSCRIPT = LIST OF (Element);                           { NOSCRIPT }
1.63      cvs       137:        Block_Quote;                                            { BLOCKQUOTE }
1.59      cvs       138:        Form;                                                   { FORM }
                    139:        ISINDEX;                                                { ISINDEX }
1.63      cvs       140:        Horizontal_Rule;                                        { HR }
1.59      cvs       141:        Table;                                                  { TABLE }
                    142:        Address = LIST OF (AddressContent);                     { ADDRESS }
                    143:        PICTURE                                                 { IMG }
1.63      cvs       144:            (ATTR SRC = Text; ALT = Text; longdesc = Text;
                    145:                { src         alt         longdesc }
                    146:                  Height_ = Integer; Width__ = Text;
1.59      cvs       147:                { height             width }
1.63      cvs       148:                  IntWidthPercent = Integer; IntWidthPxl = Integer;
                    149:                  USEMAP = Text; ISMAP = Yes_;
                    150:                { usemap         ismap }
                    151:                  Alignment = Top_, Middle_, Bottom_, Left_, Right_;
                    152:                { align       top   middle   bottom   left   right }
                    153:                  Img_border = Integer;
                    154:                { border }
                    155:                  hspace = Integer; vspace = Integer);
                    156:                { hspace            vspace }
1.59      cvs       157:        Object;                                                 { OBJECT }
1.60      cvs       158:        Applet;                                                 { APPLET }
1.31      cvs       159: #ifdef MATHML
1.65      cvs       160:        Math                                                    { MATH }
                    161:            (ATTR mode = display, inline_math) =
                    162:                MathML;
1.31      cvs       163: #endif
1.52      cvs       164: #ifdef GRAPHML
1.55      cvs       165:         XMLGraphics (ATTR Height_; Width__;
1.54      cvs       166:                        IntWidthPercent;
                    167:                        IntWidthPxl)
1.63      cvs       168:         = GraphML with Height_ ?= 200, Width__ ?= '100%',
                    169:                        IntWidthPercent ?= 100;
1.52      cvs       170: #endif
1.59      cvs       171:        MAP;                                                    { MAP }
1.1       cvs       172:        END;
                    173: 
1.52      cvs       174: #ifdef GRAPHML
                    175:        HTMLfragment = LIST OF (Element);
                    176: #endif
                    177: 
1.63      cvs       178:   Block_Quote                                                  { BLOCKQUOTE }
                    179:      (ATTR cite = Text;
                    180:         { cite }
                    181:           InternalLink = Reference(Any); ExternalLink = Yes_) =
                    182:        LIST OF (Element);
                    183: 
                    184:   Horizontal_Rule                                              { HR }
                    185:      (ATTR Align = left_, center_, right_;
                    186:         { align   left   center   right }
                    187:           NoShade = NoShade_; Size_ = Integer; Width__;
                    188:         { noshade             size             width }
                    189:           IntWidthPercent; IntWidthPxl) =
                    190:        CONSTANT C_Empty;
                    191: 
1.67      cvs       192:   Basic_Set = LIST OF (Basic_Elem);
                    193: 
1.1       cvs       194:   AddressContent = CASE OF
                    195:        Basic_Elem;
1.59      cvs       196:        Paragraph;              { P }
1.20      cvs       197:        Pseudo_paragraph;
1.1       cvs       198:        END;
                    199: 
1.59      cvs       200:   Paragraph                                                    { P }
1.63      cvs       201:      (ATTR TextAlign = left_, center_, right_, justify_) =
                    202:         { align       left   center   right   justify }
                    203:        Basic_Set;
                    204: 
1.59      cvs       205:   Pseudo_paragraph = Basic_Set;
                    206: 
                    207:   Heading = CASE OF                                            { heading }
                    208:        H1 (ATTR TextAlign) = Basic_Set;                        { H1 }
                    209:               { align }
                    210:        H2 (ATTR TextAlign) = Basic_Set;                        { H2 }
                    211:        H3 (ATTR TextAlign) = Basic_Set;                        { H3 }
                    212:        H4 (ATTR TextAlign) = Basic_Set;                        { H4 }
                    213:        H5 (ATTR TextAlign) = Basic_Set;                        { H5 }
                    214:        H6 (ATTR TextAlign) = Basic_Set;                        { H6 }
1.1       cvs       215:        END;
                    216: 
1.63      cvs       217:   Preformatted                                                 { PRE }
                    218:      (ATTR Width__; IntWidthPercent; IntWidthPxl) =
                    219:         { width }
                    220:        Basic_Set
1.59      cvs       221:             - (PICTURE, Object, Applet,
                    222:                Big_text, Small_text, Subscript, Superscript,
                    223:                Font_, BaseFont);
                    224: 
1.63      cvs       225:   Anchor                                                       { A }
                    226:      (ATTR charset; Link_type; NAME = Text;
                    227:         { charset  type       name }
                    228:           HREF_; hreflang; target_;
                    229:         { href   hreflang  target}
                    230:           REL; REV; accesskey = Text;
                    231:         { rel  rev  accesskey }
                    232:           shape = rectangle, circle, polygon, default_;
                    233:         { shape   rect       cirecle poly     default }
                    234:           coords = Text; tabindex = Integer;
                    235:         { coords         tabindex }
                    236:           onfocus = Text; onblur = Text;
                    237:         { onfocus         onfocus }
                    238:           InternalLink; ExternalLink) =
                    239:        Basic_Set;
1.1       cvs       240: 
1.63      cvs       241:   Basic_Elem = CASE OF                                         { special }
1.1       cvs       242:         TEXT;
1.63      cvs       243:        Font;                                                   { fontstyle }
                    244:        Phrase;                                                 { phrase }
1.61      cvs       245:        Anchor;                                                 { A }
                    246:        PICTURE;                                                { IMG }
                    247:        Applet;                                                 { APPLET }
                    248:        Object;                                                 { OBJECT }
                    249:        Font_;                                                  { FONT }
                    250:        BaseFont;                                               { BASEFONT }
1.63      cvs       251:        BR;                                                     { BR }
1.61      cvs       252:        SCRIPT;                                                 { SCRIPT }
                    253:        MAP;                                                    { MAP }
1.63      cvs       254:        Quotation;                                              { Q }
1.61      cvs       255:        Subscript = Basic_Set;                                  { SUB }
                    256:        Superscript = Basic_Set;                                { SUP }
                    257:        Span = Basic_Set;                                       { SPAN }
                    258:        BDO = Basic_Set;                                        { BDO }
                    259:        IFRAME;                                                 { IFRAME }
1.31      cvs       260: #ifdef MATHML
1.65      cvs       261:        Math;                                                   { MATH }
1.1       cvs       262: #endif
1.59      cvs       263:        END;
                    264: 
1.60      cvs       265:   BaseFont                                                     { BASEFONT }
1.63      cvs       266:      (ATTR BaseFontSize = Integer; BaseFontColor = Text;
                    267:         { size                    color }
                    268:           BaseFontFace = Text) =
                    269:          { face }
                    270:        CONSTANT C_Empty;
                    271: 
                    272:   BR                                                           { BR }
                    273:      (ATTR Clear = Left_, Right_, All_, None) =
                    274:         { clear   left   right   all   none }
                    275:        CONSTANT C_BR;
                    276: 
                    277:   Quotation                                                    { Q }
                    278:      (ATTR cite; InternalLink; ExternalLink) =
                    279:         { cite }
                    280:        Basic_Set;
1.59      cvs       281: 
1.60      cvs       282:   Font = CASE OF               { fontstyle }
                    283:        Teletype_text = Basic_Set;      { TT }
1.59      cvs       284:        Italic_text = Basic_Set;        { I }
                    285:        Bold_text = Basic_Set;          { B }
                    286:        Underlined_text = Basic_Set;    { U }
1.60      cvs       287:        Struck_text = Basic_Set;        { S or STRIKE }
1.59      cvs       288:        Big_text = Basic_Set;           { BIG }
                    289:        Small_text = Basic_Set;         { SMALL }
                    290:        END;
                    291: 
1.60      cvs       292:   Phrase = CASE OF             { phrase }
1.59      cvs       293:        Emphasis = Basic_Set;           { EM }
                    294:        Strong = Basic_Set;             { STRONG }
                    295:        Def = Basic_Set;                { DFN }
                    296:        Code = Basic_Set;               { CODE }
                    297:        Sample = Basic_Set;             { SAMP }
                    298:        Keyboard = Basic_Set;           { KBD }
                    299:        Variable = Basic_Set;           { VAR }
                    300:        Cite = Basic_Set;               { CITE }
1.60      cvs       301:        ABBR = Basic_Set;               { ABBR }
                    302:         ACRONYM = Basic_Set;           { ACRONYM }
1.59      cvs       303:        END;
                    304: 
1.63      cvs       305:   Font_                                                                { FONT }
                    306:      (ATTR Font_size = Text; color = Text; face = Text;
                    307:         { size              color            face }
                    308:           IntSizeIncr = Integer; IntSizeDecr = Integer;
                    309:           IntSizeRel = Integer) =
                    310:        Basic_Set;
                    311: 
                    312:   Applet                                                       { APPLET }
                    313:      (ATTR codebase = Text; archive = Text; code = Text;
                    314:         { codebase         archive         code }
                    315:           object = Text; alt = Text; applet_name = Text;
                    316:         { object         alt         name }
                    317:           Width__; Height_; IntWidthPercent; IntWidthPxl;
                    318:         { width    height }
                    319:           Alignment; hspace; vspace) =
                    320:         { align      hspace  vspace }
1.1       cvs       321:        LIST OF (Applet_Content = CASE OF
1.59      cvs       322:                                  Parameter;                    { PARAM }
1.1       cvs       323:                                  Basic_Set;
                    324:                                  END);
1.63      cvs       325:   Parameter                                                    { PARAM }
                    326:      (ATTR Param_name = Text; Param_value = Text;
                    327:         { name               value }
                    328:           valuetype = data_, ref, object_;
                    329:         { valuetype   data   ref  object }
                    330:           Param_type = Text) =
                    331:         { type }
1.59      cvs       332:        CONSTANT C_Empty;
                    333: 
                    334:   Object                                                       { OBJECT }
1.63      cvs       335:      (ATTR declare = Yes_; classid = Text; codebase;
                    336:         { declare         classid         codebase }
                    337:           data = Text; Object_type = Text;
                    338:         { data         type }
                    339:           codetype = Text; archive; standby = Text;
                    340:          { codetype         archive  standby }
                    341:           !Height_; !Width__; IntWidthPercent; IntWidthPxl; 
                    342:         {  height    width }
                    343:           USEMAP; NAME; tabindex; Alignment; Img_border;
                    344:         { usemap  name  tabindex  align      border }
                    345:           hspace; vspace) =
                    346:          { hspace  vspace }
1.10      cvs       347:        BEGIN
1.13      cvs       348:        PICTURE;
1.10      cvs       349:        Object_Content = LIST OF (CASE OF Element; Parameter; END);
1.59      cvs       350:                                                 { PARAM }
1.63      cvs       351:        END with Height_ ?= 400, Width__ ?= '400',
                    352:                 IntWidthPxl ?= 400;
1.61      cvs       353: 
1.63      cvs       354:   INS                                                          { INS }
                    355:      (ATTR cite; datetime = Text) =
                    356:         { cite  datetime }
                    357:        Basic_Set;
                    358: 
                    359:   DEL                                                          { DEL }
                    360:      (ATTR cite; datetime) =
                    361:         { cite  datetime }
                    362:        Basic_Set;
1.1       cvs       363: 
1.59      cvs       364:   Block = CASE OF                                              { block }
                    365:        Paragraph;                                              { P }
1.20      cvs       366:        Pseudo_paragraph;
1.59      cvs       367:        Heading;                                                { heading }
                    368:        List_;                                                  { list + DL }
                    369:        Block_Quote;                                            { BLOCKQUOTE }
                    370:        Preformatted;                                           { PRE }
                    371:        Division;                                               { DIV }
1.63      cvs       372:        Center;                                                 { CENTER }
1.1       cvs       373:        Form;
                    374:        END;
                    375: 
1.63      cvs       376:   Division                                                     { DIV }
                    377:      (ATTR TextAlign) =
                    378:         { align }
                    379:        LIST OF (Element);
                    380: 
                    381:   Center =                                                     { CENTER }
                    382:        LIST OF (Element);
1.1       cvs       383: 
1.59      cvs       384:   List_ = CASE OF                                              { list }
1.63      cvs       385:        Unnumbered_List;                                        { UL }
                    386:        Numbered_List;                                          { OL }
                    387:        Directory;                                              { DIR }
                    388:        Menu;                                                   { MENU }
                    389:        Definition_List;                                        { DL }
                    390:        END;
                    391: 
                    392:   Unnumbered_List                                              { UL }
                    393:      (ATTR BulletStyle = disc, circle, square;
                    394:         { type          disc  circle  square }
                    395:           COMPACT = Yes_) =
                    396:         { compact }
                    397:        LIST OF (List_Item);
                    398: 
                    399:   Numbered_List                                                        { OL }
                    400:      (ATTR NumberStyle = Arabic_, LowerAlpha, UpperAlpha,
                    401:         { type          1        a           A }
                    402:           LowerRoman, UpperRoman;
                    403:         { i           I }
                    404:           Start = Integer; COMPACT) =
                    405:         { start            compact }
                    406:        LIST OF (List_Item) with Start ?= 1;
                    407: 
                    408:   Directory                                                    { DIR }
                    409:      (ATTR COMPACT) =
                    410:         { compact }
                    411:        LIST OF (List_Item);
                    412: 
                    413:   Menu                                                         { MENU }
                    414:      (ATTR COMPACT) =
                    415:         { compact }
                    416:        LIST OF (List_Item);
                    417: 
                    418:   Definition_List                                              { DL }
                    419:      (ATTR COMPACT) =
                    420:         { compact }
                    421:        LIST OF (Definition_Item);
                    422: 
                    423:   List_Item                                                    { LI }
                    424:      (ATTR ItemStyle = disc, circle, square, Arabic_,
                    425:         { type        disc  circle  square  1 }
                    426:           LowerAlpha, UpperAlpha, LowerRoman, UpperRoman;
                    427:         { a           A           i           I }
                    428:           IntItemStyle = disc, circle, square, Arabic_,
                    429:           LowerAlpha, UpperAlpha, LowerRoman, UpperRoman;
                    430:           ItemValue = Integer) =
                    431:         { value }
1.1       cvs       432:        LIST OF (Block);
                    433: 
1.59      cvs       434:   Definition_Item = BEGIN
                    435:        Term_List = LIST OF (Term = Basic_Set);                 { DT }
1.63      cvs       436:       ? Definition = LIST OF (Block);                          { DD }
1.1       cvs       437:        END;
                    438: 
1.63      cvs       439:   Form                                                         { FORM }
                    440:      (ATTR !Script_URL = Text; METHOD = Get_, Post_;
                    441:         {  action             method }
                    442:           ENCTYPE = Text; onsubmit = Text; onreset = Text;
                    443:         { enctype         onsubmit         onreset }
                    444:           target_; accept_charset = Text) =
                    445:         { target   accept-charset }
1.1       cvs       446:        LIST OF (Form_Element) + (Input) with METHOD ?= Get_;
                    447: 
                    448:   Form_Element = CASE OF
1.59      cvs       449:        Paragraph;                                              { P }
1.20      cvs       450:        Pseudo_paragraph;
1.59      cvs       451:        Option_Menu;                                            { SELECT }
1.63      cvs       452:        Text_Area;                                              { TEXTAREA }
1.59      cvs       453:        Heading;                                                { heading }
                    454:        List_;                                                  { list + DL }
                    455:        Horizontal_Rule;                                        { HR }
                    456:        Block_Quote;                                            { BLOCKQUOTE }
                    457:        Preformatted;                                           { PRE }
                    458:        Division;                                               { DIV }
                    459:        Table;                                                  { TABLE }
                    460:        Center;                                                 { CENTER }
                    461:        ISINDEX;                                                { ISINDEX }
1.1       cvs       462:        END;
                    463: 
1.63      cvs       464:   Option_Menu                                                  { SELECT }
                    465:      (ATTR !NAME; MenuSize = Integer; Multiple = Yes_;
                    466:         {  name  size                multiple }
                    467:            disabled = Yes_; tabindex; onfocus; onblur;
                    468:          { disabled         tabindex  onfocus  onblur}
                    469:            onchange = Text) =
                    470:          { onchange }
1.1       cvs       471:        LIST OF (Option) - (Input);
1.63      cvs       472: 
                    473:   Option                                                       { OPTION }
                    474:      (ATTR Selected = Yes_; DefaultSelected = Yes_;
                    475:         { selected }
                    476:           disabled; label = Text; !Value_ = Text) =
                    477:          { disabled  label          value }
1.1       cvs       478:        TEXT;
                    479: 
1.63      cvs       480:   Text_Area                                                    { TEXTAREA }
                    481:      (ATTR !NAME; Rows = Integer; Columns = Integer;
                    482:         {  name  rows            cols }
                    483:           disabled; readonly = Yes_; tabindex; accesskey;
                    484:         { disabled  readonly         tabindex  accesskey  }
                    485:           onfocus; onblur; onselect = Text; onchange;
                    486:         { onfocus  onblur  onselect         onchange }
                    487:           Default_Value = Text) =
1.68      cvs       488:        Text_With_Frame - (Input) with Rows ?= 4, Columns ?= 20;
1.63      cvs       489: 
1.62      cvs       490:   Input = CASE OF                                      { formctrl }
1.63      cvs       491:        Text_Input                                      { INPUT / TEXT }
                    492:           (ATTR !NAME; Value_; disabled; readonly;
                    493:                { name  value   disabled  readonly }
                    494:                  Area_Size = Integer; MaxLength = Integer;
                    495:                { size                 maxlength }
                    496:                  tabindex; accesskey;
                    497:                { tabindex  accesskey }
1.66      cvs       498:                  onfocus; onblur; onselect; onchange;
1.63      cvs       499:                { onfocus  onblur  onselect  onchange }
1.66      cvs       500:                  Default_Value) =
1.68      cvs       501:                Text_With_Frame - (Input) with Area_Size ?= 20;
1.63      cvs       502:        Password_Input                                  { INPUT / PASSWORD }
1.66      cvs       503:           (ATTR !NAME; Value_; disabled; readonly;
                    504:                { name  value   disabled  readonly }
1.63      cvs       505:                  Area_Size; MaxLength;
                    506:                { size       maxlength }
1.66      cvs       507:                  tabindex; accesskey;
                    508:                { tabindex  accesskey }
                    509:                  onfocus; onblur; onselect; onchange;
                    510:                { onfocus  onblur  onselect  onchange }
                    511:                  Default_Value) =
1.68      cvs       512:                Text_With_Frame  - (Input) with Area_Size ?= 20;
                    513:        File_Input                                      { INPUT / FILE }
                    514:           (ATTR !NAME; Value_; disabled; readonly;
                    515:                { name  value   disabled  readonly }
                    516:                  Area_Size; MaxLength;
                    517:                { size       maxlength }
                    518:                  tabindex; accesskey;
                    519:                { tabindex  accesskey }
                    520:                  onfocus; onblur; accept = Text;
                    521:                { onfocus  onblur }
                    522:                  Default_Value) =
                    523:                Text_With_Frame - (Input) with Area_Size ?= 20;
1.59      cvs       524:        Checkbox_Input                                  { INPUT / CHECKBOX }
1.63      cvs       525:           (ATTR !NAME; Value_; Checked = Yes_, No_;
1.66      cvs       526:                { name  value   checked }
1.63      cvs       527:                  disabled; readonly;
                    528:                { disabled  readonly }
                    529:                  tabindex; accesskey; onfocus; onblur;
                    530:                { tabindex  accesskey  onfocus  onblur }
                    531:                  DefaultChecked = Yes_, No_) =
1.1       cvs       532:                CONSTANT C_Empty with Checked ?= No_;
1.59      cvs       533:        Radio_Input                                     { INPUT / RADIO }
1.63      cvs       534:           (ATTR !NAME; !Value_; Checked; disabled;
                    535:                { name  value    checked   disabled }
                    536:                  readonly; tabindex; accesskey;
                    537:                { readonly  tabindex  accesskey }
                    538:                  onfocus; onblur;
                    539:                { onfocus  onblur }
                    540:                  DefaultChecked) =
                    541:                CONSTANT C_Empty with Checked ?= No_,
                    542:                                      NAME ?= 'radio';
                    543:        Submit_Input                                    { INPUT / SUBMIT }
                    544:           (ATTR  NAME; Value_; disabled; readonly;
                    545:                { name  value   disabled; readonly }
                    546:                  tabindex; accesskey;
                    547:                { tabindex  accesskey }
                    548:                  onfocus; onblur) =
                    549:                { onfocus  onblur }
                    550:                BEGIN
1.56      cvs       551:                Frame;
1.63      cvs       552:                END with Value_ ?= 'Submit';
                    553:        Reset_Input                                     { INPUT / RESET }
                    554:           (ATTR  NAME; Value_; disabled; readonly;
                    555:                { name  value   disabled  readonly }
                    556:                  tabindex; accesskey;
                    557:                { tabindex  accesskey }
                    558:                  onfocus; onblur) =
                    559:                { onfocus  onblur }
                    560:                BEGIN
1.56      cvs       561:                Frame;
1.68      cvs       562:                END  - (Input) with NAME ?= 'Reset',
                    563:                                    Value_ ?= 'Reset';
                    564:         Button_Input                                   { INPUT / BUTTON }
1.66      cvs       565:           (ATTR !NAME; Value_; disabled; readonly;
                    566:                { name  value   disabled  readonly }
1.63      cvs       567:                  tabindex; accesskey;
                    568:                { tabindex  accesskey }
1.68      cvs       569:                  onfocus; onblur) =
1.63      cvs       570:                { onfocus  onblur }
1.68      cvs       571:                BEGIN
                    572:                Frame;
                    573:                END;
                    574:         BUTTON                                         { BUTTON }
                    575:           (ATTR !NAME; Value_;
                    576:                { name  value }
                    577:                  Button_type = button, submit, reset;
                    578:                { type          button  submit  reset }
                    579:                  disabled; tabindex; accesskey;
                    580:                { disabled  tabindex  accesskey }
                    581:                  onfocus; onblur) =
                    582:                { onfocus  onblur }
1.69      cvs       583:                Basic_Set - (Anchor, Form, Fieldset, Input);
1.68      cvs       584:         LABEL                                          { LABEL }
                    585:           (ATTR  Associated_control = TEXT;
                    586:                { for }
                    587:                  accesskey; onfocus; onblur) =
                    588:                { accesskey  onfocus  onblur }
                    589:                Basic_Set - (Input);
1.63      cvs       590:        Hidden_Input                                    { INPUT / HIDDEN }
1.68      cvs       591:           (ATTR !NAME; Value_; disabled;
                    592:                { name  value   disabled }
1.63      cvs       593:                  tabindex; accesskey;
                    594:                { tabindex  accesskey }
                    595:                  onfocus; onblur) =
                    596:                { onfocus  onblur }
                    597:                CONSTANT C_Empty;
1.59      cvs       598:        Option_Menu;                                    { SELECT }
                    599:        Text_Area;                                      { TEXTAREA }
1.8       cvs       600:        END;
1.1       cvs       601: 
                    602:   Text_With_Frame = BEGIN
                    603:        Inserted_Text = TEXT;
                    604:        Frame = CONSTANT C_Empty;
                    605:        END;
                    606: 
1.63      cvs       607:   Table_row                                                    { TR }
                    608:      (ATTR Cell_align = Cell_left, Cell_center, Cell_right,
                    609:         { align        left       center       right }
                    610:                        Cell_justify, Cell_char;
                    611:         {              justify       char }
                    612:           char = Text; charoff = Text;
                    613:         { char         charoff }
                    614:           Row_valign = Row_top, Row_middle, Row_bottom, Row_baseline;
                    615:         { valign       top      middle      bottom      baseline }
                    616:           BackgroundColor) =
                    617:         { bgcolor }
                    618:        LIST OF (Table_cell);
                    619: 
                    620:   Table                                                                { TABLE }
                    621:      (ATTR summary = Text; Width__; Border = Integer;
                    622:         { summary         width    border }
                    623:           frame = void, above, below, hsides, lhs, rhs,
                    624:         { frame   void  above  below  hsides  lhs  rhs  }
                    625:                   vsides, box, border;
                    626:         {         vsides  box  border }
                    627:           rules_ = none, groups, rows, cols, all;
                    628:         { rules    none  groups  rows  cols  all }
                    629:           cellspacing = Integer; cellpadding = Integer;
                    630:         { cellspacing            cellpadding }
                    631:           Align; BackgroundColor;
                    632:         { align  bgcolor }
                    633:           datapagesize = Text; IntWidthPxl; IntWidthPercent) =
                    634:         { datapagesize }
1.1       cvs       635:        BEGIN
1.63      cvs       636:        CAPTION ;                                               { CAPTION }
1.1       cvs       637:        Table_head = LIST OF (Column_head);
1.63      cvs       638:       ? thead;                                                 { THEAD }
                    639:        Table_body = LIST OF (tbody);
                    640:       ? tfoot;                                                 { TFOOT }
1.1       cvs       641:        Table_foot = CONSTANT C_Foot;
1.49      cvs       642:        END;
1.63      cvs       643: 
                    644:   CAPTION                                                      { CAPTION }
                    645:      (ATTR Position = Position_top, Position_bottom,
                    646:         { align      top           bottom }
                    647:           Position_left, Position_right) =
                    648:         { left           right }
                    649:        Basic_Set;
                    650: 
1.44      cvs       651:   Column_head (ATTR IntWidthPercent; IntWidthPxl) =
                    652:        CONSTANT C_Head;
1.63      cvs       653: 
                    654:   thead                                                                { THEAD }
                    655:      (ATTR Cell_align; char; charoff; Row_valign) =
                    656:        LIST OF (Table_row);
                    657: 
                    658:   tbody                                                                 { TBODY }
                    659:      (ATTR Cell_align; char; charoff; Row_valign) =
                    660:        LIST OF (Table_row);
                    661: 
                    662:   tfoot                                                                { TFOOT }
                    663:      (ATTR Cell_align; char; charoff; Row_valign) =
                    664:        LIST OF (Table_row);
                    665: 
1.1       cvs       666:   Table_cell = CASE OF
1.63      cvs       667:        Data_cell;                                              { TD }
                    668:        Heading_cell;                                           { TH }
                    669:        END;
                    670: 
                    671:   Data_cell                                                    { TD }
                    672:      (ATTR Ref_column = REFERENCE(Column_head);
                    673:            ColExt = REFERENCE(Column_head);
                    674:            RowExt = REFERENCE(Table_row);
                    675:           abbr = Text; axis = Text; headers = Text; scope = Text;
                    676:         { abbr         axis         headers         scope }
                    677:            rowspan_ = INTEGER; colspan_ = INTEGER;
                    678:         { rowspan             colspan }
                    679:            Cell_align; char; charoff;
                    680:         { align       char  charoff }
                    681:            Cell_valign = Cell_top, Cell_middle, Cell_bottom, Cell_baseline;
                    682:         { valign        top       middle       bottom       baseline }
                    683:            No_wrap = no_wrap; BackgroundColor;
                    684:         { nowrap             bgcolor }
                    685:           Width__; Height_; IntWidthPxl; IntWidthPercent) =
                    686:         { width    height }
                    687:        LIST OF (Element);
                    688: 
                    689:   Heading_cell                                                 { TH }
                    690:      (ATTR Ref_column; ColExt; RowExt;
                    691:           abbr; axis; headers; scope;
                    692:         { abbr  axis  headers  scope }
                    693:           rowspan_; colspan_;
                    694:         { rowspan   colspan }
                    695:           Cell_align; char; charoff; Cell_valign;
                    696:         { align       char  charoff  valign }
                    697:           No_wrap; BackgroundColor;
                    698:         { nowrap   bgcolor }
                    699:           Width__; Height_; IntWidthPxl; IntWidthPercent) =
                    700:         { width    height }
                    701:        LIST OF (Element);
                    702: 
                    703:   MAP                                                          { MAP }
                    704:      (ATTR NAME; Ref_IMG = REFERENCE(Any)) =
                    705:         { name }
                    706:        LIST OF (AREA);
                    707: 
                    708:   AREA                                                         { AREA }
                    709:      (ATTR shape; coords; HREF_; target_; nohref = Yes_; ALT;
                    710:         { shape  coords  href   target   nohref         alt }
                    711:           tabindex; accesskey; onfocus; onblur;
                    712:         { tabindex  accesskey  onfocus  onblur }
                    713:           x_coord = Integer; y_coord = Integer; IntWidthPxl;
                    714:            height\240 = Integer; AreaRef_IMG = REFERENCE(Any)) =
                    715:        GRAPHICS with x_coord ?= 0, y_coord ?= 0,
                    716:                      IntWidthPxl ?= 25, height\240 ?= 10;
1.1       cvs       717: 
1.59      cvs       718:   FRAMESET =                                                   { FRAMESET }
                    719:        AGGREGATE
                    720:        LIST OF (FrameElem);
                    721:        NOFRAMES = LIST OF (Element);                           { NOFRAMES }
                    722:        END;
                    723: 
1.63      cvs       724:   FRAME =                                                      { FRAME }
                    725:        CONSTANT C_Empty;
1.59      cvs       726: 
                    727:   FrameElem = CASE OF
                    728:        FRAMESET;
                    729:        FRAME;
                    730:        END;
                    731: 
1.63      cvs       732:   IFRAME                                                       { IFRAME }
                    733:      (ATTR longdesc) =
                    734:         { longdesc }
                    735:        LIST OF (Element);
1.59      cvs       736: 
1.1       cvs       737: EXCEPT
1.25      cvs       738:        HTML:           NoMove, NoResize;
1.1       cvs       739:        BODY:           NoCut;
                    740:        HEAD:           NoCut;
                    741:        TITLE:          NoCut;
                    742:        Document_URL:   Hidden, NoSpellCheck;
1.68      cvs       743:        C_Empty:        Hidden;
1.9       cvs       744:        C_BR:           NoSelect;
1.68      cvs       745:        Styles:         Hidden;
                    746:        Scripts:        Hidden;
                    747:        Metas:          Hidden;
                    748:        Links:          Hidden;
                    749:        Frame:          Hidden, NoCut;
                    750:        Inserted_Text:  Hidden, NoCut;
                    751:        Basic_Set:      Hidden;
                    752:        Term_List:      Hidden;
1.63      cvs       753:        Definition_Item:Hidden;
1.1       cvs       754:        Comment_line:   Hidden;
                    755:        GRAPHICS:       NoMove, NoResize;
1.41      cvs       756:        TEXT:           NoMove, NoResize;
1.26      cvs       757:        PICTURE:        MoveResize;
1.63      cvs       758:        Invalid_element:NoCreate;
                    759:        Pseudo_paragraph: ParagraphBreak, Hidden;
1.1       cvs       760:        Paragraph:      ParagraphBreak;
                    761:        H1:             ParagraphBreak;
                    762:        H2:             ParagraphBreak;
                    763:        H3:             ParagraphBreak;
                    764:        H4:             ParagraphBreak;
                    765:        H5:             ParagraphBreak;
                    766:        H6:             ParagraphBreak;
                    767:        Address:        ParagraphBreak;
                    768:        Term:           ParagraphBreak;
                    769:        MAP:            IsDraw;
                    770:        AREA:           MoveResize;
1.70    ! cvs       771:        Password_Input: Shadow;
1.19      cvs       772:        Preformatted:   ReturnCreateNL;
1.64      cvs       773:        STYLE_:         ReturnCreateNL;
                    774:        SCRIPT:         ReturnCreateNL;
1.68      cvs       775:        Text_Area:      ReturnCreateNL;
1.52      cvs       776: #ifdef GRAPHML
1.68      cvs       777:        HTMLfragment:   NoMove, NoResize, Hidden;
1.53      cvs       778:        XMLGraphics:    MoveResize, NoMove;
1.52      cvs       779: #endif
1.1       cvs       780: 
1.29      cvs       781:        ExternalLink:   Invisible;
1.15      cvs       782:        InternalLink:   Invisible;
1.44      cvs       783:        IntWidthPercent:NewPercentWidth, Invisible;
                    784:        IntWidthPxl:    NewWidth, Invisible;
1.1       cvs       785:        SRC:            Invisible;
                    786:        IntItemStyle:   Invisible;
                    787:        IntSizeIncr:    Invisible;
                    788:        IntSizeDecr:    Invisible;
                    789:        IntSizeRel:     Invisible;
                    790:        x_coord:        Invisible, NewHPos;
                    791:        y_coord:        Invisible, NewVPos;
                    792:        height\240:     Invisible, NewHeight;
                    793:        Ref_IMG:        Invisible;
                    794:        AreaRef_IMG:    Invisible;
                    795:        Invalid_attribute: Invisible;
                    796:        PseudoClass:    Invisible;
                    797:        Default_Value:  Invisible;
1.63      cvs       798:        DefaultSelected:Invisible;
1.1       cvs       799:        DefaultChecked: Invisible;
1.17      cvs       800:        SectionNumbering:Invisible;
1.22      cvs       801:        ShowAreas:      Invisible;
1.65      cvs       802:        Namespaces:     Invisible;
1.50      cvs       803:        shape:          Invisible;
1.44      cvs       804:        Data_cell:      IsCell, NoMove, NoResize;
                    805:        Heading_cell:   IsCell, NoMove, NoResize;
                    806:        Table:          IsTable, PageBreak;
1.68      cvs       807:        Column_head:    IsColHead, NoCut, Hidden;
                    808:        Table_head:     NoCut, Hidden;
                    809:        C_Head:         Hidden;
1.25      cvs       810:        Table_foot:     NoCut, Hidden, PageBreakRepBefore;
1.68      cvs       811:        C_Foot:         Hidden;
1.38      cvs       812:        Table_body:     PageBreakAllowed, Hidden;
1.44      cvs       813:        Table_row:      IsRow, PageBreakPlace;
1.1       cvs       814:        ColExt:         Invisible;
1.2       cvs       815:        RowExt:         Invisible;
1.44      cvs       816:        Ref_column:     ColRef, Invisible;
                    817:        colspan_:       ColSpan;
                    818:        rowspan_:       RowSpan;
1.68      cvs       819:        Object_Content: Hidden, NoCreate, NoCut;
1.1       cvs       820:        Ghost_restruct: Invisible;
1.63      cvs       821: 
1.1       cvs       822: END

Webmaster