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