home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2000 April / VPR0004A.BIN / OLS / HTMLLINT / htmllint.lzh / html401-strict.rul < prev    next >
Text File  |  1999-11-06  |  67KB  |  1,970 lines

  1. # HTML4.01 Strict
  2.  
  3. #======= ELEMENTS =======
  4. $emptyTags = 'AREA|BASE|BR|COL|HR|IMG|INPUT|LINK|META|PARAM';
  5. $pairTags = 'A|ABBR|ACRONYM|ADDRESS|B|BDO|BIG|BLOCKQUOTE|BODY|BUTTON|CAPTION'.
  6.             '|CITE|CODE|COLGROUP|DD|DEL|DFN|DIV|DL|DT|EM|FIELDSET|FORM|H1|H2'.
  7.             '|H3|H4|H5|H6|HEAD|HTML|I|INS|KBD|LABEL|LEGEND|LI|MAP|NOSCRIPT'.
  8.             '|OBJECT|OL|OPTGROUP|OPTION|P|PRE|Q|SAMP|SCRIPT|SELECT|SMALL|SPAN'.
  9.             '|STRONG|STYLE|SUB|SUP|TABLE|TBODY|TD|TEXTAREA|TFOOT|TH|THEAD'.
  10.             '|TITLE|TR|TT|UL|VAR';
  11. $deprecatedTags = '';
  12. $omitStartTags = 'BODY|HEAD|HTML|TBODY';
  13. $omitEndTags = 'BODY|COLGROUP|DD|DT|HEAD|HTML|LI|OPTION|P|TBODY|TD|TFOOT|TH'.
  14.                '|THEAD|TR';
  15. #$maybeEmpty = 'A|ABBR|ACRONYM|ADDRESS|B|BDO|BIG|BUTTON|CAPTION|CITE|CODE'.
  16. #              '|COLGROUP|DD|DEL|DFN|DIV|DT|EM|H1|H2|H3|H4|H5|H6|I|INS|KBD'.
  17. #              '|LABEL|LEGEND|LI|OBJECT|OPTION|P|PRE|Q|SAMP|SCRIPT|SMALL|SPAN'.
  18. #              '|STRONG|STYLE|SUB|SUP|TD|TEXTAREA|TH|TITLE|TT|VAR';
  19. $maybeEmpty = 'COLGROUP|OBJECT|PRE|SCRIPT|STYLE|TEXTAREA|TD|TH';
  20. %requiredTags = (
  21.   'FIELDSET' => 'LEGEND',
  22.   'HEAD'     => 'TITLE',
  23.   'HTML'     => 'HEAD|BODY',
  24.   'TABLE'    => 'TBODY',
  25. );
  26. %onceonlyTags = (
  27.   'FIELDSET' => 'LEGEND',
  28.   'HEAD'     => 'TITLE|BASE',
  29.   'HTML'     => 'HEAD|BODY',
  30.   'TABLE'    => 'CAPTION|THEAD|TFOOT',
  31. );
  32. $sequencialTags = 'TABLE|FIELDSET|HTML';
  33. %tagsElements = (
  34.   '#000'       => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  35.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  36.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA|ADDRESS'.
  37.                   '|FIELDSET|TABLE|HR|FORM|BLOCKQUOTE|NOSCRIPT|DIV|DL|PRE|OL'.
  38.                   '|UL|H6|H5|H4|H3|H2|H1|P',
  39.   '#001'       => 'COLGROUP|COL',
  40.   'A'          => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  41.                   '|SCRIPT|BR|OBJECT|IMG|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE'.
  42.                   '|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  43.   'ABBR'       => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  44.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  45.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  46.   'ACRONYM'    => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  47.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  48.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  49.   'ADDRESS'    => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  50.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  51.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  52.   'B'          => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  53.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  54.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  55.   'BDO'        => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  56.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  57.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  58.   'BIG'        => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  59.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  60.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  61.   'BLOCKQUOTE' => 'SCRIPT|ADDRESS|FIELDSET|TABLE|HR|FORM|BLOCKQUOTE|NOSCRIPT'.
  62.                   '|DIV|DL|PRE|OL|UL|H6|H5|H4|H3|H2|H1|P',
  63.   'BODY'       => 'SCRIPT|ADDRESS|FIELDSET|TABLE|HR|FORM|BLOCKQUOTE|NOSCRIPT'.
  64.                   '|DIV|DL|PRE|OL|UL|H6|H5|H4|H3|H2|H1|P|INS|DEL',
  65.   'BUTTON'     => 'BDO|SPAN|SUP|SUB|Q|MAP|SCRIPT|BR|OBJECT|IMG|ACRONYM|ABBR'.
  66.                   '|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT'.
  67.                   '|#PCDATA|ADDRESS|TABLE|HR|BLOCKQUOTE|NOSCRIPT|DIV|DL|PRE'.
  68.                   '|OL|UL|H6|H5|H4|H3|H2|H1|P',
  69.   'CAPTION'    => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  70.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  71.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  72.   'CITE'       => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  73.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  74.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  75.   'CODE'       => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  76.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  77.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  78.   'COLGROUP'   => 'COL',
  79.   'DD'         => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  80.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  81.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA|ADDRESS'.
  82.                   '|FIELDSET|TABLE|HR|FORM|BLOCKQUOTE|NOSCRIPT|DIV|DL|PRE|OL'.
  83.                   '|UL|H6|H5|H4|H3|H2|H1|P',
  84.   'DEL'        => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  85.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  86.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA|ADDRESS'.
  87.                   '|FIELDSET|TABLE|HR|FORM|BLOCKQUOTE|NOSCRIPT|DIV|DL|PRE|OL'.
  88.                   '|UL|H6|H5|H4|H3|H2|H1|P',
  89.   'DFN'        => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  90.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  91.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  92.   'DIV'        => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  93.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  94.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA|ADDRESS'.
  95.                   '|FIELDSET|TABLE|HR|FORM|BLOCKQUOTE|NOSCRIPT|DIV|DL|PRE|OL'.
  96.                   '|UL|H6|H5|H4|H3|H2|H1|P',
  97.   'DL'         => 'DD|DT',
  98.   'DT'         => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  99.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  100.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  101.   'EM'         => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  102.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  103.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  104.   'FIELDSET'   => '#PCDATA|LEGEND|#000',
  105.   'FORM'       => 'SCRIPT|ADDRESS|FIELDSET|TABLE|HR|BLOCKQUOTE|NOSCRIPT|DIV'.
  106.                   '|DL|PRE|OL|UL|H6|H5|H4|H3|H2|H1|P',
  107.   'H1'         => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  108.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  109.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  110.   'H2'         => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  111.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  112.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  113.   'H3'         => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  114.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  115.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  116.   'H4'         => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  117.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  118.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  119.   'H5'         => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  120.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  121.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  122.   'H6'         => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  123.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  124.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  125.   'HEAD'       => 'TITLE|BASE|SCRIPT|STYLE|META|LINK|OBJECT',
  126.   'HTML'       => 'HEAD|BODY',
  127.   'I'          => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  128.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  129.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  130.   'INS'        => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  131.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  132.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA|ADDRESS'.
  133.                   '|FIELDSET|TABLE|HR|FORM|BLOCKQUOTE|NOSCRIPT|DIV|DL|PRE|OL'.
  134.                   '|UL|H6|H5|H4|H3|H2|H1|P',
  135.   'KBD'        => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  136.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  137.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  138.   'LABEL'      => 'BUTTON|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP|SCRIPT'.
  139.                   '|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN'.
  140.                   '|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  141.   'LEGEND'     => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  142.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  143.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  144.   'LI'         => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  145.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  146.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA|ADDRESS'.
  147.                   '|FIELDSET|TABLE|HR|FORM|BLOCKQUOTE|NOSCRIPT|DIV|DL|PRE|OL'.
  148.                   '|UL|H6|H5|H4|H3|H2|H1|P',
  149.   'MAP'        => 'AREA|ADDRESS|FIELDSET|TABLE|HR|FORM|BLOCKQUOTE|NOSCRIPT'.
  150.                   '|DIV|DL|PRE|OL|UL|H6|H5|H4|H3|H2|H1|P',
  151.   'NOSCRIPT'   => 'ADDRESS|FIELDSET|TABLE|HR|FORM|BLOCKQUOTE|NOSCRIPT|DIV|DL'.
  152.                   '|PRE|OL|UL|H6|H5|H4|H3|H2|H1|P',
  153.   'OBJECT'     => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  154.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  155.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA|ADDRESS'.
  156.                   '|FIELDSET|TABLE|HR|FORM|BLOCKQUOTE|NOSCRIPT|DIV|DL|PRE|OL'.
  157.                   '|UL|H6|H5|H4|H3|H2|H1|P|PARAM',
  158.   'OL'         => 'LI',
  159.   'OPTGROUP'   => 'OPTION',
  160.   'OPTION'     => '#PCDATA',
  161.   'P'          => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  162.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  163.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  164.   'PRE'        => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|Q|MAP|SCRIPT'.
  165.                   '|BR|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|B'.
  166.                   '|I|TT|#PCDATA',
  167.   'Q'          => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  168.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  169.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  170.   'SAMP'       => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  171.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  172.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  173.   'SCRIPT'     => '%Script',
  174.   'SELECT'     => 'OPTION|OPTGROUP',
  175.   'SMALL'      => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  176.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  177.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  178.   'SPAN'       => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  179.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  180.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  181.   'STRONG'     => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  182.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  183.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  184.   'STYLE'      => '%StyleSheet',
  185.   'SUB'        => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  186.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  187.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  188.   'SUP'        => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  189.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  190.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  191.   'TABLE'      => 'CAPTION|#001|THEAD|TFOOT|TBODY',
  192.   'TBODY'      => 'TR',
  193.   'TD'         => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  194.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  195.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA|ADDRESS'.
  196.                   '|FIELDSET|TABLE|HR|FORM|BLOCKQUOTE|NOSCRIPT|DIV|DL|PRE|OL'.
  197.                   '|UL|H6|H5|H4|H3|H2|H1|P',
  198.   'TEXTAREA'   => '#PCDATA',
  199.   'TFOOT'      => 'TR',
  200.   'TH'         => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  201.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  202.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA|ADDRESS'.
  203.                   '|FIELDSET|TABLE|HR|FORM|BLOCKQUOTE|NOSCRIPT|DIV|DL|PRE|OL'.
  204.                   '|UL|H6|H5|H4|H3|H2|H1|P',
  205.   'THEAD'      => 'TR',
  206.   'TITLE'      => '#PCDATA',
  207.   'TR'         => 'TD|TH',
  208.   'TT'         => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  209.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  210.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  211.   'UL'         => 'LI',
  212.   'VAR'        => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|BDO|SPAN|SUP|SUB|Q|MAP'.
  213.                   '|SCRIPT|BR|OBJECT|IMG|A|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
  214.                   '|CODE|DFN|STRONG|EM|SMALL|BIG|B|I|TT|#PCDATA',
  215. );
  216. %excludedElems = (
  217.   'A'      => 'A',
  218.   'BUTTON' => 'A|INPUT|SELECT|TEXTAREA|LABEL|BUTTON|FORM|FIELDSET',
  219.   'FORM'   => 'FORM',
  220.   'LABEL'  => 'LABEL',
  221.   'PRE'    => 'IMG|OBJECT|BIG|SMALL|SUB|SUP',
  222.   'TITLE'  => 'SCRIPT|STYLE|META|LINK|OBJECT',
  223. );
  224. %includedElems = (
  225.   'BODY' => 'INS|DEL',
  226.   'HEAD' => 'SCRIPT|STYLE|META|LINK|OBJECT',
  227. );
  228. #======= ATTRIBUTES =======
  229. %tagsAttributes = (
  230.   'A' => {
  231.     'ACCESSKEY'   => '%Character',
  232.     'CHARSET'     => '%Charset',
  233.     'CLASS'       => '%Class',
  234.     'COORDS'      => '%Coords',
  235.     'DIR'         => 'LTR|RTL',
  236.     'HREF'        => '%URI',
  237.     'HREFLANG'    => '%LanguageCode',
  238.     'ID'          => 'ID',
  239.     'LANG'        => '%LanguageCode',
  240.     'NAME'        => '%Name',
  241.     'ONBLUR'      => '%Script',
  242.     'ONCLICK'     => '%Script',
  243.     'ONDBLCLICK'  => '%Script',
  244.     'ONFOCUS'     => '%Script',
  245.     'ONKEYDOWN'   => '%Script',
  246.     'ONKEYPRESS'  => '%Script',
  247.     'ONKEYUP'     => '%Script',
  248.     'ONMOUSEDOWN' => '%Script',
  249.     'ONMOUSEMOVE' => '%Script',
  250.     'ONMOUSEOUT'  => '%Script',
  251.     'ONMOUSEOVER' => '%Script',
  252.     'ONMOUSEUP'   => '%Script',
  253.     'REL'         => '%LinkTypes',
  254.     'REV'         => '%LinkTypes',
  255.     'SHAPE'       => 'RECT|CIRCLE|POLY|DEFAULT',
  256.     'STYLE'       => '%StyleSheet',
  257.     'TABINDEX'    => 'NUMBER',
  258.     'TITLE'       => '%Text',
  259.     'TYPE'        => '%ContentType',
  260.   },
  261.   'ABBR' => {
  262.     'CLASS'       => '%Class',
  263.     'DIR'         => 'LTR|RTL',
  264.     'ID'          => 'ID',
  265.     'LANG'        => '%LanguageCode',
  266.     'ONCLICK'     => '%Script',
  267.     'ONDBLCLICK'  => '%Script',
  268.     'ONKEYDOWN'   => '%Script',
  269.     'ONKEYPRESS'  => '%Script',
  270.     'ONKEYUP'     => '%Script',
  271.     'ONMOUSEDOWN' => '%Script',
  272.     'ONMOUSEMOVE' => '%Script',
  273.     'ONMOUSEOUT'  => '%Script',
  274.     'ONMOUSEOVER' => '%Script',
  275.     'ONMOUSEUP'   => '%Script',
  276.     'STYLE'       => '%StyleSheet',
  277.     'TITLE'       => '%Text',
  278.   },
  279.   'ACRONYM' => {
  280.     'CLASS'       => '%Class',
  281.     'DIR'         => 'LTR|RTL',
  282.     'ID'          => 'ID',
  283.     'LANG'        => '%LanguageCode',
  284.     'ONCLICK'     => '%Script',
  285.     'ONDBLCLICK'  => '%Script',
  286.     'ONKEYDOWN'   => '%Script',
  287.     'ONKEYPRESS'  => '%Script',
  288.     'ONKEYUP'     => '%Script',
  289.     'ONMOUSEDOWN' => '%Script',
  290.     'ONMOUSEMOVE' => '%Script',
  291.     'ONMOUSEOUT'  => '%Script',
  292.     'ONMOUSEOVER' => '%Script',
  293.     'ONMOUSEUP'   => '%Script',
  294.     'STYLE'       => '%StyleSheet',
  295.     'TITLE'       => '%Text',
  296.   },
  297.   'ADDRESS' => {
  298.     'CLASS'       => '%Class',
  299.     'DIR'         => 'LTR|RTL',
  300.     'ID'          => 'ID',
  301.     'LANG'        => '%LanguageCode',
  302.     'ONCLICK'     => '%Script',
  303.     'ONDBLCLICK'  => '%Script',
  304.     'ONKEYDOWN'   => '%Script',
  305.     'ONKEYPRESS'  => '%Script',
  306.     'ONKEYUP'     => '%Script',
  307.     'ONMOUSEDOWN' => '%Script',
  308.     'ONMOUSEMOVE' => '%Script',
  309.     'ONMOUSEOUT'  => '%Script',
  310.     'ONMOUSEOVER' => '%Script',
  311.     'ONMOUSEUP'   => '%Script',
  312.     'STYLE'       => '%StyleSheet',
  313.     'TITLE'       => '%Text',
  314.   },
  315.   'AREA' => {
  316.     'ACCESSKEY'   => '%Character',
  317.     'ALT'         => '%Text',
  318.     'CLASS'       => '%Class',
  319.     'COORDS'      => '%Coords',
  320.     'DIR'         => 'LTR|RTL',
  321.     'HREF'        => '%URI',
  322.     'ID'          => 'ID',
  323.     'LANG'        => '%LanguageCode',
  324.     'NOHREF'      => 'NOHREF',
  325.     'ONBLUR'      => '%Script',
  326.     'ONCLICK'     => '%Script',
  327.     'ONDBLCLICK'  => '%Script',
  328.     'ONFOCUS'     => '%Script',
  329.     'ONKEYDOWN'   => '%Script',
  330.     'ONKEYPRESS'  => '%Script',
  331.     'ONKEYUP'     => '%Script',
  332.     'ONMOUSEDOWN' => '%Script',
  333.     'ONMOUSEMOVE' => '%Script',
  334.     'ONMOUSEOUT'  => '%Script',
  335.     'ONMOUSEOVER' => '%Script',
  336.     'ONMOUSEUP'   => '%Script',
  337.     'SHAPE'       => 'RECT|CIRCLE|POLY|DEFAULT',
  338.     'STYLE'       => '%StyleSheet',
  339.     'TABINDEX'    => 'NUMBER',
  340.     'TITLE'       => '%Text',
  341.   },
  342.   'B' => {
  343.     'CLASS'       => '%Class',
  344.     'DIR'         => 'LTR|RTL',
  345.     'ID'          => 'ID',
  346.     'LANG'        => '%LanguageCode',
  347.     'ONCLICK'     => '%Script',
  348.     'ONDBLCLICK'  => '%Script',
  349.     'ONKEYDOWN'   => '%Script',
  350.     'ONKEYPRESS'  => '%Script',
  351.     'ONKEYUP'     => '%Script',
  352.     'ONMOUSEDOWN' => '%Script',
  353.     'ONMOUSEMOVE' => '%Script',
  354.     'ONMOUSEOUT'  => '%Script',
  355.     'ONMOUSEOVER' => '%Script',
  356.     'ONMOUSEUP'   => '%Script',
  357.     'STYLE'       => '%StyleSheet',
  358.     'TITLE'       => '%Text',
  359.   },
  360.   'BASE' => {
  361.     'HREF' => '%URI',
  362.   },
  363.   'BDO' => {
  364.     'CLASS' => '%Class',
  365.     'DIR'   => 'LTR|RTL',
  366.     'ID'    => 'ID',
  367.     'LANG'  => '%LanguageCode',
  368.     'STYLE' => '%StyleSheet',
  369.     'TITLE' => '%Text',
  370.   },
  371.   'BIG' => {
  372.     'CLASS'       => '%Class',
  373.     'DIR'         => 'LTR|RTL',
  374.     'ID'          => 'ID',
  375.     'LANG'        => '%LanguageCode',
  376.     'ONCLICK'     => '%Script',
  377.     'ONDBLCLICK'  => '%Script',
  378.     'ONKEYDOWN'   => '%Script',
  379.     'ONKEYPRESS'  => '%Script',
  380.     'ONKEYUP'     => '%Script',
  381.     'ONMOUSEDOWN' => '%Script',
  382.     'ONMOUSEMOVE' => '%Script',
  383.     'ONMOUSEOUT'  => '%Script',
  384.     'ONMOUSEOVER' => '%Script',
  385.     'ONMOUSEUP'   => '%Script',
  386.     'STYLE'       => '%StyleSheet',
  387.     'TITLE'       => '%Text',
  388.   },
  389.   'BLOCKQUOTE' => {
  390.     'CITE'        => '%URI',
  391.     'CLASS'       => '%Class',
  392.     'DIR'         => 'LTR|RTL',
  393.     'ID'          => 'ID',
  394.     'LANG'        => '%LanguageCode',
  395.     'ONCLICK'     => '%Script',
  396.     'ONDBLCLICK'  => '%Script',
  397.     'ONKEYDOWN'   => '%Script',
  398.     'ONKEYPRESS'  => '%Script',
  399.     'ONKEYUP'     => '%Script',
  400.     'ONMOUSEDOWN' => '%Script',
  401.     'ONMOUSEMOVE' => '%Script',
  402.     'ONMOUSEOUT'  => '%Script',
  403.     'ONMOUSEOVER' => '%Script',
  404.     'ONMOUSEUP'   => '%Script',
  405.     'STYLE'       => '%StyleSheet',
  406.     'TITLE'       => '%Text',
  407.   },
  408.   'BODY' => {
  409.     'CLASS'       => '%Class',
  410.     'DIR'         => 'LTR|RTL',
  411.     'ID'          => 'ID',
  412.     'LANG'        => '%LanguageCode',
  413.     'ONCLICK'     => '%Script',
  414.     'ONDBLCLICK'  => '%Script',
  415.     'ONKEYDOWN'   => '%Script',
  416.     'ONKEYPRESS'  => '%Script',
  417.     'ONKEYUP'     => '%Script',
  418.     'ONLOAD'      => '%Script',
  419.     'ONMOUSEDOWN' => '%Script',
  420.     'ONMOUSEMOVE' => '%Script',
  421.     'ONMOUSEOUT'  => '%Script',
  422.     'ONMOUSEOVER' => '%Script',
  423.     'ONMOUSEUP'   => '%Script',
  424.     'ONUNLOAD'    => '%Script',
  425.     'STYLE'       => '%StyleSheet',
  426.     'TITLE'       => '%Text',
  427.   },
  428.   'BR' => {
  429.     'CLASS' => '%Class',
  430.     'ID'    => 'ID',
  431.     'STYLE' => '%StyleSheet',
  432.     'TITLE' => '%Text',
  433.   },
  434.   'BUTTON' => {
  435.     'ACCESSKEY'   => '%Character',
  436.     'CLASS'       => '%Class',
  437.     'DIR'         => 'LTR|RTL',
  438.     'DISABLED'    => 'DISABLED',
  439.     'ID'          => 'ID',
  440.     'LANG'        => '%LanguageCode',
  441.     'NAME'        => '%Name',
  442.     'ONBLUR'      => '%Script',
  443.     'ONCLICK'     => '%Script',
  444.     'ONDBLCLICK'  => '%Script',
  445.     'ONFOCUS'     => '%Script',
  446.     'ONKEYDOWN'   => '%Script',
  447.     'ONKEYPRESS'  => '%Script',
  448.     'ONKEYUP'     => '%Script',
  449.     'ONMOUSEDOWN' => '%Script',
  450.     'ONMOUSEMOVE' => '%Script',
  451.     'ONMOUSEOUT'  => '%Script',
  452.     'ONMOUSEOVER' => '%Script',
  453.     'ONMOUSEUP'   => '%Script',
  454.     'STYLE'       => '%StyleSheet',
  455.     'TABINDEX'    => 'NUMBER',
  456.     'TITLE'       => '%Text',
  457.     'TYPE'        => 'BUTTON|SUBMIT|RESET',
  458.     'VALUE'       => 'CDATA',
  459.   },
  460.   'CAPTION' => {
  461.     'CLASS'       => '%Class',
  462.     'DIR'         => 'LTR|RTL',
  463.     'ID'          => 'ID',
  464.     'LANG'        => '%LanguageCode',
  465.     'ONCLICK'     => '%Script',
  466.     'ONDBLCLICK'  => '%Script',
  467.     'ONKEYDOWN'   => '%Script',
  468.     'ONKEYPRESS'  => '%Script',
  469.     'ONKEYUP'     => '%Script',
  470.     'ONMOUSEDOWN' => '%Script',
  471.     'ONMOUSEMOVE' => '%Script',
  472.     'ONMOUSEOUT'  => '%Script',
  473.     'ONMOUSEOVER' => '%Script',
  474.     'ONMOUSEUP'   => '%Script',
  475.     'STYLE'       => '%StyleSheet',
  476.     'TITLE'       => '%Text',
  477.   },
  478.   'CITE' => {
  479.     'CLASS'       => '%Class',
  480.     'DIR'         => 'LTR|RTL',
  481.     'ID'          => 'ID',
  482.     'LANG'        => '%LanguageCode',
  483.     'ONCLICK'     => '%Script',
  484.     'ONDBLCLICK'  => '%Script',
  485.     'ONKEYDOWN'   => '%Script',
  486.     'ONKEYPRESS'  => '%Script',
  487.     'ONKEYUP'     => '%Script',
  488.     'ONMOUSEDOWN' => '%Script',
  489.     'ONMOUSEMOVE' => '%Script',
  490.     'ONMOUSEOUT'  => '%Script',
  491.     'ONMOUSEOVER' => '%Script',
  492.     'ONMOUSEUP'   => '%Script',
  493.     'STYLE'       => '%StyleSheet',
  494.     'TITLE'       => '%Text',
  495.   },
  496.   'CODE' => {
  497.     'CLASS'       => '%Class',
  498.     'DIR'         => 'LTR|RTL',
  499.     'ID'          => 'ID',
  500.     'LANG'        => '%LanguageCode',
  501.     'ONCLICK'     => '%Script',
  502.     'ONDBLCLICK'  => '%Script',
  503.     'ONKEYDOWN'   => '%Script',
  504.     'ONKEYPRESS'  => '%Script',
  505.     'ONKEYUP'     => '%Script',
  506.     'ONMOUSEDOWN' => '%Script',
  507.     'ONMOUSEMOVE' => '%Script',
  508.     'ONMOUSEOUT'  => '%Script',
  509.     'ONMOUSEOVER' => '%Script',
  510.     'ONMOUSEUP'   => '%Script',
  511.     'STYLE'       => '%StyleSheet',
  512.     'TITLE'       => '%Text',
  513.   },
  514.   'COL' => {
  515.     'ALIGN'       => 'LEFT|CENTER|RIGHT|JUSTIFY|CHAR',
  516.     'CHAR'        => '%Character',
  517.     'CHAROFF'     => '%Length',
  518.     'CLASS'       => '%Class',
  519.     'DIR'         => 'LTR|RTL',
  520.     'ID'          => 'ID',
  521.     'LANG'        => '%LanguageCode',
  522.     'ONCLICK'     => '%Script',
  523.     'ONDBLCLICK'  => '%Script',
  524.     'ONKEYDOWN'   => '%Script',
  525.     'ONKEYPRESS'  => '%Script',
  526.     'ONKEYUP'     => '%Script',
  527.     'ONMOUSEDOWN' => '%Script',
  528.     'ONMOUSEMOVE' => '%Script',
  529.     'ONMOUSEOUT'  => '%Script',
  530.     'ONMOUSEOVER' => '%Script',
  531.     'ONMOUSEUP'   => '%Script',
  532.     'SPAN'        => 'NUMBER',
  533.     'STYLE'       => '%StyleSheet',
  534.     'TITLE'       => '%Text',
  535.     'VALIGN'      => 'TOP|MIDDLE|BOTTOM|BASELINE',
  536.     'WIDTH'       => '%MultiLength',
  537.   },
  538.   'COLGROUP' => {
  539.     'ALIGN'       => 'LEFT|CENTER|RIGHT|JUSTIFY|CHAR',
  540.     'CHAR'        => '%Character',
  541.     'CHAROFF'     => '%Length',
  542.     'CLASS'       => '%Class',
  543.     'DIR'         => 'LTR|RTL',
  544.     'ID'          => 'ID',
  545.     'LANG'        => '%LanguageCode',
  546.     'ONCLICK'     => '%Script',
  547.     'ONDBLCLICK'  => '%Script',
  548.     'ONKEYDOWN'   => '%Script',
  549.     'ONKEYPRESS'  => '%Script',
  550.     'ONKEYUP'     => '%Script',
  551.     'ONMOUSEDOWN' => '%Script',
  552.     'ONMOUSEMOVE' => '%Script',
  553.     'ONMOUSEOUT'  => '%Script',
  554.     'ONMOUSEOVER' => '%Script',
  555.     'ONMOUSEUP'   => '%Script',
  556.     'SPAN'        => 'NUMBER',
  557.     'STYLE'       => '%StyleSheet',
  558.     'TITLE'       => '%Text',
  559.     'VALIGN'      => 'TOP|MIDDLE|BOTTOM|BASELINE',
  560.     'WIDTH'       => '%MultiLength',
  561.   },
  562.   'DD' => {
  563.     'CLASS'       => '%Class',
  564.     'DIR'         => 'LTR|RTL',
  565.     'ID'          => 'ID',
  566.     'LANG'        => '%LanguageCode',
  567.     'ONCLICK'     => '%Script',
  568.     'ONDBLCLICK'  => '%Script',
  569.     'ONKEYDOWN'   => '%Script',
  570.     'ONKEYPRESS'  => '%Script',
  571.     'ONKEYUP'     => '%Script',
  572.     'ONMOUSEDOWN' => '%Script',
  573.     'ONMOUSEMOVE' => '%Script',
  574.     'ONMOUSEOUT'  => '%Script',
  575.     'ONMOUSEOVER' => '%Script',
  576.     'ONMOUSEUP'   => '%Script',
  577.     'STYLE'       => '%StyleSheet',
  578.     'TITLE'       => '%Text',
  579.   },
  580.   'DEL' => {
  581.     'CITE'        => '%URI',
  582.     'CLASS'       => '%Class',
  583.     'DATETIME'    => '%Datetime',
  584.     'DIR'         => 'LTR|RTL',
  585.     'ID'          => 'ID',
  586.     'LANG'        => '%LanguageCode',
  587.     'ONCLICK'     => '%Script',
  588.     'ONDBLCLICK'  => '%Script',
  589.     'ONKEYDOWN'   => '%Script',
  590.     'ONKEYPRESS'  => '%Script',
  591.     'ONKEYUP'     => '%Script',
  592.     'ONMOUSEDOWN' => '%Script',
  593.     'ONMOUSEMOVE' => '%Script',
  594.     'ONMOUSEOUT'  => '%Script',
  595.     'ONMOUSEOVER' => '%Script',
  596.     'ONMOUSEUP'   => '%Script',
  597.     'STYLE'       => '%StyleSheet',
  598.     'TITLE'       => '%Text',
  599.   },
  600.   'DFN' => {
  601.     'CLASS'       => '%Class',
  602.     'DIR'         => 'LTR|RTL',
  603.     'ID'          => 'ID',
  604.     'LANG'        => '%LanguageCode',
  605.     'ONCLICK'     => '%Script',
  606.     'ONDBLCLICK'  => '%Script',
  607.     'ONKEYDOWN'   => '%Script',
  608.     'ONKEYPRESS'  => '%Script',
  609.     'ONKEYUP'     => '%Script',
  610.     'ONMOUSEDOWN' => '%Script',
  611.     'ONMOUSEMOVE' => '%Script',
  612.     'ONMOUSEOUT'  => '%Script',
  613.     'ONMOUSEOVER' => '%Script',
  614.     'ONMOUSEUP'   => '%Script',
  615.     'STYLE'       => '%StyleSheet',
  616.     'TITLE'       => '%Text',
  617.   },
  618.   'DIV' => {
  619.     'CLASS'       => '%Class',
  620.     'DIR'         => 'LTR|RTL',
  621.     'ID'          => 'ID',
  622.     'LANG'        => '%LanguageCode',
  623.     'ONCLICK'     => '%Script',
  624.     'ONDBLCLICK'  => '%Script',
  625.     'ONKEYDOWN'   => '%Script',
  626.     'ONKEYPRESS'  => '%Script',
  627.     'ONKEYUP'     => '%Script',
  628.     'ONMOUSEDOWN' => '%Script',
  629.     'ONMOUSEMOVE' => '%Script',
  630.     'ONMOUSEOUT'  => '%Script',
  631.     'ONMOUSEOVER' => '%Script',
  632.     'ONMOUSEUP'   => '%Script',
  633.     'STYLE'       => '%StyleSheet',
  634.     'TITLE'       => '%Text',
  635.   },
  636.   'DL' => {
  637.     'CLASS'       => '%Class',
  638.     'DIR'         => 'LTR|RTL',
  639.     'ID'          => 'ID',
  640.     'LANG'        => '%LanguageCode',
  641.     'ONCLICK'     => '%Script',
  642.     'ONDBLCLICK'  => '%Script',
  643.     'ONKEYDOWN'   => '%Script',
  644.     'ONKEYPRESS'  => '%Script',
  645.     'ONKEYUP'     => '%Script',
  646.     'ONMOUSEDOWN' => '%Script',
  647.     'ONMOUSEMOVE' => '%Script',
  648.     'ONMOUSEOUT'  => '%Script',
  649.     'ONMOUSEOVER' => '%Script',
  650.     'ONMOUSEUP'   => '%Script',
  651.     'STYLE'       => '%StyleSheet',
  652.     'TITLE'       => '%Text',
  653.   },
  654.   'DT' => {
  655.     'CLASS'       => '%Class',
  656.     'DIR'         => 'LTR|RTL',
  657.     'ID'          => 'ID',
  658.     'LANG'        => '%LanguageCode',
  659.     'ONCLICK'     => '%Script',
  660.     'ONDBLCLICK'  => '%Script',
  661.     'ONKEYDOWN'   => '%Script',
  662.     'ONKEYPRESS'  => '%Script',
  663.     'ONKEYUP'     => '%Script',
  664.     'ONMOUSEDOWN' => '%Script',
  665.     'ONMOUSEMOVE' => '%Script',
  666.     'ONMOUSEOUT'  => '%Script',
  667.     'ONMOUSEOVER' => '%Script',
  668.     'ONMOUSEUP'   => '%Script',
  669.     'STYLE'       => '%StyleSheet',
  670.     'TITLE'       => '%Text',
  671.   },
  672.   'EM' => {
  673.     'CLASS'       => '%Class',
  674.     'DIR'         => 'LTR|RTL',
  675.     'ID'          => 'ID',
  676.     'LANG'        => '%LanguageCode',
  677.     'ONCLICK'     => '%Script',
  678.     'ONDBLCLICK'  => '%Script',
  679.     'ONKEYDOWN'   => '%Script',
  680.     'ONKEYPRESS'  => '%Script',
  681.     'ONKEYUP'     => '%Script',
  682.     'ONMOUSEDOWN' => '%Script',
  683.     'ONMOUSEMOVE' => '%Script',
  684.     'ONMOUSEOUT'  => '%Script',
  685.     'ONMOUSEOVER' => '%Script',
  686.     'ONMOUSEUP'   => '%Script',
  687.     'STYLE'       => '%StyleSheet',
  688.     'TITLE'       => '%Text',
  689.   },
  690.   'FIELDSET' => {
  691.     'CLASS'       => '%Class',
  692.     'DIR'         => 'LTR|RTL',
  693.     'ID'          => 'ID',
  694.     'LANG'        => '%LanguageCode',
  695.     'ONCLICK'     => '%Script',
  696.     'ONDBLCLICK'  => '%Script',
  697.     'ONKEYDOWN'   => '%Script',
  698.     'ONKEYPRESS'  => '%Script',
  699.     'ONKEYUP'     => '%Script',
  700.     'ONMOUSEDOWN' => '%Script',
  701.     'ONMOUSEMOVE' => '%Script',
  702.     'ONMOUSEOUT'  => '%Script',
  703.     'ONMOUSEOVER' => '%Script',
  704.     'ONMOUSEUP'   => '%Script',
  705.     'STYLE'       => '%StyleSheet',
  706.     'TITLE'       => '%Text',
  707.   },
  708.   'FORM' => {
  709.     'ACCEPT'         => '%ContentTypes',
  710.     'ACCEPT-CHARSET' => '%Charsets',
  711.     'ACTION'         => '%URI',
  712.     'CLASS'          => '%Class',
  713.     'DIR'            => 'LTR|RTL',
  714.     'ENCTYPE'        => '%ContentType',
  715.     'ID'             => 'ID',
  716.     'LANG'           => '%LanguageCode',
  717.     'METHOD'         => 'GET|POST',
  718.     'NAME'           => '%Name',
  719.     'ONCLICK'        => '%Script',
  720.     'ONDBLCLICK'     => '%Script',
  721.     'ONKEYDOWN'      => '%Script',
  722.     'ONKEYPRESS'     => '%Script',
  723.     'ONKEYUP'        => '%Script',
  724.     'ONMOUSEDOWN'    => '%Script',
  725.     'ONMOUSEMOVE'    => '%Script',
  726.     'ONMOUSEOUT'     => '%Script',
  727.     'ONMOUSEOVER'    => '%Script',
  728.     'ONMOUSEUP'      => '%Script',
  729.     'ONRESET'        => '%Script',
  730.     'ONSUBMIT'       => '%Script',
  731.     'STYLE'          => '%StyleSheet',
  732.     'TITLE'          => '%Text',
  733.   },
  734.   'H1' => {
  735.     'CLASS'       => '%Class',
  736.     'DIR'         => 'LTR|RTL',
  737.     'ID'          => 'ID',
  738.     'LANG'        => '%LanguageCode',
  739.     'ONCLICK'     => '%Script',
  740.     'ONDBLCLICK'  => '%Script',
  741.     'ONKEYDOWN'   => '%Script',
  742.     'ONKEYPRESS'  => '%Script',
  743.     'ONKEYUP'     => '%Script',
  744.     'ONMOUSEDOWN' => '%Script',
  745.     'ONMOUSEMOVE' => '%Script',
  746.     'ONMOUSEOUT'  => '%Script',
  747.     'ONMOUSEOVER' => '%Script',
  748.     'ONMOUSEUP'   => '%Script',
  749.     'STYLE'       => '%StyleSheet',
  750.     'TITLE'       => '%Text',
  751.   },
  752.   'H2' => {
  753.     'CLASS'       => '%Class',
  754.     'DIR'         => 'LTR|RTL',
  755.     'ID'          => 'ID',
  756.     'LANG'        => '%LanguageCode',
  757.     'ONCLICK'     => '%Script',
  758.     'ONDBLCLICK'  => '%Script',
  759.     'ONKEYDOWN'   => '%Script',
  760.     'ONKEYPRESS'  => '%Script',
  761.     'ONKEYUP'     => '%Script',
  762.     'ONMOUSEDOWN' => '%Script',
  763.     'ONMOUSEMOVE' => '%Script',
  764.     'ONMOUSEOUT'  => '%Script',
  765.     'ONMOUSEOVER' => '%Script',
  766.     'ONMOUSEUP'   => '%Script',
  767.     'STYLE'       => '%StyleSheet',
  768.     'TITLE'       => '%Text',
  769.   },
  770.   'H3' => {
  771.     'CLASS'       => '%Class',
  772.     'DIR'         => 'LTR|RTL',
  773.     'ID'          => 'ID',
  774.     'LANG'        => '%LanguageCode',
  775.     'ONCLICK'     => '%Script',
  776.     'ONDBLCLICK'  => '%Script',
  777.     'ONKEYDOWN'   => '%Script',
  778.     'ONKEYPRESS'  => '%Script',
  779.     'ONKEYUP'     => '%Script',
  780.     'ONMOUSEDOWN' => '%Script',
  781.     'ONMOUSEMOVE' => '%Script',
  782.     'ONMOUSEOUT'  => '%Script',
  783.     'ONMOUSEOVER' => '%Script',
  784.     'ONMOUSEUP'   => '%Script',
  785.     'STYLE'       => '%StyleSheet',
  786.     'TITLE'       => '%Text',
  787.   },
  788.   'H4' => {
  789.     'CLASS'       => '%Class',
  790.     'DIR'         => 'LTR|RTL',
  791.     'ID'          => 'ID',
  792.     'LANG'        => '%LanguageCode',
  793.     'ONCLICK'     => '%Script',
  794.     'ONDBLCLICK'  => '%Script',
  795.     'ONKEYDOWN'   => '%Script',
  796.     'ONKEYPRESS'  => '%Script',
  797.     'ONKEYUP'     => '%Script',
  798.     'ONMOUSEDOWN' => '%Script',
  799.     'ONMOUSEMOVE' => '%Script',
  800.     'ONMOUSEOUT'  => '%Script',
  801.     'ONMOUSEOVER' => '%Script',
  802.     'ONMOUSEUP'   => '%Script',
  803.     'STYLE'       => '%StyleSheet',
  804.     'TITLE'       => '%Text',
  805.   },
  806.   'H5' => {
  807.     'CLASS'       => '%Class',
  808.     'DIR'         => 'LTR|RTL',
  809.     'ID'          => 'ID',
  810.     'LANG'        => '%LanguageCode',
  811.     'ONCLICK'     => '%Script',
  812.     'ONDBLCLICK'  => '%Script',
  813.     'ONKEYDOWN'   => '%Script',
  814.     'ONKEYPRESS'  => '%Script',
  815.     'ONKEYUP'     => '%Script',
  816.     'ONMOUSEDOWN' => '%Script',
  817.     'ONMOUSEMOVE' => '%Script',
  818.     'ONMOUSEOUT'  => '%Script',
  819.     'ONMOUSEOVER' => '%Script',
  820.     'ONMOUSEUP'   => '%Script',
  821.     'STYLE'       => '%StyleSheet',
  822.     'TITLE'       => '%Text',
  823.   },
  824.   'H6' => {
  825.     'CLASS'       => '%Class',
  826.     'DIR'         => 'LTR|RTL',
  827.     'ID'          => 'ID',
  828.     'LANG'        => '%LanguageCode',
  829.     'ONCLICK'     => '%Script',
  830.     'ONDBLCLICK'  => '%Script',
  831.     'ONKEYDOWN'   => '%Script',
  832.     'ONKEYPRESS'  => '%Script',
  833.     'ONKEYUP'     => '%Script',
  834.     'ONMOUSEDOWN' => '%Script',
  835.     'ONMOUSEMOVE' => '%Script',
  836.     'ONMOUSEOUT'  => '%Script',
  837.     'ONMOUSEOVER' => '%Script',
  838.     'ONMOUSEUP'   => '%Script',
  839.     'STYLE'       => '%StyleSheet',
  840.     'TITLE'       => '%Text',
  841.   },
  842.   'HEAD' => {
  843.     'DIR'     => 'LTR|RTL',
  844.     'LANG'    => '%LanguageCode',
  845.     'PROFILE' => '%URI',
  846.   },
  847.   'HR' => {
  848.     'CLASS'       => '%Class',
  849.     'DIR'         => 'LTR|RTL',
  850.     'ID'          => 'ID',
  851.     'LANG'        => '%LanguageCode',
  852.     'ONCLICK'     => '%Script',
  853.     'ONDBLCLICK'  => '%Script',
  854.     'ONKEYDOWN'   => '%Script',
  855.     'ONKEYPRESS'  => '%Script',
  856.     'ONKEYUP'     => '%Script',
  857.     'ONMOUSEDOWN' => '%Script',
  858.     'ONMOUSEMOVE' => '%Script',
  859.     'ONMOUSEOUT'  => '%Script',
  860.     'ONMOUSEOVER' => '%Script',
  861.     'ONMOUSEUP'   => '%Script',
  862.     'STYLE'       => '%StyleSheet',
  863.     'TITLE'       => '%Text',
  864.   },
  865.   'HTML' => {
  866.     'DIR'  => 'LTR|RTL',
  867.     'LANG' => '%LanguageCode',
  868.   },
  869.   'I' => {
  870.     'CLASS'       => '%Class',
  871.     'DIR'         => 'LTR|RTL',
  872.     'ID'          => 'ID',
  873.     'LANG'        => '%LanguageCode',
  874.     'ONCLICK'     => '%Script',
  875.     'ONDBLCLICK'  => '%Script',
  876.     'ONKEYDOWN'   => '%Script',
  877.     'ONKEYPRESS'  => '%Script',
  878.     'ONKEYUP'     => '%Script',
  879.     'ONMOUSEDOWN' => '%Script',
  880.     'ONMOUSEMOVE' => '%Script',
  881.     'ONMOUSEOUT'  => '%Script',
  882.     'ONMOUSEOVER' => '%Script',
  883.     'ONMOUSEUP'   => '%Script',
  884.     'STYLE'       => '%StyleSheet',
  885.     'TITLE'       => '%Text',
  886.   },
  887.   'IMG' => {
  888.     'ALT'         => '%Text',
  889.     'CLASS'       => '%Class',
  890.     'DIR'         => 'LTR|RTL',
  891.     'HEIGHT'      => '%Length',
  892.     'ID'          => 'ID',
  893.     'ISMAP'       => 'ISMAP',
  894.     'LANG'        => '%LanguageCode',
  895.     'LONGDESC'    => '%URI',
  896.     'NAME'        => '%Name',
  897.     'ONCLICK'     => '%Script',
  898.     'ONDBLCLICK'  => '%Script',
  899.     'ONKEYDOWN'   => '%Script',
  900.     'ONKEYPRESS'  => '%Script',
  901.     'ONKEYUP'     => '%Script',
  902.     'ONMOUSEDOWN' => '%Script',
  903.     'ONMOUSEMOVE' => '%Script',
  904.     'ONMOUSEOUT'  => '%Script',
  905.     'ONMOUSEOVER' => '%Script',
  906.     'ONMOUSEUP'   => '%Script',
  907.     'SRC'         => '%URI',
  908.     'STYLE'       => '%StyleSheet',
  909.     'TITLE'       => '%Text',
  910.     'USEMAP'      => '%URI',
  911.     'WIDTH'       => '%Length',
  912.   },
  913.   'INPUT' => {
  914.     'ACCEPT'      => '%ContentTypes',
  915.     'ACCESSKEY'   => '%Character',
  916.     'ALT'         => 'CDATA',
  917.     'CHECKED'     => 'CHECKED',
  918.     'CLASS'       => '%Class',
  919.     'DIR'         => 'LTR|RTL',
  920.     'DISABLED'    => 'DISABLED',
  921.     'ID'          => 'ID',
  922.     'ISMAP'       => 'ISMAP',
  923.     'LANG'        => '%LanguageCode',
  924.     'MAXLENGTH'   => 'NUMBER',
  925.     'NAME'        => '%Name',
  926.     'ONBLUR'      => '%Script',
  927.     'ONCHANGE'    => '%Script',
  928.     'ONCLICK'     => '%Script',
  929.     'ONDBLCLICK'  => '%Script',
  930.     'ONFOCUS'     => '%Script',
  931.     'ONKEYDOWN'   => '%Script',
  932.     'ONKEYPRESS'  => '%Script',
  933.     'ONKEYUP'     => '%Script',
  934.     'ONMOUSEDOWN' => '%Script',
  935.     'ONMOUSEMOVE' => '%Script',
  936.     'ONMOUSEOUT'  => '%Script',
  937.     'ONMOUSEOVER' => '%Script',
  938.     'ONMOUSEUP'   => '%Script',
  939.     'ONSELECT'    => '%Script',
  940.     'READONLY'    => 'READONLY',
  941.     'SIZE'        => 'CDATA',
  942.     'SRC'         => '%URI',
  943.     'STYLE'       => '%StyleSheet',
  944.     'TABINDEX'    => 'NUMBER',
  945.     'TITLE'       => '%Text',
  946.     'TYPE'        => 'TEXT|PASSWORD|CHECKBOX|RADIO|SUBMIT|RESET|FILE|HIDDEN'.
  947.                      '|IMAGE|BUTTON',
  948.     'USEMAP'      => '%URI',
  949.     'VALUE'       => 'CDATA',
  950.   },
  951.   'INS' => {
  952.     'CITE'        => '%URI',
  953.     'CLASS'       => '%Class',
  954.     'DATETIME'    => '%Datetime',
  955.     'DIR'         => 'LTR|RTL',
  956.     'ID'          => 'ID',
  957.     'LANG'        => '%LanguageCode',
  958.     'ONCLICK'     => '%Script',
  959.     'ONDBLCLICK'  => '%Script',
  960.     'ONKEYDOWN'   => '%Script',
  961.     'ONKEYPRESS'  => '%Script',
  962.     'ONKEYUP'     => '%Script',
  963.     'ONMOUSEDOWN' => '%Script',
  964.     'ONMOUSEMOVE' => '%Script',
  965.     'ONMOUSEOUT'  => '%Script',
  966.     'ONMOUSEOVER' => '%Script',
  967.     'ONMOUSEUP'   => '%Script',
  968.     'STYLE'       => '%StyleSheet',
  969.     'TITLE'       => '%Text',
  970.   },
  971.   'KBD' => {
  972.     'CLASS'       => '%Class',
  973.     'DIR'         => 'LTR|RTL',
  974.     'ID'          => 'ID',
  975.     'LANG'        => '%LanguageCode',
  976.     'ONCLICK'     => '%Script',
  977.     'ONDBLCLICK'  => '%Script',
  978.     'ONKEYDOWN'   => '%Script',
  979.     'ONKEYPRESS'  => '%Script',
  980.     'ONKEYUP'     => '%Script',
  981.     'ONMOUSEDOWN' => '%Script',
  982.     'ONMOUSEMOVE' => '%Script',
  983.     'ONMOUSEOUT'  => '%Script',
  984.     'ONMOUSEOVER' => '%Script',
  985.     'ONMOUSEUP'   => '%Script',
  986.     'STYLE'       => '%StyleSheet',
  987.     'TITLE'       => '%Text',
  988.   },
  989.   'LABEL' => {
  990.     'ACCESSKEY'   => '%Character',
  991.     'CLASS'       => '%Class',
  992.     'DIR'         => 'LTR|RTL',
  993.     'FOR'         => 'IDREF',
  994.     'ID'          => 'ID',
  995.     'LANG'        => '%LanguageCode',
  996.     'ONBLUR'      => '%Script',
  997.     'ONCLICK'     => '%Script',
  998.     'ONDBLCLICK'  => '%Script',
  999.     'ONFOCUS'     => '%Script',
  1000.     'ONKEYDOWN'   => '%Script',
  1001.     'ONKEYPRESS'  => '%Script',
  1002.     'ONKEYUP'     => '%Script',
  1003.     'ONMOUSEDOWN' => '%Script',
  1004.     'ONMOUSEMOVE' => '%Script',
  1005.     'ONMOUSEOUT'  => '%Script',
  1006.     'ONMOUSEOVER' => '%Script',
  1007.     'ONMOUSEUP'   => '%Script',
  1008.     'STYLE'       => '%StyleSheet',
  1009.     'TITLE'       => '%Text',
  1010.   },
  1011.   'LEGEND' => {
  1012.     'ACCESSKEY'   => '%Character',
  1013.     'CLASS'       => '%Class',
  1014.     'DIR'         => 'LTR|RTL',
  1015.     'ID'          => 'ID',
  1016.     'LANG'        => '%LanguageCode',
  1017.     'ONCLICK'     => '%Script',
  1018.     'ONDBLCLICK'  => '%Script',
  1019.     'ONKEYDOWN'   => '%Script',
  1020.     'ONKEYPRESS'  => '%Script',
  1021.     'ONKEYUP'     => '%Script',
  1022.     'ONMOUSEDOWN' => '%Script',
  1023.     'ONMOUSEMOVE' => '%Script',
  1024.     'ONMOUSEOUT'  => '%Script',
  1025.     'ONMOUSEOVER' => '%Script',
  1026.     'ONMOUSEUP'   => '%Script',
  1027.     'STYLE'       => '%StyleSheet',
  1028.     'TITLE'       => '%Text',
  1029.   },
  1030.   'LI' => {
  1031.     'CLASS'       => '%Class',
  1032.     'DIR'         => 'LTR|RTL',
  1033.     'ID'          => 'ID',
  1034.     'LANG'        => '%LanguageCode',
  1035.     'ONCLICK'     => '%Script',
  1036.     'ONDBLCLICK'  => '%Script',
  1037.     'ONKEYDOWN'   => '%Script',
  1038.     'ONKEYPRESS'  => '%Script',
  1039.     'ONKEYUP'     => '%Script',
  1040.     'ONMOUSEDOWN' => '%Script',
  1041.     'ONMOUSEMOVE' => '%Script',
  1042.     'ONMOUSEOUT'  => '%Script',
  1043.     'ONMOUSEOVER' => '%Script',
  1044.     'ONMOUSEUP'   => '%Script',
  1045.     'STYLE'       => '%StyleSheet',
  1046.     'TITLE'       => '%Text',
  1047.   },
  1048.   'LINK' => {
  1049.     'CHARSET'     => '%Charset',
  1050.     'CLASS'       => '%Class',
  1051.     'DIR'         => 'LTR|RTL',
  1052.     'HREF'        => '%URI',
  1053.     'HREFLANG'    => '%LanguageCode',
  1054.     'ID'          => 'ID',
  1055.     'LANG'        => '%LanguageCode',
  1056.     'MEDIA'       => '%MediaDesc',
  1057.     'ONCLICK'     => '%Script',
  1058.     'ONDBLCLICK'  => '%Script',
  1059.     'ONKEYDOWN'   => '%Script',
  1060.     'ONKEYPRESS'  => '%Script',
  1061.     'ONKEYUP'     => '%Script',
  1062.     'ONMOUSEDOWN' => '%Script',
  1063.     'ONMOUSEMOVE' => '%Script',
  1064.     'ONMOUSEOUT'  => '%Script',
  1065.     'ONMOUSEOVER' => '%Script',
  1066.     'ONMOUSEUP'   => '%Script',
  1067.     'REL'         => '%LinkTypes',
  1068.     'REV'         => '%LinkTypes',
  1069.     'STYLE'       => '%StyleSheet',
  1070.     'TITLE'       => '%Text',
  1071.     'TYPE'        => '%ContentType',
  1072.   },
  1073.   'MAP' => {
  1074.     'CLASS'       => '%Class',
  1075.     'DIR'         => 'LTR|RTL',
  1076.     'ID'          => 'ID',
  1077.     'LANG'        => '%LanguageCode',
  1078.     'NAME'        => '%Name',
  1079.     'ONCLICK'     => '%Script',
  1080.     'ONDBLCLICK'  => '%Script',
  1081.     'ONKEYDOWN'   => '%Script',
  1082.     'ONKEYPRESS'  => '%Script',
  1083.     'ONKEYUP'     => '%Script',
  1084.     'ONMOUSEDOWN' => '%Script',
  1085.     'ONMOUSEMOVE' => '%Script',
  1086.     'ONMOUSEOUT'  => '%Script',
  1087.     'ONMOUSEOVER' => '%Script',
  1088.     'ONMOUSEUP'   => '%Script',
  1089.     'STYLE'       => '%StyleSheet',
  1090.     'TITLE'       => '%Text',
  1091.   },
  1092.   'META' => {
  1093.     'CONTENT'    => 'CDATA',
  1094.     'DIR'        => 'LTR|RTL',
  1095.     'HTTP-EQUIV' => 'NAME',
  1096.     'LANG'       => '%LanguageCode',
  1097.     'NAME'       => 'NAME',
  1098.     'SCHEME'     => 'CDATA',
  1099.   },
  1100.   'NOSCRIPT' => {
  1101.     'CLASS'       => '%Class',
  1102.     'DIR'         => 'LTR|RTL',
  1103.     'ID'          => 'ID',
  1104.     'LANG'        => '%LanguageCode',
  1105.     'ONCLICK'     => '%Script',
  1106.     'ONDBLCLICK'  => '%Script',
  1107.     'ONKEYDOWN'   => '%Script',
  1108.     'ONKEYPRESS'  => '%Script',
  1109.     'ONKEYUP'     => '%Script',
  1110.     'ONMOUSEDOWN' => '%Script',
  1111.     'ONMOUSEMOVE' => '%Script',
  1112.     'ONMOUSEOUT'  => '%Script',
  1113.     'ONMOUSEOVER' => '%Script',
  1114.     'ONMOUSEUP'   => '%Script',
  1115.     'STYLE'       => '%StyleSheet',
  1116.     'TITLE'       => '%Text',
  1117.   },
  1118.   'OBJECT' => {
  1119.     'ARCHIVE'     => 'CDATA',
  1120.     'CLASS'       => '%Class',
  1121.     'CLASSID'     => '%URI',
  1122.     'CODEBASE'    => '%URI',
  1123.     'CODETYPE'    => '%ContentType',
  1124.     'DATA'        => '%URI',
  1125.     'DECLARE'     => 'DECLARE',
  1126.     'DIR'         => 'LTR|RTL',
  1127.     'HEIGHT'      => '%Length',
  1128.     'ID'          => 'ID',
  1129.     'LANG'        => '%LanguageCode',
  1130.     'NAME'        => '%Name',
  1131.     'ONCLICK'     => '%Script',
  1132.     'ONDBLCLICK'  => '%Script',
  1133.     'ONKEYDOWN'   => '%Script',
  1134.     'ONKEYPRESS'  => '%Script',
  1135.     'ONKEYUP'     => '%Script',
  1136.     'ONMOUSEDOWN' => '%Script',
  1137.     'ONMOUSEMOVE' => '%Script',
  1138.     'ONMOUSEOUT'  => '%Script',
  1139.     'ONMOUSEOVER' => '%Script',
  1140.     'ONMOUSEUP'   => '%Script',
  1141.     'STANDBY'     => '%Text',
  1142.     'STYLE'       => '%StyleSheet',
  1143.     'TABINDEX'    => 'NUMBER',
  1144.     'TITLE'       => '%Text',
  1145.     'TYPE'        => '%ContentType',
  1146.     'USEMAP'      => '%URI',
  1147.     'WIDTH'       => '%Length',
  1148.   },
  1149.   'OL' => {
  1150.     'CLASS'       => '%Class',
  1151.     'DIR'         => 'LTR|RTL',
  1152.     'ID'          => 'ID',
  1153.     'LANG'        => '%LanguageCode',
  1154.     'ONCLICK'     => '%Script',
  1155.     'ONDBLCLICK'  => '%Script',
  1156.     'ONKEYDOWN'   => '%Script',
  1157.     'ONKEYPRESS'  => '%Script',
  1158.     'ONKEYUP'     => '%Script',
  1159.     'ONMOUSEDOWN' => '%Script',
  1160.     'ONMOUSEMOVE' => '%Script',
  1161.     'ONMOUSEOUT'  => '%Script',
  1162.     'ONMOUSEOVER' => '%Script',
  1163.     'ONMOUSEUP'   => '%Script',
  1164.     'STYLE'       => '%StyleSheet',
  1165.     'TITLE'       => '%Text',
  1166.   },
  1167.   'OPTGROUP' => {
  1168.     'CLASS'       => '%Class',
  1169.     'DIR'         => 'LTR|RTL',
  1170.     'DISABLED'    => 'DISABLED',
  1171.     'ID'          => 'ID',
  1172.     'LABEL'       => '%Text',
  1173.     'LANG'        => '%LanguageCode',
  1174.     'ONCLICK'     => '%Script',
  1175.     'ONDBLCLICK'  => '%Script',
  1176.     'ONKEYDOWN'   => '%Script',
  1177.     'ONKEYPRESS'  => '%Script',
  1178.     'ONKEYUP'     => '%Script',
  1179.     'ONMOUSEDOWN' => '%Script',
  1180.     'ONMOUSEMOVE' => '%Script',
  1181.     'ONMOUSEOUT'  => '%Script',
  1182.     'ONMOUSEOVER' => '%Script',
  1183.     'ONMOUSEUP'   => '%Script',
  1184.     'STYLE'       => '%StyleSheet',
  1185.     'TITLE'       => '%Text',
  1186.   },
  1187.   'OPTION' => {
  1188.     'CLASS'       => '%Class',
  1189.     'DIR'         => 'LTR|RTL',
  1190.     'DISABLED'    => 'DISABLED',
  1191.     'ID'          => 'ID',
  1192.     'LABEL'       => '%Text',
  1193.     'LANG'        => '%LanguageCode',
  1194.     'ONCLICK'     => '%Script',
  1195.     'ONDBLCLICK'  => '%Script',
  1196.     'ONKEYDOWN'   => '%Script',
  1197.     'ONKEYPRESS'  => '%Script',
  1198.     'ONKEYUP'     => '%Script',
  1199.     'ONMOUSEDOWN' => '%Script',
  1200.     'ONMOUSEMOVE' => '%Script',
  1201.     'ONMOUSEOUT'  => '%Script',
  1202.     'ONMOUSEOVER' => '%Script',
  1203.     'ONMOUSEUP'   => '%Script',
  1204.     'SELECTED'    => 'SELECTED',
  1205.     'STYLE'       => '%StyleSheet',
  1206.     'TITLE'       => '%Text',
  1207.     'VALUE'       => 'CDATA',
  1208.   },
  1209.   'P' => {
  1210.     'CLASS'       => '%Class',
  1211.     'DIR'         => 'LTR|RTL',
  1212.     'ID'          => 'ID',
  1213.     'LANG'        => '%LanguageCode',
  1214.     'ONCLICK'     => '%Script',
  1215.     'ONDBLCLICK'  => '%Script',
  1216.     'ONKEYDOWN'   => '%Script',
  1217.     'ONKEYPRESS'  => '%Script',
  1218.     'ONKEYUP'     => '%Script',
  1219.     'ONMOUSEDOWN' => '%Script',
  1220.     'ONMOUSEMOVE' => '%Script',
  1221.     'ONMOUSEOUT'  => '%Script',
  1222.     'ONMOUSEOVER' => '%Script',
  1223.     'ONMOUSEUP'   => '%Script',
  1224.     'STYLE'       => '%StyleSheet',
  1225.     'TITLE'       => '%Text',
  1226.   },
  1227.   'PARAM' => {
  1228.     'ID'        => 'ID',
  1229.     'NAME'      => '%Name',
  1230.     'TYPE'      => '%ContentType',
  1231.     'VALUE'     => 'CDATA',
  1232.     'VALUETYPE' => 'DATA|REF|OBJECT',
  1233.   },
  1234.   'PRE' => {
  1235.     'CLASS'       => '%Class',
  1236.     'DIR'         => 'LTR|RTL',
  1237.     'ID'          => 'ID',
  1238.     'LANG'        => '%LanguageCode',
  1239.     'ONCLICK'     => '%Script',
  1240.     'ONDBLCLICK'  => '%Script',
  1241.     'ONKEYDOWN'   => '%Script',
  1242.     'ONKEYPRESS'  => '%Script',
  1243.     'ONKEYUP'     => '%Script',
  1244.     'ONMOUSEDOWN' => '%Script',
  1245.     'ONMOUSEMOVE' => '%Script',
  1246.     'ONMOUSEOUT'  => '%Script',
  1247.     'ONMOUSEOVER' => '%Script',
  1248.     'ONMOUSEUP'   => '%Script',
  1249.     'STYLE'       => '%StyleSheet',
  1250.     'TITLE'       => '%Text',
  1251.   },
  1252.   'Q' => {
  1253.     'CITE'        => '%URI',
  1254.     'CLASS'       => '%Class',
  1255.     'DIR'         => 'LTR|RTL',
  1256.     'ID'          => 'ID',
  1257.     'LANG'        => '%LanguageCode',
  1258.     'ONCLICK'     => '%Script',
  1259.     'ONDBLCLICK'  => '%Script',
  1260.     'ONKEYDOWN'   => '%Script',
  1261.     'ONKEYPRESS'  => '%Script',
  1262.     'ONKEYUP'     => '%Script',
  1263.     'ONMOUSEDOWN' => '%Script',
  1264.     'ONMOUSEMOVE' => '%Script',
  1265.     'ONMOUSEOUT'  => '%Script',
  1266.     'ONMOUSEOVER' => '%Script',
  1267.     'ONMOUSEUP'   => '%Script',
  1268.     'STYLE'       => '%StyleSheet',
  1269.     'TITLE'       => '%Text',
  1270.   },
  1271.   'SAMP' => {
  1272.     'CLASS'       => '%Class',
  1273.     'DIR'         => 'LTR|RTL',
  1274.     'ID'          => 'ID',
  1275.     'LANG'        => '%LanguageCode',
  1276.     'ONCLICK'     => '%Script',
  1277.     'ONDBLCLICK'  => '%Script',
  1278.     'ONKEYDOWN'   => '%Script',
  1279.     'ONKEYPRESS'  => '%Script',
  1280.     'ONKEYUP'     => '%Script',
  1281.     'ONMOUSEDOWN' => '%Script',
  1282.     'ONMOUSEMOVE' => '%Script',
  1283.     'ONMOUSEOUT'  => '%Script',
  1284.     'ONMOUSEOVER' => '%Script',
  1285.     'ONMOUSEUP'   => '%Script',
  1286.     'STYLE'       => '%StyleSheet',
  1287.     'TITLE'       => '%Text',
  1288.   },
  1289.   'SCRIPT' => {
  1290.     'CHARSET' => '%Charset',
  1291.     'DEFER'   => 'DEFER',
  1292.     'EVENT'   => 'CDATA',
  1293.     'FOR'     => '%URI',
  1294.     'SRC'     => '%URI',
  1295.     'TYPE'    => '%ContentType',
  1296.   },
  1297.   'SELECT' => {
  1298.     'CLASS'       => '%Class',
  1299.     'DIR'         => 'LTR|RTL',
  1300.     'DISABLED'    => 'DISABLED',
  1301.     'ID'          => 'ID',
  1302.     'LANG'        => '%LanguageCode',
  1303.     'MULTIPLE'    => 'MULTIPLE',
  1304.     'NAME'        => '%Name',
  1305.     'ONBLUR'      => '%Script',
  1306.     'ONCHANGE'    => '%Script',
  1307.     'ONCLICK'     => '%Script',
  1308.     'ONDBLCLICK'  => '%Script',
  1309.     'ONFOCUS'     => '%Script',
  1310.     'ONKEYDOWN'   => '%Script',
  1311.     'ONKEYPRESS'  => '%Script',
  1312.     'ONKEYUP'     => '%Script',
  1313.     'ONMOUSEDOWN' => '%Script',
  1314.     'ONMOUSEMOVE' => '%Script',
  1315.     'ONMOUSEOUT'  => '%Script',
  1316.     'ONMOUSEOVER' => '%Script',
  1317.     'ONMOUSEUP'   => '%Script',
  1318.     'SIZE'        => 'NUMBER',
  1319.     'STYLE'       => '%StyleSheet',
  1320.     'TABINDEX'    => 'NUMBER',
  1321.     'TITLE'       => '%Text',
  1322.   },
  1323.   'SMALL' => {
  1324.     'CLASS'       => '%Class',
  1325.     'DIR'         => 'LTR|RTL',
  1326.     'ID'          => 'ID',
  1327.     'LANG'        => '%LanguageCode',
  1328.     'ONCLICK'     => '%Script',
  1329.     'ONDBLCLICK'  => '%Script',
  1330.     'ONKEYDOWN'   => '%Script',
  1331.     'ONKEYPRESS'  => '%Script',
  1332.     'ONKEYUP'     => '%Script',
  1333.     'ONMOUSEDOWN' => '%Script',
  1334.     'ONMOUSEMOVE' => '%Script',
  1335.     'ONMOUSEOUT'  => '%Script',
  1336.     'ONMOUSEOVER' => '%Script',
  1337.     'ONMOUSEUP'   => '%Script',
  1338.     'STYLE'       => '%StyleSheet',
  1339.     'TITLE'       => '%Text',
  1340.   },
  1341.   'SPAN' => {
  1342.     'CLASS'       => '%Class',
  1343.     'DIR'         => 'LTR|RTL',
  1344.     'ID'          => 'ID',
  1345.     'LANG'        => '%LanguageCode',
  1346.     'ONCLICK'     => '%Script',
  1347.     'ONDBLCLICK'  => '%Script',
  1348.     'ONKEYDOWN'   => '%Script',
  1349.     'ONKEYPRESS'  => '%Script',
  1350.     'ONKEYUP'     => '%Script',
  1351.     'ONMOUSEDOWN' => '%Script',
  1352.     'ONMOUSEMOVE' => '%Script',
  1353.     'ONMOUSEOUT'  => '%Script',
  1354.     'ONMOUSEOVER' => '%Script',
  1355.     'ONMOUSEUP'   => '%Script',
  1356.     'STYLE'       => '%StyleSheet',
  1357.     'TITLE'       => '%Text',
  1358.   },
  1359.   'STRONG' => {
  1360.     'CLASS'       => '%Class',
  1361.     'DIR'         => 'LTR|RTL',
  1362.     'ID'          => 'ID',
  1363.     'LANG'        => '%LanguageCode',
  1364.     'ONCLICK'     => '%Script',
  1365.     'ONDBLCLICK'  => '%Script',
  1366.     'ONKEYDOWN'   => '%Script',
  1367.     'ONKEYPRESS'  => '%Script',
  1368.     'ONKEYUP'     => '%Script',
  1369.     'ONMOUSEDOWN' => '%Script',
  1370.     'ONMOUSEMOVE' => '%Script',
  1371.     'ONMOUSEOUT'  => '%Script',
  1372.     'ONMOUSEOVER' => '%Script',
  1373.     'ONMOUSEUP'   => '%Script',
  1374.     'STYLE'       => '%StyleSheet',
  1375.     'TITLE'       => '%Text',
  1376.   },
  1377.   'STYLE' => {
  1378.     'DIR'   => 'LTR|RTL',
  1379.     'LANG'  => '%LanguageCode',
  1380.     'MEDIA' => '%MediaDesc',
  1381.     'TITLE' => '%Text',
  1382.     'TYPE'  => '%ContentType',
  1383.   },
  1384.   'SUB' => {
  1385.     'CLASS'       => '%Class',
  1386.     'DIR'         => 'LTR|RTL',
  1387.     'ID'          => 'ID',
  1388.     'LANG'        => '%LanguageCode',
  1389.     'ONCLICK'     => '%Script',
  1390.     'ONDBLCLICK'  => '%Script',
  1391.     'ONKEYDOWN'   => '%Script',
  1392.     'ONKEYPRESS'  => '%Script',
  1393.     'ONKEYUP'     => '%Script',
  1394.     'ONMOUSEDOWN' => '%Script',
  1395.     'ONMOUSEMOVE' => '%Script',
  1396.     'ONMOUSEOUT'  => '%Script',
  1397.     'ONMOUSEOVER' => '%Script',
  1398.     'ONMOUSEUP'   => '%Script',
  1399.     'STYLE'       => '%StyleSheet',
  1400.     'TITLE'       => '%Text',
  1401.   },
  1402.   'SUP' => {
  1403.     'CLASS'       => '%Class',
  1404.     'DIR'         => 'LTR|RTL',
  1405.     'ID'          => 'ID',
  1406.     'LANG'        => '%LanguageCode',
  1407.     'ONCLICK'     => '%Script',
  1408.     'ONDBLCLICK'  => '%Script',
  1409.     'ONKEYDOWN'   => '%Script',
  1410.     'ONKEYPRESS'  => '%Script',
  1411.     'ONKEYUP'     => '%Script',
  1412.     'ONMOUSEDOWN' => '%Script',
  1413.     'ONMOUSEMOVE' => '%Script',
  1414.     'ONMOUSEOUT'  => '%Script',
  1415.     'ONMOUSEOVER' => '%Script',
  1416.     'ONMOUSEUP'   => '%Script',
  1417.     'STYLE'       => '%StyleSheet',
  1418.     'TITLE'       => '%Text',
  1419.   },
  1420.   'TABLE' => {
  1421.     'BORDER'       => '%Pixels',
  1422.     'CELLPADDING'  => '%Length',
  1423.     'CELLSPACING'  => '%Length',
  1424.     'CLASS'        => '%Class',
  1425.     'DATAPAGESIZE' => 'CDATA',
  1426.     'DIR'          => 'LTR|RTL',
  1427.     'FRAME'        => 'VOID|ABOVE|BELOW|HSIDES|LHS|RHS|VSIDES|BOX|BORDER',
  1428.     'ID'           => 'ID',
  1429.     'LANG'         => '%LanguageCode',
  1430.     'ONCLICK'      => '%Script',
  1431.     'ONDBLCLICK'   => '%Script',
  1432.     'ONKEYDOWN'    => '%Script',
  1433.     'ONKEYPRESS'   => '%Script',
  1434.     'ONKEYUP'      => '%Script',
  1435.     'ONMOUSEDOWN'  => '%Script',
  1436.     'ONMOUSEMOVE'  => '%Script',
  1437.     'ONMOUSEOUT'   => '%Script',
  1438.     'ONMOUSEOVER'  => '%Script',
  1439.     'ONMOUSEUP'    => '%Script',
  1440.     'RULES'        => 'NONE|GROUPS|ROWS|COLS|ALL',
  1441.     'STYLE'        => '%StyleSheet',
  1442.     'SUMMARY'      => '%Text',
  1443.     'TITLE'        => '%Text',
  1444.     'WIDTH'        => '%Length',
  1445.   },
  1446.   'TBODY' => {
  1447.     'ALIGN'       => 'LEFT|CENTER|RIGHT|JUSTIFY|CHAR',
  1448.     'CHAR'        => '%Character',
  1449.     'CHAROFF'     => '%Length',
  1450.     'CLASS'       => '%Class',
  1451.     'DIR'         => 'LTR|RTL',
  1452.     'ID'          => 'ID',
  1453.     'LANG'        => '%LanguageCode',
  1454.     'ONCLICK'     => '%Script',
  1455.     'ONDBLCLICK'  => '%Script',
  1456.     'ONKEYDOWN'   => '%Script',
  1457.     'ONKEYPRESS'  => '%Script',
  1458.     'ONKEYUP'     => '%Script',
  1459.     'ONMOUSEDOWN' => '%Script',
  1460.     'ONMOUSEMOVE' => '%Script',
  1461.     'ONMOUSEOUT'  => '%Script',
  1462.     'ONMOUSEOVER' => '%Script',
  1463.     'ONMOUSEUP'   => '%Script',
  1464.     'STYLE'       => '%StyleSheet',
  1465.     'TITLE'       => '%Text',
  1466.     'VALIGN'      => 'TOP|MIDDLE|BOTTOM|BASELINE',
  1467.   },
  1468.   'TD' => {
  1469.     'ABBR'        => '%Text',
  1470.     'ALIGN'       => 'LEFT|CENTER|RIGHT|JUSTIFY|CHAR',
  1471.     'AXIS'        => 'CDATA',
  1472.     'CHAR'        => '%Character',
  1473.     'CHAROFF'     => '%Length',
  1474.     'CLASS'       => '%Class',
  1475.     'COLSPAN'     => 'NUMBER',
  1476.     'DIR'         => 'LTR|RTL',
  1477.     'HEADERS'     => 'IDREFS',
  1478.     'ID'          => 'ID',
  1479.     'LANG'        => '%LanguageCode',
  1480.     'ONCLICK'     => '%Script',
  1481.     'ONDBLCLICK'  => '%Script',
  1482.     'ONKEYDOWN'   => '%Script',
  1483.     'ONKEYPRESS'  => '%Script',
  1484.     'ONKEYUP'     => '%Script',
  1485.     'ONMOUSEDOWN' => '%Script',
  1486.     'ONMOUSEMOVE' => '%Script',
  1487.     'ONMOUSEOUT'  => '%Script',
  1488.     'ONMOUSEOVER' => '%Script',
  1489.     'ONMOUSEUP'   => '%Script',
  1490.     'ROWSPAN'     => 'NUMBER',
  1491.     'SCOPE'       => 'ROW|COL|ROWGROUP|COLGROUP',
  1492.     'STYLE'       => '%StyleSheet',
  1493.     'TITLE'       => '%Text',
  1494.     'VALIGN'      => 'TOP|MIDDLE|BOTTOM|BASELINE',
  1495.   },
  1496.   'TEXTAREA' => {
  1497.     'ACCESSKEY'   => '%Character',
  1498.     'CLASS'       => '%Class',
  1499.     'COLS'        => 'NUMBER',
  1500.     'DIR'         => 'LTR|RTL',
  1501.     'DISABLED'    => 'DISABLED',
  1502.     'ID'          => 'ID',
  1503.     'LANG'        => '%LanguageCode',
  1504.     'NAME'        => '%Name',
  1505.     'ONBLUR'      => '%Script',
  1506.     'ONCHANGE'    => '%Script',
  1507.     'ONCLICK'     => '%Script',
  1508.     'ONDBLCLICK'  => '%Script',
  1509.     'ONFOCUS'     => '%Script',
  1510.     'ONKEYDOWN'   => '%Script',
  1511.     'ONKEYPRESS'  => '%Script',
  1512.     'ONKEYUP'     => '%Script',
  1513.     'ONMOUSEDOWN' => '%Script',
  1514.     'ONMOUSEMOVE' => '%Script',
  1515.     'ONMOUSEOUT'  => '%Script',
  1516.     'ONMOUSEOVER' => '%Script',
  1517.     'ONMOUSEUP'   => '%Script',
  1518.     'ONSELECT'    => '%Script',
  1519.     'READONLY'    => 'READONLY',
  1520.     'ROWS'        => 'NUMBER',
  1521.     'STYLE'       => '%StyleSheet',
  1522.     'TABINDEX'    => 'NUMBER',
  1523.     'TITLE'       => '%Text',
  1524.   },
  1525.   'TFOOT' => {
  1526.     'ALIGN'       => 'LEFT|CENTER|RIGHT|JUSTIFY|CHAR',
  1527.     'CHAR'        => '%Character',
  1528.     'CHAROFF'     => '%Length',
  1529.     'CLASS'       => '%Class',
  1530.     'DIR'         => 'LTR|RTL',
  1531.     'ID'          => 'ID',
  1532.     'LANG'        => '%LanguageCode',
  1533.     'ONCLICK'     => '%Script',
  1534.     'ONDBLCLICK'  => '%Script',
  1535.     'ONKEYDOWN'   => '%Script',
  1536.     'ONKEYPRESS'  => '%Script',
  1537.     'ONKEYUP'     => '%Script',
  1538.     'ONMOUSEDOWN' => '%Script',
  1539.     'ONMOUSEMOVE' => '%Script',
  1540.     'ONMOUSEOUT'  => '%Script',
  1541.     'ONMOUSEOVER' => '%Script',
  1542.     'ONMOUSEUP'   => '%Script',
  1543.     'STYLE'       => '%StyleSheet',
  1544.     'TITLE'       => '%Text',
  1545.     'VALIGN'      => 'TOP|MIDDLE|BOTTOM|BASELINE',
  1546.   },
  1547.   'TH' => {
  1548.     'ABBR'        => '%Text',
  1549.     'ALIGN'       => 'LEFT|CENTER|RIGHT|JUSTIFY|CHAR',
  1550.     'AXIS'        => 'CDATA',
  1551.     'CHAR'        => '%Character',
  1552.     'CHAROFF'     => '%Length',
  1553.     'CLASS'       => '%Class',
  1554.     'COLSPAN'     => 'NUMBER',
  1555.     'DIR'         => 'LTR|RTL',
  1556.     'HEADERS'     => 'IDREFS',
  1557.     'ID'          => 'ID',
  1558.     'LANG'        => '%LanguageCode',
  1559.     'ONCLICK'     => '%Script',
  1560.     'ONDBLCLICK'  => '%Script',
  1561.     'ONKEYDOWN'   => '%Script',
  1562.     'ONKEYPRESS'  => '%Script',
  1563.     'ONKEYUP'     => '%Script',
  1564.     'ONMOUSEDOWN' => '%Script',
  1565.     'ONMOUSEMOVE' => '%Script',
  1566.     'ONMOUSEOUT'  => '%Script',
  1567.     'ONMOUSEOVER' => '%Script',
  1568.     'ONMOUSEUP'   => '%Script',
  1569.     'ROWSPAN'     => 'NUMBER',
  1570.     'SCOPE'       => 'ROW|COL|ROWGROUP|COLGROUP',
  1571.     'STYLE'       => '%StyleSheet',
  1572.     'TITLE'       => '%Text',
  1573.     'VALIGN'      => 'TOP|MIDDLE|BOTTOM|BASELINE',
  1574.   },
  1575.   'THEAD' => {
  1576.     'ALIGN'       => 'LEFT|CENTER|RIGHT|JUSTIFY|CHAR',
  1577.     'CHAR'        => '%Character',
  1578.     'CHAROFF'     => '%Length',
  1579.     'CLASS'       => '%Class',
  1580.     'DIR'         => 'LTR|RTL',
  1581.     'ID'          => 'ID',
  1582.     'LANG'        => '%LanguageCode',
  1583.     'ONCLICK'     => '%Script',
  1584.     'ONDBLCLICK'  => '%Script',
  1585.     'ONKEYDOWN'   => '%Script',
  1586.     'ONKEYPRESS'  => '%Script',
  1587.     'ONKEYUP'     => '%Script',
  1588.     'ONMOUSEDOWN' => '%Script',
  1589.     'ONMOUSEMOVE' => '%Script',
  1590.     'ONMOUSEOUT'  => '%Script',
  1591.     'ONMOUSEOVER' => '%Script',
  1592.     'ONMOUSEUP'   => '%Script',
  1593.     'STYLE'       => '%StyleSheet',
  1594.     'TITLE'       => '%Text',
  1595.     'VALIGN'      => 'TOP|MIDDLE|BOTTOM|BASELINE',
  1596.   },
  1597.   'TITLE' => {
  1598.     'DIR'  => 'LTR|RTL',
  1599.     'LANG' => '%LanguageCode',
  1600.   },
  1601.   'TR' => {
  1602.     'ALIGN'       => 'LEFT|CENTER|RIGHT|JUSTIFY|CHAR',
  1603.     'CHAR'        => '%Character',
  1604.     'CHAROFF'     => '%Length',
  1605.     'CLASS'       => '%Class',
  1606.     'DIR'         => 'LTR|RTL',
  1607.     'ID'          => 'ID',
  1608.     'LANG'        => '%LanguageCode',
  1609.     'ONCLICK'     => '%Script',
  1610.     'ONDBLCLICK'  => '%Script',
  1611.     'ONKEYDOWN'   => '%Script',
  1612.     'ONKEYPRESS'  => '%Script',
  1613.     'ONKEYUP'     => '%Script',
  1614.     'ONMOUSEDOWN' => '%Script',
  1615.     'ONMOUSEMOVE' => '%Script',
  1616.     'ONMOUSEOUT'  => '%Script',
  1617.     'ONMOUSEOVER' => '%Script',
  1618.     'ONMOUSEUP'   => '%Script',
  1619.     'STYLE'       => '%StyleSheet',
  1620.     'TITLE'       => '%Text',
  1621.     'VALIGN'      => 'TOP|MIDDLE|BOTTOM|BASELINE',
  1622.   },
  1623.   'TT' => {
  1624.     'CLASS'       => '%Class',
  1625.     'DIR'         => 'LTR|RTL',
  1626.     'ID'          => 'ID',
  1627.     'LANG'        => '%LanguageCode',
  1628.     'ONCLICK'     => '%Script',
  1629.     'ONDBLCLICK'  => '%Script',
  1630.     'ONKEYDOWN'   => '%Script',
  1631.     'ONKEYPRESS'  => '%Script',
  1632.     'ONKEYUP'     => '%Script',
  1633.     'ONMOUSEDOWN' => '%Script',
  1634.     'ONMOUSEMOVE' => '%Script',
  1635.     'ONMOUSEOUT'  => '%Script',
  1636.     'ONMOUSEOVER' => '%Script',
  1637.     'ONMOUSEUP'   => '%Script',
  1638.     'STYLE'       => '%StyleSheet',
  1639.     'TITLE'       => '%Text',
  1640.   },
  1641.   'UL' => {
  1642.     'CLASS'       => '%Class',
  1643.     'DIR'         => 'LTR|RTL',
  1644.     'ID'          => 'ID',
  1645.     'LANG'        => '%LanguageCode',
  1646.     'ONCLICK'     => '%Script',
  1647.     'ONDBLCLICK'  => '%Script',
  1648.     'ONKEYDOWN'   => '%Script',
  1649.     'ONKEYPRESS'  => '%Script',
  1650.     'ONKEYUP'     => '%Script',
  1651.     'ONMOUSEDOWN' => '%Script',
  1652.     'ONMOUSEMOVE' => '%Script',
  1653.     'ONMOUSEOUT'  => '%Script',
  1654.     'ONMOUSEOVER' => '%Script',
  1655.     'ONMOUSEUP'   => '%Script',
  1656.     'STYLE'       => '%StyleSheet',
  1657.     'TITLE'       => '%Text',
  1658.   },
  1659.   'VAR' => {
  1660.     'CLASS'       => '%Class',
  1661.     'DIR'         => 'LTR|RTL',
  1662.     'ID'          => 'ID',
  1663.     'LANG'        => '%LanguageCode',
  1664.     'ONCLICK'     => '%Script',
  1665.     'ONDBLCLICK'  => '%Script',
  1666.     'ONKEYDOWN'   => '%Script',
  1667.     'ONKEYPRESS'  => '%Script',
  1668.     'ONKEYUP'     => '%Script',
  1669.     'ONMOUSEDOWN' => '%Script',
  1670.     'ONMOUSEMOVE' => '%Script',
  1671.     'ONMOUSEOUT'  => '%Script',
  1672.     'ONMOUSEOVER' => '%Script',
  1673.     'ONMOUSEUP'   => '%Script',
  1674.     'STYLE'       => '%StyleSheet',
  1675.     'TITLE'       => '%Text',
  1676.   },
  1677. );
  1678. %requiredAttrs = (
  1679.   'AREA'     => 'ALT',
  1680.   'BASE'     => 'HREF',
  1681.   'BDO'      => 'DIR',
  1682.   'FORM'     => 'ACTION',
  1683.   'IMG'      => 'SRC&ALT',
  1684.   'MAP'      => 'NAME',
  1685.   'META'     => 'CONTENT',
  1686.   'OPTGROUP' => 'LABEL',
  1687.   'PARAM'    => 'NAME',
  1688.   'SCRIPT'   => 'TYPE',
  1689.   'STYLE'    => 'TYPE',
  1690.   'TEXTAREA' => 'ROWS&COLS',
  1691. );
  1692. #======= ENTITIES =======
  1693. %refEntities = (
  1694.   'AElig'    => 'Æ',
  1695.   'Aacute'   => 'Á',
  1696.   'Acirc'    => 'Â',
  1697.   'Agrave'   => 'À',
  1698.   'Alpha'    => 'Α',
  1699.   'Aring'    => 'Å',
  1700.   'Atilde'   => 'Ã',
  1701.   'Auml'     => 'Ä',
  1702.   'Beta'     => 'Β',
  1703.   'Ccedil'   => 'Ç',
  1704.   'Chi'      => 'Χ',
  1705.   'Dagger'   => '‡',
  1706.   'Delta'    => 'Δ',
  1707.   'ETH'      => 'Ð',
  1708.   'Eacute'   => 'É',
  1709.   'Ecirc'    => 'Ê',
  1710.   'Egrave'   => 'È',
  1711.   'Epsilon'  => 'Ε',
  1712.   'Eta'      => 'Η',
  1713.   'Euml'     => 'Ë',
  1714.   'Gamma'    => 'Γ',
  1715.   'Iacute'   => 'Í',
  1716.   'Icirc'    => 'Î',
  1717.   'Igrave'   => 'Ì',
  1718.   'Iota'     => 'Ι',
  1719.   'Iuml'     => 'Ï',
  1720.   'Kappa'    => 'Κ',
  1721.   'Lambda'   => 'Λ',
  1722.   'Mu'       => 'Μ',
  1723.   'Ntilde'   => 'Ñ',
  1724.   'Nu'       => 'Ν',
  1725.   'OElig'    => 'Œ',
  1726.   'Oacute'   => 'Ó',
  1727.   'Ocirc'    => 'Ô',
  1728.   'Ograve'   => 'Ò',
  1729.   'Omega'    => 'Ω',
  1730.   'Omicron'  => 'Ο',
  1731.   'Oslash'   => 'Ø',
  1732.   'Otilde'   => 'Õ',
  1733.   'Ouml'     => 'Ö',
  1734.   'Phi'      => 'Φ',
  1735.   'Pi'       => 'Π',
  1736.   'Prime'    => '″',
  1737.   'Psi'      => 'Ψ',
  1738.   'Rho'      => 'Ρ',
  1739.   'Scaron'   => 'Š',
  1740.   'Sigma'    => 'Σ',
  1741.   'THORN'    => 'Þ',
  1742.   'Tau'      => 'Τ',
  1743.   'Theta'    => 'Θ',
  1744.   'Uacute'   => 'Ú',
  1745.   'Ucirc'    => 'Û',
  1746.   'Ugrave'   => 'Ù',
  1747.   'Upsilon'  => 'Υ',
  1748.   'Uuml'     => 'Ü',
  1749.   'Xi'       => 'Ξ',
  1750.   'Yacute'   => 'Ý',
  1751.   'Yuml'     => 'Ÿ',
  1752.   'Zeta'     => 'Ζ',
  1753.   'aacute'   => 'á',
  1754.   'acirc'    => 'â',
  1755.   'acute'    => '´',
  1756.   'aelig'    => 'æ',
  1757.   'agrave'   => 'à',
  1758.   'alefsym'  => 'ℵ',
  1759.   'alpha'    => 'α',
  1760.   'amp'      => '&',
  1761.   'and'      => '∧',
  1762.   'ang'      => '∠',
  1763.   'aring'    => 'å',
  1764.   'asymp'    => '≈',
  1765.   'atilde'   => 'ã',
  1766.   'auml'     => 'ä',
  1767.   'bdquo'    => '„',
  1768.   'beta'     => 'β',
  1769.   'brvbar'   => '¦',
  1770.   'bull'     => '•',
  1771.   'cap'      => '∩',
  1772.   'ccedil'   => 'ç',
  1773.   'cedil'    => '¸',
  1774.   'cent'     => '¢',
  1775.   'chi'      => 'χ',
  1776.   'circ'     => 'ˆ',
  1777.   'clubs'    => '♣',
  1778.   'cong'     => '≅',
  1779.   'copy'     => '©',
  1780.   'crarr'    => '↵',
  1781.   'cup'      => '∪',
  1782.   'curren'   => '¤',
  1783.   'dArr'     => '⇓',
  1784.   'dagger'   => '†',
  1785.   'darr'     => '↓',
  1786.   'deg'      => '°',
  1787.   'delta'    => 'δ',
  1788.   'diams'    => '♦',
  1789.   'divide'   => '÷',
  1790.   'eacute'   => 'é',
  1791.   'ecirc'    => 'ê',
  1792.   'egrave'   => 'è',
  1793.   'empty'    => '∅',
  1794.   'emsp'     => ' ',
  1795.   'ensp'     => ' ',
  1796.   'epsilon'  => 'ε',
  1797.   'equiv'    => '≡',
  1798.   'eta'      => 'η',
  1799.   'eth'      => 'ð',
  1800.   'euml'     => 'ë',
  1801.   'euro'     => '€',
  1802.   'exist'    => '∃',
  1803.   'fnof'     => 'ƒ',
  1804.   'forall'   => '∀',
  1805.   'frac12'   => '½',
  1806.   'frac14'   => '¼',
  1807.   'frac34'   => '¾',
  1808.   'frasl'    => '⁄',
  1809.   'gamma'    => 'γ',
  1810.   'ge'       => '≥',
  1811.   'gt'       => '>',
  1812.   'hArr'     => '⇔',
  1813.   'harr'     => '↔',
  1814.   'hearts'   => '♥',
  1815.   'hellip'   => '…',
  1816.   'iacute'   => 'í',
  1817.   'icirc'    => 'î',
  1818.   'iexcl'    => '¡',
  1819.   'igrave'   => 'ì',
  1820.   'image'    => 'ℑ',
  1821.   'infin'    => '∞',
  1822.   'int'      => '∫',
  1823.   'iota'     => 'ι',
  1824.   'iquest'   => '¿',
  1825.   'isin'     => '∈',
  1826.   'iuml'     => 'ï',
  1827.   'kappa'    => 'κ',
  1828.   'lArr'     => '⇐',
  1829.   'lambda'   => 'λ',
  1830.   'lang'     => '〈',
  1831.   'laquo'    => '«',
  1832.   'larr'     => '←',
  1833.   'lceil'    => '⌈',
  1834.   'ldquo'    => '“',
  1835.   'le'       => '≤',
  1836.   'lfloor'   => '⌊',
  1837.   'lowast'   => '∗',
  1838.   'loz'      => '◊',
  1839.   'lrm'      => '‎',
  1840.   'lsaquo'   => '‹',
  1841.   'lsquo'    => '‘',
  1842.   'lt'       => '<',
  1843.   'macr'     => '¯',
  1844.   'mdash'    => '—',
  1845.   'micro'    => 'µ',
  1846.   'middot'   => '·',
  1847.   'minus'    => '−',
  1848.   'mu'       => 'μ',
  1849.   'nabla'    => '∇',
  1850.   'nbsp'     => ' ',
  1851.   'ndash'    => '–',
  1852.   'ne'       => '≠',
  1853.   'ni'       => '∋',
  1854.   'not'      => '¬',
  1855.   'notin'    => '∉',
  1856.   'nsub'     => '⊄',
  1857.   'ntilde'   => 'ñ',
  1858.   'nu'       => 'ν',
  1859.   'oacute'   => 'ó',
  1860.   'ocirc'    => 'ô',
  1861.   'oelig'    => 'œ',
  1862.   'ograve'   => 'ò',
  1863.   'oline'    => '‾',
  1864.   'omega'    => 'ω',
  1865.   'omicron'  => 'ο',
  1866.   'oplus'    => '⊕',
  1867.   'or'       => '∨',
  1868.   'ordf'     => 'ª',
  1869.   'ordm'     => 'º',
  1870.   'oslash'   => 'ø',
  1871.   'otilde'   => 'õ',
  1872.   'otimes'   => '⊗',
  1873.   'ouml'     => 'ö',
  1874.   'para'     => '¶',
  1875.   'part'     => '∂',
  1876.   'permil'   => '‰',
  1877.   'perp'     => '⊥',
  1878.   'phi'      => 'φ',
  1879.   'pi'       => 'π',
  1880.   'piv'      => 'ϖ',
  1881.   'plusmn'   => '±',
  1882.   'pound'    => '£',
  1883.   'prime'    => '′',
  1884.   'prod'     => '∏',
  1885.   'prop'     => '∝',
  1886.   'psi'      => 'ψ',
  1887.   'quot'     => '"',
  1888.   'rArr'     => '⇒',
  1889.   'radic'    => '√',
  1890.   'rang'     => '〉',
  1891.   'raquo'    => '»',
  1892.   'rarr'     => '→',
  1893.   'rceil'    => '⌉',
  1894.   'rdquo'    => '”',
  1895.   'real'     => 'ℜ',
  1896.   'reg'      => '®',
  1897.   'rfloor'   => '⌋',
  1898.   'rho'      => 'ρ',
  1899.   'rlm'      => '‏',
  1900.   'rsaquo'   => '›',
  1901.   'rsquo'    => '’',
  1902.   'sbquo'    => '‚',
  1903.   'scaron'   => 'š',
  1904.   'sdot'     => '⋅',
  1905.   'sect'     => '§',
  1906.   'shy'      => '­',
  1907.   'sigma'    => 'σ',
  1908.   'sigmaf'   => 'ς',
  1909.   'sim'      => '∼',
  1910.   'spades'   => '♠',
  1911.   'sub'      => '⊂',
  1912.   'sube'     => '⊆',
  1913.   'sum'      => '∑',
  1914.   'sup'      => '⊃',
  1915.   'sup1'     => '¹',
  1916.   'sup2'     => '²',
  1917.   'sup3'     => '³',
  1918.   'supe'     => '⊇',
  1919.   'szlig'    => 'ß',
  1920.   'tau'      => 'τ',
  1921.   'there4'   => '∴',
  1922.   'theta'    => 'θ',
  1923.   'thetasym' => 'ϑ',
  1924.   'thinsp'   => ' ',
  1925.   'thorn'    => 'þ',
  1926.   'tilde'    => '˜',
  1927.   'times'    => '×',
  1928.   'trade'    => '™',
  1929.   'uArr'     => '⇑',
  1930.   'uacute'   => 'ú',
  1931.   'uarr'     => '↑',
  1932.   'ucirc'    => 'û',
  1933.   'ugrave'   => 'ù',
  1934.   'uml'      => '¨',
  1935.   'upsih'    => 'ϒ',
  1936.   'upsilon'  => 'υ',
  1937.   'uuml'     => 'ü',
  1938.   'weierp'   => '℘',
  1939.   'xi'       => 'ξ',
  1940.   'yacute'   => 'ý',
  1941.   'yen'      => '¥',
  1942.   'yuml'     => 'ÿ',
  1943.   'zeta'     => 'ζ',
  1944.   'zwj'      => '‍',
  1945.   'zwnj'     => '‌',
  1946. );
  1947. %refParams = (
  1948.   'Character'    => '[\x20-\x7E]',
  1949.   'Charset'      => 'CDATA+',
  1950.   'Charsets'     => 'CDATA+',
  1951.   'Class'        => 'CDATA+',
  1952.   'ContentType'  => 'CDATA+',
  1953.   'ContentTypes' => 'CDATA+',
  1954.   'Coords'       => '(?:\d+(?:\s*,\s*|\s+))+\d+',
  1955.   'Datetime'     => '\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])T(?:[0-1][0-9]|2[0-3]):(?:[0-5][0-9]):(?:[0-5][0-9])(?:Z|[\+\-][0-5][0-9]:[0-5][0-9])',
  1956.   'LanguageCode' => '(?i)[A-Z]{1,8}(?:-[A-Z]{1,8})*',
  1957.   'Length'       => '\d+%?',
  1958.   'LinkTypes'    => 'CDATA+',
  1959.   'MediaDesc'    => 'CDATA+',
  1960.   'MultiLength'  => '(?:\d+(?:\.\d+)?(?:\*|%)?|\*)',
  1961.   'Name'         => 'CDATA+',
  1962.   'Pixels'       => '\d+',
  1963.   'Script'       => 'CDATA',
  1964.   'StyleSheet'   => 'CDATA',
  1965.   'Text'         => 'CDATA',
  1966.   'URI'          => '&URL',
  1967. );
  1968.  
  1969. 1;
  1970.