Diff for /Amaya/amaya/HTML.S between versions 1.225 and 1.226

version 1.225, 2006/09/06 14:31:21 version 1.226, 2006/09/28 14:21:41
Line 49  STRUCT Line 49  STRUCT
      (ATTR ShowAreas = Yes_;       (ATTR ShowAreas = Yes_;
            PrintURL = Yes_; PI = Text;             PrintURL = Yes_; PI = Text;
            Namespaces = Text; RealLang = Yes_; Charset = Text) =             Namespaces = Text; RealLang = Yes_; Charset = Text) =
         BEGIN          BEGIN
         HEAD;          HEAD;
       ? BODY;   { only one of BODY, document type }        ? BODY;        { only one of BODY, document type }
       ? FRAMESET;        ? FRAMESET;
         END + (Invalid_element, Unknown_namespace, XHTML_Unknown_namespace, Comment\240, XMLPI, CDATA);          END + (Invalid_element, Unknown_namespace, XHTML_Unknown_namespace, Comment\240, XMLPI, CDATA);
                   
   DOCTYPE = LIST OF (DOCTYPE_line = TEXT);    DOCTYPE = LIST OF (DOCTYPE_line = TEXT);
                   
   Invalid_element = TEXT;    Invalid_element = TEXT;
   
   Unknown_namespace = TEXT;    Unknown_namespace = TEXT;
Line 66  STRUCT Line 66  STRUCT
   Comment\240 = LIST OF (Comment_line = TEXT) - (Comment\240);    Comment\240 = LIST OF (Comment_line = TEXT) - (Comment\240);
   
   XMLPI (ATTR is_css = Text) = LIST OF (PI_line = TEXT);    XMLPI (ATTR is_css = Text) = LIST OF (PI_line = TEXT);
                   
   CDATA = LIST OF (CDATA_line = TEXT);    CDATA = LIST OF (CDATA_line = TEXT);
   
   HEAD                                                          { HEAD }    HEAD                                                                { HEAD }
      (ATTR profile = Text) =       (ATTR profile = Text) =
         AGGREGATE          AGGREGATE
         Document_URL = TEXT - (STYLE_, SCRIPT_, META, LINK);          Document_URL = TEXT - (STYLE_, SCRIPT_, META, LINK);
         TITLE = TEXT - (STYLE_, SCRIPT_, META, LINK);           { TITLE }          TITLE = TEXT - (STYLE_, SCRIPT_, META, LINK);                { TITLE }
       ? ISINDEX (ATTR Prompt = Text) = CONSTANT C_Empty;        { ISINDEX }        ? ISINDEX (ATTR Prompt = Text) = CONSTANT C_Empty;        { ISINDEX }
                     { prompt }                      { prompt }
       ? BASE;                                                   { BASE }        ? BASE;                                                        { BASE }
         END + (Object, STYLE_, SCRIPT_, META, LINK);          END + (Object, STYLE_, SCRIPT_, META, LINK);
   
   STYLE_                                                        { STYLE }    STYLE_                                                        { STYLE }
      (ATTR !Notation = Text; media = Text) =       (ATTR !Notation = Text; media = Text) =
          {  type             media }           {  type             media }
          TEXT - (STYLE_, SCRIPT_, META, LINK);           TEXT - (STYLE_, SCRIPT_, META, LINK);
   
   SCRIPT_                                                       { SCRIPT }    SCRIPT_                                                        { SCRIPT }
      (ATTR charset = Text; !content_type = Text;       (ATTR charset = Text; !content_type = Text;
          { charset          type }           { charset          type }
            script_language = Text; script_src = Text;             script_language = Text; script_src = Text;
          { language                src }           { language                src }
            defer = Yes_; event = Text; for_ = Text) =             defer = Yes_; event = Text; for_ = Text) =
          { defer         event         for }           { defer         event         for }
         TEXT - (STYLE_, SCRIPT_, META, LINK) with content_type ?= 'text/javascript';          TEXT - (STYLE_, SCRIPT_, META, LINK) with content_type ?= 'text/javascript';
   
   META                                                          { META }    META                                                                { META }
      (ATTR http_equiv = Text;       (ATTR http_equiv = Text;
          { http-equiv }           { http-equiv }
            meta_name = Text; !meta_content = Text;             meta_name = Text; !meta_content = Text;
          { name               content }           { name               content }
            scheme = Text) =             scheme = Text) =
          { scheme }           { scheme }
         CONSTANT C_Empty;          CONSTANT C_Empty;
   
   LINK                                                          { LINK }    LINK                                                                { LINK }
      (ATTR charset; HREF_ = Text; hreflang = Text;       (ATTR charset; HREF_ = Text; hreflang = Text;
          { charset  href          hreflang }           { charset  href          hreflang }
            Link_type = Text; REL = Text; REV = Text;             Link_type = Text; REL = Text; REV = Text;
          { type              rel         rev }           { type              rel         rev }
            media; target_ = Text) =             media; target_ = Text) =
          { media  target }           { media  target }
         CONSTANT C_Empty;          CONSTANT C_Empty;
   
   BASE                                                          { BASE }    BASE                                                                { BASE }
      (ATTR !HREF_; target_) =       (ATTR !HREF_; target_) =
           { href   target }            { href   target }
         CONSTANT C_Empty;          CONSTANT C_Empty;
   
         IMG                                                     { IMG }          IMG                                                        { IMG }
             (ATTR !SRC = Text; !ALT = Text; longdesc = Text;              (ATTR !SRC = Text; !ALT = Text; longdesc = Text;
                 {  src          alt         longdesc }                  {  src          alt         longdesc }
                   Height_ = Text; Width__ = Text;                    Height_ = Text; Width__ = Text;
                 { height          width }                  { height          width }
                   IntWidthPercent = Integer; IntWidthPxl = Integer;                    IntWidthPercent = Integer; IntWidthPxl = Integer;
                   IntHeightPercent = Integer; IntHeightPxl = Integer;                    IntHeightPercent = Integer; IntHeightPxl = Integer;
                   USEMAP = Text; ISAMAP = Yes_;                    USEMAP = Text; ISAMAP = Yes_;
                 { usemap         ismap }                  { usemap         ismap }
                   Alignment = Top_, Middle_, Bottom_, Left_, Right_;                    Alignment = Top_, Middle_, Bottom_, Left_, Right_;
                 { align       top   middle   bottom   left   right }                  { align       top   middle   bottom   left   right }
                   Img_border = Integer;                    Img_border = Integer;
                 { border }                  { border }
                   hspace = Integer; vspace = Integer) =                    hspace = Integer; vspace = Integer) =
                 { hspace            vspace }                  { hspace            vspace }
     BEGIN      BEGIN
             PICTURE (ATTR SRC);              PICTURE (ATTR SRC);
     END;      END;
   
   BODY                                                          { BODY }    BODY                                                                { BODY }
      (ATTR onload = Text; onunload = Text;       (ATTR onload = Text; onunload = Text;
          { onload         onunload }           { onload         onunload }
            background_ = Text; BackgroundColor = Text;             background_ = Text; BackgroundColor = Text;
          { background          bgcolor }           { background          bgcolor }
            TextColor = Text; LinkColor = Text;             TextColor = Text; LinkColor = Text;
          { text              link }           { text              link }
            VisitedLinkColor = Text; ActiveLinkColor = Text) =             VisitedLinkColor = Text; ActiveLinkColor = Text) =
          { vlink                    alink }           { vlink                    alink }
         LIST OF (Element) + (INS, DEL);          LIST OF (Element) + (INS, DEL);
   
   Element = CASE OF                                             { block }    Element = CASE OF                                                { block }
         Paragraph;                                              { P }          Paragraph;                                                { P }
         Pseudo_paragraph;          Pseudo_paragraph;
         Heading;                                                { heading }          Heading;                                                { heading }
         List_;                                                  { list + DL }          List_;                                                        { list + DL }
         Preformatted;                                           { PRE preformatted }          Preformatted;                                                { PRE preformatted }
         Division;                                               { DIV }          Division;                                                { DIV }
         Center;                                                 { CENTER }          Center;                                                        { CENTER }
         SCRIPT_;                                                { SCRIPT }          SCRIPT_;                                                { SCRIPT }
         NOSCRIPT = LIST OF (Element) - (SCRIPT_);               { NOSCRIPT }          NOSCRIPT = LIST OF (Element) - (SCRIPT_);                { NOSCRIPT }
         Block_Quote;                                            { BLOCKQUOTE }          Block_Quote;                                                { BLOCKQUOTE }
         Form;                                                   { FORM }          Form;                                                        { FORM }
         ISINDEX;                                                { ISINDEX }          ISINDEX;                                                { ISINDEX }
         Horizontal_Rule;                                        { HR }          Horizontal_Rule;                                        { HR }
         Table_;                                                 { TABLE }          Table_;                                                        { TABLE }
         FIELDSET;                                               { FIELDSET }          FIELDSET;                                                { FIELDSET }
         Address;                                                { ADDRESS }          Address;                                                { ADDRESS }
         IMG;                                                    { IMG }          IMG;                                                          { IMG }
         Object;                                                 { OBJECT }          Object;                                                        { OBJECT }
         Applet;                                                 { APPLET }          Applet;                                                        { APPLET }
         MathML;                                           { MATH }          MathML;                                                  { MATH }
   SVG;                            { SVG }    SVG;                                  { SVG }
   XLink;                                                        { Annotations }    XLink;                                                        { Annotations }
         External_Object           { IMG type=svg}          External_Object                  { IMG type=svg}
             (ATTR SRC;              (ATTR SRC;
                 { src }                  { src }
                   Height_; Width__;                    Height_; Width__;
                 { height   width }                  { height   width }
                   IntWidthPercent; IntWidthPxl;                    IntWidthPercent; IntWidthPxl;
                   IntHeightPercent; IntHeightPxl;                    IntHeightPercent; IntHeightPxl;
                   USEMAP; ISAMAP;                    USEMAP; ISAMAP;
                 { usemap  ismap }                  { usemap  ismap }
                   NAME = Text;                    NAME = Text;
                 { name }                  { name }
                   Alignment;                    Alignment;
                 { align   top   middle   bottom   left   right }                  { align   top   middle   bottom   left   right }
                   Img_border;                    Img_border;
                 { border }                  { border }
                   hspace; vspace) =                    hspace; vspace) =
                 { hspace  vspace }                  { hspace  vspace }
                  BEGIN                   BEGIN
                  External_Object_Content;                   External_Object_Content;
                  END;                   END;
         Embed_                                          { EMBED }          Embed_                                                { EMBED }
             (ATTR SRC;              (ATTR SRC;
                   Alignment;                    Alignment;
                 { align   top   bottom   left   right }                  { align   top   bottom   left   right }
                   Height_; Width__;                    Height_; Width__;
                 { height   width }                  { height   width }
                   EmbedHidden = Yes_, No_;                    EmbedHidden = Yes_, No_;
                 { hidden        yes   no }                  { hidden        yes   no }
                   EmbedName = Text;                    EmbedName = Text;
                 { name }                  { name }
                   hspace; vspace;                    hspace; vspace;
                 { hspace  vspace }                  { hspace  vspace }
                   Embed_type = Text;                    Embed_type = Text;
                 { type }                  { type }
                   pluginspage = Text;                    pluginspage = Text;
                   pluginurl = Text;                     pluginurl = Text; 
                 ) =                       ) =        
                 BEGIN                  BEGIN
                 Embed_Content;                  Embed_Content;
                 END;                  END;
         END;          END;
   
         HTMLfragment = LIST OF (Element);          HTMLfragment = LIST OF (Element);
         External_Object_Content = NATURE;          External_Object_Content = NATURE;
         Embed_Content = NATURE;          Embed_Content = NATURE;
   
   Block_Quote                                                   { BLOCKQUOTE }    Block_Quote                                                        { BLOCKQUOTE }
      (ATTR cite = Text;       (ATTR cite = Text;
          { cite }           { cite }
            InternalLink = Reference(Any); ExternalLink = Yes_) =             InternalLink = Reference(Any); ExternalLink = Yes_) =
         LIST OF (Element);          LIST OF (Element);
   
   Horizontal_Rule                                               { HR }    Horizontal_Rule                                                { HR }
      (ATTR Align = left_, center_, right_;       (ATTR Align = left_, center_, right_;
          { align   left   center   right }           { align   left   center   right }
            NoShade = NoShade_; Size_ = Integer; Width__;             NoShade = NoShade_; Size_ = Integer; Width__;
          { noshade             size             width }           { noshade             size             width }
            IntWidthPercent; IntWidthPxl) =             IntWidthPercent; IntWidthPxl) =
         CONSTANT C_Empty;          CONSTANT C_Empty;
   
   Basic_Set = LIST OF (Basic_Elem);    Basic_Set = LIST OF (Basic_Elem);
   
   { Paragraph must be the first element defined as a Basic_Set, to make    { Paragraph must be the first element defined as a Basic_Set, to make
     sure that the editor will create a Paragraph when the user wants to      sure that the editor will create a Paragraph when the user wants to
     create a Basic_Elem }      create a Basic_Elem }
   Paragraph                                                     { P }    Paragraph                                                        { P }
      (ATTR TextAlign = left_, center_, right_, justify_) =       (ATTR TextAlign = left_, center_, right_, justify_) =
          { align       left   center   right   justify }           { align       left   center   right   justify }
         Basic_Set;          Basic_Set;
   
   Address = Basic_Set;    Address = Basic_Set;
   
   Pseudo_paragraph = Basic_Set;    Pseudo_paragraph = Basic_Set;
   
   Heading = CASE OF                                             { heading }    Heading = CASE OF                                                { heading }
         H1 (ATTR TextAlign) = Basic_Set;                        { H1 }          H1 (ATTR TextAlign) = Basic_Set;                        { H1 }
                { align }                 { align }
         H2 (ATTR TextAlign) = Basic_Set;                        { H2 }          H2 (ATTR TextAlign) = Basic_Set;                        { H2 }
         H3 (ATTR TextAlign) = Basic_Set;                        { H3 }          H3 (ATTR TextAlign) = Basic_Set;                        { H3 }
         H4 (ATTR TextAlign) = Basic_Set;                        { H4 }          H4 (ATTR TextAlign) = Basic_Set;                        { H4 }
         H5 (ATTR TextAlign) = Basic_Set;                        { H5 }          H5 (ATTR TextAlign) = Basic_Set;                        { H5 }
         H6 (ATTR TextAlign) = Basic_Set;                        { H6 }          H6 (ATTR TextAlign) = Basic_Set;                        { H6 }
         END;          END;
   
   Preformatted                                                  { PRE }    Preformatted                                                        { PRE }
      (ATTR Width__; IntWidthPercent; IntWidthPxl) =       (ATTR Width__; IntWidthPercent; IntWidthPxl) =
          { width }           { width }
         Basic_Set          Basic_Set
              - (IMG, Object, Applet,               - (IMG, Object, Applet,
                 Big_text, Small_text, Subscript, Superscript,                  Big_text, Small_text, Subscript, Superscript,
                 Font_, BaseFont, External_Object);                  Font_, BaseFont, External_Object);
   
   Anchor                                                        { A }    Anchor                                                        { A }
      (ATTR charset; Link_type; NAME;       (ATTR charset; Link_type; NAME;
          { charset  type       name }           { charset  type       name }
            HREF_; hreflang; target_;             HREF_; hreflang; target_;
          { href   hreflang  target}           { href   hreflang  target}
            REL; REV; accesskey = Text;             REL; REV; accesskey = Text;
          { rel  rev  accesskey }           { rel  rev  accesskey }
            shape = rectangle, circle, polygon, default_;             shape = rectangle, circle, polygon, default_;
          { shape   rect       cirecle poly     default }           { shape   rect       cirecle poly     default }
            coords = Text; tabindex = Integer;             coords = Text; tabindex = Integer;
          { coords         tabindex }           { coords         tabindex }
            onfocus = Text; onblur = Text;             onfocus = Text; onblur = Text;
          { onfocus         onblur }           { onfocus         onblur }
            InternalLink; ExternalLink;             InternalLink; ExternalLink;
          { InternalLink  ExternalLink }) =           { InternalLink  ExternalLink }) =
         Basic_Set;          Basic_Set;
   
   Basic_Elem = CASE OF                                          { special }    Basic_Elem = CASE OF                                                { special }
         TEXT;          TEXT;
         Font;                                                   { fontstyle }          Font;                                                        { fontstyle }
         Phrase;                                                 { phrase }          Phrase;                                                        { phrase }
         Form_Element;                                           { formctrl }          Form_Element;                                           { formctrl }
         Anchor;                                                 { A }          Anchor;                                                        { A }
         IMG;                                            { IMG }          IMG;                                                { IMG }
         Applet;                                                 { APPLET }          Applet;                                                        { APPLET }
         Font_;                                                  { FONT }          Font_;                                                        { FONT }
         BaseFont;                                               { BASEFONT }          BaseFont;                                                { BASEFONT }
         BR;                                                     { BR }          BR;                                                        { BR }
         SCRIPT_;                                                { SCRIPT }          SCRIPT_;                                                { SCRIPT }
         Quotation;                                              { Q }          Quotation;                                                { Q }
         Subscript = Basic_Set;                                  { SUB }          Subscript = Basic_Set;                                        { SUB }
         Superscript = Basic_Set;                                { SUP }          Superscript = Basic_Set;                                { SUP }
         Span = Basic_Set;                                       { SPAN }          Span = Basic_Set;                                        { SPAN }
   map; MAP;                                             { MAP }    map; MAP;                                                { MAP }
         BDO (ATTR !dir) = Basic_Set;                            { BDO }          BDO (ATTR !dir) = Basic_Set;                                { BDO }
         Object;                                                 { OBJECT }          Object;                                                        { OBJECT }
         Embed_;                                                 { EMBED }          Embed_;                                                        { EMBED }
         IFRAME;                                                 { IFRAME }          IFRAME;                                                        { IFRAME }
         ruby;                                                   { ruby }          ruby;                                                   { ruby }
         MathML;                                                 { MATH }          MathML;                                                        { MATH }
         XLink;                                                  { Annotations }          XLink;                                                        { Annotations }
   Template;           { XTiger }    Template;           { XTiger }
         External_Object;                                        { External Object }          External_Object;                                        { External Object }
         END;          END;
   
   BaseFont                                                      { BASEFONT }    BaseFont                                                        { BASEFONT }
      (ATTR !BaseFontSize = Integer; BaseFontColor = Text;       (ATTR !BaseFontSize = Integer; BaseFontColor = Text;
          {  size                    color }           {  size                    color }
            BaseFontFace = Text) =             BaseFontFace = Text) =
          { face }           { face }
         CONSTANT C_Empty;          CONSTANT C_Empty;
   
   BR                                                            { BR }    BR                                                                { BR }
      (ATTR Clear_ = Left_, Right_, All_, None_) =       (ATTR Clear_ = Left_, Right_, All_, None_) =
          { clear    left   right   all   none }           { clear    left   right   all   none }
         CONSTANT C_BR;          CONSTANT C_BR;
   
   Quotation                                                     { Q }    Quotation                                                        { Q }
      (ATTR cite; InternalLink; ExternalLink) =       (ATTR cite; InternalLink; ExternalLink) =
          { cite }           { cite }
         Basic_Set;          Basic_Set;
   
   Font = CASE OF                { fontstyle }    Font = CASE OF                { fontstyle }
         Teletype_text = Basic_Set;      { TT }          Teletype_text = Basic_Set;        { TT }
         Italic_text = Basic_Set;        { I }          Italic_text = Basic_Set;        { I }
         Bold_text = Basic_Set;          { B }          Bold_text = Basic_Set;                { B }
         Underlined_text = Basic_Set;    { U }          Underlined_text = Basic_Set;        { U }
         Struck_text = Basic_Set;        { S or STRIKE }          Struck_text = Basic_Set;        { S or STRIKE }
         Big_text = Basic_Set;           { BIG }          Big_text = Basic_Set;                { BIG }
         Small_text = Basic_Set;         { SMALL }          Small_text = Basic_Set;                { SMALL }
         END;          END;
   
   Phrase = CASE OF              { phrase }    Phrase = CASE OF                { phrase }
         Emphasis = Basic_Set;           { EM }          Emphasis = Basic_Set;                { EM }
         Strong = Basic_Set;             { STRONG }          Strong = Basic_Set;                { STRONG }
         Def = Basic_Set;                { DFN }          Def = Basic_Set;                { DFN }
         Code = Basic_Set;               { CODE }          Code = Basic_Set;                { CODE }
         Sample = Basic_Set;             { SAMP }          Sample = Basic_Set;                { SAMP }
         Keyboard = Basic_Set;           { KBD }          Keyboard = Basic_Set;                { KBD }
         Variable_ = Basic_Set;          { VAR }          Variable_ = Basic_Set;                { VAR }
         Cite = Basic_Set;               { CITE }          Cite = Basic_Set;                { CITE }
         ABBR = Basic_Set;               { ABBR }          ABBR = Basic_Set;                { ABBR }
         ACRONYM = Basic_Set;            { ACRONYM }          ACRONYM = Basic_Set;                { ACRONYM }
         END;          END;
   
   Font_                                                         { FONT }    Font_                                                                { FONT }
      (ATTR Font_size = Text; color = Text; face = Text;       (ATTR Font_size = Text; color = Text; face = Text;
          { size              color            face }           { size              color              face }
            IntSizeIncr = Integer; IntSizeDecr = Integer;             IntSizeIncr = Integer; IntSizeDecr = Integer;
            IntSizeRel = Integer) =             IntSizeRel = Integer) =
         Basic_Set;          Basic_Set;
   
   Applet                                                        { APPLET }    Applet                                                        { APPLET }
      (ATTR codebase = Text; archive = Text; code = Text;       (ATTR codebase = Text; archive = Text; code = Text;
          { codebase         archive         code }           { codebase         archive         code }
            object = Text; alt = Text; applet_name = Text;             object = Text; alt = Text; applet_name = Text;
          { object         alt         name }           { object         alt         name }
            !Width__; IntWidthPercent; IntWidthPxl;             !Width__; IntWidthPercent; IntWidthPxl;
          {  width }           {  width }
            !Height_; IntHeightPercent; IntHeightPxl;             !Height_; IntHeightPercent; IntHeightPxl;
          {  height }           {  height }
            Alignment; hspace; vspace) =             Alignment; hspace; vspace) =
          { align      hspace  vspace }           { align      hspace  vspace }
         LIST OF (Applet_Content = CASE OF          LIST OF (Applet_Content = CASE OF
                                   Parameter;                    { PARAM }                                    Parameter;                        { PARAM }
                                   Basic_Set;                                    Basic_Set;
                                   END);                                    END);
   Parameter                                                     { PARAM }    Parameter                                                        { PARAM }
      (ATTR !Param_name = Text; Param_value = Text;       (ATTR !Param_name = Text; Param_value = Text;
          { name               value }           { name               value }
            valuetype = data_, ref, object_;             valuetype = data_, ref, object_;
          { valuetype   data   ref  object }           { valuetype   data   ref  object }
            Param_type = Text) =             Param_type = Text) =
          { type }           { type }
         CONSTANT C_Empty;          CONSTANT C_Empty;
   
   Object                                                        { OBJECT }    Object                                                        { OBJECT }
      (ATTR declare = declare_; classid = Text; codebase;       (ATTR declare = declare_; classid = Text; codebase;
          { declare            classid         codebase }           { declare            classid         codebase }
            data = Text; Object_type = Text;             data = Text; Object_type = Text;
          { data         type }           { data         type }
            codetype = Text; archive; standby = Text;             codetype = Text; archive; standby = Text;
          { codetype         archive  standby }           { codetype         archive  standby }
            Height_; Width__;             Height_; Width__;
            IntWidthPercent; IntWidthPxl;              IntWidthPercent; IntWidthPxl; 
            IntHeightPercent; IntHeightPxl;             IntHeightPercent; IntHeightPxl;
          {  height    width }           {  height    width }
            USEMAP; NAME; tabindex; Alignment; Img_border;             USEMAP; NAME; tabindex; Alignment; Img_border;
          { usemap  name  tabindex  align      border }           { usemap  name  tabindex  align      border }
            hspace; vspace) =             hspace; vspace) =
          { hspace  vspace }           { hspace  vspace }
         BEGIN          BEGIN
         PICTURE;          PICTURE;
         Object_Content = LIST OF (ElemOrParam = CASE OF          Object_Content = LIST OF (ElemOrParam = CASE OF
                                     Element; Parameter; END);   { PARAM }                                      Element; Parameter; END);   { PARAM }
         END;          END;
   
   INS                                                           { INS }    INS                                                                { INS }
      (ATTR cite; datetime = Text; InternalLink; ExternalLink) =       (ATTR cite; datetime = Text; InternalLink; ExternalLink) =
          { cite  datetime }           { cite  datetime }
         Basic_Set;          Basic_Set;
   
   DEL                                                           { DEL }    DEL                                                                { DEL }
      (ATTR cite; datetime; InternalLink; ExternalLink) =       (ATTR cite; datetime; InternalLink; ExternalLink) =
          { cite  datetime }           { cite  datetime }
         Basic_Set;          Basic_Set;
   
   Block = CASE OF {Block}    Block = CASE OF {Block}
         Paragraph;          Paragraph;
         Pseudo_paragraph;          Pseudo_paragraph;
         Heading;          Heading;
         List_;          List_;
         Preformatted;          Preformatted;
         Division;          Division;
         Center;          Center;
         Block_Quote;          Block_Quote;
         Form;          Form;
         Horizontal_Rule;          Horizontal_Rule;
         Table_;          Table_;
         Address;          Address;
         IMG;          IMG;
         Object;          Object;
         Applet;          Applet;
         MathML;          MathML;
   SVG;    SVG;
   XLink;    XLink;
         External_Object;          External_Object;
         Embed_;          Embed_;
         END;          END;
   
   Division                                                      { DIV }    Division                                                        { DIV }
      (ATTR TextAlign) =       (ATTR TextAlign) =
          { align }           { align }
         LIST OF (Element);          LIST OF (Element);
   
   Center =                                                      { CENTER }    Center =                                                        { CENTER }
         LIST OF (Element);          LIST OF (Element);
   
   List_ = CASE OF                                               { list }    List_ = CASE OF                                                { list }
         Unnumbered_List;                                        { UL }          Unnumbered_List;                                         { UL }
         Numbered_List;                                          { OL }          Numbered_List;                                                { OL }
         Directory;                                              { DIR }          Directory;                                                { DIR }
         Menu;                                                   { MENU }          Menu;                                                        { MENU }
         Definition_List;                                        { DL }          Definition_List;                                        { DL }
         END;          END;
   
   Unnumbered_List                                               { UL }    Unnumbered_List                                                 { UL }
      (ATTR BulletStyle = disc_, circle_, square_;       (ATTR BulletStyle = disc_, circle_, square_;
          { type          disc   circle   square }           { type          disc   circle   square }
            COMPACT = Yes_) =             COMPACT = Yes_) =
          { compact }           { compact }
         LIST OF (List_Item);          LIST OF (List_Item);
   
   Numbered_List                                                 { OL }    Numbered_List                                                        { OL }
      (ATTR NumberStyle = Arabic_, LowerAlpha, UpperAlpha,       (ATTR NumberStyle = Arabic_, LowerAlpha, UpperAlpha,
          { type          1        a           A }           { type          1        a           A }
            LowerRoman_, UpperRoman_;             LowerRoman_, UpperRoman_;
          { i            I }           { i            I }
            Start = Integer; COMPACT) =             Start = Integer; COMPACT) =
          { start            compact }           { start            compact }
         LIST OF (List_Item);          LIST OF (List_Item);
   
   Directory                                                     { DIR }    Directory                                                        { DIR }
      (ATTR COMPACT) =       (ATTR COMPACT) =
          { compact }           { compact }
         LIST OF (List_Item);          LIST OF (List_Item);
   
   Menu                                                          { MENU }    Menu                                                                { MENU }
      (ATTR COMPACT) =       (ATTR COMPACT) =
          { compact }           { compact }
         LIST OF (List_Item);          LIST OF (List_Item);
   
   List_Item                                                     { LI }    List_Item                                                        { LI }
      (ATTR ItemStyle = disc_, circle_, square_, Arabic_,       (ATTR ItemStyle = disc_, circle_, square_, Arabic_,
          { type        disc   circle   square   1 }           { type        disc   circle   square   1 }
            LowerAlpha, UpperAlpha, LowerRoman_, UpperRoman_;             LowerAlpha, UpperAlpha, LowerRoman_, UpperRoman_;
          { a           A           i            I }           { a           A           i            I }
            ItemValue = Integer) =             ItemValue = Integer) =
          { value }           { value }
         LIST OF (Block);          LIST OF (Block);
   
   Definition_List                                               { DL }    Definition_List                                                { DL }
      (ATTR COMPACT) =       (ATTR COMPACT) =
          { compact }           { compact }
         LIST OF (Definition_Item);          LIST OF (Definition_Item);
   
   Definition_Item = BEGIN    Definition_Item = BEGIN
         Term_List = LIST OF (Term = Basic_Set);                 { DT }          Term_List = LIST OF (Term = Basic_Set);                        { DT }
       ? Definitions = LIST OF (Definition = LIST OF (Block));   { DD }        ? Definitions = LIST OF (Definition = LIST OF (Block));        { DD }
         END;          END;
   
   Form                                                          { FORM }    Form                                                                { FORM }
      (ATTR !Script_URL = Text; METHOD = Get_, Post_;       (ATTR !Script_URL = Text; METHOD = Get_, Post_;
          {  action             method }           {  action             method }
            ENCTYPE = Text; onsubmit = Text; onreset = Text;             ENCTYPE = Text; onsubmit = Text; onreset = Text;
          { enctype         onsubmit         onreset }           { enctype         onsubmit         onreset }
            target_; accept_charset = Text) =             target_; accept_charset = Text) =
          { target   accept-charset }           { target   accept-charset }
         LIST OF (Element) + (Input) - (Form);          LIST OF (Element) + (Input) - (Form);
   
   Form_Element = CASE OF    Form_Element = CASE OF
         Input;                                                  { INPUT }          Input;                                                  { INPUT }
         Option_Menu;                                            { SELECT }          Option_Menu;                                                { SELECT }
         Text_Area;                                              { TEXTAREA }          Text_Area;                                                 { TEXTAREA }
         LABEL;                                                  { LABEL }          LABEL;                                                  { LABEL }
         BUTTON_;                                                { BUTTON }          BUTTON_;                                                { BUTTON }
         END;          END;
   
   Option_Menu                                                   { SELECT }    Option_Menu                                                   { SELECT }
      (ATTR  NAME; MenuSize = Integer; Multiple = Yes_;       (ATTR  NAME; MenuSize = Integer; Multiple = Yes_;
          {  name  size                multiple }           {  name  size                multiple }
             disabled = Yes_; tabindex; onfocus; onblur;              disabled = Yes_; tabindex; onfocus; onblur;
           { disabled         tabindex  onfocus  onblur}            { disabled         tabindex  onfocus  onblur}
             onchange = Text) =              onchange = Text) =
           { onchange }            { onchange }
         LIST OF (Option_item = CASE OF Option; OptGroup; END) - (Input);          LIST OF (Option_item = CASE OF Option; OptGroup; END) - (Input);
   
   Option                                                        { OPTION }    Option                                                        { OPTION }
      (ATTR Selected = Yes_; DefaultSelected = Yes_; ShowMe = Yes_;       (ATTR Selected = Yes_; DefaultSelected = Yes_; ShowMe = Yes_;
          { selected }           { selected }
            disabled; label = Text; Value_ = Text) =             disabled; label = Text; Value_ = Text) =
          { disabled  label         value }           { disabled  label         value }
         TEXT;          TEXT;
   
   OptGroup                                                      { OPTGROUP }    OptGroup                                                        { OPTGROUP }
      (ATTR disabled; !label) =       (ATTR disabled; !label) =
          { disabled   label }           { disabled   label }
         LIST OF (Option);          LIST OF (Option);
   
   Text_Area                                                     { TEXTAREA }    Text_Area                                                        { TEXTAREA }
      (ATTR NAME; !Rows = Integer; !Columns = Integer;       (ATTR NAME; !Rows = Integer; !Columns = Integer;
          { name   rows             cols }           { name   rows             cols }
            disabled; readonly = Yes_; tabindex; accesskey;             disabled; readonly = Yes_; tabindex; accesskey;
          { disabled  readonly         tabindex  accesskey  }           { disabled  readonly         tabindex  accesskey  }
            onfocus; onblur; onselect = Text; onchange;             onfocus; onblur; onselect = Text; onchange;
          { onfocus  onblur  onselect         onchange }           { onfocus  onblur  onselect         onchange }
            Default_Value = Text) =             Default_Value = Text) =
         Input_Text - (Input) {with Rows ?= 4, Columns ?= 20};          Input_Text - (Input) {with Rows ?= 4, Columns ?= 20};
   
   FIELDSET =                                                    { FIELDSET }    FIELDSET =                                                        { FIELDSET }
         BEGIN          BEGIN
         LEGEND;          LEGEND;
         Basic_Set;          Basic_Set;
         END;          END;
   
   LEGEND                                                        { LEGEND }    LEGEND                                                        { LEGEND }
      (ATTR accesskey; LAlign = Top_, Bottom_, Left_, Right_) =       (ATTR accesskey; LAlign = Top_, Bottom_, Left_, Right_) =
          { accesskey  align    top   bottom   left   right }           { accesskey  align    top   bottom   left   right }
         Basic_Set;          Basic_Set;
   
   Input = CASE OF                                       { formctrl }    Input = CASE OF                                        { formctrl }
     Text_Input                                  { INPUT / TEXT }      Text_Input                                        { INPUT / TEXT }
            (ATTR  type = Text;             (ATTR  type = Text;
             NAME; Value_; disabled; readonly;              NAME; Value_; disabled; readonly;
           { type name  value   disabled  readonly }            { type name  value   disabled  readonly }
                   Area_Size = Integer; MaxLength = Integer;                    Area_Size = Integer; MaxLength = Integer;
                 { size                 maxlength }                  { size                 maxlength }
                   IntAreaSize = Integer;                    IntAreaSize = Integer;
                   tabindex; accesskey;                    tabindex; accesskey;
                 { tabindex  accesskey }                  { tabindex  accesskey }
                   onfocus; onblur; onselect; onchange;                    onfocus; onblur; onselect; onchange;
                 { onfocus  onblur  onselect  onchange }                  { onfocus  onblur  onselect  onchange }
                   Default_Value) =                    Default_Value) =
                 Input_Text - (Input) with type = 'text';                  Input_Text - (Input) with type = 'text';
   
     Password_Input                                      { INPUT / PASSWORD }      Password_Input                                        { INPUT / PASSWORD }
            (ATTR  type; NAME; Value_; disabled; readonly; ALT;             (ATTR  type; NAME; Value_; disabled; readonly; ALT;
                 { type name  value   disabled  readonly alt}                  { type name  value   disabled  readonly alt}
                   Area_Size; IntAreaSize; MaxLength;                    Area_Size; IntAreaSize; MaxLength;
                 { size                    maxlength }                  { size                    maxlength }
                   tabindex; accesskey;                    tabindex; accesskey;
                 { tabindex  accesskey }                  { tabindex  accesskey }
                   onfocus; onblur; onselect; onchange;                    onfocus; onblur; onselect; onchange;
                 { onfocus  onblur  onselect  onchange }                  { onfocus  onblur  onselect  onchange }
                   Default_Value) =                    Default_Value) =
                 Input_Text  - (Input) with type = 'password';                  Input_Text  - (Input) with type = 'password';
   
     File_Input                                  { INPUT / FILE }      File_Input                                        { INPUT / FILE }
            (ATTR  type; NAME; Value_; disabled; readonly; ALT;             (ATTR  type; NAME; Value_; disabled; readonly; ALT;
                 { type name  value   disabled  readonly alt }                  { type name  value   disabled  readonly alt }
                   Area_Size; IntAreaSize; MaxLength;                    Area_Size; IntAreaSize; MaxLength;
                 { size                    maxlength }                  { size                    maxlength }
                   tabindex; accesskey;                    tabindex; accesskey;
                 { tabindex  accesskey }                  { tabindex  accesskey }
                   onfocus; onblur; accept = Text;                    onfocus; onblur; accept = Text;
                 { onfocus  onblur }                  { onfocus  onblur }
                   Default_Value) =                    Default_Value) =
                 Input_Text - (Input) with type = 'file';                  Input_Text - (Input) with type = 'file';
   
     Checkbox_Input                                      { INPUT / CHECKBOX }      Checkbox_Input                                        { INPUT / CHECKBOX }
            (ATTR  type; NAME; Value_; Checked = Yes_, No_; ALT;             (ATTR  type; NAME; Value_; Checked = Yes_, No_; ALT;
                 { type name  value   checked alt }                  { type name  value   checked alt }
                   disabled; readonly;                    disabled; readonly;
                 { disabled  readonly }                  { disabled  readonly }
                   tabindex; accesskey; onfocus; onblur;                    tabindex; accesskey; onfocus; onblur;
                 { tabindex  accesskey  onfocus  onblur }                  { tabindex  accesskey  onfocus  onblur }
                   DefaultChecked = Yes_, No_) =                    DefaultChecked = Yes_, No_) =
                 CONSTANT C_Empty with Checked ?= No_, type = 'checkbox';                  CONSTANT C_Empty with Checked ?= No_, type = 'checkbox';
   
     Image_Input                                 { INPUT / IMAGE }      Image_Input                                        { INPUT / IMAGE }
            (ATTR  type; NAME; Value_; !SRC; ALT;             (ATTR  type; NAME; Value_; !SRC; ALT;
                 { type name  value src alt }                  { type name  value src alt }
                   Area_Size; IntWidthPxl;                    Area_Size; IntWidthPxl;
                 { size }                  { size }
                   USEMAP; ISAMAP;                    USEMAP; ISAMAP;
                 { usemap  ismap }                  { usemap  ismap }
                   disabled; readonly; tabindex; accesskey;                    disabled; readonly; tabindex; accesskey;
                 { disabled  readonly  tabindex  accesskey }                  { disabled  readonly  tabindex  accesskey }
                   onfocus; onblur;) =                    onfocus; onblur;) =
                 { onfocus  onblur }                  { onfocus  onblur }
                 BEGIN                  BEGIN
       PICTURE;                  PICTURE;
                 END with NAME ?= 'radio', type = 'image';                  END with NAME ?= 'radio', type = 'image';
   
     Radio_Input                                 { INPUT / RADIO }      Radio_Input                                        { INPUT / RADIO }
            (ATTR  type; NAME; Value_; Checked; ALT;             (ATTR  type; NAME; Value_; Checked; ALT;
                 { type name  value   checked  disabled alt }                  { type name  value   checked  disabled alt }
                   disabled; readonly; tabindex; accesskey;                    disabled; readonly; tabindex; accesskey;
                 { disabled  readonly  tabindex  accesskey }                  { disabled  readonly  tabindex  accesskey }
                   onfocus; onblur;                    onfocus; onblur;
                 { onfocus  onblur }                  { onfocus  onblur }
                   DefaultChecked) =                    DefaultChecked) =
                 CONSTANT C_Empty with Checked ?= No_, NAME ?= 'radio', type = 'radio';                  CONSTANT C_Empty with Checked ?= No_, NAME ?= 'radio', type = 'radio';
   
     Submit_Input                                        { INPUT / SUBMIT }      Submit_Input                                        { INPUT / SUBMIT }
            (ATTR  type; NAME; Value_; disabled; readonly; ALT;             (ATTR  type; NAME; Value_; disabled; readonly; ALT;
                 { type name  value   disabled; readonly alt }                  { type name  value   disabled; readonly alt }
                   tabindex; accesskey;                    tabindex; accesskey;
                 { tabindex  accesskey }                  { tabindex  accesskey }
                   onfocus; onblur) =                    onfocus; onblur) =
                 { onfocus  onblur }                  { onfocus  onblur }
     BEGIN      BEGIN
     CONSTANT C_Empty;        CONSTANT C_Empty;
     END with Value_ ?= 'Submit', type = 'submit';      END with Value_ ?= 'Submit', type = 'submit';
   
     Reset_Input                                 { INPUT / RESET }      Reset_Input                                        { INPUT / RESET }
            (ATTR  type; NAME; Value_; disabled; readonly; ALT;             (ATTR  type; NAME; Value_; disabled; readonly; ALT;
                 { type name  value   disabled  readonly alt }                  { type name  value   disabled  readonly alt }
                   tabindex; accesskey;                    tabindex; accesskey;
                 { tabindex  accesskey }                  { tabindex  accesskey }
                   onfocus; onblur) =                    onfocus; onblur) =
                 { onfocus  onblur }                  { onfocus  onblur }
                 BEGIN                  BEGIN
                 CONSTANT C_Empty;                  CONSTANT C_Empty;
                 END  - (Input) with NAME ?= 'Reset', Value_ ?= 'Reset', type = 'reset';                  END  - (Input) with NAME ?= 'Reset', Value_ ?= 'Reset', type = 'reset';
   
     Button_Input                                        { INPUT / BUTTON }      Button_Input                                        { INPUT / BUTTON }
            (ATTR  type; NAME; Value_; disabled; readonly; ALT;             (ATTR  type; NAME; Value_; disabled; readonly; ALT;
                 { type name  value   disabled  readonly alt }                  { type name  value   disabled  readonly alt }
                   tabindex; accesskey;                    tabindex; accesskey;
                 { tabindex  accesskey }                  { tabindex  accesskey }
                   onfocus; onblur) =                    onfocus; onblur) =
                 { onfocus  onblur }                  { onfocus  onblur }
                 BEGIN                  BEGIN
                 CONSTANT C_Empty;                  CONSTANT C_Empty;
                 END with type = 'button';                  END with type = 'button';
   
     Hidden_Input                                        { INPUT / HIDDEN }      Hidden_Input                                        { INPUT / HIDDEN }
            (ATTR  type; NAME; Value_; disabled; ALT;             (ATTR  type; NAME; Value_; disabled; ALT;
                 { type name  value   disabled alt }                  { type name  value   disabled alt }
                   tabindex; accesskey;                    tabindex; accesskey;
                 { tabindex  accesskey }                  { tabindex  accesskey }
                   onfocus; onblur) =                    onfocus; onblur) =
                 { onfocus  onblur }                  { onfocus  onblur }
                 CONSTANT C_Empty with type = 'hidden';                  CONSTANT C_Empty with type = 'hidden';
   
     BUTTON_                                             { BUTTON }      BUTTON_                                                { BUTTON }
            (ATTR  NAME; Value_;             (ATTR  NAME; Value_;
                 { name  value }                  { name  value }
                   Button_type = button, submit, reset;                    Button_type = button, submit, reset;
                 { button  submit  reset }                  { button  submit  reset }
                   disabled; tabindex; accesskey;                    disabled; tabindex; accesskey;
                 { disabled  tabindex  accesskey }                  { disabled  tabindex  accesskey }
                   onfocus; onblur) =                    onfocus; onblur) =
                 { onfocus  onblur }                  { onfocus  onblur }
                 Basic_Set - (Anchor, Input, Form, FIELDSET, IFRAME);                  Basic_Set - (Anchor, Input, Form, FIELDSET, IFRAME);
         LABEL                                           { LABEL }      LABEL                                                { LABEL }
            (ATTR  Associated_control = TEXT;             (ATTR  Associated_control = TEXT;
                 { for }                  { for }
                   accesskey; onfocus; onblur) =                    accesskey; onfocus; onblur) =
                 { accesskey  onfocus  onblur }                  { accesskey  onfocus  onblur }
                 Basic_Set;                  Basic_Set;
   
     Option_Menu;                                        { SELECT }      Option_Menu;                                        { SELECT }
     Text_Area;                                  { TEXTAREA }      Text_Area;                                        { TEXTAREA }
         END;      END;
   
   Input_Text = BEGIN    Input_Text = BEGIN
   Inserted_Text = TEXT;          Inserted_Text = TEXT;
         END;          END;
   
   Table_                                                        { TABLE }    Table_                                                        { TABLE }
      (ATTR summary = Text; Width__; Border = Integer;       (ATTR summary = Text; Width__; Border = Integer;
          { summary         width    border }           { summary         width    border }
            frame = void, above, below, hsides, lhs, rhs,             frame = void, above, below, hsides, lhs, rhs,
          { frame   void  above  below  hsides  lhs  rhs  }           { frame   void  above  below  hsides  lhs  rhs  }
                    vsides, box, border;                     vsides, box, border;
          {         vsides  box  border }           {           vsides  box  border }
            rules_ = none_, groups, rows, cols, all;             rules_ = none_, groups, rows, cols, all;
          { rules    none   groups  rows  cols  all }           { rules    none   groups  rows  cols  all }
            cellspacing = Integer; cellpadding = Integer;             cellspacing = Integer; cellpadding = Integer;
          { cellspacing            cellpadding }           { cellspacing                  cellpadding }
            Align; BackgroundColor;             Align; BackgroundColor;
          { align  bgcolor }           { align  bgcolor }
            datapagesize = Text; IntWidthPxl; IntWidthPercent) =             datapagesize = Text; IntWidthPxl; IntWidthPercent) =
          { datapagesize }           { datapagesize }
         BEGIN          BEGIN
       ? CAPTION;                                                { CAPTION }        ?        CAPTION;                                                { CAPTION }
       ? Cols = LIST OF (Col_elem = CASE OF        ? Cols = LIST OF (Col_elem = CASE OF
                                 COL;                            { COL }                                  COL;                                { COL }
                                 COLGROUP;                       { COLGROUP }                                  COLGROUP;                        { COLGROUP }
                                 END);                                  END);
         Table_head = LIST OF (Column_head);          Table_head = LIST OF (Column_head);
       ? thead;                                                  { THEAD }        ? thead;                                                        { THEAD }
         Table_body = LIST OF (tbody);          Table_body = LIST OF (tbody);
       ? tfoot;                                                  { TFOOT }        ? tfoot;                                                        { TFOOT }
         END;          END;
   
   CAPTION                                                       { CAPTION }    CAPTION                                                        { CAPTION }
      (ATTR Position = Position_top, Position_bottom,       (ATTR Position = Position_top, Position_bottom,
          { align      top           bottom }           { align      top           bottom }
            Position_left, Position_right) =             Position_left, Position_right) =
          { left           right }           { left           right }
         Basic_Set;          Basic_Set;
   
   COLGROUP                                                      { COLGROUP }    COLGROUP                                                        { COLGROUP }
     (ATTR Cell_align = Cell_left, Cell_center, Cell_right,      (ATTR Cell_align = Cell_left, Cell_center, Cell_right,
         { align        left       center       right }          { align        left       center       right }
                        Cell_justify, Cell_char;                         Cell_justify, Cell_char;
         {              justify       char }          {               justify       char }
           Cell_valign = Cell_top, Cell_middle, Cell_bottom, Cell_baseline;            Cell_valign = Cell_top, Cell_middle, Cell_bottom, Cell_baseline;
         { valign        top       middle       bottom       baseline }          { valign        top       middle       bottom       baseline }
           Width__; span_ = Integer)            Width__; span_ = Integer)
         { width    span }          { width    span }
          = LIST OF (COL);           = LIST OF (COL);
   
   COL                                                           { COL }    COL                                                                { COL }
     (ATTR Cell_align; Cell_valign; Width__; span_)      (ATTR Cell_align; Cell_valign; Width__; span_)
         { align       valign       width    span }          { align       valign       width    span }
          = CONSTANT C_Empty;           = CONSTANT C_Empty;
   
   Column_head (ATTR IntWidthPercent; IntWidthPxl) =    Column_head (ATTR IntWidthPercent; IntWidthPxl) =
         CONSTANT C_Head;          CONSTANT C_Head;
   
   thead                                                         { THEAD }    thead                                                                { THEAD }
      (ATTR Cell_align; char = Text; charoff = Text;        (ATTR Cell_align; char = Text; charoff = Text; 
            Row_valign = Row_top, Row_middle, Row_bottom, Row_baseline) =             Row_valign = Row_top, Row_middle, Row_bottom, Row_baseline) =
          { valign       top      middle      bottom      baseline }           { valign       top      middle      bottom      baseline }
         LIST OF (Table_row);          LIST OF (Table_row);
   
   tbody                                                          { TBODY }    tbody                                                                 { TBODY }
      (ATTR Cell_align; char; charoff; Row_valign) =       (ATTR Cell_align; char; charoff; Row_valign) =
         LIST OF (Table_row);          LIST OF (Table_row);
   
   tfoot                                                         { TFOOT }    tfoot                                                                { TFOOT }
      (ATTR Cell_align; char; charoff; Row_valign) =       (ATTR Cell_align; char; charoff; Row_valign) =
         LIST OF (Table_row);          LIST OF (Table_row);
   
   Table_row                                                     { TR }    Table_row                                                        { TR }
      (ATTR Cell_align; char; charoff; Row_valign;       (ATTR Cell_align; char; charoff; Row_valign;
          { align       char  charoff  valign }           { align       char  charoff  valign }
            BackgroundColor; IntHeightPxl) =             BackgroundColor; IntHeightPxl) =
          { bgcolor          Special attribute to control row span }           { bgcolor          Special attribute to control row span }
         LIST OF (Table_cell);          LIST OF (Table_cell);
   
   Table_cell = CASE OF    Table_cell = CASE OF
         Data_cell;                                              { TD }          Data_cell;                                                { TD }
         Heading_cell;                                           { TH }          Heading_cell;                                                { TH }
         END;          END;
   
   Data_cell                                                     { TD }    Data_cell                                                        { TD }
      (ATTR Ref_column = REFERENCE(Column_head);       (ATTR Ref_column = REFERENCE(Column_head);
            ColExt = REFERENCE(Column_head);             ColExt = REFERENCE(Column_head);
            RowExt = REFERENCE(Table_row);             RowExt = REFERENCE(Table_row);
            abbr = Text; axis = Text; headers = Text; scope = Text;             abbr = Text; axis = Text; headers = Text; scope = Text;
          { abbr         axis         headers         scope }           { abbr         axis         headers         scope }
            rowspan_ = INTEGER; colspan_ = INTEGER;             rowspan_ = INTEGER; colspan_ = INTEGER;
          { rowspan             colspan }           { rowspan             colspan }
            Cell_align; char; charoff; Cell_valign;             Cell_align; char; charoff; Cell_valign;
          { align       char  charoff  valign }           { align       char  charoff  valign }
            No_wrap = no_wrap; BackgroundColor;             No_wrap = no_wrap; BackgroundColor;
          { nowrap             bgcolor }           { nowrap             bgcolor }
            Width__; IntWidthPxl; IntWidthPercent;             Width__; IntWidthPxl; IntWidthPercent;
            Height_;  IntHeightPercent; IntHeightPxl;) =             Height_;  IntHeightPercent; IntHeightPxl;) =
          { width    height }           { width    height }
         LIST OF (Element);          LIST OF (Element);
   
   Heading_cell                                                  { TH }    Heading_cell                                                        { TH }
      (ATTR Ref_column; ColExt; RowExt;       (ATTR Ref_column; ColExt; RowExt;
            abbr; axis; headers; scope;             abbr; axis; headers; scope;
          { abbr  axis  headers  scope }           { abbr  axis  headers  scope }
            rowspan_; colspan_;             rowspan_; colspan_;
          { rowspan   colspan }           { rowspan   colspan }
            Cell_align; char; charoff; Cell_valign;             Cell_align; char; charoff; Cell_valign;
          { align       char  charoff  valign }           { align       char  charoff  valign }
            No_wrap; BackgroundColor;             No_wrap; BackgroundColor;
          { nowrap   bgcolor }           { nowrap   bgcolor }
            Width__; IntWidthPxl; IntWidthPercent;             Width__; IntWidthPxl; IntWidthPercent;
            Height_;  IntHeightPercent; IntHeightPxl) =             Height_;  IntHeightPercent; IntHeightPxl) =
          { width    height }           { width    height }
         LIST OF (Element);          LIST OF (Element);
   
   MAP                                                           { MAP }    MAP                                                                { MAP }
      (ATTR NAME; Ref_IMG = REFERENCE(Any)) =       (ATTR NAME; Ref_IMG = REFERENCE(Any)) =
          { name linked to an image}           { name linked to an image}
         LIST OF (ElemOrArea = CASE OF Element; AREA; END);          LIST OF (ElemOrArea = CASE OF Element; AREA; END);
   
   map                                                           { MAP }    map                                                                { MAP }
      (ATTR NAME) =       (ATTR NAME) =
          { name }           { name }
         LIST OF (Element);          LIST OF (Element);
   
   AREA                                                          { AREA }    AREA                                                                { AREA }
      (ATTR shape; coords; HREF_; target_; nohref = Yes_; !ALT;       (ATTR shape; coords; HREF_; target_; nohref = Yes_; !ALT;
          { shape  coords  href   target   nohref          alt }           { shape  coords  href   target   nohref          alt }
            tabindex; accesskey; onfocus; onblur;             tabindex; accesskey; onfocus; onblur;
          { tabindex  accesskey  onfocus  onblur }           { tabindex  accesskey  onfocus  onblur }
            x_coord = Integer; y_coord = Integer; IntWidthPxl;             x_coord = Integer; y_coord = Integer; IntWidthPxl;
            IntHeightPxl; AreaRef_IMG = REFERENCE(Any)) =             IntHeightPxl; AreaRef_IMG = REFERENCE(Any)) =
         GRAPHICS with x_coord ?= 0, y_coord ?= 0,          GRAPHICS with x_coord ?= 0, y_coord ?= 0,
                       IntWidthPxl ?= 25, IntHeightPxl ?= 10;                        IntWidthPxl ?= 25, IntHeightPxl ?= 10;
   
   FRAMESET                                                      { FRAMESET }    FRAMESET                                                        { FRAMESET }
      (ATTR RowHeight = Text; ColWidth = Text;       (ATTR RowHeight = Text; ColWidth = Text;
          { rows              cols }           { rows              cols }
            onload; onunload) =             onload; onunload) =
          { onload  onunload }           { onload  onunload }
         AGGREGATE          AGGREGATE
         Frames = LIST [1 .. *] OF (FrameElem = CASE OF          Frames = LIST [1 .. *] OF (FrameElem = CASE OF
                                         FRAME;                                          FRAME;
                                         FRAMESET;                                          FRAMESET;
                                         END - (NOFRAMES));                                          END - (NOFRAMES));
       ? NOFRAMES = BODY + (INS, DEL);                           { NOFRAMES }        ? NOFRAMES = BODY + (INS, DEL);                                { NOFRAMES }
         END;          END;
   
   FRAME                                                         { FRAME }    FRAME                                                                { FRAME }
      (ATTR longdesc; NAME; FrameSrc = Text;       (ATTR longdesc; NAME; FrameSrc = Text;
          { longdesc  name  src }           { longdesc  name  src }
            frameborder = Border1, Border0;             frameborder = Border1, Border0;
          { frameborder   1        0 }           { frameborder   1        0 }
            marginwidth = Integer; marginheight = Integer;             marginwidth = Integer; marginheight = Integer;
          { marginwidth            marginheight }           { marginwidth            marginheight }
            no_resize = Yes_; scrolling = Yes_, No_, auto_) =             no_resize = Yes_; scrolling = Yes_, No_, auto_) =
          { noresize          scrolling   yes   no   auto }           { noresize          scrolling   yes   no   auto }
         CONSTANT C_Empty;          CONSTANT C_Empty;
   
   IFRAME                                                        { IFRAME }    IFRAME                                                        { IFRAME }
      (ATTR longdesc; NAME; FrameSrc; frameborder;       (ATTR longdesc; NAME; FrameSrc; frameborder;
          { longdesc  name  src       frameborder }           { longdesc  name  src       frameborder }
            marginwidth; marginheight; scrolling;             marginwidth; marginheight; scrolling;
          { marginwidth  marginheight  scrolling }           { marginwidth  marginheight  scrolling }
            Alignment; Width__; Height_) =             Alignment; Width__; Height_) =
          { align      width    height }           { align      width    height }
         BEGIN          BEGIN
         Iframe_Src_Content= NATURE;          Iframe_Src_Content= NATURE;
         Iframe_Content = LIST OF (Element);                     { flow }          Iframe_Content = LIST OF (Element);                     { flow }
         END;          END;
   
   ruby =                                                        { ruby }    ruby =                                                        { ruby }
         CASE OF          CASE OF
         simple_ruby;          simple_ruby;
         complex_ruby;          complex_ruby;
         END;          END;
   
   simple_ruby =                                                 { ruby }    simple_ruby =                                                 { ruby }
         BEGIN          BEGIN
         rb = Basic_Set - (simple_ruby, complex_ruby);          rb = Basic_Set - (simple_ruby, complex_ruby);
         RtOrRtWithPar = CASE OF          RtOrRtWithPar = CASE OF
               rt (ATTR rbspan = Integer) =                rt (ATTR rbspan = Integer) =
                   Basic_Set - (simple_ruby, complex_ruby);                    Basic_Set - (simple_ruby, complex_ruby);
               RtWithPar = BEGIN                RtWithPar = BEGIN
                   rp = TEXT;                    rp = TEXT;
                   rt;                    rt;
                   rp;                    rp;
                   END;                    END;
               END;                END;
         END;          END;
   
   complex_ruby =                                               { ruby }    complex_ruby =                                               { ruby }
         BEGIN          BEGIN
         rbc = LIST OF (rb);          rbc = LIST OF (rb);
         rtc1 = LIST OF (rt);          rtc1 = LIST OF (rt);
       ? rtc2 = LIST OF (rt);        ? rtc2 = LIST OF (rt);
         END;              END;        
                   
   { AnyLink is an alias for all elements with an attribute    { AnyLink is an alias for all elements with an attribute
     of type URI.  Only elements to be shown in the Links view      of type URI.  Only elements to be shown in the Links view
     are taken into account }      are taken into account }
   AnyLink = CASE OF    AnyLink = CASE OF
         Anchor;         { HREF_ }          Anchor;                { HREF_ }
         Block_Quote;    { cite }          Block_Quote;        { cite }
         Quotation;      { cite }          Quotation;        { cite }
         INS;            { cite }          INS;                { cite }
         DEL;            { cite }          DEL;                { cite }
         END;          END;
   
 EXCEPT  EXCEPT
         HTML:           NoMove, NoResize;          HTML:           NoMove, NoResize;
         BODY:           NoCut, CssBackground, NoMove, NoResize,          BODY:           NoCut, CssBackground, NoMove, NoResize,
                         SetWindowBackground, NoBreakByReturn;                          SetWindowBackground, NoBreakByReturn;
         HEAD:           NoCut;          HEAD:           NoCut;
         TITLE:          NoCut, NoSpellCheck;          TITLE:          NoCut, NoSpellCheck;
         Document_URL:   Hidden, NoSpellCheck, NoCut;          Document_URL:   Hidden, NoSpellCheck, NoCut;
         C_Empty:        Hidden, NoSpellCheck, NoSelect;          C_Empty:        Hidden, NoSpellCheck, NoSelect;
         C_BR:           SelectParent;          C_BR:           SelectParent;
         Frames:         Hidden;          Frames:         Hidden;
         FRAMESET:       NoCreate;       { prevent a Return at the end of the          FRAMESET:       NoCreate;        { prevent a Return at the end of the
                                           document from creating a FRAMESET }                                            document from creating a FRAMESET }
         Inserted_Text:  Hidden, NoCut, NoSpellCheck, CheckAllChars;          Inserted_Text:  Hidden, NoCut, NoSpellCheck, CheckAllChars;
         Basic_Set:      Hidden;          Basic_Set:      Hidden;
         Definition_Item:Hidden;          Definition_Item:Hidden;
         Term_List:      Hidden, CanCut;          Term_List:      Hidden, CanCut;
         Definitions:    Hidden;          Definitions:    Hidden;
   XMLPI:                ReturnCreateNL, NoSpellCheck, NoReplicate, NotAnElementNode;          XMLPI:          ReturnCreateNL, NoSpellCheck, NoReplicate, NotAnElementNode;
         Comment\240:    ReturnCreateNL, NoSpellCheck, NoReplicate, NotAnElementNode;          Comment\240:    ReturnCreateNL, NoSpellCheck, NoReplicate, NotAnElementNode;
         Comment_line:   Hidden, MarkupPreserve;          Comment_line:   Hidden, MarkupPreserve;
         PI_line:        Hidden, MarkupPreserve;          PI_line:        Hidden, MarkupPreserve;
         DOCTYPE:        NoCut, NoSpellCheck, NotAnElementNode;          DOCTYPE:        NoCut, NoSpellCheck, NotAnElementNode;
         DOCTYPE_line:   Hidden, NoCut;          DOCTYPE_line:   Hidden, NoCut;
   CDATA_line:     Hidden, MarkupPreserve;          CDATA_line:     Hidden, MarkupPreserve;
         GRAPHICS:       NoMove, NoResize, SelectParent;          GRAPHICS:       NoMove, NoResize, SelectParent;
         TEXT:           NoMove, NoResize;          TEXT:           NoMove, NoResize;
         PICTURE:        MoveResize;          PICTURE:        MoveResize;
         Invalid_element:NoCreate;          Invalid_element:NoCreate;
         Unknown_namespace:NoCreate;          Unknown_namespace:NoCreate;
         XHTML_Unknown_namespace:NoCreate;          XHTML_Unknown_namespace:NoCreate;
   BR:           IsBreak;          BR:             IsBreak;
         Pseudo_paragraph: ParagraphBreak, Hidden;          Pseudo_paragraph: ParagraphBreak, Hidden;
         Basic_Elem:     Hidden;          Basic_Elem:     Hidden;
         Paragraph:      ParagraphBreak;          Paragraph:      ParagraphBreak;
         H1:             ParagraphBreak;          H1:             ParagraphBreak;
         H2:             ParagraphBreak;          H2:             ParagraphBreak;
         H3:             ParagraphBreak;          H3:             ParagraphBreak;
         H4:             ParagraphBreak;          H4:             ParagraphBreak;
         H5:             ParagraphBreak;          H5:             ParagraphBreak;
         H6:             ParagraphBreak;          H6:             ParagraphBreak;
         Address:        ParagraphBreak;          Address:        ParagraphBreak;
         Term:           ParagraphBreak;          Term:           ParagraphBreak;
         MAP:            IsDraw, IsMap, NoReplicate;          MAP:            IsDraw, IsMap, NoReplicate;
   IMG:    IsImg, NoReplicate;          IMG:            IsImg, NoReplicate;
         AREA:           MoveResize, ClickableSurface, HighlightChildren;          AREA:           MoveResize, ClickableSurface, HighlightChildren;
   Anchor: ClickableSurface;          Anchor:         ClickableSurface;
         Form:           NoReplicate;          Form:           NoReplicate;
   Image_Input: IsImg, NoReplicate;          Image_Input:    IsImg, NoReplicate;
         Password_Input: Shadow, NoReplicate;          Password_Input: Shadow, NoReplicate;
   Text_Input: NoReplicate;          Text_Input:     NoReplicate;
   File_Input: NoReplicate;          File_Input:     NoReplicate;
   Checkbox_Input: NoReplicate;          Checkbox_Input: NoReplicate;
   Radio_Input: NoReplicate;          Radio_Input:    NoReplicate;
   Submit_Input: NoReplicate;          Submit_Input:   NoReplicate;
   Reset_Input: NoReplicate;          Reset_Input:    NoReplicate;
   Hidden_Input: NoReplicate;          Hidden_Input:   NoReplicate;
   Button_Input: NoReplicate;          Button_Input:   NoReplicate;
   BUTTON_: NoReplicate;          BUTTON_:        NoReplicate;
         Preformatted:   ReturnCreateNL, NoReplicate;          Preformatted:   ReturnCreateNL, NoReplicate;
         STYLE_:         ReturnCreateNL, NoSpellCheck, NoReplicate;          STYLE_:         ReturnCreateNL, NoSpellCheck, NoReplicate;
         SCRIPT_:        ReturnCreateNL, NoReplicate;          SCRIPT_:        ReturnCreateNL, NoReplicate;
         Text_Area:      ReturnCreateNL, NoReplicate;          Text_Area:      ReturnCreateNL, NoReplicate;
         HTMLfragment:   NoMove, NoResize, Hidden, NoBreakByReturn;          HTMLfragment:   NoMove, NoResize, Hidden, NoBreakByReturn;
         Division:       NoMove, NoResize;          Division:       NoMove, NoResize;
   
         ExternalLink:   Invisible;          ExternalLink:   Invisible;
         InternalLink:   Invisible;          InternalLink:   Invisible;
         IntWidthPercent:NewPercentWidth, Invisible;          IntWidthPercent:NewPercentWidth, Invisible;
         IntWidthPxl:    NewWidth, Invisible;          IntWidthPxl:    NewWidth, Invisible;
         IntHeightPercent: Invisible;          IntHeightPercent:Invisible;
         IntHeightPxl:   NewHeight, Invisible;          IntHeightPxl:   NewHeight, Invisible;
         IntAreaSize:    Invisible;          IntAreaSize:    Invisible;
         IntSizeIncr:    Invisible;          IntSizeIncr:    Invisible;
         IntSizeDecr:    Invisible;          IntSizeDecr:    Invisible;
         IntSizeRel:     Invisible;          IntSizeRel:     Invisible;
         x_coord:        Invisible, NewHPos;          x_coord:        Invisible, NewHPos;
         y_coord:        Invisible, NewVPos;          y_coord:        Invisible, NewVPos;
         Ref_IMG:        Invisible;          Ref_IMG:        Invisible;
         AreaRef_IMG:    Invisible;          AreaRef_IMG:    Invisible;
         Invalid_attribute: Invisible;          Invalid_attribute: Invisible;
         Unknown_attribute: Invisible;          Unknown_attribute: Invisible;
         Highlight:      Invisible;          Highlight:      Invisible;
         PseudoClass:    Invisible, CssPseudoClass;          PseudoClass:    Invisible, CssPseudoClass;
         Default_Value:  Invisible;          Default_Value:  Invisible;
         DefaultSelected:Invisible;          DefaultSelected:Invisible;
         ShowMe:         Invisible;          ShowMe:         Invisible;
         DefaultChecked: Invisible;          DefaultChecked: Invisible;
         ShowAreas:      Invisible;          ShowAreas:      Invisible;
         PrintURL:       Invisible;          PrintURL:       Invisible;
         NoImages:       Invisible;          NoImages:       Invisible;
         NoObjects:      Invisible;          NoObjects:      Invisible;
         Namespaces:     Invisible;          Namespaces:     Invisible;
         RealLang:       Invisible;          RealLang:       Invisible;
         Charset:        Invisible;          Charset:        Invisible;
         PI:             Invisible;          PI:             Invisible;
         shape:          Invisible;          shape:          Invisible;
         Data_cell:      IsCell, NoMove, NoResize, NoBreakByReturn;          Data_cell:      IsCell, NoMove, NoResize, NoBreakByReturn;
         Heading_cell:   IsCell, NoMove, NoResize, NoBreakByReturn;          Heading_cell:   IsCell, NoMove, NoResize, NoBreakByReturn;
         Table_cell:     IsCell, NoMove, NoResize, NoBreakByReturn;          Table_cell:     IsCell, NoMove, NoResize, NoBreakByReturn;
         Table_:         IsTable, PageBreak, NoReplicate, NoBreakByReturn;          Table_:         IsTable, PageBreak, NoReplicate, NoBreakByReturn;
   CAPTION:  IsCaption;          CAPTION:        IsCaption;
         Column_head:    IsColHead, NoCut, Hidden, NoBreakByReturn;          Column_head:    IsColHead, NoCut, Hidden, NoBreakByReturn;
         Table_head:     NoCut, Hidden, NoSelect, NoBreakByReturn;          Table_head:     NoCut, Hidden, NoSelect, NoBreakByReturn;
         C_Head:         Hidden, NoSelect;          C_Head:         Hidden, NoSelect;
         Cols:           Hidden, NoSelect, NoCreate;          Cols:           Hidden, NoSelect, NoCreate;
         Table_body:     PageBreakAllowed, Hidden, NoBreakByReturn;          Table_body:     PageBreakAllowed, Hidden, NoBreakByReturn;
   thead:                NoBreakByReturn;           thead:          NoBreakByReturn; 
   tbody:                NoBreakByReturn;          tbody:          NoBreakByReturn;
   tfoot:                NoBreakByReturn;          tfoot:          NoBreakByReturn;
         Table_row:      IsRow, PageBreakPlace, NoBreakByReturn;          Table_row:      IsRow, PageBreakPlace, NoBreakByReturn;
   rbc:          Hidden;          rbc:            Hidden;
   rtc1:         Hidden;          rtc1:           Hidden;
   rtc2:         Hidden;          rtc2:           Hidden;
         ColExt:         Invisible;          ColExt:         Invisible;
         RowExt:         Invisible;          RowExt:         Invisible;
         Ref_column:     ColRef, Invisible;          Ref_column:     ColRef, Invisible;
         colspan_:       ColSpan;          colspan_:       ColSpan;
         rowspan_:       RowSpan;          rowspan_:       RowSpan;
         Ghost_restruct: Invisible;          Ghost_restruct: Invisible;
   IntEntity:    Invisible;          IntEntity:      Invisible;
   EntityName:   Invisible;          EntityName:     Invisible;
         onclick:        EventAttr;          onclick:        EventAttr;
         ondblclick:     EventAttr;          ondblclick:     EventAttr;
         onmousedown:    EventAttr;          onmousedown:    EventAttr;
         onmouseup:      EventAttr;          onmouseup:      EventAttr;
         onmouseover:    EventAttr;          onmouseover:    EventAttr;
         onmousemove:    EventAttr;          onmousemove:    EventAttr;
         onmouseout:     EventAttr;          onmouseout:     EventAttr;
         onkeypress:     EventAttr;          onkeypress:     EventAttr;
         onkeydown:      EventAttr;          onkeydown:      EventAttr;
         onkeyup:        EventAttr;          onkeyup:        EventAttr;
         onload:         EventAttr;          onload:         EventAttr;
         onunload:       EventAttr;          onunload:       EventAttr;
         onfocus:        EventAttr;          onfocus:        EventAttr;
         onblur:         EventAttr;          onblur:         EventAttr;
         onsubmit:       EventAttr;          onsubmit:       EventAttr;
         onreset:        EventAttr;          onreset:        EventAttr;
         onchange:       EventAttr;          onchange:       EventAttr;
         onselect:       EventAttr;          onselect:       EventAttr;
         ID :            CssId; {Default id attribute}          ID :            CssId; {Default id attribute}
         Class:          CssClass, DuplicateAttr;          Class:          CssClass, DuplicateAttr;
         External_Object_Content: Hidden, NoSpellCheck;          External_Object_Content: Hidden, NoSpellCheck;
         Embed_:         NoBreakByReturn, NoReplicate, NoSpellCheck;          Embed_:         NoBreakByReturn, NoReplicate, NoSpellCheck;
         Embed_Content:  Hidden, NoSelect;          Embed_Content:  Hidden, NoSelect;
         Object:         NoBreakByReturn, NoReplicate, IsImg;          Object:         NoBreakByReturn, NoReplicate, IsImg;
         Object_Content: Hidden, NoSelect, NoCreate, NoCut, NoBreakByReturn;          Object_Content: Hidden, NoSelect, NoCreate, NoCut, NoBreakByReturn;
         Applet:         NoBreakByReturn, NoReplicate;          Applet:         NoBreakByReturn, NoReplicate;
         Applet_Content: Hidden, NoSelect, NoCreate, NoCut, NoBreakByReturn;          Applet_Content: Hidden, NoSelect, NoCreate, NoCut, NoBreakByReturn;
         IFRAME:         NoBreakByReturn, NoReplicate, NoSpellCheck;          IFRAME:         NoBreakByReturn, NoReplicate, NoSpellCheck;
         Iframe_Content: Hidden, NoSelect, NoCut, NoBreakByReturn;          Iframe_Content: Hidden, NoSelect, NoCut, NoBreakByReturn;
         Iframe_Src_Content: Hidden, NoCut, NoSelect;          Iframe_Src_Content: Hidden, NoCut, NoSelect;
         is_css:         Invisible;          is_css:         Invisible;
   Start:                StartCounter;          Start:          StartCounter;
   ItemValue:    SetCounter;          ItemValue:      SetCounter;
         xml_space:      SpacePreserve;          xml_space:      SpacePreserve;
 END  END

Removed from v.1.225  
changed lines
  Added in v.1.226


Webmaster