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

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

Webmaster