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

1.1       cvs         1:                { I. Vatton      November 1994  }
                      2: STRUCTURE HTML;
                      3: 
                      4: DEFPRES HTMLP;
1.44      cvs         5: 
1.1       cvs         6: ATTR
1.24      cvs         7:    ID = TEXT;
1.1       cvs         8:    Class = text;
                      9:    PseudoClass = text;
                     10:    Style\240 = TEXT;
                     11:    Invalid_attribute = TEXT;
                     12:    Ghost_restruct = TEXT;
                     13: 
                     14: CONST
                     15:    C_Empty = ' ';
                     16:    C_Foot = ' ';
                     17:    C_Head = ' ';
1.9       cvs        18:    C_BR   = '\212';
1.1       cvs        19: 
                     20: STRUCT
1.22      cvs        21:   HTML (ATTR SectionNumbering = Yes_; ShowAreas = Yes_) =
1.17      cvs        22:        BEGIN
1.1       cvs        23:        HEAD;
                     24:        BODY;
                     25:        END + (Invalid_element, Comment\240);
                     26: 
                     27:   BODY (ATTR background_ = Text; BackgroundColor = Text; TextColor = Text;
                     28:        LinkColor = Text; VisitedLinkColor = Text; ActiveLinkColor = Text)
                     29:        = LIST OF (Element);
                     30: 
1.11      cvs        31:   Invalid_element (ATTR Error_type = UnknownTag, BadPosition) = TEXT;
1.1       cvs        32:   Comment\240 = LIST OF (Comment_line = TEXT);
                     33: 
                     34:   HEAD = AGGREGATE
                     35:          Document_URL = TEXT;
                     36:          TITLE = TEXT;
                     37:        ? ISINDEX (ATTR Prompt = TEXT) = CONSTANT C_Empty;
                     38:        ? BASE;
                     39:        ? Styles (ATTR Notation = TEXT) = LIST OF (StyleRule);
                     40:        ? Scripts = LIST OF (SCRIPT = TEXT);
                     41:        ? Metas = LIST OF (META);
                     42:        ? Links = LIST OF (LINK);
                     43:        END;
                     44:   META (ATTR http_equiv = Text; !meta_name = Text; !meta_content = Text)
                     45:         = CONSTANT C_Empty;
1.43      cvs        46:   LINK (ATTR HREF_ = Text;
                     47: #ifdef COUGAR
                     48:             Link_type = TEXT;
                     49: #endif
                     50:             REL = Text; REV = Text; Title = Text)
1.1       cvs        51:         = CONSTANT C_Empty;
                     52: 
                     53:   StyleRule (ATTR Selector = TEXT) = TEXT;
                     54: 
                     55:   BASE (ATTR !HREF_) = CONSTANT C_Empty;
                     56: 
                     57:   Element = CASE OF
                     58:        Paragraph;
1.20      cvs        59:        Pseudo_paragraph;
1.1       cvs        60:        Heading;
                     61:        List_;
1.54    ! cvs        62:        Horizontal_Rule (ATTR Align = left_, center_, right_;
        !            63:                        NoShade = NoShade_; Size_ = Integer;
        !            64:                        Width__ = Text; IntWidthPercent = Integer;
        !            65:                        IntWidthPxl = Integer) =
        !            66:                CONSTANT C_Empty;
1.1       cvs        67:        Block_Quote = LIST OF (Element);
                     68:        Preformatted;
                     69:        Address = LIST OF (AddressContent);
                     70:        Division;
                     71:        Center;
                     72:        Applet;
                     73: #ifdef COUGAR
                     74:        Object;
                     75: #endif
1.31      cvs        76: #ifdef MATHML
1.45      cvs        77:        MathDisp (ATTR mode = display, inline_math) = MathML;
1.31      cvs        78: #endif
1.52      cvs        79: #ifdef GRAPHML
1.54    ! cvs        80:         XMLGraphics (ATTR Height_ = Integer; Width__;
        !            81:                        IntWidthPercent;
        !            82:                        IntWidthPxl)
1.53      cvs        83:         = GraphML
                     84:           with Height_ ?= 200, Width__ ?= '100%', IntWidthPercent ?= 100;
1.52      cvs        85: #endif
1.1       cvs        86:        Form;
                     87:        Table;
                     88:        PICTURE;
                     89:        MAP;
                     90:        ISINDEX;
                     91:        END;
                     92: 
1.52      cvs        93: #ifdef GRAPHML
                     94:        HTMLfragment = LIST OF (Element);
                     95: #endif
                     96: 
1.1       cvs        97:   AddressContent = CASE OF
                     98:        Basic_Elem;
                     99:        Paragraph;
1.20      cvs       100:        Pseudo_paragraph;
1.1       cvs       101:        END;
                    102: 
                    103:   Basic_Set = LIST OF (Basic_Elem);
                    104: 
                    105:   Heading = CASE OF
                    106:        H1 (ATTR Align) = Basic_Set;
                    107:        H2 (ATTR Align) = Basic_Set;
                    108:        H3 (ATTR Align) = Basic_Set;
                    109:        H4 (ATTR Align) = Basic_Set;
                    110:        H5 (ATTR Align) = Basic_Set;
                    111:        H6 (ATTR Align) = Basic_Set;
                    112:        END;
                    113: 
                    114:   Paragraph (ATTR Align) = Basic_Set;
1.20      cvs       115:   Pseudo_paragraph = Basic_Set;
1.44      cvs       116:   Preformatted (ATTR Width__; IntWidthPercent; IntWidthPxl)
                    117:                = Basic_Set
1.16      cvs       118:             - (PICTURE, Big_text, Small_text, Subscript, Superscript, Font_);
1.1       cvs       119: 
1.15      cvs       120:   Anchor (ATTR HREF_; NAME = Text; REL; REV; Title;
1.33      cvs       121:               InternalLink = Reference(Any); ExternalLink = Yes_)
1.1       cvs       122:        = Basic_Set;
                    123: 
                    124:   Basic_Elem = CASE OF
                    125:         TEXT;
                    126:        PICTURE (ATTR Alignment = Top_, Middle_, Bottom_, Left_, Right_;
1.53      cvs       127:                 Height_; Width__; IntWidthPercent; IntWidthPxl;
1.44      cvs       128:                 hspace = Integer; vspace = Integer; Img_border = Integer;
1.1       cvs       129:                 ISMAP = Yes_; USEMAP = Text; SRC = Text; ALT = Text);
                    130:        Anchor;
                    131:        Font;
                    132:        Phrase;
                    133:        Font_;
                    134:        BaseFont;
                    135:        Applet;
                    136: #ifdef COUGAR
                    137:        Object;
1.31      cvs       138: #endif
                    139: #ifdef MATHML
1.45      cvs       140:        Math (ATTR mode) = MathML;
1.1       cvs       141: #endif
                    142:        SCRIPT;
                    143:        MAP;
1.12      cvs       144:        BR (ATTR Clear = Left_, Right_, All_, None) = CONSTANT C_BR;
1.24      cvs       145:        Span = Basic_Set;
1.1       cvs       146:        END;
                    147: 
                    148:   BaseFont (ATTR BaseFontSize = Integer) = CONSTANT C_Empty;
                    149: 
                    150:   Font = CASE OF
                    151:        Italic_text = Basic_Set;
                    152:        Bold_text = Basic_Set;
                    153:        Teletype_text = Basic_Set;
1.11      cvs       154:        Underlined_text = Basic_Set;
1.1       cvs       155:        Struck_text = Basic_Set;
                    156:        Big_text = Basic_Set;
                    157:        Small_text = Basic_Set;
                    158:        Subscript = Basic_Set;
                    159:        Superscript = Basic_Set;
                    160:        END;
                    161: 
                    162:   Phrase = CASE OF
                    163:        Emphasis = Basic_Set;
                    164:        Strong = Basic_Set;
                    165:        Def = Basic_Set;
                    166:        Code = Basic_Set;
                    167:        Sample = Basic_Set;
                    168:        Keyboard = Basic_Set;
                    169:        Variable = Basic_Set;
                    170:        Cite = Basic_Set;
                    171:        END;
                    172: 
                    173:   Font_ (ATTR Font_size = Text; IntSizeIncr = Integer; IntSizeDecr = Integer;
                    174:              IntSizeRel = Integer; color = Text) = Basic_Set;
                    175: 
                    176:   Applet (ATTR codebase = TEXT; !code = TEXT; applet_name = TEXT;
1.44      cvs       177:               alt = TEXT; Alignment; Height_; Width__; IntWidthPercent;
                    178:               IntWidthPxl; hspace; vspace) =
1.1       cvs       179:        LIST OF (Applet_Content = CASE OF
                    180:                                  Parameter;
                    181:                                  Basic_Set;
                    182:                                  END);
                    183:   Parameter (ATTR Param_name = TEXT; Param_value = TEXT) =  CONSTANT C_Empty;
                    184: 
                    185: #ifdef COUGAR
                    186:   Object (ATTR classid = TEXT; codebase; data = TEXT; Object_type = TEXT;
1.44      cvs       187:          codetype = TEXT; Alignment; !Height_; !Width__; IntWidthPercent;
                    188:          IntWidthPxl; hspace; vspace;
1.30      cvs       189:          Img_border; USEMAP; ALT) =
1.10      cvs       190:        BEGIN
1.13      cvs       191:        PICTURE;
1.10      cvs       192:        Object_Content = LIST OF (CASE OF Element; Parameter; END);
1.44      cvs       193:        END with Height_ ?= 400, Width__ ?= '400', IntWidthPxl ?= 400;
1.1       cvs       194: #endif
                    195: 
                    196:   Block = CASE OF
                    197:        Paragraph;
1.20      cvs       198:        Pseudo_paragraph;
1.1       cvs       199:        List_;
                    200:        Block_Quote;
                    201:        Preformatted;
                    202:        Division;
                    203:        Center = LIST OF (Element);
                    204:        Form;
                    205:        END;
                    206: 
                    207:   Division (ATTR Align) = LIST OF (Element);
                    208: 
                    209:   List_ = CASE OF
                    210:        Unnumbered_List (ATTR BulletStyle = disc, circle, square;
                    211:                              COMPACT = Yes_) =
                    212:                        LIST OF (List_Item);
                    213:        Numbered_List  (ATTR NumberStyle = Arabic_, LowerAlpha, UpperAlpha,
                    214:                            LowerRoman, UpperRoman; Start = Integer; COMPACT) =
                    215:                        LIST OF (List_Item) with Start ?= 1;
                    216:        Directory (ATTR COMPACT) =
                    217:                        LIST OF (List_Item);
                    218:        Menu (ATTR COMPACT) =
                    219:                        LIST OF (List_Item);
                    220:        Definition_List = LIST OF (Definition_Item);
                    221:        END;
                    222: 
                    223:   List_Item (ATTR ItemStyle = disc, circle, square, Arabic_, LowerAlpha,
                    224:                  UpperAlpha, LowerRoman, UpperRoman;
                    225:                  IntItemStyle = disc, circle, square, Arabic_, LowerAlpha,
                    226:                  UpperAlpha, LowerRoman, UpperRoman;
                    227:                  ItemValue = Integer) =
                    228:        LIST OF (Block);
                    229: 
                    230:   Definition_Item (ATTR COMPACT) = BEGIN
                    231:        Term_List = LIST OF (Term = Basic_Set);
1.6       cvs       232:        ? Definition = LIST OF (Block);
1.1       cvs       233:        END;
                    234: 
                    235:   Form (ATTR !Script_URL = Text; METHOD = Get_, Post_; ENCTYPE = Text) =
                    236:        LIST OF (Form_Element) + (Input) with METHOD ?= Get_;
                    237: 
                    238:   Form_Element = CASE OF
                    239:        Paragraph;
1.20      cvs       240:        Pseudo_paragraph;
1.1       cvs       241:        Toggle_Menu;
                    242:        Radio_Menu;
                    243:        Option_Menu;
                    244:        Text_Input_Line;
                    245:        Command_Line;
                    246:        Text_Area (ATTR !NAME; Rows = Integer; Columns = Integer;
1.12      cvs       247:                        Default_Value = Text) =
1.1       cvs       248:                Text_With_Frame with Rows ?= 4, Columns ?= 20;
                    249:        Heading;
                    250:        List_;
                    251:        Horizontal_Rule;
                    252:        Block_Quote;
                    253:        Preformatted;
                    254:        Division;
                    255:        Center;
                    256:        ISINDEX;
                    257:        END;
                    258: 
1.7       cvs       259:   Option_Menu (ATTR !NAME; Multiple = Yes_; MenuSize = Integer) =
1.1       cvs       260:        LIST OF (Option) - (Input);
1.12      cvs       261:   Option (ATTR Selected = Yes_; DefaultSelected = Yes_; !Value_ = Text) =
1.1       cvs       262:        TEXT;
                    263: 
1.40      cvs       264:   Toggle_Menu = LIST OF (Toggle_Item)
                    265:        - (Text_Input_Line, Command_Line, Toggle_Menu, Radio_Menu);
1.1       cvs       266:   Toggle_Item = BEGIN
1.39      cvs       267:        Basic_Set;
1.1       cvs       268:        Checkbox_Input (ATTR !NAME; 
                    269:                             Checked = Yes_, No_; DefaultChecked = Yes_, No_;
1.12      cvs       270:                             Value_) =
1.1       cvs       271:                CONSTANT C_Empty with Checked ?= No_;
1.39      cvs       272:        Basic_Set;
1.1       cvs       273:        END;
                    274: 
1.40      cvs       275:   Radio_Menu (ATTR !NAME) = LIST OF (Radio_Item)
                    276:        - (Text_Input_Line, Command_Line, Toggle_Menu, Radio_Menu);
1.1       cvs       277:   Radio_Item = BEGIN
1.39      cvs       278:        Basic_Set;
1.12      cvs       279:        Radio_Input (ATTR !NAME; Checked; DefaultChecked; !Value_) =
1.1       cvs       280:                CONSTANT C_Empty with Checked ?= No_, NAME ?= 'radio';
1.39      cvs       281:        Basic_Set;
1.1       cvs       282:        END;
                    283: 
                    284:   Text_Input_Line = BEGIN
1.39      cvs       285:        Basic_Set;
1.12      cvs       286:        Text_Input (ATTR !NAME; Area_Size = Integer; MaxLength = Integer; Value_) =
1.1       cvs       287:                Text_With_Frame with Area_Size ?= 20;
1.39      cvs       288:        Basic_Set;
                    289:        END - (Text_Input_Line, Command_Line, Toggle_Menu, Radio_Menu);
1.1       cvs       290: 
                    291:   Command_Line = BEGIN
1.12      cvs       292:        Reset_Input (ATTR NAME; Value_) = BEGIN
1.1       cvs       293:                Frame;
1.12      cvs       294:                END with NAME ?= 'Reset', Value_ ?= 'Reset';
1.1       cvs       295:        Space = CONSTANT C_Empty;
1.12      cvs       296:        Submit_Input (ATTR NAME; Value_) = BEGIN
1.1       cvs       297:                Frame;
1.12      cvs       298:                END with Value_ ?= 'Submit';
1.39      cvs       299:        END - (Text_Input_Line, Command_Line, Toggle_Menu, Radio_Menu);
1.1       cvs       300: 
                    301:   Input = CASE OF
                    302:        Checkbox_Input;
                    303:        Radio_Input;
                    304:        Text_Input;
1.12      cvs       305:        Hidden_Input (ATTR !NAME; Value_) = CONSTANT C_Empty;
1.1       cvs       306:        Password_Input (ATTR !NAME; Area_Size; MaxLength) = Text_With_Frame;
                    307:        File_Input (ATTR !NAME) = CONSTANT C_Empty;
                    308:        Reset_Input;
                    309:        Submit_Input;
1.40      cvs       310:        Option_Menu;
                    311:        Text_Area;
1.8       cvs       312:        END;
1.1       cvs       313: 
                    314:   Text_With_Frame = BEGIN
                    315:        Inserted_Text = TEXT;
                    316:        Frame = CONSTANT C_Empty;
                    317:        END;
                    318: 
                    319:   Table (ATTR Border = Integer;
1.34      cvs       320:              Align;
1.44      cvs       321:              Width__; IntWidthPxl; IntWidthPercent;
1.1       cvs       322:              cellspacing = Integer; cellpadding = Integer) =
                    323:        BEGIN
1.48      cvs       324:        CAPTION (ATTR Position = Position_top, Position_bottom) = Basic_Set;
1.1       cvs       325:        Table_head = LIST OF (Column_head);
                    326:        ? thead = LIST OF (Table_row);
                    327:        Table_body = LIST OF (tbody = LIST OF (Table_row));
                    328:        ? tfoot = LIST OF (Table_row);
                    329:        Table_foot = CONSTANT C_Foot;
1.49      cvs       330:        END;
1.44      cvs       331:   Column_head (ATTR IntWidthPercent; IntWidthPxl) =
                    332:        CONSTANT C_Head;
1.1       cvs       333:   Table_row (ATTR Row_align = Row_left, Row_center, Row_right;
1.54    ! cvs       334:                  Row_valign = Row_top, Row_middle, Row_bottom, Row_baseline;
        !           335:                  height\240 = Integer) =
1.1       cvs       336:        LIST OF (Table_cell);
                    337:   Table_cell = CASE OF
                    338:        Data_cell(ATTR Ref_column = REFERENCE(Column_head);
                    339:                  ColExt = REFERENCE(Column_head);
                    340:                  RowExt = REFERENCE(Table_row);
1.44      cvs       341:                 colspan_ = INTEGER;
                    342:                  rowspan_ = INTEGER;
1.1       cvs       343:                  Cell_align = Cell_left, Cell_center, Cell_right;
1.11      cvs       344:                  Cell_valign = Cell_top, Cell_middle, Cell_bottom;
1.44      cvs       345:                 Width__; IntWidthPxl; IntWidthPercent;
1.54    ! cvs       346:                 Height_;
1.27      cvs       347:                  No_wrap = no_wrap) = LIST OF (Element);
1.44      cvs       348:        Heading_cell(ATTR Ref_column; ColExt; RowExt; colspan_; rowspan_;
                    349:                 Cell_align; Cell_valign; Width__; IntWidthPxl; IntWidthPercent;
1.54    ! cvs       350:                 Height_; No_wrap) = LIST OF (Element);
1.1       cvs       351:        END;
                    352: 
                    353:   MAP (ATTR NAME; Ref_IMG = REFERENCE(Any)) = LIST OF (AREA);
                    354:   AREA (ATTR shape = rectangle, circle, polygon, default_;
                    355:        coords = Text; HREF_; nohref = Yes_; ALT;
1.44      cvs       356:        x_coord = Integer; y_coord = Integer; IntWidthPxl;
1.54    ! cvs       357:         height\240; AreaRef_IMG = REFERENCE(Any)) = GRAPHICS
1.44      cvs       358:        with x_coord ?= 0, y_coord ?= 0, IntWidthPxl ?= 25, height\240 ?= 10;
1.1       cvs       359: 
                    360: EXCEPT
1.25      cvs       361:        HTML:           NoMove, NoResize;
1.1       cvs       362:        BODY:           NoCut;
                    363:        HEAD:           NoCut;
                    364:        TITLE:          NoCut;
                    365:        Document_URL:   Hidden, NoSpellCheck;
                    366:        C_Empty:        Hidden, NoSelect;
1.9       cvs       367:        C_BR:           NoSelect;
1.1       cvs       368:        Scripts:        Hidden, NoSelect;
                    369:        Metas:          Hidden, NoSelect;
                    370:        Links:          Hidden, NoSelect;
                    371:        Frame:          Hidden;
                    372:        Inserted_Text:  Hidden, NoSelect;
                    373:        Basic_Set:      Hidden, NoSelect;
                    374:        Term_List:      Hidden, NoSelect;
                    375:        Definition_Item: Hidden;
                    376:        Comment_line:   Hidden;
                    377:        GRAPHICS:       NoMove, NoResize;
1.41      cvs       378:        TEXT:           NoMove, NoResize;
1.26      cvs       379:        PICTURE:        MoveResize;
1.1       cvs       380:        Invalid_element: NoCreate;
1.20      cvs       381:        Pseudo_paragraph:       ParagraphBreak, Hidden;
1.1       cvs       382:        Paragraph:      ParagraphBreak;
                    383:        H1:             ParagraphBreak;
                    384:        H2:             ParagraphBreak;
                    385:        H3:             ParagraphBreak;
                    386:        H4:             ParagraphBreak;
                    387:        H5:             ParagraphBreak;
                    388:        H6:             ParagraphBreak;
                    389:        Address:        ParagraphBreak;
                    390:        Term:           ParagraphBreak;
                    391:        MAP:            IsDraw;
                    392:        AREA:           MoveResize;
1.19      cvs       393:        Preformatted:   ReturnCreateNL;
1.52      cvs       394: #ifdef GRAPHML
                    395:        HTMLfragment:   NoMove, NoResize, Hidden, NoSelect;
1.53      cvs       396:        XMLGraphics:    MoveResize, NoMove;
1.52      cvs       397: #endif
1.1       cvs       398: 
1.24      cvs       399: #ifndef COUGAR
                    400:        Langue:         Invisible;
                    401: #endif
1.29      cvs       402:        ExternalLink:   Invisible;
1.15      cvs       403:        InternalLink:   Invisible;
1.44      cvs       404:        IntWidthPercent:NewPercentWidth, Invisible;
                    405:        IntWidthPxl:    NewWidth, Invisible;
1.1       cvs       406:        SRC:            Invisible;
                    407:        IntItemStyle:   Invisible;
                    408:        IntSizeIncr:    Invisible;
                    409:        IntSizeDecr:    Invisible;
                    410:        IntSizeRel:     Invisible;
                    411:        x_coord:        Invisible, NewHPos;
                    412:        y_coord:        Invisible, NewVPos;
                    413:        height\240:     Invisible, NewHeight;
                    414:        Ref_IMG:        Invisible;
                    415:        AreaRef_IMG:    Invisible;
                    416:        Invalid_attribute: Invisible;
                    417:        PseudoClass:    Invisible;
                    418:        Default_Value:  Invisible;
                    419:        DefaultSelected: Invisible;
                    420:        DefaultChecked: Invisible;
1.17      cvs       421:        SectionNumbering:Invisible;
1.22      cvs       422:        ShowAreas:      Invisible;
1.50      cvs       423:        shape:          Invisible;
1.44      cvs       424:        Data_cell:      IsCell, NoMove, NoResize;
                    425:        Heading_cell:   IsCell, NoMove, NoResize;
                    426:        Table:          IsTable, PageBreak;
                    427:        Column_head:    IsColHead, NoCut, Hidden, NoSelect;
1.51      cvs       428:        Table_head:     NoCut, Hidden, NoSelect;
1.1       cvs       429:        C_Head:         Hidden, NoSelect;
1.25      cvs       430:        Table_foot:     NoCut, Hidden, PageBreakRepBefore;
1.1       cvs       431:        C_Foot:         Hidden, NoSelect;
1.38      cvs       432:        Table_body:     PageBreakAllowed, Hidden;
1.44      cvs       433:        Table_row:      IsRow, PageBreakPlace;
1.1       cvs       434:        ColExt:         Invisible;
1.2       cvs       435:        RowExt:         Invisible;
1.44      cvs       436:        Ref_column:     ColRef, Invisible;
                    437:        colspan_:       ColSpan;
                    438:        rowspan_:       RowSpan;
1.10      cvs       439: #ifdef COUGAR
1.25      cvs       440:        Object_Content: Hidden, NoCreate, NoCut, NoSelect;
1.10      cvs       441: #endif
1.1       cvs       442:        Ghost_restruct: Invisible;
                    443: END

Webmaster