Annotation of Amaya/amaya/HTML.S, revision 1.226
1.139 quint 1: { I. Vatton November 1994-2002 }
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 }
1.137 quint 15: dir = ltr_, rtl_; { dir }
1.59 cvs 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;
1.127 cvs 29: Unknown_attribute = Text;
1.63 cvs 30: Ghost_restruct = Text;
1.114 cvs 31: Highlight = Yes_; { to show the HTML element corresponding to the
32: current selection in the source view }
1.100 cvs 33: IntEntity = Yes_; { do not translate & into & in output file }
34: EntityName = Text; { the content of the element is the name of an entity }
1.206 vatton 35: xmlid = Text; { xml:id }
1.110 cvs 36: xml_space = xml_space_default, xml_space_preserve; { xml:space }
1.167 gully 37: NoImages = Yes_;
38: NoObjects = Yes_;
1.1 cvs 39:
40: CONST
1.59 cvs 41:
1.1 cvs 42: C_Empty = ' ';
43: C_Head = ' ';
1.64 cvs 44: C_BR = '\12';
1.1 cvs 45:
46: STRUCT
1.59 cvs 47:
1.63 cvs 48: HTML { HTML }
1.191 vatton 49: (ATTR ShowAreas = Yes_;
1.143 cvs 50: PrintURL = Yes_; PI = Text;
1.101 cvs 51: Namespaces = Text; RealLang = Yes_; Charset = Text) =
1.226 ! vatton 52: BEGIN
! 53: HEAD;
! 54: ? BODY; { only one of BODY, document type }
1.72 cvs 55: ? FRAMESET;
1.226 ! vatton 56: END + (Invalid_element, Unknown_namespace, XHTML_Unknown_namespace, Comment\240, XMLPI, CDATA);
! 57:
1.189 quint 58: DOCTYPE = LIST OF (DOCTYPE_line = TEXT);
1.226 ! vatton 59:
1.163 vatton 60: Invalid_element = TEXT;
1.113 cvs 61:
1.127 cvs 62: Unknown_namespace = TEXT;
63:
1.164 cvs 64: XHTML_Unknown_namespace = TEXT;
65:
1.186 vatton 66: Comment\240 = LIST OF (Comment_line = TEXT) - (Comment\240);
1.1 cvs 67:
1.161 cvs 68: XMLPI (ATTR is_css = Text) = LIST OF (PI_line = TEXT);
1.226 ! vatton 69:
1.140 cvs 70: CDATA = LIST OF (CDATA_line = TEXT);
1.136 cvs 71:
1.226 ! vatton 72: HEAD { HEAD }
1.63 cvs 73: (ATTR profile = Text) =
1.226 ! vatton 74: AGGREGATE
! 75: Document_URL = TEXT - (STYLE_, SCRIPT_, META, LINK);
! 76: TITLE = TEXT - (STYLE_, SCRIPT_, META, LINK); { TITLE }
! 77: ? ISINDEX (ATTR Prompt = Text) = CONSTANT C_Empty; { ISINDEX }
! 78: { prompt }
! 79: ? BASE; { BASE }
! 80: END + (Object, STYLE_, SCRIPT_, META, LINK);
1.63 cvs 81:
1.226 ! vatton 82: STYLE_ { STYLE }
1.197 quint 83: (ATTR !Notation = Text; media = Text) =
1.226 ! vatton 84: { type media }
! 85: TEXT - (STYLE_, SCRIPT_, META, LINK);
1.64 cvs 86:
1.226 ! vatton 87: SCRIPT_ { SCRIPT }
1.197 quint 88: (ATTR charset = Text; !content_type = Text;
1.226 ! vatton 89: { charset type }
! 90: script_language = Text; script_src = Text;
! 91: { language src }
! 92: defer = Yes_; event = Text; for_ = Text) =
! 93: { defer event for }
! 94: TEXT - (STYLE_, SCRIPT_, META, LINK) with content_type ?= 'text/javascript';
1.59 cvs 95:
1.226 ! vatton 96: META { META }
1.63 cvs 97: (ATTR http_equiv = Text;
1.226 ! vatton 98: { http-equiv }
! 99: meta_name = Text; !meta_content = Text;
1.197 quint 100: { name content }
1.226 ! vatton 101: scheme = Text) =
! 102: { scheme }
! 103: CONSTANT C_Empty;
1.1 cvs 104:
1.226 ! vatton 105: LINK { LINK }
1.63 cvs 106: (ATTR charset; HREF_ = Text; hreflang = Text;
1.226 ! vatton 107: { charset href hreflang }
! 108: Link_type = Text; REL = Text; REV = Text;
! 109: { type rel rev }
! 110: media; target_ = Text) =
! 111: { media target }
! 112: CONSTANT C_Empty;
1.63 cvs 113:
1.226 ! vatton 114: BASE { BASE }
1.63 cvs 115: (ATTR !HREF_; target_) =
1.226 ! vatton 116: { href target }
! 117: CONSTANT C_Empty;
1.1 cvs 118:
1.226 ! vatton 119: IMG { IMG }
! 120: (ATTR !SRC = Text; !ALT = Text; longdesc = Text;
! 121: { src alt longdesc }
! 122: Height_ = Text; Width__ = Text;
! 123: { height width }
! 124: IntWidthPercent = Integer; IntWidthPxl = Integer;
! 125: IntHeightPercent = Integer; IntHeightPxl = Integer;
! 126: USEMAP = Text; ISAMAP = Yes_;
! 127: { usemap ismap }
! 128: Alignment = Top_, Middle_, Bottom_, Left_, Right_;
! 129: { align top middle bottom left right }
! 130: Img_border = Integer;
! 131: { border }
! 132: hspace = Integer; vspace = Integer) =
! 133: { hspace vspace }
1.221 vatton 134: BEGIN
1.226 ! vatton 135: PICTURE (ATTR SRC);
1.221 vatton 136: END;
137:
1.226 ! vatton 138: BODY { BODY }
1.189 quint 139: (ATTR onload = Text; onunload = Text;
1.226 ! vatton 140: { onload onunload }
! 141: background_ = Text; BackgroundColor = Text;
! 142: { background bgcolor }
! 143: TextColor = Text; LinkColor = Text;
1.189 quint 144: { text link }
1.226 ! vatton 145: VisitedLinkColor = Text; ActiveLinkColor = Text) =
1.189 quint 146: { vlink alink }
1.226 ! vatton 147: LIST OF (Element) + (INS, DEL);
1.189 quint 148:
1.226 ! vatton 149: Element = CASE OF { block }
! 150: Paragraph; { P }
! 151: Pseudo_paragraph;
! 152: Heading; { heading }
! 153: List_; { list + DL }
! 154: Preformatted; { PRE preformatted }
! 155: Division; { DIV }
! 156: Center; { CENTER }
! 157: SCRIPT_; { SCRIPT }
! 158: NOSCRIPT = LIST OF (Element) - (SCRIPT_); { NOSCRIPT }
! 159: Block_Quote; { BLOCKQUOTE }
! 160: Form; { FORM }
! 161: ISINDEX; { ISINDEX }
! 162: Horizontal_Rule; { HR }
! 163: Table_; { TABLE }
! 164: FIELDSET; { FIELDSET }
! 165: Address; { ADDRESS }
! 166: IMG; { IMG }
! 167: Object; { OBJECT }
! 168: Applet; { APPLET }
! 169: MathML; { MATH }
! 170: SVG; { SVG }
! 171: XLink; { Annotations }
! 172: External_Object { IMG type=svg}
! 173: (ATTR SRC;
! 174: { src }
! 175: Height_; Width__;
! 176: { height width }
! 177: IntWidthPercent; IntWidthPxl;
! 178: IntHeightPercent; IntHeightPxl;
! 179: USEMAP; ISAMAP;
! 180: { usemap ismap }
! 181: NAME = Text;
! 182: { name }
! 183: Alignment;
! 184: { align top middle bottom left right }
! 185: Img_border;
! 186: { border }
! 187: hspace; vspace) =
! 188: { hspace vspace }
! 189: BEGIN
! 190: External_Object_Content;
! 191: END;
! 192: Embed_ { EMBED }
! 193: (ATTR SRC;
! 194: Alignment;
! 195: { align top bottom left right }
! 196: Height_; Width__;
! 197: { height width }
! 198: EmbedHidden = Yes_, No_;
! 199: { hidden yes no }
! 200: EmbedName = Text;
! 201: { name }
! 202: hspace; vspace;
! 203: { hspace vspace }
! 204: Embed_type = Text;
! 205: { type }
! 206: pluginspage = Text;
! 207: pluginurl = Text;
! 208: ) =
! 209: BEGIN
! 210: Embed_Content;
! 211: END;
! 212: END;
! 213:
! 214: HTMLfragment = LIST OF (Element);
! 215: External_Object_Content = NATURE;
! 216: Embed_Content = NATURE;
1.52 cvs 217:
1.226 ! vatton 218: Block_Quote { BLOCKQUOTE }
1.63 cvs 219: (ATTR cite = Text;
1.226 ! vatton 220: { cite }
! 221: InternalLink = Reference(Any); ExternalLink = Yes_) =
! 222: LIST OF (Element);
1.63 cvs 223:
1.226 ! vatton 224: Horizontal_Rule { HR }
1.63 cvs 225: (ATTR Align = left_, center_, right_;
1.226 ! vatton 226: { align left center right }
! 227: NoShade = NoShade_; Size_ = Integer; Width__;
! 228: { noshade size width }
! 229: IntWidthPercent; IntWidthPxl) =
! 230: CONSTANT C_Empty;
1.63 cvs 231:
1.67 cvs 232: Basic_Set = LIST OF (Basic_Elem);
233:
1.179 quint 234: { Paragraph must be the first element defined as a Basic_Set, to make
235: sure that the editor will create a Paragraph when the user wants to
236: create a Basic_Elem }
1.226 ! vatton 237: Paragraph { P }
1.63 cvs 238: (ATTR TextAlign = left_, center_, right_, justify_) =
1.226 ! vatton 239: { align left center right justify }
! 240: Basic_Set;
1.63 cvs 241:
1.179 quint 242: Address = Basic_Set;
243:
1.59 cvs 244: Pseudo_paragraph = Basic_Set;
245:
1.226 ! vatton 246: Heading = CASE OF { heading }
! 247: H1 (ATTR TextAlign) = Basic_Set; { H1 }
! 248: { align }
! 249: H2 (ATTR TextAlign) = Basic_Set; { H2 }
! 250: H3 (ATTR TextAlign) = Basic_Set; { H3 }
! 251: H4 (ATTR TextAlign) = Basic_Set; { H4 }
! 252: H5 (ATTR TextAlign) = Basic_Set; { H5 }
! 253: H6 (ATTR TextAlign) = Basic_Set; { H6 }
! 254: END;
1.1 cvs 255:
1.226 ! vatton 256: Preformatted { PRE }
1.63 cvs 257: (ATTR Width__; IntWidthPercent; IntWidthPxl) =
1.226 ! vatton 258: { width }
! 259: Basic_Set
! 260: - (IMG, Object, Applet,
! 261: Big_text, Small_text, Subscript, Superscript,
! 262: Font_, BaseFont, External_Object);
1.59 cvs 263:
1.226 ! vatton 264: Anchor { A }
1.94 cvs 265: (ATTR charset; Link_type; NAME;
1.226 ! vatton 266: { charset type name }
! 267: HREF_; hreflang; target_;
! 268: { href hreflang target}
! 269: REL; REV; accesskey = Text;
! 270: { rel rev accesskey }
! 271: shape = rectangle, circle, polygon, default_;
! 272: { shape rect cirecle poly default }
! 273: coords = Text; tabindex = Integer;
! 274: { coords tabindex }
! 275: onfocus = Text; onblur = Text;
! 276: { onfocus onblur }
! 277: InternalLink; ExternalLink;
! 278: { InternalLink ExternalLink }) =
! 279: Basic_Set;
1.1 cvs 280:
1.226 ! vatton 281: Basic_Elem = CASE OF { special }
1.1 cvs 282: TEXT;
1.226 ! vatton 283: Font; { fontstyle }
! 284: Phrase; { phrase }
! 285: Form_Element; { formctrl }
! 286: Anchor; { A }
! 287: IMG; { IMG }
! 288: Applet; { APPLET }
! 289: Font_; { FONT }
! 290: BaseFont; { BASEFONT }
! 291: BR; { BR }
! 292: SCRIPT_; { SCRIPT }
! 293: Quotation; { Q }
! 294: Subscript = Basic_Set; { SUB }
! 295: Superscript = Basic_Set; { SUP }
! 296: Span = Basic_Set; { SPAN }
! 297: map; MAP; { MAP }
! 298: BDO (ATTR !dir) = Basic_Set; { BDO }
! 299: Object; { OBJECT }
! 300: Embed_; { EMBED }
! 301: IFRAME; { IFRAME }
! 302: ruby; { ruby }
! 303: MathML; { MATH }
! 304: XLink; { Annotations }
1.219 vatton 305: Template; { XTiger }
1.226 ! vatton 306: External_Object; { External Object }
! 307: END;
1.59 cvs 308:
1.226 ! vatton 309: BaseFont { BASEFONT }
1.197 quint 310: (ATTR !BaseFontSize = Integer; BaseFontColor = Text;
1.226 ! vatton 311: { size color }
! 312: BaseFontFace = Text) =
1.63 cvs 313: { face }
1.226 ! vatton 314: CONSTANT C_Empty;
1.63 cvs 315:
1.226 ! vatton 316: BR { BR }
1.159 quint 317: (ATTR Clear_ = Left_, Right_, All_, None_) =
1.226 ! vatton 318: { clear left right all none }
! 319: CONSTANT C_BR;
1.63 cvs 320:
1.226 ! vatton 321: Quotation { Q }
1.63 cvs 322: (ATTR cite; InternalLink; ExternalLink) =
1.226 ! vatton 323: { cite }
! 324: Basic_Set;
1.59 cvs 325:
1.226 ! vatton 326: Font = CASE OF { fontstyle }
! 327: Teletype_text = Basic_Set; { TT }
! 328: Italic_text = Basic_Set; { I }
! 329: Bold_text = Basic_Set; { B }
! 330: Underlined_text = Basic_Set; { U }
! 331: Struck_text = Basic_Set; { S or STRIKE }
! 332: Big_text = Basic_Set; { BIG }
! 333: Small_text = Basic_Set; { SMALL }
! 334: END;
! 335:
! 336: Phrase = CASE OF { phrase }
! 337: Emphasis = Basic_Set; { EM }
! 338: Strong = Basic_Set; { STRONG }
! 339: Def = Basic_Set; { DFN }
! 340: Code = Basic_Set; { CODE }
! 341: Sample = Basic_Set; { SAMP }
! 342: Keyboard = Basic_Set; { KBD }
! 343: Variable_ = Basic_Set; { VAR }
! 344: Cite = Basic_Set; { CITE }
! 345: ABBR = Basic_Set; { ABBR }
! 346: ACRONYM = Basic_Set; { ACRONYM }
! 347: END;
1.59 cvs 348:
1.226 ! vatton 349: Font_ { FONT }
1.63 cvs 350: (ATTR Font_size = Text; color = Text; face = Text;
1.226 ! vatton 351: { size color face }
! 352: IntSizeIncr = Integer; IntSizeDecr = Integer;
! 353: IntSizeRel = Integer) =
! 354: Basic_Set;
1.63 cvs 355:
1.226 ! vatton 356: Applet { APPLET }
1.63 cvs 357: (ATTR codebase = Text; archive = Text; code = Text;
1.226 ! vatton 358: { codebase archive code }
! 359: object = Text; alt = Text; applet_name = Text;
! 360: { object alt name }
! 361: !Width__; IntWidthPercent; IntWidthPxl;
! 362: { width }
1.197 quint 363: !Height_; IntHeightPercent; IntHeightPxl;
1.226 ! vatton 364: { height }
! 365: Alignment; hspace; vspace) =
! 366: { align hspace vspace }
! 367: LIST OF (Applet_Content = CASE OF
! 368: Parameter; { PARAM }
! 369: Basic_Set;
! 370: END);
! 371: Parameter { PARAM }
1.197 quint 372: (ATTR !Param_name = Text; Param_value = Text;
1.226 ! vatton 373: { name value }
! 374: valuetype = data_, ref, object_;
! 375: { valuetype data ref object }
! 376: Param_type = Text) =
! 377: { type }
! 378: CONSTANT C_Empty;
1.59 cvs 379:
1.226 ! vatton 380: Object { OBJECT }
1.145 quint 381: (ATTR declare = declare_; classid = Text; codebase;
1.226 ! vatton 382: { declare classid codebase }
! 383: data = Text; Object_type = Text;
! 384: { data type }
! 385: codetype = Text; archive; standby = Text;
1.63 cvs 386: { codetype archive standby }
1.226 ! vatton 387: Height_; Width__;
! 388: IntWidthPercent; IntWidthPxl;
1.129 vatton 389: IntHeightPercent; IntHeightPxl;
1.226 ! vatton 390: { height width }
! 391: USEMAP; NAME; tabindex; Alignment; Img_border;
! 392: { usemap name tabindex align border }
! 393: hspace; vspace) =
1.63 cvs 394: { hspace vspace }
1.226 ! vatton 395: BEGIN
! 396: PICTURE;
! 397: Object_Content = LIST OF (ElemOrParam = CASE OF
! 398: Element; Parameter; END); { PARAM }
! 399: END;
1.61 cvs 400:
1.226 ! vatton 401: INS { INS }
1.72 cvs 402: (ATTR cite; datetime = Text; InternalLink; ExternalLink) =
1.226 ! vatton 403: { cite datetime }
! 404: Basic_Set;
1.63 cvs 405:
1.226 ! vatton 406: DEL { DEL }
1.72 cvs 407: (ATTR cite; datetime; InternalLink; ExternalLink) =
1.226 ! vatton 408: { cite datetime }
! 409: Basic_Set;
1.1 cvs 410:
1.224 vatton 411: Block = CASE OF {Block}
1.226 ! vatton 412: Paragraph;
! 413: Pseudo_paragraph;
! 414: Heading;
! 415: List_;
! 416: Preformatted;
! 417: Division;
! 418: Center;
! 419: Block_Quote;
! 420: Form;
! 421: Horizontal_Rule;
! 422: Table_;
! 423: Address;
! 424: IMG;
! 425: Object;
! 426: Applet;
! 427: MathML;
1.224 vatton 428: SVG;
429: XLink;
1.226 ! vatton 430: External_Object;
! 431: Embed_;
! 432: END;
1.1 cvs 433:
1.226 ! vatton 434: Division { DIV }
1.63 cvs 435: (ATTR TextAlign) =
1.226 ! vatton 436: { align }
! 437: LIST OF (Element);
1.63 cvs 438:
1.226 ! vatton 439: Center = { CENTER }
! 440: LIST OF (Element);
1.1 cvs 441:
1.226 ! vatton 442: List_ = CASE OF { list }
! 443: Unnumbered_List; { UL }
! 444: Numbered_List; { OL }
! 445: Directory; { DIR }
! 446: Menu; { MENU }
! 447: Definition_List; { DL }
! 448: END;
1.63 cvs 449:
1.226 ! vatton 450: Unnumbered_List { UL }
1.193 quint 451: (ATTR BulletStyle = disc_, circle_, square_;
1.226 ! vatton 452: { type disc circle square }
! 453: COMPACT = Yes_) =
! 454: { compact }
! 455: LIST OF (List_Item);
1.63 cvs 456:
1.226 ! vatton 457: Numbered_List { OL }
1.63 cvs 458: (ATTR NumberStyle = Arabic_, LowerAlpha, UpperAlpha,
1.226 ! vatton 459: { type 1 a A }
! 460: LowerRoman_, UpperRoman_;
! 461: { i I }
! 462: Start = Integer; COMPACT) =
! 463: { start compact }
! 464: LIST OF (List_Item);
1.63 cvs 465:
1.226 ! vatton 466: Directory { DIR }
1.63 cvs 467: (ATTR COMPACT) =
1.226 ! vatton 468: { compact }
! 469: LIST OF (List_Item);
1.63 cvs 470:
1.226 ! vatton 471: Menu { MENU }
1.63 cvs 472: (ATTR COMPACT) =
1.226 ! vatton 473: { compact }
! 474: LIST OF (List_Item);
1.63 cvs 475:
1.226 ! vatton 476: List_Item { LI }
1.193 quint 477: (ATTR ItemStyle = disc_, circle_, square_, Arabic_,
1.226 ! vatton 478: { type disc circle square 1 }
! 479: LowerAlpha, UpperAlpha, LowerRoman_, UpperRoman_;
! 480: { a A i I }
! 481: ItemValue = Integer) =
! 482: { value }
! 483: LIST OF (Block);
1.1 cvs 484:
1.226 ! vatton 485: Definition_List { DL }
1.189 quint 486: (ATTR COMPACT) =
1.226 ! vatton 487: { compact }
! 488: LIST OF (Definition_Item);
1.189 quint 489:
1.59 cvs 490: Definition_Item = BEGIN
1.226 ! vatton 491: Term_List = LIST OF (Term = Basic_Set); { DT }
! 492: ? Definitions = LIST OF (Definition = LIST OF (Block)); { DD }
! 493: END;
1.1 cvs 494:
1.226 ! vatton 495: Form { FORM }
1.63 cvs 496: (ATTR !Script_URL = Text; METHOD = Get_, Post_;
1.226 ! vatton 497: { action method }
! 498: ENCTYPE = Text; onsubmit = Text; onreset = Text;
! 499: { enctype onsubmit onreset }
! 500: target_; accept_charset = Text) =
! 501: { target accept-charset }
! 502: LIST OF (Element) + (Input) - (Form);
1.1 cvs 503:
504: Form_Element = CASE OF
1.226 ! vatton 505: Input; { INPUT }
! 506: Option_Menu; { SELECT }
! 507: Text_Area; { TEXTAREA }
! 508: LABEL; { LABEL }
! 509: BUTTON_; { BUTTON }
! 510: END;
1.1 cvs 511:
1.226 ! vatton 512: Option_Menu { SELECT }
1.202 quint 513: (ATTR NAME; MenuSize = Integer; Multiple = Yes_;
1.226 ! vatton 514: { name size multiple }
! 515: disabled = Yes_; tabindex; onfocus; onblur;
! 516: { disabled tabindex onfocus onblur}
! 517: onchange = Text) =
! 518: { onchange }
! 519: LIST OF (Option_item = CASE OF Option; OptGroup; END) - (Input);
1.63 cvs 520:
1.226 ! vatton 521: Option { OPTION }
1.182 quint 522: (ATTR Selected = Yes_; DefaultSelected = Yes_; ShowMe = Yes_;
1.226 ! vatton 523: { selected }
! 524: disabled; label = Text; Value_ = Text) =
1.202 quint 525: { disabled label value }
1.226 ! vatton 526: TEXT;
1.76 cvs 527:
1.226 ! vatton 528: OptGroup { OPTGROUP }
1.78 cvs 529: (ATTR disabled; !label) =
1.226 ! vatton 530: { disabled label }
! 531: LIST OF (Option);
1.1 cvs 532:
1.226 ! vatton 533: Text_Area { TEXTAREA }
1.197 quint 534: (ATTR NAME; !Rows = Integer; !Columns = Integer;
1.226 ! vatton 535: { name rows cols }
! 536: disabled; readonly = Yes_; tabindex; accesskey;
! 537: { disabled readonly tabindex accesskey }
! 538: onfocus; onblur; onselect = Text; onchange;
! 539: { onfocus onblur onselect onchange }
! 540: Default_Value = Text) =
! 541: Input_Text - (Input) {with Rows ?= 4, Columns ?= 20};
! 542:
! 543: FIELDSET = { FIELDSET }
! 544: BEGIN
! 545: LEGEND;
! 546: Basic_Set;
! 547: END;
1.79 cvs 548:
1.226 ! vatton 549: LEGEND { LEGEND }
1.79 cvs 550: (ATTR accesskey; LAlign = Top_, Bottom_, Left_, Right_) =
1.226 ! vatton 551: { accesskey align top bottom left right }
! 552: Basic_Set;
1.79 cvs 553:
1.226 ! vatton 554: Input = CASE OF { formctrl }
! 555: Text_Input { INPUT / TEXT }
! 556: (ATTR type = Text;
! 557: NAME; Value_; disabled; readonly;
! 558: { type name value disabled readonly }
! 559: Area_Size = Integer; MaxLength = Integer;
! 560: { size maxlength }
! 561: IntAreaSize = Integer;
! 562: tabindex; accesskey;
! 563: { tabindex accesskey }
! 564: onfocus; onblur; onselect; onchange;
! 565: { onfocus onblur onselect onchange }
! 566: Default_Value) =
! 567: Input_Text - (Input) with type = 'text';
! 568:
! 569: Password_Input { INPUT / PASSWORD }
! 570: (ATTR type; NAME; Value_; disabled; readonly; ALT;
! 571: { type name value disabled readonly alt}
! 572: Area_Size; IntAreaSize; MaxLength;
! 573: { size maxlength }
! 574: tabindex; accesskey;
! 575: { tabindex accesskey }
! 576: onfocus; onblur; onselect; onchange;
! 577: { onfocus onblur onselect onchange }
! 578: Default_Value) =
! 579: Input_Text - (Input) with type = 'password';
! 580:
! 581: File_Input { INPUT / FILE }
! 582: (ATTR type; NAME; Value_; disabled; readonly; ALT;
! 583: { type name value disabled readonly alt }
! 584: Area_Size; IntAreaSize; MaxLength;
! 585: { size maxlength }
! 586: tabindex; accesskey;
! 587: { tabindex accesskey }
! 588: onfocus; onblur; accept = Text;
! 589: { onfocus onblur }
! 590: Default_Value) =
! 591: Input_Text - (Input) with type = 'file';
! 592:
! 593: Checkbox_Input { INPUT / CHECKBOX }
! 594: (ATTR type; NAME; Value_; Checked = Yes_, No_; ALT;
! 595: { type name value checked alt }
! 596: disabled; readonly;
! 597: { disabled readonly }
! 598: tabindex; accesskey; onfocus; onblur;
! 599: { tabindex accesskey onfocus onblur }
! 600: DefaultChecked = Yes_, No_) =
! 601: CONSTANT C_Empty with Checked ?= No_, type = 'checkbox';
! 602:
! 603: Image_Input { INPUT / IMAGE }
! 604: (ATTR type; NAME; Value_; !SRC; ALT;
! 605: { type name value src alt }
! 606: Area_Size; IntWidthPxl;
! 607: { size }
! 608: USEMAP; ISAMAP;
! 609: { usemap ismap }
! 610: disabled; readonly; tabindex; accesskey;
! 611: { disabled readonly tabindex accesskey }
! 612: onfocus; onblur;) =
! 613: { onfocus onblur }
! 614: BEGIN
! 615: PICTURE;
! 616: END with NAME ?= 'radio', type = 'image';
! 617:
! 618: Radio_Input { INPUT / RADIO }
! 619: (ATTR type; NAME; Value_; Checked; ALT;
! 620: { type name value checked disabled alt }
! 621: disabled; readonly; tabindex; accesskey;
! 622: { disabled readonly tabindex accesskey }
! 623: onfocus; onblur;
! 624: { onfocus onblur }
! 625: DefaultChecked) =
! 626: CONSTANT C_Empty with Checked ?= No_, NAME ?= 'radio', type = 'radio';
! 627:
! 628: Submit_Input { INPUT / SUBMIT }
! 629: (ATTR type; NAME; Value_; disabled; readonly; ALT;
! 630: { type name value disabled; readonly alt }
! 631: tabindex; accesskey;
! 632: { tabindex accesskey }
! 633: onfocus; onblur) =
! 634: { onfocus onblur }
1.212 vatton 635: BEGIN
1.226 ! vatton 636: CONSTANT C_Empty;
1.222 vatton 637: END with Value_ ?= 'Submit', type = 'submit';
1.212 vatton 638:
1.226 ! vatton 639: Reset_Input { INPUT / RESET }
! 640: (ATTR type; NAME; Value_; disabled; readonly; ALT;
! 641: { type name value disabled readonly alt }
! 642: tabindex; accesskey;
! 643: { tabindex accesskey }
! 644: onfocus; onblur) =
! 645: { onfocus onblur }
! 646: BEGIN
! 647: CONSTANT C_Empty;
! 648: END - (Input) with NAME ?= 'Reset', Value_ ?= 'Reset', type = 'reset';
! 649:
! 650: Button_Input { INPUT / BUTTON }
! 651: (ATTR type; NAME; Value_; disabled; readonly; ALT;
! 652: { type name value disabled readonly alt }
! 653: tabindex; accesskey;
! 654: { tabindex accesskey }
! 655: onfocus; onblur) =
! 656: { onfocus onblur }
! 657: BEGIN
! 658: CONSTANT C_Empty;
! 659: END with type = 'button';
! 660:
! 661: Hidden_Input { INPUT / HIDDEN }
! 662: (ATTR type; NAME; Value_; disabled; ALT;
! 663: { type name value disabled alt }
! 664: tabindex; accesskey;
! 665: { tabindex accesskey }
! 666: onfocus; onblur) =
! 667: { onfocus onblur }
! 668: CONSTANT C_Empty with type = 'hidden';
! 669:
! 670: BUTTON_ { BUTTON }
! 671: (ATTR NAME; Value_;
! 672: { name value }
! 673: Button_type = button, submit, reset;
! 674: { button submit reset }
! 675: disabled; tabindex; accesskey;
! 676: { disabled tabindex accesskey }
! 677: onfocus; onblur) =
! 678: { onfocus onblur }
! 679: Basic_Set - (Anchor, Input, Form, FIELDSET, IFRAME);
! 680: LABEL { LABEL }
! 681: (ATTR Associated_control = TEXT;
! 682: { for }
! 683: accesskey; onfocus; onblur) =
! 684: { accesskey onfocus onblur }
! 685: Basic_Set;
! 686:
! 687: Option_Menu; { SELECT }
! 688: Text_Area; { TEXTAREA }
! 689: END;
1.1 cvs 690:
1.177 quint 691: Input_Text = BEGIN
1.226 ! vatton 692: Inserted_Text = TEXT;
! 693: END;
1.1 cvs 694:
1.226 ! vatton 695: Table_ { TABLE }
1.63 cvs 696: (ATTR summary = Text; Width__; Border = Integer;
1.226 ! vatton 697: { summary width border }
! 698: frame = void, above, below, hsides, lhs, rhs,
! 699: { frame void above below hsides lhs rhs }
! 700: vsides, box, border;
! 701: { vsides box border }
! 702: rules_ = none_, groups, rows, cols, all;
! 703: { rules none groups rows cols all }
! 704: cellspacing = Integer; cellpadding = Integer;
! 705: { cellspacing cellpadding }
! 706: Align; BackgroundColor;
! 707: { align bgcolor }
! 708: datapagesize = Text; IntWidthPxl; IntWidthPercent) =
! 709: { datapagesize }
! 710: BEGIN
! 711: ? CAPTION; { CAPTION }
1.115 cvs 712: ? Cols = LIST OF (Col_elem = CASE OF
1.226 ! vatton 713: COL; { COL }
! 714: COLGROUP; { COLGROUP }
! 715: END);
! 716: Table_head = LIST OF (Column_head);
! 717: ? thead; { THEAD }
! 718: Table_body = LIST OF (tbody);
! 719: ? tfoot; { TFOOT }
! 720: END;
1.63 cvs 721:
1.226 ! vatton 722: CAPTION { CAPTION }
1.63 cvs 723: (ATTR Position = Position_top, Position_bottom,
1.226 ! vatton 724: { align top bottom }
! 725: Position_left, Position_right) =
! 726: { left right }
! 727: Basic_Set;
1.63 cvs 728:
1.226 ! vatton 729: COLGROUP { COLGROUP }
1.189 quint 730: (ATTR Cell_align = Cell_left, Cell_center, Cell_right,
1.226 ! vatton 731: { align left center right }
! 732: Cell_justify, Cell_char;
! 733: { justify char }
! 734: Cell_valign = Cell_top, Cell_middle, Cell_bottom, Cell_baseline;
! 735: { valign top middle bottom baseline }
! 736: Width__; span_ = Integer)
! 737: { width span }
! 738: = LIST OF (COL);
1.189 quint 739:
1.226 ! vatton 740: COL { COL }
1.189 quint 741: (ATTR Cell_align; Cell_valign; Width__; span_)
1.226 ! vatton 742: { align valign width span }
! 743: = CONSTANT C_Empty;
1.189 quint 744:
1.44 cvs 745: Column_head (ATTR IntWidthPercent; IntWidthPxl) =
1.226 ! vatton 746: CONSTANT C_Head;
1.63 cvs 747:
1.226 ! vatton 748: thead { THEAD }
1.189 quint 749: (ATTR Cell_align; char = Text; charoff = Text;
1.226 ! vatton 750: Row_valign = Row_top, Row_middle, Row_bottom, Row_baseline) =
! 751: { valign top middle bottom baseline }
! 752: LIST OF (Table_row);
1.63 cvs 753:
1.226 ! vatton 754: tbody { TBODY }
1.63 cvs 755: (ATTR Cell_align; char; charoff; Row_valign) =
1.226 ! vatton 756: LIST OF (Table_row);
1.63 cvs 757:
1.226 ! vatton 758: tfoot { TFOOT }
1.63 cvs 759: (ATTR Cell_align; char; charoff; Row_valign) =
1.226 ! vatton 760: LIST OF (Table_row);
1.63 cvs 761:
1.226 ! vatton 762: Table_row { TR }
1.189 quint 763: (ATTR Cell_align; char; charoff; Row_valign;
1.226 ! vatton 764: { align char charoff valign }
! 765: BackgroundColor; IntHeightPxl) =
! 766: { bgcolor Special attribute to control row span }
! 767: LIST OF (Table_cell);
1.189 quint 768:
1.1 cvs 769: Table_cell = CASE OF
1.226 ! vatton 770: Data_cell; { TD }
! 771: Heading_cell; { TH }
! 772: END;
1.63 cvs 773:
1.226 ! vatton 774: Data_cell { TD }
1.63 cvs 775: (ATTR Ref_column = REFERENCE(Column_head);
776: ColExt = REFERENCE(Column_head);
777: RowExt = REFERENCE(Table_row);
1.226 ! vatton 778: abbr = Text; axis = Text; headers = Text; scope = Text;
! 779: { abbr axis headers scope }
1.63 cvs 780: rowspan_ = INTEGER; colspan_ = INTEGER;
1.226 ! vatton 781: { rowspan colspan }
1.189 quint 782: Cell_align; char; charoff; Cell_valign;
1.226 ! vatton 783: { align char charoff valign }
1.63 cvs 784: No_wrap = no_wrap; BackgroundColor;
1.226 ! vatton 785: { nowrap bgcolor }
! 786: Width__; IntWidthPxl; IntWidthPercent;
! 787: Height_; IntHeightPercent; IntHeightPxl;) =
! 788: { width height }
! 789: LIST OF (Element);
1.63 cvs 790:
1.226 ! vatton 791: Heading_cell { TH }
1.63 cvs 792: (ATTR Ref_column; ColExt; RowExt;
1.226 ! vatton 793: abbr; axis; headers; scope;
! 794: { abbr axis headers scope }
! 795: rowspan_; colspan_;
! 796: { rowspan colspan }
! 797: Cell_align; char; charoff; Cell_valign;
! 798: { align char charoff valign }
! 799: No_wrap; BackgroundColor;
! 800: { nowrap bgcolor }
! 801: Width__; IntWidthPxl; IntWidthPercent;
! 802: Height_; IntHeightPercent; IntHeightPxl) =
! 803: { width height }
! 804: LIST OF (Element);
1.63 cvs 805:
1.226 ! vatton 806: MAP { MAP }
1.215 vatton 807: (ATTR NAME; Ref_IMG = REFERENCE(Any)) =
1.226 ! vatton 808: { name linked to an image}
! 809: LIST OF (ElemOrArea = CASE OF Element; AREA; END);
1.125 vatton 810:
1.226 ! vatton 811: map { MAP }
1.215 vatton 812: (ATTR NAME) =
1.226 ! vatton 813: { name }
! 814: LIST OF (Element);
1.63 cvs 815:
1.226 ! vatton 816: AREA { AREA }
1.197 quint 817: (ATTR shape; coords; HREF_; target_; nohref = Yes_; !ALT;
1.226 ! vatton 818: { shape coords href target nohref alt }
! 819: tabindex; accesskey; onfocus; onblur;
! 820: { tabindex accesskey onfocus onblur }
! 821: x_coord = Integer; y_coord = Integer; IntWidthPxl;
1.130 vatton 822: IntHeightPxl; AreaRef_IMG = REFERENCE(Any)) =
1.226 ! vatton 823: GRAPHICS with x_coord ?= 0, y_coord ?= 0,
! 824: IntWidthPxl ?= 25, IntHeightPxl ?= 10;
1.1 cvs 825:
1.226 ! vatton 826: FRAMESET { FRAMESET }
1.72 cvs 827: (ATTR RowHeight = Text; ColWidth = Text;
1.226 ! vatton 828: { rows cols }
! 829: onload; onunload) =
! 830: { onload onunload }
! 831: AGGREGATE
! 832: Frames = LIST [1 .. *] OF (FrameElem = CASE OF
! 833: FRAME;
! 834: FRAMESET;
! 835: END - (NOFRAMES));
! 836: ? NOFRAMES = BODY + (INS, DEL); { NOFRAMES }
! 837: END;
1.59 cvs 838:
1.226 ! vatton 839: FRAME { FRAME }
1.188 quint 840: (ATTR longdesc; NAME; FrameSrc = Text;
1.226 ! vatton 841: { longdesc name src }
! 842: frameborder = Border1, Border0;
! 843: { frameborder 1 0 }
! 844: marginwidth = Integer; marginheight = Integer;
! 845: { marginwidth marginheight }
! 846: no_resize = Yes_; scrolling = Yes_, No_, auto_) =
! 847: { noresize scrolling yes no auto }
! 848: CONSTANT C_Empty;
1.59 cvs 849:
1.226 ! vatton 850: IFRAME { IFRAME }
1.188 quint 851: (ATTR longdesc; NAME; FrameSrc; frameborder;
1.226 ! vatton 852: { longdesc name src frameborder }
! 853: marginwidth; marginheight; scrolling;
! 854: { marginwidth marginheight scrolling }
! 855: Alignment; Width__; Height_) =
! 856: { align width height }
! 857: BEGIN
! 858: Iframe_Src_Content= NATURE;
! 859: Iframe_Content = LIST OF (Element); { flow }
! 860: END;
1.59 cvs 861:
1.121 cvs 862: ruby = { ruby }
863: CASE OF
1.226 ! vatton 864: simple_ruby;
! 865: complex_ruby;
! 866: END;
1.121 cvs 867:
1.124 cvs 868: simple_ruby = { ruby }
1.226 ! vatton 869: BEGIN
! 870: rb = Basic_Set - (simple_ruby, complex_ruby);
! 871: RtOrRtWithPar = CASE OF
! 872: rt (ATTR rbspan = Integer) =
! 873: Basic_Set - (simple_ruby, complex_ruby);
! 874: RtWithPar = BEGIN
! 875: rp = TEXT;
! 876: rt;
! 877: rp;
! 878: END;
! 879: END;
! 880: END;
1.121 cvs 881:
1.124 cvs 882: complex_ruby = { ruby }
1.226 ! vatton 883: BEGIN
! 884: rbc = LIST OF (rb);
! 885: rtc1 = LIST OF (rt);
1.121 cvs 886: ? rtc2 = LIST OF (rt);
1.226 ! vatton 887: END;
! 888:
1.72 cvs 889: { AnyLink is an alias for all elements with an attribute
890: of type URI. Only elements to be shown in the Links view
891: are taken into account }
892: AnyLink = CASE OF
1.226 ! vatton 893: Anchor; { HREF_ }
! 894: Block_Quote; { cite }
! 895: Quotation; { cite }
! 896: INS; { cite }
! 897: DEL; { cite }
! 898: END;
1.72 cvs 899:
1.1 cvs 900: EXCEPT
1.226 ! vatton 901: HTML: NoMove, NoResize;
! 902: BODY: NoCut, CssBackground, NoMove, NoResize,
! 903: SetWindowBackground, NoBreakByReturn;
! 904: HEAD: NoCut;
! 905: TITLE: NoCut, NoSpellCheck;
! 906: Document_URL: Hidden, NoSpellCheck, NoCut;
! 907: C_Empty: Hidden, NoSpellCheck, NoSelect;
! 908: C_BR: SelectParent;
! 909: Frames: Hidden;
! 910: FRAMESET: NoCreate; { prevent a Return at the end of the
! 911: document from creating a FRAMESET }
! 912: Inserted_Text: Hidden, NoCut, NoSpellCheck, CheckAllChars;
! 913: Basic_Set: Hidden;
! 914: Definition_Item:Hidden;
! 915: Term_List: Hidden, CanCut;
! 916: Definitions: Hidden;
! 917: XMLPI: ReturnCreateNL, NoSpellCheck, NoReplicate, NotAnElementNode;
! 918: Comment\240: ReturnCreateNL, NoSpellCheck, NoReplicate, NotAnElementNode;
! 919: Comment_line: Hidden, MarkupPreserve;
! 920: PI_line: Hidden, MarkupPreserve;
! 921: DOCTYPE: NoCut, NoSpellCheck, NotAnElementNode;
! 922: DOCTYPE_line: Hidden, NoCut;
! 923: CDATA_line: Hidden, MarkupPreserve;
! 924: GRAPHICS: NoMove, NoResize, SelectParent;
! 925: TEXT: NoMove, NoResize;
! 926: PICTURE: MoveResize;
! 927: Invalid_element:NoCreate;
! 928: Unknown_namespace:NoCreate;
! 929: XHTML_Unknown_namespace:NoCreate;
! 930: BR: IsBreak;
! 931: Pseudo_paragraph: ParagraphBreak, Hidden;
! 932: Basic_Elem: Hidden;
! 933: Paragraph: ParagraphBreak;
! 934: H1: ParagraphBreak;
! 935: H2: ParagraphBreak;
! 936: H3: ParagraphBreak;
! 937: H4: ParagraphBreak;
! 938: H5: ParagraphBreak;
! 939: H6: ParagraphBreak;
! 940: Address: ParagraphBreak;
! 941: Term: ParagraphBreak;
! 942: MAP: IsDraw, IsMap, NoReplicate;
! 943: IMG: IsImg, NoReplicate;
! 944: AREA: MoveResize, ClickableSurface, HighlightChildren;
! 945: Anchor: ClickableSurface;
! 946: Form: NoReplicate;
! 947: Image_Input: IsImg, NoReplicate;
! 948: Password_Input: Shadow, NoReplicate;
! 949: Text_Input: NoReplicate;
! 950: File_Input: NoReplicate;
! 951: Checkbox_Input: NoReplicate;
! 952: Radio_Input: NoReplicate;
! 953: Submit_Input: NoReplicate;
! 954: Reset_Input: NoReplicate;
! 955: Hidden_Input: NoReplicate;
! 956: Button_Input: NoReplicate;
! 957: BUTTON_: NoReplicate;
! 958: Preformatted: ReturnCreateNL, NoReplicate;
! 959: STYLE_: ReturnCreateNL, NoSpellCheck, NoReplicate;
! 960: SCRIPT_: ReturnCreateNL, NoReplicate;
! 961: Text_Area: ReturnCreateNL, NoReplicate;
! 962: HTMLfragment: NoMove, NoResize, Hidden, NoBreakByReturn;
! 963: Division: NoMove, NoResize;
! 964:
! 965: ExternalLink: Invisible;
! 966: InternalLink: Invisible;
! 967: IntWidthPercent:NewPercentWidth, Invisible;
! 968: IntWidthPxl: NewWidth, Invisible;
! 969: IntHeightPercent:Invisible;
! 970: IntHeightPxl: NewHeight, Invisible;
! 971: IntAreaSize: Invisible;
! 972: IntSizeIncr: Invisible;
! 973: IntSizeDecr: Invisible;
! 974: IntSizeRel: Invisible;
! 975: x_coord: Invisible, NewHPos;
! 976: y_coord: Invisible, NewVPos;
! 977: Ref_IMG: Invisible;
! 978: AreaRef_IMG: Invisible;
! 979: Invalid_attribute: Invisible;
! 980: Unknown_attribute: Invisible;
! 981: Highlight: Invisible;
! 982: PseudoClass: Invisible, CssPseudoClass;
! 983: Default_Value: Invisible;
! 984: DefaultSelected:Invisible;
! 985: ShowMe: Invisible;
! 986: DefaultChecked: Invisible;
! 987: ShowAreas: Invisible;
! 988: PrintURL: Invisible;
! 989: NoImages: Invisible;
! 990: NoObjects: Invisible;
! 991: Namespaces: Invisible;
! 992: RealLang: Invisible;
! 993: Charset: Invisible;
! 994: PI: Invisible;
! 995: shape: Invisible;
! 996: Data_cell: IsCell, NoMove, NoResize, NoBreakByReturn;
! 997: Heading_cell: IsCell, NoMove, NoResize, NoBreakByReturn;
! 998: Table_cell: IsCell, NoMove, NoResize, NoBreakByReturn;
! 999: Table_: IsTable, PageBreak, NoReplicate, NoBreakByReturn;
! 1000: CAPTION: IsCaption;
! 1001: Column_head: IsColHead, NoCut, Hidden, NoBreakByReturn;
! 1002: Table_head: NoCut, Hidden, NoSelect, NoBreakByReturn;
! 1003: C_Head: Hidden, NoSelect;
! 1004: Cols: Hidden, NoSelect, NoCreate;
! 1005: Table_body: PageBreakAllowed, Hidden, NoBreakByReturn;
! 1006: thead: NoBreakByReturn;
! 1007: tbody: NoBreakByReturn;
! 1008: tfoot: NoBreakByReturn;
! 1009: Table_row: IsRow, PageBreakPlace, NoBreakByReturn;
! 1010: rbc: Hidden;
! 1011: rtc1: Hidden;
! 1012: rtc2: Hidden;
! 1013: ColExt: Invisible;
! 1014: RowExt: Invisible;
! 1015: Ref_column: ColRef, Invisible;
! 1016: colspan_: ColSpan;
! 1017: rowspan_: RowSpan;
! 1018: Ghost_restruct: Invisible;
! 1019: IntEntity: Invisible;
! 1020: EntityName: Invisible;
! 1021: onclick: EventAttr;
! 1022: ondblclick: EventAttr;
! 1023: onmousedown: EventAttr;
! 1024: onmouseup: EventAttr;
! 1025: onmouseover: EventAttr;
! 1026: onmousemove: EventAttr;
! 1027: onmouseout: EventAttr;
! 1028: onkeypress: EventAttr;
! 1029: onkeydown: EventAttr;
! 1030: onkeyup: EventAttr;
! 1031: onload: EventAttr;
! 1032: onunload: EventAttr;
! 1033: onfocus: EventAttr;
! 1034: onblur: EventAttr;
! 1035: onsubmit: EventAttr;
! 1036: onreset: EventAttr;
! 1037: onchange: EventAttr;
! 1038: onselect: EventAttr;
! 1039: ID : CssId; {Default id attribute}
! 1040: Class: CssClass, DuplicateAttr;
! 1041: External_Object_Content: Hidden, NoSpellCheck;
! 1042: Embed_: NoBreakByReturn, NoReplicate, NoSpellCheck;
! 1043: Embed_Content: Hidden, NoSelect;
! 1044: Object: NoBreakByReturn, NoReplicate, IsImg;
! 1045: Object_Content: Hidden, NoSelect, NoCreate, NoCut, NoBreakByReturn;
! 1046: Applet: NoBreakByReturn, NoReplicate;
! 1047: Applet_Content: Hidden, NoSelect, NoCreate, NoCut, NoBreakByReturn;
! 1048: IFRAME: NoBreakByReturn, NoReplicate, NoSpellCheck;
! 1049: Iframe_Content: Hidden, NoSelect, NoCut, NoBreakByReturn;
! 1050: Iframe_Src_Content: Hidden, NoCut, NoSelect;
! 1051: is_css: Invisible;
! 1052: Start: StartCounter;
! 1053: ItemValue: SetCounter;
! 1054: xml_space: SpacePreserve;
1.1 cvs 1055: END
Webmaster