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