Annotation of Amaya/amaya/HTML.S, revision 1.12
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 = ' ';
1.9 cvs 17: C_BR = '\212';
1.1 cvs 18:
19: STRUCT
20: HTML = BEGIN
21: HEAD;
22: BODY;
23: END + (Invalid_element, Comment\240);
24:
25: BODY (ATTR background_ = Text; BackgroundColor = Text; TextColor = Text;
26: LinkColor = Text; VisitedLinkColor = Text; ActiveLinkColor = Text)
27: = LIST OF (Element);
28:
1.11 cvs 29: Invalid_element (ATTR Error_type = UnknownTag, BadPosition) = TEXT;
1.1 cvs 30: Comment\240 = LIST OF (Comment_line = TEXT);
31:
32: HEAD = AGGREGATE
33: Document_URL = TEXT;
34: TITLE = TEXT;
35: ? ISINDEX (ATTR Prompt = TEXT) = CONSTANT C_Empty;
36: ? BASE;
37: ? Styles (ATTR Notation = TEXT) = LIST OF (StyleRule);
38: ? Scripts = LIST OF (SCRIPT = TEXT);
39: ? Metas = LIST OF (META);
40: ? Links = LIST OF (LINK);
41: END;
42: META (ATTR http_equiv = Text; !meta_name = Text; !meta_content = Text)
43: = CONSTANT C_Empty;
1.11 cvs 44: LINK (ATTR !HREF_ = Text; REL = Text; REV = Text; Title = Text)
1.1 cvs 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:
1.11 cvs 100: Anchor (ATTR HREF_; NAME = Text; REL; REV; Title)
1.1 cvs 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;
1.12 ! cvs 120: BR (ATTR Clear = Left_, Right_, All_, None) = CONSTANT C_BR;
1.1 cvs 121: END;
122:
123: BaseFont (ATTR BaseFontSize = Integer) = CONSTANT C_Empty;
124:
125: Font = CASE OF
126: Italic_text = Basic_Set;
127: Bold_text = Basic_Set;
128: Teletype_text = Basic_Set;
1.11 cvs 129: Underlined_text = Basic_Set;
1.1 cvs 130: Struck_text = Basic_Set;
131: Big_text = Basic_Set;
132: Small_text = Basic_Set;
133: Subscript = Basic_Set;
134: Superscript = Basic_Set;
135: END;
136:
137: Phrase = CASE OF
138: Emphasis = Basic_Set;
139: Strong = Basic_Set;
140: Def = Basic_Set;
141: Code = Basic_Set;
142: Sample = Basic_Set;
143: Keyboard = Basic_Set;
144: Variable = Basic_Set;
145: Cite = Basic_Set;
146: END;
147:
148: Font_ (ATTR Font_size = Text; IntSizeIncr = Integer; IntSizeDecr = Integer;
149: IntSizeRel = Integer; color = Text) = Basic_Set;
150:
151: Applet (ATTR codebase = TEXT; !code = TEXT; applet_name = TEXT;
152: alt = TEXT; Alignment; Height_; Width_; hspace; vspace) =
153: LIST OF (Applet_Content = CASE OF
154: Parameter;
155: Basic_Set;
156: END);
157: Parameter (ATTR Param_name = TEXT; Param_value = TEXT) = CONSTANT C_Empty;
158:
159: #ifdef COUGAR
160: Object (ATTR classid = TEXT; codebase; data = TEXT; Object_type = TEXT;
161: codetype = TEXT; Alignment; Height_; Width_; hspace; vspace) =
1.10 cvs 162: BEGIN
163: Object_Image = PICTURE;
164: Object_Content = LIST OF (CASE OF Element; Parameter; END);
165: END;
1.1 cvs 166: #endif
167:
168: Block = CASE OF
169: Paragraph;
170: List_;
171: Block_Quote;
172: Preformatted;
173: Division;
174: Center = LIST OF (Element);
175: Form;
176: END;
177:
178: Division (ATTR Align) = LIST OF (Element);
179:
180: List_ = CASE OF
181: Unnumbered_List (ATTR BulletStyle = disc, circle, square;
182: COMPACT = Yes_) =
183: LIST OF (List_Item);
184: Numbered_List (ATTR NumberStyle = Arabic_, LowerAlpha, UpperAlpha,
185: LowerRoman, UpperRoman; Start = Integer; COMPACT) =
186: LIST OF (List_Item) with Start ?= 1;
187: Directory (ATTR COMPACT) =
188: LIST OF (List_Item);
189: Menu (ATTR COMPACT) =
190: LIST OF (List_Item);
191: Definition_List = LIST OF (Definition_Item);
192: END;
193:
194: List_Item (ATTR ItemStyle = disc, circle, square, Arabic_, LowerAlpha,
195: UpperAlpha, LowerRoman, UpperRoman;
196: IntItemStyle = disc, circle, square, Arabic_, LowerAlpha,
197: UpperAlpha, LowerRoman, UpperRoman;
198: ItemValue = Integer) =
199: LIST OF (Block);
200:
201: Definition_Item (ATTR COMPACT) = BEGIN
202: Term_List = LIST OF (Term = Basic_Set);
1.6 cvs 203: ? Definition = LIST OF (Block);
1.1 cvs 204: END;
205:
206: Form (ATTR !Script_URL = Text; METHOD = Get_, Post_; ENCTYPE = Text) =
207: LIST OF (Form_Element) + (Input) with METHOD ?= Get_;
208:
209: Form_Element = CASE OF
210: Paragraph;
211: Toggle_Menu;
212: Radio_Menu;
213: Option_Menu;
214: Text_Input_Line;
215: Command_Line;
216: Text_Area (ATTR !NAME; Rows = Integer; Columns = Integer;
1.12 ! cvs 217: Default_Value = Text) =
1.1 cvs 218: Text_With_Frame with Rows ?= 4, Columns ?= 20;
219: Heading;
220: List_;
221: Horizontal_Rule;
222: Block_Quote;
223: Preformatted;
224: Division;
225: Center;
226: ISINDEX;
227: END;
228:
1.7 cvs 229: Option_Menu (ATTR !NAME; Multiple = Yes_; MenuSize = Integer) =
1.1 cvs 230: LIST OF (Option) - (Input);
1.12 ! cvs 231: Option (ATTR Selected = Yes_; DefaultSelected = Yes_; !Value_ = Text) =
1.1 cvs 232: TEXT;
233:
234: Toggle_Menu = LIST OF (Toggle_Item) - (Input);
235: Toggle_Item = BEGIN
236: Checkbox_Input (ATTR !NAME;
237: Checked = Yes_, No_; DefaultChecked = Yes_, No_;
1.12 ! cvs 238: Value_) =
1.1 cvs 239: CONSTANT C_Empty with Checked ?= No_;
240: TEXT;
241: END;
242:
243: Radio_Menu (ATTR !NAME) = LIST OF (Radio_Item) - (Input);
244: Radio_Item = BEGIN
1.12 ! cvs 245: Radio_Input (ATTR !NAME; Checked; DefaultChecked; !Value_) =
1.1 cvs 246: CONSTANT C_Empty with Checked ?= No_, NAME ?= 'radio';
247: TEXT;
248: END;
249:
250: Text_Input_Line = BEGIN
251: TEXT;
1.12 ! cvs 252: Text_Input (ATTR !NAME; Area_Size = Integer; MaxLength = Integer; Value_) =
1.1 cvs 253: Text_With_Frame with Area_Size ?= 20;
254: END - (Input);
255:
256: Command_Line = BEGIN
1.12 ! cvs 257: Reset_Input (ATTR NAME; Value_) = BEGIN
1.1 cvs 258: Frame;
1.12 ! cvs 259: END with NAME ?= 'Reset', Value_ ?= 'Reset';
1.1 cvs 260: Space = CONSTANT C_Empty;
1.12 ! cvs 261: Submit_Input (ATTR NAME; Value_) = BEGIN
1.1 cvs 262: Frame;
1.12 ! cvs 263: END with Value_ ?= 'Submit';
1.1 cvs 264: END - (Input);
265:
266: Input = CASE OF
267: Checkbox_Input;
268: Radio_Input;
269: Text_Input;
1.12 ! cvs 270: Hidden_Input (ATTR !NAME; Value_) = CONSTANT C_Empty;
1.1 cvs 271: Password_Input (ATTR !NAME; Area_Size; MaxLength) = Text_With_Frame;
272: File_Input (ATTR !NAME) = CONSTANT C_Empty;
273: Reset_Input;
274: Submit_Input;
1.8 cvs 275: END;
1.1 cvs 276:
277:
278: Text_With_Frame = BEGIN
279: Inserted_Text = TEXT;
280: Frame = CONSTANT C_Empty;
281: END;
282:
283: Table (ATTR Border = Integer;
284: Table_align = Align_left, Center_, Align_right;
285: Width__; IntWidthPercent; IntWidthPxl;
286: cellspacing = Integer; cellpadding = Integer) =
287: BEGIN
288: CAPTION (ATTR Position = Position_top, Position_bottom) = Basic_Set;
289: Table_head = LIST OF (Column_head);
290: ? thead = LIST OF (Table_row);
291: Table_body = LIST OF (tbody = LIST OF (Table_row));
292: ? tfoot = LIST OF (Table_row);
293: Table_foot = CONSTANT C_Foot;
294: END;
1.3 cvs 295: Column_head (ATTR Col_width_percent = INTEGER; Col_width_pxl = INTEGER;
296: IntMaxVol = Integer) =
297: CONSTANT C_Head with Col_width_percent ?= 100;
1.1 cvs 298: Table_row (ATTR Row_align = Row_left, Row_center, Row_right;
299: Row_valign = Row_top, Row_middle, Row_bottom, Row_baseline) =
300: LIST OF (Table_cell);
301: Table_cell = CASE OF
302: Data_cell(ATTR Ref_column = REFERENCE(Column_head);
303: ColExt = REFERENCE(Column_head);
304: RowExt = REFERENCE(Table_row);
305: colspan = INTEGER;
306: rowspan = INTEGER;
307: Cell_align = Cell_left, Cell_center, Cell_right;
1.11 cvs 308: Cell_valign = Cell_top, Cell_middle, Cell_bottom;
1.4 cvs 309: Cell_width = Text;
1.1 cvs 310: Cell_height = Integer;
311: Word_wrap = Wrap, No_wrap) = LIST OF (Element);
312: Heading_cell(ATTR Ref_column; ColExt; RowExt; colspan; rowspan;
313: Cell_align; Cell_valign; Cell_width; Cell_height; Word_wrap) =
314: LIST OF (Element);
315: END;
316: Table_cell_ghost = CONSTANT C_Empty;
317:
318: MAP (ATTR NAME; Ref_IMG = REFERENCE(Any)) = LIST OF (AREA);
319: AREA (ATTR shape = rectangle, circle, polygon, default_;
320: coords = Text; HREF_; nohref = Yes_; ALT;
321: x_coord = Integer; y_coord = Integer; width\240 = Integer;
322: height\240 = Integer; AreaRef_IMG = REFERENCE(Any)) = GRAPHICS
323: with x_coord ?= 0, y_coord ?= 0, width\240 ?= 25, height\240 ?= 10;
324:
325: EXCEPT
326: BODY: NoCut;
327: HEAD: NoCut;
328: TITLE: NoCut;
329: Document_URL: Hidden, NoSpellCheck;
330: C_Empty: Hidden, NoSelect;
1.9 cvs 331: C_BR: NoSelect;
1.1 cvs 332: Scripts: Hidden, NoSelect;
333: Metas: Hidden, NoSelect;
334: Links: Hidden, NoSelect;
335: Frame: Hidden;
336: Inserted_Text: Hidden, NoSelect;
337: Basic_Set: Hidden, NoSelect;
338: Term_List: Hidden, NoSelect;
339: Definition_Item: Hidden;
340: Comment_line: Hidden;
341: GRAPHICS: NoMove, NoResize;
342: PICTURE: NoMove;
343: Invalid_element: NoCreate;
344: Paragraph: ParagraphBreak;
345: H1: ParagraphBreak;
346: H2: ParagraphBreak;
347: H3: ParagraphBreak;
348: H4: ParagraphBreak;
349: H5: ParagraphBreak;
350: H6: ParagraphBreak;
351: Address: ParagraphBreak;
352: Term: ParagraphBreak;
353: MAP: IsDraw;
354: AREA: MoveResize;
355:
356: Langue: Invisible;
357: Style\240: Invisible;
358: WidthElement: NewWidth;
359: IntWidthPercent:Invisible;
360: IntWidthPxl: Invisible;
361: SRC: Invisible;
362: IntItemStyle: Invisible;
363: IntSizeIncr: Invisible;
364: IntSizeDecr: Invisible;
365: IntSizeRel: Invisible;
366: IntMaxVol: Invisible;
367: x_coord: Invisible, NewHPos;
368: y_coord: Invisible, NewVPos;
369: width\240: Invisible, NewWidth;
370: height\240: Invisible, NewHeight;
371: Ref_IMG: Invisible;
372: AreaRef_IMG: Invisible;
373: Invalid_attribute: Invisible;
374: PseudoClass: Invisible;
375: Default_Value: Invisible;
376: DefaultSelected: Invisible;
377: DefaultChecked: Invisible;
378:
379: Table: PageBreak;
380: Column_head: NoHMove, NoVMove, NoCut, Hidden;
381: Table_head: NoHMove, NoVMove, NoCut, Hidden, PageBreakRepetition;
382: C_Head: Hidden, NoSelect;
383: Table_foot: NoMove, NoResize, NoCut, Hidden, PageBreakRepBefore;
384: C_Foot: Hidden, NoSelect;
385: Table_body: PageBreakAllowed, Hidden;
1.2 cvs 386: Table_row: NoHMove, NoVMove, PageBreakPlace;
387: Table_cell: NoHMove, NoHResize;
388: Data_cell: NoHMove, NoHResize;
389: Heading_cell: NoHMove, NoHResize;
1.3 cvs 390: Col_width_percent: Invisible;
391: Col_width_pxl: Invisible;
1.1 cvs 392: ColExt: Invisible;
1.2 cvs 393: RowExt: Invisible;
1.1 cvs 394: Ref_column: Invisible;
395: Table_cell_ghost: Hidden, NoCreate, NoCut, NoMove, NoResize, NoSelect;
1.10 cvs 396: #ifdef COUGAR
397: Object_Image: Hidden, NoCreate, NoCut, NoMove, NoResize, NoSelect;
398: Object_Content: Hidden, NoCreate, NoCut, NoMove, NoResize, NoSelect;
399: #endif
1.1 cvs 400: Ghost_restruct: Invisible;
401: END
Webmaster