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