home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2001 December (DVD) / VPR0112A.ISO / OLS / HTMLLINT / htmllint.lzh / xhtml1-transitional.rul < prev    next >
Text File  |  2001-03-25  |  90KB  |  2,494 lines

  1. # XHTML1.0 Transitional
  2.  
  3. #======= ELEMENTS =======
  4. $emptyTags = '';
  5. $pairTags = 'A|ABBR|ACRONYM|ADDRESS|APPLET|AREA|B|BASE|BASEFONT|BDO|BIG'.
  6.             '|BLOCKQUOTE|BODY|BR|BUTTON|CAPTION|CENTER|CITE|CODE|COL|COLGROUP'.
  7.             '|DD|DEL|DFN|DIR|DIV|DL|DT|EM|FIELDSET|FONT|FORM|H1|H2|H3|H4|H5'.
  8.             '|H6|HEAD|HR|HTML|I|IFRAME|IMG|INPUT|INS|ISINDEX|KBD|LABEL|LEGEND'.
  9.             '|LI|LINK|MAP|MENU|META|NOFRAMES|NOSCRIPT|OBJECT|OL|OPTGROUP'.
  10.             '|OPTION|P|PARAM|PRE|Q|S|SAMP|SCRIPT|SELECT|SMALL|SPAN|STRIKE'.
  11.             '|STRONG|STYLE|SUB|SUP|TABLE|TBODY|TD|TEXTAREA|TFOOT|TH|THEAD'.
  12.             '|TITLE|TR|TT|U|UL|VAR';
  13. $deprecatedTags = 'APPLET|BASEFONT|CENTER|DIR|FONT|ISINDEX|MENU|S|STRIKE|U';
  14. $omitStartTags = '';
  15. $omitEndTags = '';
  16. #$maybeEmpty = 'A|ABBR|ACRONYM|ADDRESS|APPLET|AREA|B|BASE|BASEFONT|BDO|BIG'.
  17. #              '|BLOCKQUOTE|BODY|BR|BUTTON|CAPTION|CENTER|CITE|CODE|COL'.
  18. #              '|COLGROUP|DD|DEL|DFN|DIV|DT|EM|FIELDSET|FONT|FORM|H1|H2|H3|H4'.
  19. #              '|H5|H6|HR|I|IFRAME|IMG|INPUT|INS|ISINDEX|KBD|LABEL|LEGEND|LI'.
  20. #              '|LINK|META|NOFRAMES|NOSCRIPT|OBJECT|OPTION|P|PARAM|PRE|Q|S'.
  21. #              '|SAMP|SCRIPT|SMALL|SPAN|STRIKE|STRONG|STYLE|SUB|SUP|TD'.
  22. #              '|TEXTAREA|TH|TITLE|TT|U|VAR';
  23. $maybeEmpty = 'APPLET|COLGROUP|OBJECT|PRE|SCRIPT|STYLE|TEXTAREA|TD|TH';
  24. %requiredTags = (
  25.   '#001'  => 'BASE',
  26.   '#002'  => 'TITLE',
  27.   '#003'  => 'TITLE',
  28.   '#004'  => 'BASE|#003',
  29.   'HEAD'  => '#005',
  30.   'HTML'  => 'HEAD|BODY',
  31.   'TABLE' => '#008',
  32. );
  33. %onceonlyTags = (
  34.   '#001'  => 'BASE',
  35.   '#002'  => 'TITLE|#001',
  36.   '#003'  => 'TITLE',
  37.   '#004'  => 'BASE|#003',
  38.   '#005'  => '#002|#004',
  39.   'HEAD'  => '#005',
  40.   'HTML'  => 'HEAD|BODY',
  41.   'TABLE' => 'CAPTION|#007|THEAD|TFOOT',
  42. );
  43. $sequencialTags = 'TABLE|HEAD|#001|HTML|#002|#003|#004';
  44. %tagsElements = (
  45.   '#000'       => 'ISINDEX|OBJECT|LINK|META|STYLE|SCRIPT',
  46.   '#001'       => 'BASE|#000',
  47.   '#002'       => 'TITLE|#000|#001',
  48.   '#003'       => 'TITLE|#000',
  49.   '#004'       => 'BASE|#000|#003',
  50.   '#005'       => '#002|#004',
  51.   '#006'       => 'NOSCRIPT|SCRIPT|DEL|INS|FORM|TABLE|FIELDSET|ISINDEX'.
  52.                   '|NOFRAMES|CENTER|ADDRESS|BLOCKQUOTE|HR|PRE|DIR|MENU|DL|OL'.
  53.                   '|UL|DIV|H6|H5|H4|H3|H2|H1|P',
  54.   '#007'       => 'COLGROUP|COL',
  55.   '#008'       => 'TR|TBODY',
  56.   'A'          => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  57.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  58.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  59.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|#PCDATA',
  60.   'ABBR'       => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  61.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  62.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  63.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  64.   'ACRONYM'    => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  65.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  66.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  67.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  68.   'ADDRESS'    => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  69.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  70.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  71.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  72.   'APPLET'     => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  73.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  74.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  75.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|FORM|TABLE|FIELDSET'.
  76.                   '|ISINDEX|NOFRAMES|CENTER|ADDRESS|BLOCKQUOTE|HR|PRE|DIR'.
  77.                   '|MENU|DL|OL|UL|DIV|H6|H5|H4|H3|H2|H1|P|PARAM|#PCDATA',
  78.   'B'          => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  79.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  80.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  81.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  82.   'BDO'        => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  83.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  84.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  85.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  86.   'BIG'        => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  87.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  88.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  89.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  90.   'BLOCKQUOTE' => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  91.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  92.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  93.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|FORM|TABLE|FIELDSET'.
  94.                   '|ISINDEX|NOFRAMES|CENTER|ADDRESS|BLOCKQUOTE|HR|PRE|DIR'.
  95.                   '|MENU|DL|OL|UL|DIV|H6|H5|H4|H3|H2|H1|P|#PCDATA',
  96.   'BODY'       => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  97.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  98.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  99.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|FORM|TABLE|FIELDSET'.
  100.                   '|ISINDEX|NOFRAMES|CENTER|ADDRESS|BLOCKQUOTE|HR|PRE|DIR'.
  101.                   '|MENU|DL|OL|UL|DIV|H6|H5|H4|H3|H2|H1|P|#PCDATA',
  102.   'BUTTON'     => 'NOSCRIPT|SCRIPT|DEL|INS|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP'.
  103.                   '|SUB|Q|CODE|DFN|STRONG|EM|BASEFONT|FONT|STRIKE|S|U|SMALL'.
  104.                   '|BIG|B|I|TT|MAP|IMG|APPLET|OBJECT|BDO|SPAN|BR|TABLE'.
  105.                   '|NOFRAMES|CENTER|ADDRESS|BLOCKQUOTE|HR|PRE|DIR|MENU|DL|OL'.
  106.                   '|UL|DIV|H6|H5|H4|H3|H2|H1|P|#PCDATA',
  107.   'CAPTION'    => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  108.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  109.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  110.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  111.   'CENTER'     => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  112.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  113.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  114.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|FORM|TABLE|FIELDSET'.
  115.                   '|ISINDEX|NOFRAMES|CENTER|ADDRESS|BLOCKQUOTE|HR|PRE|DIR'.
  116.                   '|MENU|DL|OL|UL|DIV|H6|H5|H4|H3|H2|H1|P|#PCDATA',
  117.   'CITE'       => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  118.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  119.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  120.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  121.   'CODE'       => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  122.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  123.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  124.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  125.   'COLGROUP'   => 'COL',
  126.   'DD'         => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  127.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  128.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  129.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|FORM|TABLE|FIELDSET'.
  130.                   '|ISINDEX|NOFRAMES|CENTER|ADDRESS|BLOCKQUOTE|HR|PRE|DIR'.
  131.                   '|MENU|DL|OL|UL|DIV|H6|H5|H4|H3|H2|H1|P|#PCDATA',
  132.   'DEL'        => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  133.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  134.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  135.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|FORM|TABLE|FIELDSET'.
  136.                   '|ISINDEX|NOFRAMES|CENTER|ADDRESS|BLOCKQUOTE|HR|PRE|DIR'.
  137.                   '|MENU|DL|OL|UL|DIV|H6|H5|H4|H3|H2|H1|P|#PCDATA',
  138.   'DFN'        => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  139.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  140.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  141.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  142.   'DIR'        => 'LI',
  143.   'DIV'        => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  144.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  145.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  146.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|FORM|TABLE|FIELDSET'.
  147.                   '|ISINDEX|NOFRAMES|CENTER|ADDRESS|BLOCKQUOTE|HR|PRE|DIR'.
  148.                   '|MENU|DL|OL|UL|DIV|H6|H5|H4|H3|H2|H1|P|#PCDATA',
  149.   'DL'         => 'DD|DT',
  150.   'DT'         => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  151.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  152.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  153.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  154.   'EM'         => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  155.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  156.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  157.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  158.   'FIELDSET'   => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  159.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  160.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  161.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|FORM|TABLE|FIELDSET'.
  162.                   '|ISINDEX|NOFRAMES|CENTER|ADDRESS|BLOCKQUOTE|HR|PRE|DIR'.
  163.                   '|MENU|DL|OL|UL|DIV|H6|H5|H4|H3|H2|H1|P|LEGEND|#PCDATA',
  164.   'FONT'       => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  165.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  166.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  167.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  168.   'FORM'       => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  169.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  170.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  171.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|TABLE|FIELDSET|ISINDEX'.
  172.                   '|NOFRAMES|CENTER|ADDRESS|BLOCKQUOTE|HR|PRE|DIR|MENU|DL|OL'.
  173.                   '|UL|DIV|H6|H5|H4|H3|H2|H1|P|#PCDATA',
  174.   'H1'         => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  175.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  176.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  177.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  178.   'H2'         => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  179.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  180.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  181.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  182.   'H3'         => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  183.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  184.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  185.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  186.   'H4'         => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  187.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  188.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  189.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  190.   'H5'         => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  191.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  192.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  193.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  194.   'H6'         => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  195.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  196.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  197.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  198.   'HEAD'       => '#000|#005',
  199.   'HTML'       => 'HEAD|BODY',
  200.   'I'          => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  201.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  202.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  203.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  204.   'IFRAME'     => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  205.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  206.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  207.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|FORM|TABLE|FIELDSET'.
  208.                   '|ISINDEX|NOFRAMES|CENTER|ADDRESS|BLOCKQUOTE|HR|PRE|DIR'.
  209.                   '|MENU|DL|OL|UL|DIV|H6|H5|H4|H3|H2|H1|P|#PCDATA',
  210.   'INS'        => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  211.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  212.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  213.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|FORM|TABLE|FIELDSET'.
  214.                   '|ISINDEX|NOFRAMES|CENTER|ADDRESS|BLOCKQUOTE|HR|PRE|DIR'.
  215.                   '|MENU|DL|OL|UL|DIV|H6|H5|H4|H3|H2|H1|P|#PCDATA',
  216.   'KBD'        => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  217.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  218.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  219.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  220.   'LABEL'      => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  221.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  222.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  223.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  224.   'LEGEND'     => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  225.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  226.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  227.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  228.   'LI'         => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  229.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  230.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  231.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|FORM|TABLE|FIELDSET'.
  232.                   '|ISINDEX|NOFRAMES|CENTER|ADDRESS|BLOCKQUOTE|HR|PRE|DIR'.
  233.                   '|MENU|DL|OL|UL|DIV|H6|H5|H4|H3|H2|H1|P|#PCDATA',
  234.   'MAP'        => 'AREA|#006',
  235.   'MENU'       => 'LI',
  236.   'NOFRAMES'   => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  237.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  238.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  239.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|FORM|TABLE|FIELDSET'.
  240.                   '|ISINDEX|NOFRAMES|CENTER|ADDRESS|BLOCKQUOTE|HR|PRE|DIR'.
  241.                   '|MENU|DL|OL|UL|DIV|H6|H5|H4|H3|H2|H1|P|#PCDATA',
  242.   'NOSCRIPT'   => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  243.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  244.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  245.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|FORM|TABLE|FIELDSET'.
  246.                   '|ISINDEX|NOFRAMES|CENTER|ADDRESS|BLOCKQUOTE|HR|PRE|DIR'.
  247.                   '|MENU|DL|OL|UL|DIV|H6|H5|H4|H3|H2|H1|P|#PCDATA',
  248.   'OBJECT'     => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  249.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  250.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  251.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|FORM|TABLE|FIELDSET'.
  252.                   '|ISINDEX|NOFRAMES|CENTER|ADDRESS|BLOCKQUOTE|HR|PRE|DIR'.
  253.                   '|MENU|DL|OL|UL|DIV|H6|H5|H4|H3|H2|H1|P|PARAM|#PCDATA',
  254.   'OL'         => 'LI',
  255.   'OPTGROUP'   => 'OPTION',
  256.   'OPTION'     => '#PCDATA',
  257.   'P'          => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  258.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  259.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  260.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  261.   'PRE'        => 'BUTTON|LABEL|TEXTAREA|SELECT|INPUT|ACRONYM|ABBR|CITE|VAR'.
  262.                   '|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG|EM|S|U|B|I|TT|MAP|BDO'.
  263.                   '|SPAN|BR|A|#PCDATA',
  264.   'Q'          => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  265.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  266.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  267.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  268.   'S'          => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  269.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  270.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  271.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  272.   'SAMP'       => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  273.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  274.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  275.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  276.   'SCRIPT'     => '#PCDATA',
  277.   'SELECT'     => 'OPTION|OPTGROUP',
  278.   'SMALL'      => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  279.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  280.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  281.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  282.   'SPAN'       => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  283.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  284.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  285.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  286.   'STRIKE'     => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  287.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  288.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  289.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  290.   'STRONG'     => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  291.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  292.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  293.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  294.   'STYLE'      => '#PCDATA',
  295.   'SUB'        => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  296.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  297.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  298.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  299.   'SUP'        => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  300.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  301.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  302.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  303.   'TABLE'      => 'CAPTION|#007|THEAD|TFOOT|#008',
  304.   'TBODY'      => 'TR',
  305.   'TD'         => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  306.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  307.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  308.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|FORM|TABLE|FIELDSET'.
  309.                   '|ISINDEX|NOFRAMES|CENTER|ADDRESS|BLOCKQUOTE|HR|PRE|DIR'.
  310.                   '|MENU|DL|OL|UL|DIV|H6|H5|H4|H3|H2|H1|P|#PCDATA',
  311.   'TEXTAREA'   => '#PCDATA',
  312.   'TFOOT'      => 'TR',
  313.   'TH'         => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  314.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  315.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  316.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|FORM|TABLE|FIELDSET'.
  317.                   '|ISINDEX|NOFRAMES|CENTER|ADDRESS|BLOCKQUOTE|HR|PRE|DIR'.
  318.                   '|MENU|DL|OL|UL|DIV|H6|H5|H4|H3|H2|H1|P|#PCDATA',
  319.   'THEAD'      => 'TR',
  320.   'TITLE'      => '#PCDATA',
  321.   'TR'         => 'TD|TH',
  322.   'TT'         => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  323.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  324.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  325.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  326.   'U'          => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  327.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  328.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  329.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  330.   'UL'         => 'LI',
  331.   'VAR'        => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
  332.                   '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|SUP|SUB|Q|CODE|DFN|STRONG'.
  333.                   '|EM|BASEFONT|FONT|STRIKE|S|U|SMALL|BIG|B|I|TT|IFRAME|MAP'.
  334.                   '|IMG|APPLET|OBJECT|BDO|SPAN|BR|A|#PCDATA',
  335. );
  336. %excludedElems = (
  337.   'A'      => 'A',
  338.   'PRE'    => 'IMG|OBJECT|BIG|SMALL|SUB|SUP',
  339.   'BUTTON' => 'INPUT|SELECT|TEXTAREA|LABEL|BUTTON|FORM|ISINDEX|FIELDSET',
  340.   'FORM'   => 'FORM',
  341.   'LABEL'  => 'LABEL',
  342. );
  343. %includedElems = (
  344. );
  345. %deprecatedElems = (
  346. # 'BLOCKQUOTE' => '#PCDATA|A|ABBR|ACRONYM|B|BDO|BIG|BR|BUTTON|CITE|CODE|DFN'.
  347. #                 '|EM|I|IMG|INPUT|KBD|LABEL|MAP|OBJECT|Q|SAMP|SELECT|SMALL'.
  348. #                 '|SPAN|STRONG|SUB|SUP|TEXTAREA|TT|VAR',
  349. # 'BODY'       => '#PCDATA|A|ABBR|ACRONYM|B|BDO|BIG|BR|BUTTON|CITE|CODE|DFN'.
  350. #                 '|EM|I|IMG|INPUT|KBD|LABEL|MAP|OBJECT|Q|SAMP|SELECT|SMALL'.
  351. #                 '|SPAN|STRONG|SUB|SUP|TEXTAREA|TT|VAR',
  352. # 'FORM'       => '#PCDATA|A|ABBR|ACRONYM|B|BDO|BIG|BR|BUTTON|CITE|CODE|DFN'.
  353. #                 '|EM|I|IMG|INPUT|KBD|LABEL|MAP|OBJECT|Q|SAMP|SELECT|SMALL'.
  354. #                 '|SPAN|STRONG|SUB|SUP|TEXTAREA|TT|VAR',
  355. # 'NOSCRIPT'   => '#PCDATA|A|ABBR|ACRONYM|B|BDO|BIG|BR|BUTTON|CITE|CODE|DFN'.
  356. #                 '|EM|I|IMG|INPUT|KBD|LABEL|MAP|OBJECT|Q|SAMP|SELECT|SMALL'.
  357. #                 '|SPAN|STRONG|SUB|SUP|TEXTAREA|TT|VAR',
  358. );
  359. #======= ATTRIBUTES =======
  360. %tagsAttributes = (
  361.   'A' => {
  362.     'ACCESSKEY'   => '%Character',
  363.     'CHARSET'     => '%Charset',
  364.     'CLASS'       => '%Class',
  365.     'COORDS'      => '%Coords',
  366.     'DIR'         => 'ltr|rtl',
  367.     'HREF'        => '%URI',
  368.     'HREFLANG'    => '%LanguageCode',
  369.     'ID'          => 'ID',
  370.     'LANG'        => '%LanguageCode',
  371.     'NAME'        => 'NMTOKEN',
  372.     'ONBLUR'      => '%Script',
  373.     'ONCLICK'     => '%Script',
  374.     'ONDBLCLICK'  => '%Script',
  375.     'ONFOCUS'     => '%Script',
  376.     'ONKEYDOWN'   => '%Script',
  377.     'ONKEYPRESS'  => '%Script',
  378.     'ONKEYUP'     => '%Script',
  379.     'ONMOUSEDOWN' => '%Script',
  380.     'ONMOUSEMOVE' => '%Script',
  381.     'ONMOUSEOUT'  => '%Script',
  382.     'ONMOUSEOVER' => '%Script',
  383.     'ONMOUSEUP'   => '%Script',
  384.     'REL'         => '%LinkTypes',
  385.     'REV'         => '%LinkTypes',
  386.     'SHAPE'       => 'rect|circle|poly|default',
  387.     'STYLE'       => '%StyleSheet',
  388.     'TABINDEX'    => '%Number',
  389.     'TARGET'      => '%FrameTarget',
  390.     'TITLE'       => '%Text',
  391.     'TYPE'        => '%ContentType',
  392.     'XML:LANG'    => '%LanguageCode',
  393.   },
  394.   'ABBR' => {
  395.     'CLASS'       => '%Class',
  396.     'DIR'         => 'ltr|rtl',
  397.     'ID'          => 'ID',
  398.     'LANG'        => '%LanguageCode',
  399.     'ONCLICK'     => '%Script',
  400.     'ONDBLCLICK'  => '%Script',
  401.     'ONKEYDOWN'   => '%Script',
  402.     'ONKEYPRESS'  => '%Script',
  403.     'ONKEYUP'     => '%Script',
  404.     'ONMOUSEDOWN' => '%Script',
  405.     'ONMOUSEMOVE' => '%Script',
  406.     'ONMOUSEOUT'  => '%Script',
  407.     'ONMOUSEOVER' => '%Script',
  408.     'ONMOUSEUP'   => '%Script',
  409.     'STYLE'       => '%StyleSheet',
  410.     'TITLE'       => '%Text',
  411.     'XML:LANG'    => '%LanguageCode',
  412.   },
  413.   'ACRONYM' => {
  414.     'CLASS'       => '%Class',
  415.     'DIR'         => 'ltr|rtl',
  416.     'ID'          => 'ID',
  417.     'LANG'        => '%LanguageCode',
  418.     'ONCLICK'     => '%Script',
  419.     'ONDBLCLICK'  => '%Script',
  420.     'ONKEYDOWN'   => '%Script',
  421.     'ONKEYPRESS'  => '%Script',
  422.     'ONKEYUP'     => '%Script',
  423.     'ONMOUSEDOWN' => '%Script',
  424.     'ONMOUSEMOVE' => '%Script',
  425.     'ONMOUSEOUT'  => '%Script',
  426.     'ONMOUSEOVER' => '%Script',
  427.     'ONMOUSEUP'   => '%Script',
  428.     'STYLE'       => '%StyleSheet',
  429.     'TITLE'       => '%Text',
  430.     'XML:LANG'    => '%LanguageCode',
  431.   },
  432.   'ADDRESS' => {
  433.     'CLASS'       => '%Class',
  434.     'DIR'         => 'ltr|rtl',
  435.     'ID'          => 'ID',
  436.     'LANG'        => '%LanguageCode',
  437.     'ONCLICK'     => '%Script',
  438.     'ONDBLCLICK'  => '%Script',
  439.     'ONKEYDOWN'   => '%Script',
  440.     'ONKEYPRESS'  => '%Script',
  441.     'ONKEYUP'     => '%Script',
  442.     'ONMOUSEDOWN' => '%Script',
  443.     'ONMOUSEMOVE' => '%Script',
  444.     'ONMOUSEOUT'  => '%Script',
  445.     'ONMOUSEOVER' => '%Script',
  446.     'ONMOUSEUP'   => '%Script',
  447.     'STYLE'       => '%StyleSheet',
  448.     'TITLE'       => '%Text',
  449.     'XML:LANG'    => '%LanguageCode',
  450.   },
  451.   'APPLET' => {
  452.     'ALIGN'    => 'top|middle|bottom|left|right',
  453.     'ALT'      => '%Text',
  454.     'ARCHIVE'  => 'CDATA',
  455.     'CLASS'    => '%Class',
  456.     'CODE'     => 'CDATA',
  457.     'CODEBASE' => '%URI',
  458.     'HEIGHT'   => '%Length',
  459.     'HSPACE'   => '%Pixels',
  460.     'ID'       => 'ID',
  461.     'NAME'     => 'NMTOKEN',
  462.     'OBJECT'   => 'CDATA',
  463.     'STYLE'    => '%StyleSheet',
  464.     'TITLE'    => '%Text',
  465.     'VSPACE'   => '%Pixels',
  466.     'WIDTH'    => '%Length',
  467.   },
  468.   'AREA' => {
  469.     'ACCESSKEY'   => '%Character',
  470.     'ALT'         => '%Text',
  471.     'CLASS'       => '%Class',
  472.     'COORDS'      => '%Coords',
  473.     'DIR'         => 'ltr|rtl',
  474.     'HREF'        => '%URI',
  475.     'ID'          => 'ID',
  476.     'LANG'        => '%LanguageCode',
  477.     'NOHREF'      => 'nohref',
  478.     'ONBLUR'      => '%Script',
  479.     'ONCLICK'     => '%Script',
  480.     'ONDBLCLICK'  => '%Script',
  481.     'ONFOCUS'     => '%Script',
  482.     'ONKEYDOWN'   => '%Script',
  483.     'ONKEYPRESS'  => '%Script',
  484.     'ONKEYUP'     => '%Script',
  485.     'ONMOUSEDOWN' => '%Script',
  486.     'ONMOUSEMOVE' => '%Script',
  487.     'ONMOUSEOUT'  => '%Script',
  488.     'ONMOUSEOVER' => '%Script',
  489.     'ONMOUSEUP'   => '%Script',
  490.     'SHAPE'       => 'rect|circle|poly|default',
  491.     'STYLE'       => '%StyleSheet',
  492.     'TABINDEX'    => '%Number',
  493.     'TARGET'      => '%FrameTarget',
  494.     'TITLE'       => '%Text',
  495.     'XML:LANG'    => '%LanguageCode',
  496.   },
  497.   'B' => {
  498.     'CLASS'       => '%Class',
  499.     'DIR'         => 'ltr|rtl',
  500.     'ID'          => 'ID',
  501.     'LANG'        => '%LanguageCode',
  502.     'ONCLICK'     => '%Script',
  503.     'ONDBLCLICK'  => '%Script',
  504.     'ONKEYDOWN'   => '%Script',
  505.     'ONKEYPRESS'  => '%Script',
  506.     'ONKEYUP'     => '%Script',
  507.     'ONMOUSEDOWN' => '%Script',
  508.     'ONMOUSEMOVE' => '%Script',
  509.     'ONMOUSEOUT'  => '%Script',
  510.     'ONMOUSEOVER' => '%Script',
  511.     'ONMOUSEUP'   => '%Script',
  512.     'STYLE'       => '%StyleSheet',
  513.     'TITLE'       => '%Text',
  514.     'XML:LANG'    => '%LanguageCode',
  515.   },
  516.   'BASE' => {
  517.     'HREF'   => '%URI',
  518.     'TARGET' => '%FrameTarget',
  519.   },
  520.   'BASEFONT' => {
  521.     'COLOR' => '%Color',
  522.     'FACE'  => 'CDATA',
  523.     'ID'    => 'ID',
  524.     'SIZE'  => 'CDATA',
  525.   },
  526.   'BDO' => {
  527.     'CLASS'       => '%Class',
  528.     'DIR'         => 'ltr|rtl',
  529.     'ID'          => 'ID',
  530.     'LANG'        => '%LanguageCode',
  531.     'ONCLICK'     => '%Script',
  532.     'ONDBLCLICK'  => '%Script',
  533.     'ONKEYDOWN'   => '%Script',
  534.     'ONKEYPRESS'  => '%Script',
  535.     'ONKEYUP'     => '%Script',
  536.     'ONMOUSEDOWN' => '%Script',
  537.     'ONMOUSEMOVE' => '%Script',
  538.     'ONMOUSEOUT'  => '%Script',
  539.     'ONMOUSEOVER' => '%Script',
  540.     'ONMOUSEUP'   => '%Script',
  541.     'STYLE'       => '%StyleSheet',
  542.     'TITLE'       => '%Text',
  543.     'XML:LANG'    => '%LanguageCode',
  544.   },
  545.   'BIG' => {
  546.     'CLASS'       => '%Class',
  547.     'DIR'         => 'ltr|rtl',
  548.     'ID'          => 'ID',
  549.     'LANG'        => '%LanguageCode',
  550.     'ONCLICK'     => '%Script',
  551.     'ONDBLCLICK'  => '%Script',
  552.     'ONKEYDOWN'   => '%Script',
  553.     'ONKEYPRESS'  => '%Script',
  554.     'ONKEYUP'     => '%Script',
  555.     'ONMOUSEDOWN' => '%Script',
  556.     'ONMOUSEMOVE' => '%Script',
  557.     'ONMOUSEOUT'  => '%Script',
  558.     'ONMOUSEOVER' => '%Script',
  559.     'ONMOUSEUP'   => '%Script',
  560.     'STYLE'       => '%StyleSheet',
  561.     'TITLE'       => '%Text',
  562.     'XML:LANG'    => '%LanguageCode',
  563.   },
  564.   'BLOCKQUOTE' => {
  565.     'CITE'        => '%URI',
  566.     'CLASS'       => '%Class',
  567.     'DIR'         => 'ltr|rtl',
  568.     'ID'          => 'ID',
  569.     'LANG'        => '%LanguageCode',
  570.     'ONCLICK'     => '%Script',
  571.     'ONDBLCLICK'  => '%Script',
  572.     'ONKEYDOWN'   => '%Script',
  573.     'ONKEYPRESS'  => '%Script',
  574.     'ONKEYUP'     => '%Script',
  575.     'ONMOUSEDOWN' => '%Script',
  576.     'ONMOUSEMOVE' => '%Script',
  577.     'ONMOUSEOUT'  => '%Script',
  578.     'ONMOUSEOVER' => '%Script',
  579.     'ONMOUSEUP'   => '%Script',
  580.     'STYLE'       => '%StyleSheet',
  581.     'TITLE'       => '%Text',
  582.     'XML:LANG'    => '%LanguageCode',
  583.   },
  584.   'BODY' => {
  585.     'ALINK'       => '%Color',
  586.     'BACKGROUND'  => '%URI',
  587.     'BGCOLOR'     => '%Color',
  588.     'CLASS'       => '%Class',
  589.     'DIR'         => 'ltr|rtl',
  590.     'ID'          => 'ID',
  591.     'LANG'        => '%LanguageCode',
  592.     'LINK'        => '%Color',
  593.     'ONCLICK'     => '%Script',
  594.     'ONDBLCLICK'  => '%Script',
  595.     'ONKEYDOWN'   => '%Script',
  596.     'ONKEYPRESS'  => '%Script',
  597.     'ONKEYUP'     => '%Script',
  598.     'ONLOAD'      => '%Script',
  599.     'ONMOUSEDOWN' => '%Script',
  600.     'ONMOUSEMOVE' => '%Script',
  601.     'ONMOUSEOUT'  => '%Script',
  602.     'ONMOUSEOVER' => '%Script',
  603.     'ONMOUSEUP'   => '%Script',
  604.     'ONUNLOAD'    => '%Script',
  605.     'STYLE'       => '%StyleSheet',
  606.     'TEXT'        => '%Color',
  607.     'TITLE'       => '%Text',
  608.     'VLINK'       => '%Color',
  609.     'XML:LANG'    => '%LanguageCode',
  610.   },
  611.   'BR' => {
  612.     'CLASS' => '%Class',
  613.     'CLEAR' => 'left|all|right|none',
  614.     'ID'    => 'ID',
  615.     'STYLE' => '%StyleSheet',
  616.     'TITLE' => '%Text',
  617.   },
  618.   'BUTTON' => {
  619.     'ACCESSKEY'   => '%Character',
  620.     'CLASS'       => '%Class',
  621.     'DIR'         => 'ltr|rtl',
  622.     'DISABLED'    => 'disabled',
  623.     'ID'          => 'ID',
  624.     'LANG'        => '%LanguageCode',
  625.     'NAME'        => '%Name',
  626.     'ONBLUR'      => '%Script',
  627.     'ONCLICK'     => '%Script',
  628.     'ONDBLCLICK'  => '%Script',
  629.     'ONFOCUS'     => '%Script',
  630.     'ONKEYDOWN'   => '%Script',
  631.     'ONKEYPRESS'  => '%Script',
  632.     'ONKEYUP'     => '%Script',
  633.     'ONMOUSEDOWN' => '%Script',
  634.     'ONMOUSEMOVE' => '%Script',
  635.     'ONMOUSEOUT'  => '%Script',
  636.     'ONMOUSEOVER' => '%Script',
  637.     'ONMOUSEUP'   => '%Script',
  638.     'STYLE'       => '%StyleSheet',
  639.     'TABINDEX'    => '%Number',
  640.     'TITLE'       => '%Text',
  641.     'TYPE'        => 'button|submit|reset',
  642.     'VALUE'       => 'CDATA',
  643.     'XML:LANG'    => '%LanguageCode',
  644.   },
  645.   'CAPTION' => {
  646.     'ALIGN'       => 'top|bottom|left|right',
  647.     'CLASS'       => '%Class',
  648.     'DIR'         => 'ltr|rtl',
  649.     'ID'          => 'ID',
  650.     'LANG'        => '%LanguageCode',
  651.     'ONCLICK'     => '%Script',
  652.     'ONDBLCLICK'  => '%Script',
  653.     'ONKEYDOWN'   => '%Script',
  654.     'ONKEYPRESS'  => '%Script',
  655.     'ONKEYUP'     => '%Script',
  656.     'ONMOUSEDOWN' => '%Script',
  657.     'ONMOUSEMOVE' => '%Script',
  658.     'ONMOUSEOUT'  => '%Script',
  659.     'ONMOUSEOVER' => '%Script',
  660.     'ONMOUSEUP'   => '%Script',
  661.     'STYLE'       => '%StyleSheet',
  662.     'TITLE'       => '%Text',
  663.     'XML:LANG'    => '%LanguageCode',
  664.   },
  665.   'CENTER' => {
  666.     'CLASS'       => '%Class',
  667.     'DIR'         => 'ltr|rtl',
  668.     'ID'          => 'ID',
  669.     'LANG'        => '%LanguageCode',
  670.     'ONCLICK'     => '%Script',
  671.     'ONDBLCLICK'  => '%Script',
  672.     'ONKEYDOWN'   => '%Script',
  673.     'ONKEYPRESS'  => '%Script',
  674.     'ONKEYUP'     => '%Script',
  675.     'ONMOUSEDOWN' => '%Script',
  676.     'ONMOUSEMOVE' => '%Script',
  677.     'ONMOUSEOUT'  => '%Script',
  678.     'ONMOUSEOVER' => '%Script',
  679.     'ONMOUSEUP'   => '%Script',
  680.     'STYLE'       => '%StyleSheet',
  681.     'TITLE'       => '%Text',
  682.     'XML:LANG'    => '%LanguageCode',
  683.   },
  684.   'CITE' => {
  685.     'CLASS'       => '%Class',
  686.     'DIR'         => 'ltr|rtl',
  687.     'ID'          => 'ID',
  688.     'LANG'        => '%LanguageCode',
  689.     'ONCLICK'     => '%Script',
  690.     'ONDBLCLICK'  => '%Script',
  691.     'ONKEYDOWN'   => '%Script',
  692.     'ONKEYPRESS'  => '%Script',
  693.     'ONKEYUP'     => '%Script',
  694.     'ONMOUSEDOWN' => '%Script',
  695.     'ONMOUSEMOVE' => '%Script',
  696.     'ONMOUSEOUT'  => '%Script',
  697.     'ONMOUSEOVER' => '%Script',
  698.     'ONMOUSEUP'   => '%Script',
  699.     'STYLE'       => '%StyleSheet',
  700.     'TITLE'       => '%Text',
  701.     'XML:LANG'    => '%LanguageCode',
  702.   },
  703.   'CODE' => {
  704.     'CLASS'       => '%Class',
  705.     'DIR'         => 'ltr|rtl',
  706.     'ID'          => 'ID',
  707.     'LANG'        => '%LanguageCode',
  708.     'ONCLICK'     => '%Script',
  709.     'ONDBLCLICK'  => '%Script',
  710.     'ONKEYDOWN'   => '%Script',
  711.     'ONKEYPRESS'  => '%Script',
  712.     'ONKEYUP'     => '%Script',
  713.     'ONMOUSEDOWN' => '%Script',
  714.     'ONMOUSEMOVE' => '%Script',
  715.     'ONMOUSEOUT'  => '%Script',
  716.     'ONMOUSEOVER' => '%Script',
  717.     'ONMOUSEUP'   => '%Script',
  718.     'STYLE'       => '%StyleSheet',
  719.     'TITLE'       => '%Text',
  720.     'XML:LANG'    => '%LanguageCode',
  721.   },
  722.   'COL' => {
  723.     'ALIGN'       => 'left|center|right|justify|char',
  724.     'CHAR'        => '%Character',
  725.     'CHAROFF'     => '%Length',
  726.     'CLASS'       => '%Class',
  727.     'DIR'         => 'ltr|rtl',
  728.     'ID'          => 'ID',
  729.     'LANG'        => '%LanguageCode',
  730.     'ONCLICK'     => '%Script',
  731.     'ONDBLCLICK'  => '%Script',
  732.     'ONKEYDOWN'   => '%Script',
  733.     'ONKEYPRESS'  => '%Script',
  734.     'ONKEYUP'     => '%Script',
  735.     'ONMOUSEDOWN' => '%Script',
  736.     'ONMOUSEMOVE' => '%Script',
  737.     'ONMOUSEOUT'  => '%Script',
  738.     'ONMOUSEOVER' => '%Script',
  739.     'ONMOUSEUP'   => '%Script',
  740.     'SPAN'        => '%Number.plus',
  741.     'STYLE'       => '%StyleSheet',
  742.     'TITLE'       => '%Text',
  743.     'VALIGN'      => 'top|middle|bottom|baseline',
  744.     'WIDTH'       => '%MultiLength',
  745.     'XML:LANG'    => '%LanguageCode',
  746.   },
  747.   'COLGROUP' => {
  748.     'ALIGN'       => 'left|center|right|justify|char',
  749.     'CHAR'        => '%Character',
  750.     'CHAROFF'     => '%Length',
  751.     'CLASS'       => '%Class',
  752.     'DIR'         => 'ltr|rtl',
  753.     'ID'          => 'ID',
  754.     'LANG'        => '%LanguageCode',
  755.     'ONCLICK'     => '%Script',
  756.     'ONDBLCLICK'  => '%Script',
  757.     'ONKEYDOWN'   => '%Script',
  758.     'ONKEYPRESS'  => '%Script',
  759.     'ONKEYUP'     => '%Script',
  760.     'ONMOUSEDOWN' => '%Script',
  761.     'ONMOUSEMOVE' => '%Script',
  762.     'ONMOUSEOUT'  => '%Script',
  763.     'ONMOUSEOVER' => '%Script',
  764.     'ONMOUSEUP'   => '%Script',
  765.     'SPAN'        => '%Number.plus',
  766.     'STYLE'       => '%StyleSheet',
  767.     'TITLE'       => '%Text',
  768.     'VALIGN'      => 'top|middle|bottom|baseline',
  769.     'WIDTH'       => '%MultiLength',
  770.     'XML:LANG'    => '%LanguageCode',
  771.   },
  772.   'DD' => {
  773.     'CLASS'       => '%Class',
  774.     'DIR'         => 'ltr|rtl',
  775.     'ID'          => 'ID',
  776.     'LANG'        => '%LanguageCode',
  777.     'ONCLICK'     => '%Script',
  778.     'ONDBLCLICK'  => '%Script',
  779.     'ONKEYDOWN'   => '%Script',
  780.     'ONKEYPRESS'  => '%Script',
  781.     'ONKEYUP'     => '%Script',
  782.     'ONMOUSEDOWN' => '%Script',
  783.     'ONMOUSEMOVE' => '%Script',
  784.     'ONMOUSEOUT'  => '%Script',
  785.     'ONMOUSEOVER' => '%Script',
  786.     'ONMOUSEUP'   => '%Script',
  787.     'STYLE'       => '%StyleSheet',
  788.     'TITLE'       => '%Text',
  789.     'XML:LANG'    => '%LanguageCode',
  790.   },
  791.   'DEL' => {
  792.     'CITE'        => '%URI',
  793.     'CLASS'       => '%Class',
  794.     'DATETIME'    => '%Datetime',
  795.     'DIR'         => 'ltr|rtl',
  796.     'ID'          => 'ID',
  797.     'LANG'        => '%LanguageCode',
  798.     'ONCLICK'     => '%Script',
  799.     'ONDBLCLICK'  => '%Script',
  800.     'ONKEYDOWN'   => '%Script',
  801.     'ONKEYPRESS'  => '%Script',
  802.     'ONKEYUP'     => '%Script',
  803.     'ONMOUSEDOWN' => '%Script',
  804.     'ONMOUSEMOVE' => '%Script',
  805.     'ONMOUSEOUT'  => '%Script',
  806.     'ONMOUSEOVER' => '%Script',
  807.     'ONMOUSEUP'   => '%Script',
  808.     'STYLE'       => '%StyleSheet',
  809.     'TITLE'       => '%Text',
  810.     'XML:LANG'    => '%LanguageCode',
  811.   },
  812.   'DFN' => {
  813.     'CLASS'       => '%Class',
  814.     'DIR'         => 'ltr|rtl',
  815.     'ID'          => 'ID',
  816.     'LANG'        => '%LanguageCode',
  817.     'ONCLICK'     => '%Script',
  818.     'ONDBLCLICK'  => '%Script',
  819.     'ONKEYDOWN'   => '%Script',
  820.     'ONKEYPRESS'  => '%Script',
  821.     'ONKEYUP'     => '%Script',
  822.     'ONMOUSEDOWN' => '%Script',
  823.     'ONMOUSEMOVE' => '%Script',
  824.     'ONMOUSEOUT'  => '%Script',
  825.     'ONMOUSEOVER' => '%Script',
  826.     'ONMOUSEUP'   => '%Script',
  827.     'STYLE'       => '%StyleSheet',
  828.     'TITLE'       => '%Text',
  829.     'XML:LANG'    => '%LanguageCode',
  830.   },
  831.   'DIR' => {
  832.     'CLASS'       => '%Class',
  833.     'COMPACT'     => 'compact',
  834.     'DIR'         => 'ltr|rtl',
  835.     'ID'          => 'ID',
  836.     'LANG'        => '%LanguageCode',
  837.     'ONCLICK'     => '%Script',
  838.     'ONDBLCLICK'  => '%Script',
  839.     'ONKEYDOWN'   => '%Script',
  840.     'ONKEYPRESS'  => '%Script',
  841.     'ONKEYUP'     => '%Script',
  842.     'ONMOUSEDOWN' => '%Script',
  843.     'ONMOUSEMOVE' => '%Script',
  844.     'ONMOUSEOUT'  => '%Script',
  845.     'ONMOUSEOVER' => '%Script',
  846.     'ONMOUSEUP'   => '%Script',
  847.     'STYLE'       => '%StyleSheet',
  848.     'TITLE'       => '%Text',
  849.     'XML:LANG'    => '%LanguageCode',
  850.   },
  851.   'DIV' => {
  852.     'ALIGN'       => 'left|center|right',
  853.     'CLASS'       => '%Class',
  854.     'DIR'         => 'ltr|rtl',
  855.     'ID'          => 'ID',
  856.     'LANG'        => '%LanguageCode',
  857.     'ONCLICK'     => '%Script',
  858.     'ONDBLCLICK'  => '%Script',
  859.     'ONKEYDOWN'   => '%Script',
  860.     'ONKEYPRESS'  => '%Script',
  861.     'ONKEYUP'     => '%Script',
  862.     'ONMOUSEDOWN' => '%Script',
  863.     'ONMOUSEMOVE' => '%Script',
  864.     'ONMOUSEOUT'  => '%Script',
  865.     'ONMOUSEOVER' => '%Script',
  866.     'ONMOUSEUP'   => '%Script',
  867.     'STYLE'       => '%StyleSheet',
  868.     'TITLE'       => '%Text',
  869.     'XML:LANG'    => '%LanguageCode',
  870.   },
  871.   'DL' => {
  872.     'CLASS'       => '%Class',
  873.     'COMPACT'     => 'compact',
  874.     'DIR'         => 'ltr|rtl',
  875.     'ID'          => 'ID',
  876.     'LANG'        => '%LanguageCode',
  877.     'ONCLICK'     => '%Script',
  878.     'ONDBLCLICK'  => '%Script',
  879.     'ONKEYDOWN'   => '%Script',
  880.     'ONKEYPRESS'  => '%Script',
  881.     'ONKEYUP'     => '%Script',
  882.     'ONMOUSEDOWN' => '%Script',
  883.     'ONMOUSEMOVE' => '%Script',
  884.     'ONMOUSEOUT'  => '%Script',
  885.     'ONMOUSEOVER' => '%Script',
  886.     'ONMOUSEUP'   => '%Script',
  887.     'STYLE'       => '%StyleSheet',
  888.     'TITLE'       => '%Text',
  889.     'XML:LANG'    => '%LanguageCode',
  890.   },
  891.   'DT' => {
  892.     'CLASS'       => '%Class',
  893.     'DIR'         => 'ltr|rtl',
  894.     'ID'          => 'ID',
  895.     'LANG'        => '%LanguageCode',
  896.     'ONCLICK'     => '%Script',
  897.     'ONDBLCLICK'  => '%Script',
  898.     'ONKEYDOWN'   => '%Script',
  899.     'ONKEYPRESS'  => '%Script',
  900.     'ONKEYUP'     => '%Script',
  901.     'ONMOUSEDOWN' => '%Script',
  902.     'ONMOUSEMOVE' => '%Script',
  903.     'ONMOUSEOUT'  => '%Script',
  904.     'ONMOUSEOVER' => '%Script',
  905.     'ONMOUSEUP'   => '%Script',
  906.     'STYLE'       => '%StyleSheet',
  907.     'TITLE'       => '%Text',
  908.     'XML:LANG'    => '%LanguageCode',
  909.   },
  910.   'EM' => {
  911.     'CLASS'       => '%Class',
  912.     'DIR'         => 'ltr|rtl',
  913.     'ID'          => 'ID',
  914.     'LANG'        => '%LanguageCode',
  915.     'ONCLICK'     => '%Script',
  916.     'ONDBLCLICK'  => '%Script',
  917.     'ONKEYDOWN'   => '%Script',
  918.     'ONKEYPRESS'  => '%Script',
  919.     'ONKEYUP'     => '%Script',
  920.     'ONMOUSEDOWN' => '%Script',
  921.     'ONMOUSEMOVE' => '%Script',
  922.     'ONMOUSEOUT'  => '%Script',
  923.     'ONMOUSEOVER' => '%Script',
  924.     'ONMOUSEUP'   => '%Script',
  925.     'STYLE'       => '%StyleSheet',
  926.     'TITLE'       => '%Text',
  927.     'XML:LANG'    => '%LanguageCode',
  928.   },
  929.   'FIELDSET' => {
  930.     'CLASS'       => '%Class',
  931.     'DIR'         => 'ltr|rtl',
  932.     'ID'          => 'ID',
  933.     'LANG'        => '%LanguageCode',
  934.     'ONCLICK'     => '%Script',
  935.     'ONDBLCLICK'  => '%Script',
  936.     'ONKEYDOWN'   => '%Script',
  937.     'ONKEYPRESS'  => '%Script',
  938.     'ONKEYUP'     => '%Script',
  939.     'ONMOUSEDOWN' => '%Script',
  940.     'ONMOUSEMOVE' => '%Script',
  941.     'ONMOUSEOUT'  => '%Script',
  942.     'ONMOUSEOVER' => '%Script',
  943.     'ONMOUSEUP'   => '%Script',
  944.     'STYLE'       => '%StyleSheet',
  945.     'TITLE'       => '%Text',
  946.     'XML:LANG'    => '%LanguageCode',
  947.   },
  948.   'FONT' => {
  949.     'CLASS'    => '%Class',
  950.     'COLOR'    => '%Color',
  951.     'DIR'      => 'ltr|rtl',
  952.     'FACE'     => 'CDATA',
  953.     'ID'       => 'ID',
  954.     'LANG'     => '%LanguageCode',
  955.     'SIZE'     => 'CDATA',
  956.     'STYLE'    => '%StyleSheet',
  957.     'TITLE'    => '%Text',
  958.     'XML:LANG' => '%LanguageCode',
  959.   },
  960.   'FORM' => {
  961.     'ACCEPT'         => '%ContentTypes',
  962.     'ACCEPT-CHARSET' => '%Charsets',
  963.     'ACTION'         => '%URI',
  964.     'CLASS'          => '%Class',
  965.     'DIR'            => 'ltr|rtl',
  966.     'ENCTYPE'        => '%ContentType',
  967.     'ID'             => 'ID',
  968.     'LANG'           => '%LanguageCode',
  969.     'METHOD'         => 'get|post',
  970.     'NAME'           => 'NMTOKEN',
  971.     'ONCLICK'        => '%Script',
  972.     'ONDBLCLICK'     => '%Script',
  973.     'ONKEYDOWN'      => '%Script',
  974.     'ONKEYPRESS'     => '%Script',
  975.     'ONKEYUP'        => '%Script',
  976.     'ONMOUSEDOWN'    => '%Script',
  977.     'ONMOUSEMOVE'    => '%Script',
  978.     'ONMOUSEOUT'     => '%Script',
  979.     'ONMOUSEOVER'    => '%Script',
  980.     'ONMOUSEUP'      => '%Script',
  981.     'ONRESET'        => '%Script',
  982.     'ONSUBMIT'       => '%Script',
  983.     'STYLE'          => '%StyleSheet',
  984.     'TARGET'         => '%FrameTarget',
  985.     'TITLE'          => '%Text',
  986.     'XML:LANG'       => '%LanguageCode',
  987.   },
  988.   'H1' => {
  989.     'ALIGN'       => 'left|center|right',
  990.     'CLASS'       => '%Class',
  991.     'DIR'         => 'ltr|rtl',
  992.     'ID'          => 'ID',
  993.     'LANG'        => '%LanguageCode',
  994.     'ONCLICK'     => '%Script',
  995.     'ONDBLCLICK'  => '%Script',
  996.     'ONKEYDOWN'   => '%Script',
  997.     'ONKEYPRESS'  => '%Script',
  998.     'ONKEYUP'     => '%Script',
  999.     'ONMOUSEDOWN' => '%Script',
  1000.     'ONMOUSEMOVE' => '%Script',
  1001.     'ONMOUSEOUT'  => '%Script',
  1002.     'ONMOUSEOVER' => '%Script',
  1003.     'ONMOUSEUP'   => '%Script',
  1004.     'STYLE'       => '%StyleSheet',
  1005.     'TITLE'       => '%Text',
  1006.     'XML:LANG'    => '%LanguageCode',
  1007.   },
  1008.   'H2' => {
  1009.     'ALIGN'       => 'left|center|right',
  1010.     'CLASS'       => '%Class',
  1011.     'DIR'         => 'ltr|rtl',
  1012.     'ID'          => 'ID',
  1013.     'LANG'        => '%LanguageCode',
  1014.     'ONCLICK'     => '%Script',
  1015.     'ONDBLCLICK'  => '%Script',
  1016.     'ONKEYDOWN'   => '%Script',
  1017.     'ONKEYPRESS'  => '%Script',
  1018.     'ONKEYUP'     => '%Script',
  1019.     'ONMOUSEDOWN' => '%Script',
  1020.     'ONMOUSEMOVE' => '%Script',
  1021.     'ONMOUSEOUT'  => '%Script',
  1022.     'ONMOUSEOVER' => '%Script',
  1023.     'ONMOUSEUP'   => '%Script',
  1024.     'STYLE'       => '%StyleSheet',
  1025.     'TITLE'       => '%Text',
  1026.     'XML:LANG'    => '%LanguageCode',
  1027.   },
  1028.   'H3' => {
  1029.     'ALIGN'       => 'left|center|right',
  1030.     'CLASS'       => '%Class',
  1031.     'DIR'         => 'ltr|rtl',
  1032.     'ID'          => 'ID',
  1033.     'LANG'        => '%LanguageCode',
  1034.     'ONCLICK'     => '%Script',
  1035.     'ONDBLCLICK'  => '%Script',
  1036.     'ONKEYDOWN'   => '%Script',
  1037.     'ONKEYPRESS'  => '%Script',
  1038.     'ONKEYUP'     => '%Script',
  1039.     'ONMOUSEDOWN' => '%Script',
  1040.     'ONMOUSEMOVE' => '%Script',
  1041.     'ONMOUSEOUT'  => '%Script',
  1042.     'ONMOUSEOVER' => '%Script',
  1043.     'ONMOUSEUP'   => '%Script',
  1044.     'STYLE'       => '%StyleSheet',
  1045.     'TITLE'       => '%Text',
  1046.     'XML:LANG'    => '%LanguageCode',
  1047.   },
  1048.   'H4' => {
  1049.     'ALIGN'       => 'left|center|right',
  1050.     'CLASS'       => '%Class',
  1051.     'DIR'         => 'ltr|rtl',
  1052.     'ID'          => 'ID',
  1053.     'LANG'        => '%LanguageCode',
  1054.     'ONCLICK'     => '%Script',
  1055.     'ONDBLCLICK'  => '%Script',
  1056.     'ONKEYDOWN'   => '%Script',
  1057.     'ONKEYPRESS'  => '%Script',
  1058.     'ONKEYUP'     => '%Script',
  1059.     'ONMOUSEDOWN' => '%Script',
  1060.     'ONMOUSEMOVE' => '%Script',
  1061.     'ONMOUSEOUT'  => '%Script',
  1062.     'ONMOUSEOVER' => '%Script',
  1063.     'ONMOUSEUP'   => '%Script',
  1064.     'STYLE'       => '%StyleSheet',
  1065.     'TITLE'       => '%Text',
  1066.     'XML:LANG'    => '%LanguageCode',
  1067.   },
  1068.   'H5' => {
  1069.     'ALIGN'       => 'left|center|right',
  1070.     'CLASS'       => '%Class',
  1071.     'DIR'         => 'ltr|rtl',
  1072.     'ID'          => 'ID',
  1073.     'LANG'        => '%LanguageCode',
  1074.     'ONCLICK'     => '%Script',
  1075.     'ONDBLCLICK'  => '%Script',
  1076.     'ONKEYDOWN'   => '%Script',
  1077.     'ONKEYPRESS'  => '%Script',
  1078.     'ONKEYUP'     => '%Script',
  1079.     'ONMOUSEDOWN' => '%Script',
  1080.     'ONMOUSEMOVE' => '%Script',
  1081.     'ONMOUSEOUT'  => '%Script',
  1082.     'ONMOUSEOVER' => '%Script',
  1083.     'ONMOUSEUP'   => '%Script',
  1084.     'STYLE'       => '%StyleSheet',
  1085.     'TITLE'       => '%Text',
  1086.     'XML:LANG'    => '%LanguageCode',
  1087.   },
  1088.   'H6' => {
  1089.     'ALIGN'       => 'left|center|right',
  1090.     'CLASS'       => '%Class',
  1091.     'DIR'         => 'ltr|rtl',
  1092.     'ID'          => 'ID',
  1093.     'LANG'        => '%LanguageCode',
  1094.     'ONCLICK'     => '%Script',
  1095.     'ONDBLCLICK'  => '%Script',
  1096.     'ONKEYDOWN'   => '%Script',
  1097.     'ONKEYPRESS'  => '%Script',
  1098.     'ONKEYUP'     => '%Script',
  1099.     'ONMOUSEDOWN' => '%Script',
  1100.     'ONMOUSEMOVE' => '%Script',
  1101.     'ONMOUSEOUT'  => '%Script',
  1102.     'ONMOUSEOVER' => '%Script',
  1103.     'ONMOUSEUP'   => '%Script',
  1104.     'STYLE'       => '%StyleSheet',
  1105.     'TITLE'       => '%Text',
  1106.     'XML:LANG'    => '%LanguageCode',
  1107.   },
  1108.   'HEAD' => {
  1109.     'DIR'      => 'ltr|rtl',
  1110.     'LANG'     => '%LanguageCode',
  1111.     'PROFILE'  => '%URI',
  1112.     'XML:LANG' => '%LanguageCode',
  1113.   },
  1114.   'HR' => {
  1115.     'ALIGN'       => 'left|center|right',
  1116.     'CLASS'       => '%Class',
  1117.     'DIR'         => 'ltr|rtl',
  1118.     'ID'          => 'ID',
  1119.     'LANG'        => '%LanguageCode',
  1120.     'NOSHADE'     => 'noshade',
  1121.     'ONCLICK'     => '%Script',
  1122.     'ONDBLCLICK'  => '%Script',
  1123.     'ONKEYDOWN'   => '%Script',
  1124.     'ONKEYPRESS'  => '%Script',
  1125.     'ONKEYUP'     => '%Script',
  1126.     'ONMOUSEDOWN' => '%Script',
  1127.     'ONMOUSEMOVE' => '%Script',
  1128.     'ONMOUSEOUT'  => '%Script',
  1129.     'ONMOUSEOVER' => '%Script',
  1130.     'ONMOUSEUP'   => '%Script',
  1131.     'SIZE'        => '%Pixels',
  1132.     'STYLE'       => '%StyleSheet',
  1133.     'TITLE'       => '%Text',
  1134.     'WIDTH'       => '%Length',
  1135.     'XML:LANG'    => '%LanguageCode',
  1136.   },
  1137.   'HTML' => {
  1138.     'DIR'      => 'ltr|rtl',
  1139.     'LANG'     => '%LanguageCode',
  1140.     'XML:LANG' => '%LanguageCode',
  1141.     'XMLNS'    => '%URI=http://www.w3.org/1999/xhtml',
  1142.   },
  1143.   'I' => {
  1144.     'CLASS'       => '%Class',
  1145.     'DIR'         => 'ltr|rtl',
  1146.     'ID'          => 'ID',
  1147.     'LANG'        => '%LanguageCode',
  1148.     'ONCLICK'     => '%Script',
  1149.     'ONDBLCLICK'  => '%Script',
  1150.     'ONKEYDOWN'   => '%Script',
  1151.     'ONKEYPRESS'  => '%Script',
  1152.     'ONKEYUP'     => '%Script',
  1153.     'ONMOUSEDOWN' => '%Script',
  1154.     'ONMOUSEMOVE' => '%Script',
  1155.     'ONMOUSEOUT'  => '%Script',
  1156.     'ONMOUSEOVER' => '%Script',
  1157.     'ONMOUSEUP'   => '%Script',
  1158.     'STYLE'       => '%StyleSheet',
  1159.     'TITLE'       => '%Text',
  1160.     'XML:LANG'    => '%LanguageCode',
  1161.   },
  1162.   'IFRAME' => {
  1163.     'ALIGN'        => 'top|middle|bottom|left|right',
  1164.     'CLASS'        => '%Class',
  1165.     'FRAMEBORDER'  => '1|0',
  1166.     'HEIGHT'       => '%Length',
  1167.     'ID'           => 'ID',
  1168.     'LONGDESC'     => '%URI',
  1169.     'MARGINHEIGHT' => '%Pixels',
  1170.     'MARGINWIDTH'  => '%Pixels',
  1171.     'NAME'         => 'NMTOKEN',
  1172.     'SCROLLING'    => 'yes|no|auto',
  1173.     'SRC'          => '%URI',
  1174.     'STYLE'        => '%StyleSheet',
  1175.     'TITLE'        => '%Text',
  1176.     'WIDTH'        => '%Length',
  1177.   },
  1178.   'IMG' => {
  1179.     'ALIGN'       => 'top|middle|bottom|left|right',
  1180.     'ALT'         => '%Text',
  1181.     'BORDER'      => '%Length',
  1182.     'CLASS'       => '%Class',
  1183.     'DIR'         => 'ltr|rtl',
  1184.     'HEIGHT'      => '%Length',
  1185.     'HSPACE'      => '%Pixels',
  1186.     'ID'          => 'ID',
  1187.     'ISMAP'       => 'ismap',
  1188.     'LANG'        => '%LanguageCode',
  1189.     'LONGDESC'    => '%URI',
  1190.     'NAME'        => 'NMTOKEN',
  1191.     'ONCLICK'     => '%Script',
  1192.     'ONDBLCLICK'  => '%Script',
  1193.     'ONKEYDOWN'   => '%Script',
  1194.     'ONKEYPRESS'  => '%Script',
  1195.     'ONKEYUP'     => '%Script',
  1196.     'ONMOUSEDOWN' => '%Script',
  1197.     'ONMOUSEMOVE' => '%Script',
  1198.     'ONMOUSEOUT'  => '%Script',
  1199.     'ONMOUSEOVER' => '%Script',
  1200.     'ONMOUSEUP'   => '%Script',
  1201.     'SRC'         => '%URI',
  1202.     'STYLE'       => '%StyleSheet',
  1203.     'TITLE'       => '%Text',
  1204.     'USEMAP'      => '%URI',
  1205.     'VSPACE'      => '%Pixels',
  1206.     'WIDTH'       => '%Length',
  1207.     'XML:LANG'    => '%LanguageCode',
  1208.   },
  1209.   'INPUT' => {
  1210.     'ACCEPT'      => '%ContentTypes',
  1211.     'ACCESSKEY'   => '%Character',
  1212.     'ALIGN'       => 'top|middle|bottom|left|right',
  1213.     'ALT'         => 'CDATA',
  1214.     'CHECKED'     => 'checked',
  1215.     'CLASS'       => '%Class',
  1216.     'DIR'         => 'ltr|rtl',
  1217.     'DISABLED'    => 'disabled',
  1218.     'ID'          => 'ID',
  1219.     'LANG'        => '%LanguageCode',
  1220.     'MAXLENGTH'   => '%Number',
  1221.     'NAME'        => '%Name',
  1222.     'ONBLUR'      => '%Script',
  1223.     'ONCHANGE'    => '%Script',
  1224.     'ONCLICK'     => '%Script',
  1225.     'ONDBLCLICK'  => '%Script',
  1226.     'ONFOCUS'     => '%Script',
  1227.     'ONKEYDOWN'   => '%Script',
  1228.     'ONKEYPRESS'  => '%Script',
  1229.     'ONKEYUP'     => '%Script',
  1230.     'ONMOUSEDOWN' => '%Script',
  1231.     'ONMOUSEMOVE' => '%Script',
  1232.     'ONMOUSEOUT'  => '%Script',
  1233.     'ONMOUSEOVER' => '%Script',
  1234.     'ONMOUSEUP'   => '%Script',
  1235.     'ONSELECT'    => '%Script',
  1236.     'READONLY'    => 'readonly',
  1237.     'SIZE'        => 'CDATA',
  1238.     'SRC'         => '%URI',
  1239.     'STYLE'       => '%StyleSheet',
  1240.     'TABINDEX'    => '%Number',
  1241.     'TITLE'       => '%Text',
  1242.     'TYPE'        => 'text|password|checkbox|radio|submit|reset|file|hidden'.
  1243.                      '|image|button',
  1244.     'USEMAP'      => '%URI',
  1245.     'VALUE'       => 'CDATA',
  1246.     'XML:LANG'    => '%LanguageCode',
  1247.   },
  1248.   'INS' => {
  1249.     'CITE'        => '%URI',
  1250.     'CLASS'       => '%Class',
  1251.     'DATETIME'    => '%Datetime',
  1252.     'DIR'         => 'ltr|rtl',
  1253.     'ID'          => 'ID',
  1254.     'LANG'        => '%LanguageCode',
  1255.     'ONCLICK'     => '%Script',
  1256.     'ONDBLCLICK'  => '%Script',
  1257.     'ONKEYDOWN'   => '%Script',
  1258.     'ONKEYPRESS'  => '%Script',
  1259.     'ONKEYUP'     => '%Script',
  1260.     'ONMOUSEDOWN' => '%Script',
  1261.     'ONMOUSEMOVE' => '%Script',
  1262.     'ONMOUSEOUT'  => '%Script',
  1263.     'ONMOUSEOVER' => '%Script',
  1264.     'ONMOUSEUP'   => '%Script',
  1265.     'STYLE'       => '%StyleSheet',
  1266.     'TITLE'       => '%Text',
  1267.     'XML:LANG'    => '%LanguageCode',
  1268.   },
  1269.   'ISINDEX' => {
  1270.     'CLASS'    => '%Class',
  1271.     'DIR'      => 'ltr|rtl',
  1272.     'ID'       => 'ID',
  1273.     'LANG'     => '%LanguageCode',
  1274.     'PROMPT'   => '%Text',
  1275.     'STYLE'    => '%StyleSheet',
  1276.     'TITLE'    => '%Text',
  1277.     'XML:LANG' => '%LanguageCode',
  1278.   },
  1279.   'KBD' => {
  1280.     'CLASS'       => '%Class',
  1281.     'DIR'         => 'ltr|rtl',
  1282.     'ID'          => 'ID',
  1283.     'LANG'        => '%LanguageCode',
  1284.     'ONCLICK'     => '%Script',
  1285.     'ONDBLCLICK'  => '%Script',
  1286.     'ONKEYDOWN'   => '%Script',
  1287.     'ONKEYPRESS'  => '%Script',
  1288.     'ONKEYUP'     => '%Script',
  1289.     'ONMOUSEDOWN' => '%Script',
  1290.     'ONMOUSEMOVE' => '%Script',
  1291.     'ONMOUSEOUT'  => '%Script',
  1292.     'ONMOUSEOVER' => '%Script',
  1293.     'ONMOUSEUP'   => '%Script',
  1294.     'STYLE'       => '%StyleSheet',
  1295.     'TITLE'       => '%Text',
  1296.     'XML:LANG'    => '%LanguageCode',
  1297.   },
  1298.   'LABEL' => {
  1299.     'ACCESSKEY'   => '%Character',
  1300.     'CLASS'       => '%Class',
  1301.     'DIR'         => 'ltr|rtl',
  1302.     'FOR'         => 'IDREF',
  1303.     'ID'          => 'ID',
  1304.     'LANG'        => '%LanguageCode',
  1305.     'ONBLUR'      => '%Script',
  1306.     'ONCLICK'     => '%Script',
  1307.     'ONDBLCLICK'  => '%Script',
  1308.     'ONFOCUS'     => '%Script',
  1309.     'ONKEYDOWN'   => '%Script',
  1310.     'ONKEYPRESS'  => '%Script',
  1311.     'ONKEYUP'     => '%Script',
  1312.     'ONMOUSEDOWN' => '%Script',
  1313.     'ONMOUSEMOVE' => '%Script',
  1314.     'ONMOUSEOUT'  => '%Script',
  1315.     'ONMOUSEOVER' => '%Script',
  1316.     'ONMOUSEUP'   => '%Script',
  1317.     'STYLE'       => '%StyleSheet',
  1318.     'TITLE'       => '%Text',
  1319.     'XML:LANG'    => '%LanguageCode',
  1320.   },
  1321.   'LEGEND' => {
  1322.     'ACCESSKEY'   => '%Character',
  1323.     'ALIGN'       => 'top|bottom|left|right',
  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.     'XML:LANG'    => '%LanguageCode',
  1341.   },
  1342.   'LI' => {
  1343.     'CLASS'       => '%Class',
  1344.     'DIR'         => 'ltr|rtl',
  1345.     'ID'          => 'ID',
  1346.     'LANG'        => '%LanguageCode',
  1347.     'ONCLICK'     => '%Script',
  1348.     'ONDBLCLICK'  => '%Script',
  1349.     'ONKEYDOWN'   => '%Script',
  1350.     'ONKEYPRESS'  => '%Script',
  1351.     'ONKEYUP'     => '%Script',
  1352.     'ONMOUSEDOWN' => '%Script',
  1353.     'ONMOUSEMOVE' => '%Script',
  1354.     'ONMOUSEOUT'  => '%Script',
  1355.     'ONMOUSEOVER' => '%Script',
  1356.     'ONMOUSEUP'   => '%Script',
  1357.     'STYLE'       => '%StyleSheet',
  1358.     'TITLE'       => '%Text',
  1359.     'TYPE'        => '%LIStyle',
  1360.     'VALUE'       => '%Number',
  1361.     'XML:LANG'    => '%LanguageCode',
  1362.   },
  1363.   'LINK' => {
  1364.     'CHARSET'     => '%Charset',
  1365.     'CLASS'       => '%Class',
  1366.     'DIR'         => 'ltr|rtl',
  1367.     'HREF'        => '%URI',
  1368.     'HREFLANG'    => '%LanguageCode',
  1369.     'ID'          => 'ID',
  1370.     'LANG'        => '%LanguageCode',
  1371.     'MEDIA'       => '%MediaDesc',
  1372.     'ONCLICK'     => '%Script',
  1373.     'ONDBLCLICK'  => '%Script',
  1374.     'ONKEYDOWN'   => '%Script',
  1375.     'ONKEYPRESS'  => '%Script',
  1376.     'ONKEYUP'     => '%Script',
  1377.     'ONMOUSEDOWN' => '%Script',
  1378.     'ONMOUSEMOVE' => '%Script',
  1379.     'ONMOUSEOUT'  => '%Script',
  1380.     'ONMOUSEOVER' => '%Script',
  1381.     'ONMOUSEUP'   => '%Script',
  1382.     'REL'         => '%LinkTypes',
  1383.     'REV'         => '%LinkTypes',
  1384.     'STYLE'       => '%StyleSheet',
  1385.     'TARGET'      => '%FrameTarget',
  1386.     'TITLE'       => '%Text',
  1387.     'TYPE'        => '%ContentType',
  1388.     'XML:LANG'    => '%LanguageCode',
  1389.   },
  1390.   'MAP' => {
  1391.     'CLASS'       => '%Class',
  1392.     'DIR'         => 'ltr|rtl',
  1393.     'ID'          => 'ID',
  1394.     'LANG'        => '%LanguageCode',
  1395.     'NAME'        => '%Name',
  1396.     'ONCLICK'     => '%Script',
  1397.     'ONDBLCLICK'  => '%Script',
  1398.     'ONKEYDOWN'   => '%Script',
  1399.     'ONKEYPRESS'  => '%Script',
  1400.     'ONKEYUP'     => '%Script',
  1401.     'ONMOUSEDOWN' => '%Script',
  1402.     'ONMOUSEMOVE' => '%Script',
  1403.     'ONMOUSEOUT'  => '%Script',
  1404.     'ONMOUSEOVER' => '%Script',
  1405.     'ONMOUSEUP'   => '%Script',
  1406.     'STYLE'       => '%StyleSheet',
  1407.     'TITLE'       => '%Text',
  1408.     'XML:LANG'    => '%LanguageCode',
  1409.   },
  1410.   'MENU' => {
  1411.     'CLASS'       => '%Class',
  1412.     'COMPACT'     => 'compact',
  1413.     'DIR'         => 'ltr|rtl',
  1414.     'ID'          => 'ID',
  1415.     'LANG'        => '%LanguageCode',
  1416.     'ONCLICK'     => '%Script',
  1417.     'ONDBLCLICK'  => '%Script',
  1418.     'ONKEYDOWN'   => '%Script',
  1419.     'ONKEYPRESS'  => '%Script',
  1420.     'ONKEYUP'     => '%Script',
  1421.     'ONMOUSEDOWN' => '%Script',
  1422.     'ONMOUSEMOVE' => '%Script',
  1423.     'ONMOUSEOUT'  => '%Script',
  1424.     'ONMOUSEOVER' => '%Script',
  1425.     'ONMOUSEUP'   => '%Script',
  1426.     'STYLE'       => '%StyleSheet',
  1427.     'TITLE'       => '%Text',
  1428.     'XML:LANG'    => '%LanguageCode',
  1429.   },
  1430.   'META' => {
  1431.     'CONTENT'    => 'CDATA',
  1432.     'DIR'        => 'ltr|rtl',
  1433.     'HTTP-EQUIV' => 'CDATA',
  1434.     'LANG'       => '%LanguageCode',
  1435.     'NAME'       => '%Name',
  1436.     'SCHEME'     => 'CDATA',
  1437.     'XML:LANG'   => '%LanguageCode',
  1438.   },
  1439.   'NOFRAMES' => {
  1440.     'CLASS'       => '%Class',
  1441.     'DIR'         => 'ltr|rtl',
  1442.     'ID'          => 'ID',
  1443.     'LANG'        => '%LanguageCode',
  1444.     'ONCLICK'     => '%Script',
  1445.     'ONDBLCLICK'  => '%Script',
  1446.     'ONKEYDOWN'   => '%Script',
  1447.     'ONKEYPRESS'  => '%Script',
  1448.     'ONKEYUP'     => '%Script',
  1449.     'ONMOUSEDOWN' => '%Script',
  1450.     'ONMOUSEMOVE' => '%Script',
  1451.     'ONMOUSEOUT'  => '%Script',
  1452.     'ONMOUSEOVER' => '%Script',
  1453.     'ONMOUSEUP'   => '%Script',
  1454.     'STYLE'       => '%StyleSheet',
  1455.     'TITLE'       => '%Text',
  1456.     'XML:LANG'    => '%LanguageCode',
  1457.   },
  1458.   'NOSCRIPT' => {
  1459.     'CLASS'       => '%Class',
  1460.     'DIR'         => 'ltr|rtl',
  1461.     'ID'          => 'ID',
  1462.     'LANG'        => '%LanguageCode',
  1463.     'ONCLICK'     => '%Script',
  1464.     'ONDBLCLICK'  => '%Script',
  1465.     'ONKEYDOWN'   => '%Script',
  1466.     'ONKEYPRESS'  => '%Script',
  1467.     'ONKEYUP'     => '%Script',
  1468.     'ONMOUSEDOWN' => '%Script',
  1469.     'ONMOUSEMOVE' => '%Script',
  1470.     'ONMOUSEOUT'  => '%Script',
  1471.     'ONMOUSEOVER' => '%Script',
  1472.     'ONMOUSEUP'   => '%Script',
  1473.     'STYLE'       => '%StyleSheet',
  1474.     'TITLE'       => '%Text',
  1475.     'XML:LANG'    => '%LanguageCode',
  1476.   },
  1477.   'OBJECT' => {
  1478.     'ALIGN'       => 'top|middle|bottom|left|right',
  1479.     'ARCHIVE'     => '%UriList',
  1480.     'BORDER'      => '%Pixels',
  1481.     'CLASS'       => '%Class',
  1482.     'CLASSID'     => '%URI',
  1483.     'CODEBASE'    => '%URI',
  1484.     'CODETYPE'    => '%ContentType',
  1485.     'DATA'        => '%URI',
  1486.     'DECLARE'     => 'declare',
  1487.     'DIR'         => 'ltr|rtl',
  1488.     'HEIGHT'      => '%Length',
  1489.     'HSPACE'      => '%Pixels',
  1490.     'ID'          => 'ID',
  1491.     'LANG'        => '%LanguageCode',
  1492.     'NAME'        => 'NMTOKEN',
  1493.     'ONCLICK'     => '%Script',
  1494.     'ONDBLCLICK'  => '%Script',
  1495.     'ONKEYDOWN'   => '%Script',
  1496.     'ONKEYPRESS'  => '%Script',
  1497.     'ONKEYUP'     => '%Script',
  1498.     'ONMOUSEDOWN' => '%Script',
  1499.     'ONMOUSEMOVE' => '%Script',
  1500.     'ONMOUSEOUT'  => '%Script',
  1501.     'ONMOUSEOVER' => '%Script',
  1502.     'ONMOUSEUP'   => '%Script',
  1503.     'STANDBY'     => '%Text',
  1504.     'STYLE'       => '%StyleSheet',
  1505.     'TABINDEX'    => '%Number',
  1506.     'TITLE'       => '%Text',
  1507.     'TYPE'        => '%ContentType',
  1508.     'USEMAP'      => '%URI',
  1509.     'VSPACE'      => '%Pixels',
  1510.     'WIDTH'       => '%Length',
  1511.     'XML:LANG'    => '%LanguageCode',
  1512.   },
  1513.   'OL' => {
  1514.     'CLASS'       => '%Class',
  1515.     'COMPACT'     => 'compact',
  1516.     'DIR'         => 'ltr|rtl',
  1517.     'ID'          => 'ID',
  1518.     'LANG'        => '%LanguageCode',
  1519.     'ONCLICK'     => '%Script',
  1520.     'ONDBLCLICK'  => '%Script',
  1521.     'ONKEYDOWN'   => '%Script',
  1522.     'ONKEYPRESS'  => '%Script',
  1523.     'ONKEYUP'     => '%Script',
  1524.     'ONMOUSEDOWN' => '%Script',
  1525.     'ONMOUSEMOVE' => '%Script',
  1526.     'ONMOUSEOUT'  => '%Script',
  1527.     'ONMOUSEOVER' => '%Script',
  1528.     'ONMOUSEUP'   => '%Script',
  1529.     'START'       => '%Number',
  1530.     'STYLE'       => '%StyleSheet',
  1531.     'TITLE'       => '%Text',
  1532.     'TYPE'        => '%OLStyle',
  1533.     'XML:LANG'    => '%LanguageCode',
  1534.   },
  1535.   'OPTGROUP' => {
  1536.     'CLASS'       => '%Class',
  1537.     'DIR'         => 'ltr|rtl',
  1538.     'DISABLED'    => 'disabled',
  1539.     'ID'          => 'ID',
  1540.     'LABEL'       => '%Text',
  1541.     'LANG'        => '%LanguageCode',
  1542.     'ONCLICK'     => '%Script',
  1543.     'ONDBLCLICK'  => '%Script',
  1544.     'ONKEYDOWN'   => '%Script',
  1545.     'ONKEYPRESS'  => '%Script',
  1546.     'ONKEYUP'     => '%Script',
  1547.     'ONMOUSEDOWN' => '%Script',
  1548.     'ONMOUSEMOVE' => '%Script',
  1549.     'ONMOUSEOUT'  => '%Script',
  1550.     'ONMOUSEOVER' => '%Script',
  1551.     'ONMOUSEUP'   => '%Script',
  1552.     'STYLE'       => '%StyleSheet',
  1553.     'TITLE'       => '%Text',
  1554.     'XML:LANG'    => '%LanguageCode',
  1555.   },
  1556.   'OPTION' => {
  1557.     'CLASS'       => '%Class',
  1558.     'DIR'         => 'ltr|rtl',
  1559.     'DISABLED'    => 'disabled',
  1560.     'ID'          => 'ID',
  1561.     'LABEL'       => '%Text',
  1562.     'LANG'        => '%LanguageCode',
  1563.     'ONCLICK'     => '%Script',
  1564.     'ONDBLCLICK'  => '%Script',
  1565.     'ONKEYDOWN'   => '%Script',
  1566.     'ONKEYPRESS'  => '%Script',
  1567.     'ONKEYUP'     => '%Script',
  1568.     'ONMOUSEDOWN' => '%Script',
  1569.     'ONMOUSEMOVE' => '%Script',
  1570.     'ONMOUSEOUT'  => '%Script',
  1571.     'ONMOUSEOVER' => '%Script',
  1572.     'ONMOUSEUP'   => '%Script',
  1573.     'SELECTED'    => 'selected',
  1574.     'STYLE'       => '%StyleSheet',
  1575.     'TITLE'       => '%Text',
  1576.     'VALUE'       => 'CDATA',
  1577.     'XML:LANG'    => '%LanguageCode',
  1578.   },
  1579.   'P' => {
  1580.     'ALIGN'       => 'left|center|right',
  1581.     'CLASS'       => '%Class',
  1582.     'DIR'         => 'ltr|rtl',
  1583.     'ID'          => 'ID',
  1584.     'LANG'        => '%LanguageCode',
  1585.     'ONCLICK'     => '%Script',
  1586.     'ONDBLCLICK'  => '%Script',
  1587.     'ONKEYDOWN'   => '%Script',
  1588.     'ONKEYPRESS'  => '%Script',
  1589.     'ONKEYUP'     => '%Script',
  1590.     'ONMOUSEDOWN' => '%Script',
  1591.     'ONMOUSEMOVE' => '%Script',
  1592.     'ONMOUSEOUT'  => '%Script',
  1593.     'ONMOUSEOVER' => '%Script',
  1594.     'ONMOUSEUP'   => '%Script',
  1595.     'STYLE'       => '%StyleSheet',
  1596.     'TITLE'       => '%Text',
  1597.     'XML:LANG'    => '%LanguageCode',
  1598.   },
  1599.   'PARAM' => {
  1600.     'ID'        => 'ID',
  1601.     'NAME'      => '%Name',
  1602.     'TYPE'      => '%ContentType',
  1603.     'VALUE'     => 'CDATA',
  1604.     'VALUETYPE' => 'data|ref|object',
  1605.   },
  1606.   'PRE' => {
  1607.     'CLASS'       => '%Class',
  1608.     'DIR'         => 'ltr|rtl',
  1609.     'ID'          => 'ID',
  1610.     'LANG'        => '%LanguageCode',
  1611.     'ONCLICK'     => '%Script',
  1612.     'ONDBLCLICK'  => '%Script',
  1613.     'ONKEYDOWN'   => '%Script',
  1614.     'ONKEYPRESS'  => '%Script',
  1615.     'ONKEYUP'     => '%Script',
  1616.     'ONMOUSEDOWN' => '%Script',
  1617.     'ONMOUSEMOVE' => '%Script',
  1618.     'ONMOUSEOUT'  => '%Script',
  1619.     'ONMOUSEOVER' => '%Script',
  1620.     'ONMOUSEUP'   => '%Script',
  1621.     'STYLE'       => '%StyleSheet',
  1622.     'TITLE'       => '%Text',
  1623.     'WIDTH'       => '%Number',
  1624.     'XML:LANG'    => '%LanguageCode',
  1625.     'XML:SPACE'   => 'preserve=preserve',
  1626.   },
  1627.   'Q' => {
  1628.     'CITE'        => '%URI',
  1629.     'CLASS'       => '%Class',
  1630.     'DIR'         => 'ltr|rtl',
  1631.     'ID'          => 'ID',
  1632.     'LANG'        => '%LanguageCode',
  1633.     'ONCLICK'     => '%Script',
  1634.     'ONDBLCLICK'  => '%Script',
  1635.     'ONKEYDOWN'   => '%Script',
  1636.     'ONKEYPRESS'  => '%Script',
  1637.     'ONKEYUP'     => '%Script',
  1638.     'ONMOUSEDOWN' => '%Script',
  1639.     'ONMOUSEMOVE' => '%Script',
  1640.     'ONMOUSEOUT'  => '%Script',
  1641.     'ONMOUSEOVER' => '%Script',
  1642.     'ONMOUSEUP'   => '%Script',
  1643.     'STYLE'       => '%StyleSheet',
  1644.     'TITLE'       => '%Text',
  1645.     'XML:LANG'    => '%LanguageCode',
  1646.   },
  1647.   'S' => {
  1648.     'CLASS'       => '%Class',
  1649.     'DIR'         => 'ltr|rtl',
  1650.     'ID'          => 'ID',
  1651.     'LANG'        => '%LanguageCode',
  1652.     'ONCLICK'     => '%Script',
  1653.     'ONDBLCLICK'  => '%Script',
  1654.     'ONKEYDOWN'   => '%Script',
  1655.     'ONKEYPRESS'  => '%Script',
  1656.     'ONKEYUP'     => '%Script',
  1657.     'ONMOUSEDOWN' => '%Script',
  1658.     'ONMOUSEMOVE' => '%Script',
  1659.     'ONMOUSEOUT'  => '%Script',
  1660.     'ONMOUSEOVER' => '%Script',
  1661.     'ONMOUSEUP'   => '%Script',
  1662.     'STYLE'       => '%StyleSheet',
  1663.     'TITLE'       => '%Text',
  1664.     'XML:LANG'    => '%LanguageCode',
  1665.   },
  1666.   'SAMP' => {
  1667.     'CLASS'       => '%Class',
  1668.     'DIR'         => 'ltr|rtl',
  1669.     'ID'          => 'ID',
  1670.     'LANG'        => '%LanguageCode',
  1671.     'ONCLICK'     => '%Script',
  1672.     'ONDBLCLICK'  => '%Script',
  1673.     'ONKEYDOWN'   => '%Script',
  1674.     'ONKEYPRESS'  => '%Script',
  1675.     'ONKEYUP'     => '%Script',
  1676.     'ONMOUSEDOWN' => '%Script',
  1677.     'ONMOUSEMOVE' => '%Script',
  1678.     'ONMOUSEOUT'  => '%Script',
  1679.     'ONMOUSEOVER' => '%Script',
  1680.     'ONMOUSEUP'   => '%Script',
  1681.     'STYLE'       => '%StyleSheet',
  1682.     'TITLE'       => '%Text',
  1683.     'XML:LANG'    => '%LanguageCode',
  1684.   },
  1685.   'SCRIPT' => {
  1686.     'CHARSET'   => '%Charset',
  1687.     'DEFER'     => 'defer',
  1688.     'LANGUAGE'  => 'CDATA',
  1689.     'SRC'       => '%URI',
  1690.     'TYPE'      => '%ContentType',
  1691.     'XML:SPACE' => 'preserve=preserve',
  1692.   },
  1693.   'SELECT' => {
  1694.     'CLASS'       => '%Class',
  1695.     'DIR'         => 'ltr|rtl',
  1696.     'DISABLED'    => 'disabled',
  1697.     'ID'          => 'ID',
  1698.     'LANG'        => '%LanguageCode',
  1699.     'MULTIPLE'    => 'multiple',
  1700.     'NAME'        => '%Name',
  1701.     'ONBLUR'      => '%Script',
  1702.     'ONCHANGE'    => '%Script',
  1703.     'ONCLICK'     => '%Script',
  1704.     'ONDBLCLICK'  => '%Script',
  1705.     'ONFOCUS'     => '%Script',
  1706.     'ONKEYDOWN'   => '%Script',
  1707.     'ONKEYPRESS'  => '%Script',
  1708.     'ONKEYUP'     => '%Script',
  1709.     'ONMOUSEDOWN' => '%Script',
  1710.     'ONMOUSEMOVE' => '%Script',
  1711.     'ONMOUSEOUT'  => '%Script',
  1712.     'ONMOUSEOVER' => '%Script',
  1713.     'ONMOUSEUP'   => '%Script',
  1714.     'SIZE'        => '%Number',
  1715.     'STYLE'       => '%StyleSheet',
  1716.     'TABINDEX'    => '%Number',
  1717.     'TITLE'       => '%Text',
  1718.     'XML:LANG'    => '%LanguageCode',
  1719.   },
  1720.   'SMALL' => {
  1721.     'CLASS'       => '%Class',
  1722.     'DIR'         => 'ltr|rtl',
  1723.     'ID'          => 'ID',
  1724.     'LANG'        => '%LanguageCode',
  1725.     'ONCLICK'     => '%Script',
  1726.     'ONDBLCLICK'  => '%Script',
  1727.     'ONKEYDOWN'   => '%Script',
  1728.     'ONKEYPRESS'  => '%Script',
  1729.     'ONKEYUP'     => '%Script',
  1730.     'ONMOUSEDOWN' => '%Script',
  1731.     'ONMOUSEMOVE' => '%Script',
  1732.     'ONMOUSEOUT'  => '%Script',
  1733.     'ONMOUSEOVER' => '%Script',
  1734.     'ONMOUSEUP'   => '%Script',
  1735.     'STYLE'       => '%StyleSheet',
  1736.     'TITLE'       => '%Text',
  1737.     'XML:LANG'    => '%LanguageCode',
  1738.   },
  1739.   'SPAN' => {
  1740.     'CLASS'       => '%Class',
  1741.     'DIR'         => 'ltr|rtl',
  1742.     'ID'          => 'ID',
  1743.     'LANG'        => '%LanguageCode',
  1744.     'ONCLICK'     => '%Script',
  1745.     'ONDBLCLICK'  => '%Script',
  1746.     'ONKEYDOWN'   => '%Script',
  1747.     'ONKEYPRESS'  => '%Script',
  1748.     'ONKEYUP'     => '%Script',
  1749.     'ONMOUSEDOWN' => '%Script',
  1750.     'ONMOUSEMOVE' => '%Script',
  1751.     'ONMOUSEOUT'  => '%Script',
  1752.     'ONMOUSEOVER' => '%Script',
  1753.     'ONMOUSEUP'   => '%Script',
  1754.     'STYLE'       => '%StyleSheet',
  1755.     'TITLE'       => '%Text',
  1756.     'XML:LANG'    => '%LanguageCode',
  1757.   },
  1758.   'STRIKE' => {
  1759.     'CLASS'       => '%Class',
  1760.     'DIR'         => 'ltr|rtl',
  1761.     'ID'          => 'ID',
  1762.     'LANG'        => '%LanguageCode',
  1763.     'ONCLICK'     => '%Script',
  1764.     'ONDBLCLICK'  => '%Script',
  1765.     'ONKEYDOWN'   => '%Script',
  1766.     'ONKEYPRESS'  => '%Script',
  1767.     'ONKEYUP'     => '%Script',
  1768.     'ONMOUSEDOWN' => '%Script',
  1769.     'ONMOUSEMOVE' => '%Script',
  1770.     'ONMOUSEOUT'  => '%Script',
  1771.     'ONMOUSEOVER' => '%Script',
  1772.     'ONMOUSEUP'   => '%Script',
  1773.     'STYLE'       => '%StyleSheet',
  1774.     'TITLE'       => '%Text',
  1775.     'XML:LANG'    => '%LanguageCode',
  1776.   },
  1777.   'STRONG' => {
  1778.     'CLASS'       => '%Class',
  1779.     'DIR'         => 'ltr|rtl',
  1780.     'ID'          => 'ID',
  1781.     'LANG'        => '%LanguageCode',
  1782.     'ONCLICK'     => '%Script',
  1783.     'ONDBLCLICK'  => '%Script',
  1784.     'ONKEYDOWN'   => '%Script',
  1785.     'ONKEYPRESS'  => '%Script',
  1786.     'ONKEYUP'     => '%Script',
  1787.     'ONMOUSEDOWN' => '%Script',
  1788.     'ONMOUSEMOVE' => '%Script',
  1789.     'ONMOUSEOUT'  => '%Script',
  1790.     'ONMOUSEOVER' => '%Script',
  1791.     'ONMOUSEUP'   => '%Script',
  1792.     'STYLE'       => '%StyleSheet',
  1793.     'TITLE'       => '%Text',
  1794.     'XML:LANG'    => '%LanguageCode',
  1795.   },
  1796.   'STYLE' => {
  1797.     'DIR'       => 'ltr|rtl',
  1798.     'LANG'      => '%LanguageCode',
  1799.     'MEDIA'     => '%MediaDesc',
  1800.     'TITLE'     => '%Text',
  1801.     'TYPE'      => '%ContentType',
  1802.     'XML:LANG'  => '%LanguageCode',
  1803.     'XML:SPACE' => 'preserve=preserve',
  1804.   },
  1805.   'SUB' => {
  1806.     'CLASS'       => '%Class',
  1807.     'DIR'         => 'ltr|rtl',
  1808.     'ID'          => 'ID',
  1809.     'LANG'        => '%LanguageCode',
  1810.     'ONCLICK'     => '%Script',
  1811.     'ONDBLCLICK'  => '%Script',
  1812.     'ONKEYDOWN'   => '%Script',
  1813.     'ONKEYPRESS'  => '%Script',
  1814.     'ONKEYUP'     => '%Script',
  1815.     'ONMOUSEDOWN' => '%Script',
  1816.     'ONMOUSEMOVE' => '%Script',
  1817.     'ONMOUSEOUT'  => '%Script',
  1818.     'ONMOUSEOVER' => '%Script',
  1819.     'ONMOUSEUP'   => '%Script',
  1820.     'STYLE'       => '%StyleSheet',
  1821.     'TITLE'       => '%Text',
  1822.     'XML:LANG'    => '%LanguageCode',
  1823.   },
  1824.   'SUP' => {
  1825.     'CLASS'       => '%Class',
  1826.     'DIR'         => 'ltr|rtl',
  1827.     'ID'          => 'ID',
  1828.     'LANG'        => '%LanguageCode',
  1829.     'ONCLICK'     => '%Script',
  1830.     'ONDBLCLICK'  => '%Script',
  1831.     'ONKEYDOWN'   => '%Script',
  1832.     'ONKEYPRESS'  => '%Script',
  1833.     'ONKEYUP'     => '%Script',
  1834.     'ONMOUSEDOWN' => '%Script',
  1835.     'ONMOUSEMOVE' => '%Script',
  1836.     'ONMOUSEOUT'  => '%Script',
  1837.     'ONMOUSEOVER' => '%Script',
  1838.     'ONMOUSEUP'   => '%Script',
  1839.     'STYLE'       => '%StyleSheet',
  1840.     'TITLE'       => '%Text',
  1841.     'XML:LANG'    => '%LanguageCode',
  1842.   },
  1843.   'TABLE' => {
  1844.     'ALIGN'       => 'left|center|right',
  1845.     'BGCOLOR'     => '%Color',
  1846.     'BORDER'      => '%Pixels',
  1847.     'CELLPADDING' => '%Length',
  1848.     'CELLSPACING' => '%Length',
  1849.     'CLASS'       => '%Class',
  1850.     'DIR'         => 'ltr|rtl',
  1851.     'FRAME'       => 'void|above|below|hsides|lhs|rhs|vsides|box|border',
  1852.     'ID'          => 'ID',
  1853.     'LANG'        => '%LanguageCode',
  1854.     'ONCLICK'     => '%Script',
  1855.     'ONDBLCLICK'  => '%Script',
  1856.     'ONKEYDOWN'   => '%Script',
  1857.     'ONKEYPRESS'  => '%Script',
  1858.     'ONKEYUP'     => '%Script',
  1859.     'ONMOUSEDOWN' => '%Script',
  1860.     'ONMOUSEMOVE' => '%Script',
  1861.     'ONMOUSEOUT'  => '%Script',
  1862.     'ONMOUSEOVER' => '%Script',
  1863.     'ONMOUSEUP'   => '%Script',
  1864.     'RULES'       => 'none|groups|rows|cols|all',
  1865.     'STYLE'       => '%StyleSheet',
  1866.     'SUMMARY'     => '%Text',
  1867.     'TITLE'       => '%Text',
  1868.     'WIDTH'       => '%Length',
  1869.     'XML:LANG'    => '%LanguageCode',
  1870.   },
  1871.   'TBODY' => {
  1872.     'ALIGN'       => 'left|center|right|justify|char',
  1873.     'CHAR'        => '%Character',
  1874.     'CHAROFF'     => '%Length',
  1875.     'CLASS'       => '%Class',
  1876.     'DIR'         => 'ltr|rtl',
  1877.     'ID'          => 'ID',
  1878.     'LANG'        => '%LanguageCode',
  1879.     'ONCLICK'     => '%Script',
  1880.     'ONDBLCLICK'  => '%Script',
  1881.     'ONKEYDOWN'   => '%Script',
  1882.     'ONKEYPRESS'  => '%Script',
  1883.     'ONKEYUP'     => '%Script',
  1884.     'ONMOUSEDOWN' => '%Script',
  1885.     'ONMOUSEMOVE' => '%Script',
  1886.     'ONMOUSEOUT'  => '%Script',
  1887.     'ONMOUSEOVER' => '%Script',
  1888.     'ONMOUSEUP'   => '%Script',
  1889.     'STYLE'       => '%StyleSheet',
  1890.     'TITLE'       => '%Text',
  1891.     'VALIGN'      => 'top|middle|bottom|baseline',
  1892.     'XML:LANG'    => '%LanguageCode',
  1893.   },
  1894.   'TD' => {
  1895.     'ABBR'        => '%Text',
  1896.     'ALIGN'       => 'left|center|right|justify|char',
  1897.     'AXIS'        => 'CDATA',
  1898.     'BGCOLOR'     => '%Color',
  1899.     'CHAR'        => '%Character',
  1900.     'CHAROFF'     => '%Length',
  1901.     'CLASS'       => '%Class',
  1902.     'COLSPAN'     => '%Number',
  1903.     'DIR'         => 'ltr|rtl',
  1904.     'HEADERS'     => 'IDREFS',
  1905.     'HEIGHT'      => '%Pixels',
  1906.     'ID'          => 'ID',
  1907.     'LANG'        => '%LanguageCode',
  1908.     'NOWRAP'      => 'nowrap',
  1909.     'ONCLICK'     => '%Script',
  1910.     'ONDBLCLICK'  => '%Script',
  1911.     'ONKEYDOWN'   => '%Script',
  1912.     'ONKEYPRESS'  => '%Script',
  1913.     'ONKEYUP'     => '%Script',
  1914.     'ONMOUSEDOWN' => '%Script',
  1915.     'ONMOUSEMOVE' => '%Script',
  1916.     'ONMOUSEOUT'  => '%Script',
  1917.     'ONMOUSEOVER' => '%Script',
  1918.     'ONMOUSEUP'   => '%Script',
  1919.     'ROWSPAN'     => '%Number',
  1920.     'SCOPE'       => 'row|col|rowgroup|colgroup',
  1921.     'STYLE'       => '%StyleSheet',
  1922.     'TITLE'       => '%Text',
  1923.     'VALIGN'      => 'top|middle|bottom|baseline',
  1924.     'WIDTH'       => '%Pixels',
  1925.     'XML:LANG'    => '%LanguageCode',
  1926.   },
  1927.   'TEXTAREA' => {
  1928.     'ACCESSKEY'   => '%Character',
  1929.     'CLASS'       => '%Class',
  1930.     'COLS'        => '%Number',
  1931.     'DIR'         => 'ltr|rtl',
  1932.     'DISABLED'    => 'disabled',
  1933.     'ID'          => 'ID',
  1934.     'LANG'        => '%LanguageCode',
  1935.     'NAME'        => '%Name',
  1936.     'ONBLUR'      => '%Script',
  1937.     'ONCHANGE'    => '%Script',
  1938.     'ONCLICK'     => '%Script',
  1939.     'ONDBLCLICK'  => '%Script',
  1940.     'ONFOCUS'     => '%Script',
  1941.     'ONKEYDOWN'   => '%Script',
  1942.     'ONKEYPRESS'  => '%Script',
  1943.     'ONKEYUP'     => '%Script',
  1944.     'ONMOUSEDOWN' => '%Script',
  1945.     'ONMOUSEMOVE' => '%Script',
  1946.     'ONMOUSEOUT'  => '%Script',
  1947.     'ONMOUSEOVER' => '%Script',
  1948.     'ONMOUSEUP'   => '%Script',
  1949.     'ONSELECT'    => '%Script',
  1950.     'READONLY'    => 'readonly',
  1951.     'ROWS'        => '%Number',
  1952.     'STYLE'       => '%StyleSheet',
  1953.     'TABINDEX'    => '%Number',
  1954.     'TITLE'       => '%Text',
  1955.     'XML:LANG'    => '%LanguageCode',
  1956.   },
  1957.   'TFOOT' => {
  1958.     'ALIGN'       => 'left|center|right|justify|char',
  1959.     'CHAR'        => '%Character',
  1960.     'CHAROFF'     => '%Length',
  1961.     'CLASS'       => '%Class',
  1962.     'DIR'         => 'ltr|rtl',
  1963.     'ID'          => 'ID',
  1964.     'LANG'        => '%LanguageCode',
  1965.     'ONCLICK'     => '%Script',
  1966.     'ONDBLCLICK'  => '%Script',
  1967.     'ONKEYDOWN'   => '%Script',
  1968.     'ONKEYPRESS'  => '%Script',
  1969.     'ONKEYUP'     => '%Script',
  1970.     'ONMOUSEDOWN' => '%Script',
  1971.     'ONMOUSEMOVE' => '%Script',
  1972.     'ONMOUSEOUT'  => '%Script',
  1973.     'ONMOUSEOVER' => '%Script',
  1974.     'ONMOUSEUP'   => '%Script',
  1975.     'STYLE'       => '%StyleSheet',
  1976.     'TITLE'       => '%Text',
  1977.     'VALIGN'      => 'top|middle|bottom|baseline',
  1978.     'XML:LANG'    => '%LanguageCode',
  1979.   },
  1980.   'TH' => {
  1981.     'ABBR'        => '%Text',
  1982.     'ALIGN'       => 'left|center|right|justify|char',
  1983.     'AXIS'        => 'CDATA',
  1984.     'BGCOLOR'     => '%Color',
  1985.     'CHAR'        => '%Character',
  1986.     'CHAROFF'     => '%Length',
  1987.     'CLASS'       => '%Class',
  1988.     'COLSPAN'     => '%Number',
  1989.     'DIR'         => 'ltr|rtl',
  1990.     'HEADERS'     => 'IDREFS',
  1991.     'HEIGHT'      => '%Pixels',
  1992.     'ID'          => 'ID',
  1993.     'LANG'        => '%LanguageCode',
  1994.     'NOWRAP'      => 'nowrap',
  1995.     'ONCLICK'     => '%Script',
  1996.     'ONDBLCLICK'  => '%Script',
  1997.     'ONKEYDOWN'   => '%Script',
  1998.     'ONKEYPRESS'  => '%Script',
  1999.     'ONKEYUP'     => '%Script',
  2000.     'ONMOUSEDOWN' => '%Script',
  2001.     'ONMOUSEMOVE' => '%Script',
  2002.     'ONMOUSEOUT'  => '%Script',
  2003.     'ONMOUSEOVER' => '%Script',
  2004.     'ONMOUSEUP'   => '%Script',
  2005.     'ROWSPAN'     => '%Number',
  2006.     'SCOPE'       => 'row|col|rowgroup|colgroup',
  2007.     'STYLE'       => '%StyleSheet',
  2008.     'TITLE'       => '%Text',
  2009.     'VALIGN'      => 'top|middle|bottom|baseline',
  2010.     'WIDTH'       => '%Pixels',
  2011.     'XML:LANG'    => '%LanguageCode',
  2012.   },
  2013.   'THEAD' => {
  2014.     'ALIGN'       => 'left|center|right|justify|char',
  2015.     'CHAR'        => '%Character',
  2016.     'CHAROFF'     => '%Length',
  2017.     'CLASS'       => '%Class',
  2018.     'DIR'         => 'ltr|rtl',
  2019.     'ID'          => 'ID',
  2020.     'LANG'        => '%LanguageCode',
  2021.     'ONCLICK'     => '%Script',
  2022.     'ONDBLCLICK'  => '%Script',
  2023.     'ONKEYDOWN'   => '%Script',
  2024.     'ONKEYPRESS'  => '%Script',
  2025.     'ONKEYUP'     => '%Script',
  2026.     'ONMOUSEDOWN' => '%Script',
  2027.     'ONMOUSEMOVE' => '%Script',
  2028.     'ONMOUSEOUT'  => '%Script',
  2029.     'ONMOUSEOVER' => '%Script',
  2030.     'ONMOUSEUP'   => '%Script',
  2031.     'STYLE'       => '%StyleSheet',
  2032.     'TITLE'       => '%Text',
  2033.     'VALIGN'      => 'top|middle|bottom|baseline',
  2034.     'XML:LANG'    => '%LanguageCode',
  2035.   },
  2036.   'TITLE' => {
  2037.     'DIR'      => 'ltr|rtl',
  2038.     'LANG'     => '%LanguageCode',
  2039.     'XML:LANG' => '%LanguageCode',
  2040.   },
  2041.   'TR' => {
  2042.     'ALIGN'       => 'left|center|right|justify|char',
  2043.     'BGCOLOR'     => '%Color',
  2044.     'CHAR'        => '%Character',
  2045.     'CHAROFF'     => '%Length',
  2046.     'CLASS'       => '%Class',
  2047.     'DIR'         => 'ltr|rtl',
  2048.     'ID'          => 'ID',
  2049.     'LANG'        => '%LanguageCode',
  2050.     'ONCLICK'     => '%Script',
  2051.     'ONDBLCLICK'  => '%Script',
  2052.     'ONKEYDOWN'   => '%Script',
  2053.     'ONKEYPRESS'  => '%Script',
  2054.     'ONKEYUP'     => '%Script',
  2055.     'ONMOUSEDOWN' => '%Script',
  2056.     'ONMOUSEMOVE' => '%Script',
  2057.     'ONMOUSEOUT'  => '%Script',
  2058.     'ONMOUSEOVER' => '%Script',
  2059.     'ONMOUSEUP'   => '%Script',
  2060.     'STYLE'       => '%StyleSheet',
  2061.     'TITLE'       => '%Text',
  2062.     'VALIGN'      => 'top|middle|bottom|baseline',
  2063.     'XML:LANG'    => '%LanguageCode',
  2064.   },
  2065.   'TT' => {
  2066.     'CLASS'       => '%Class',
  2067.     'DIR'         => 'ltr|rtl',
  2068.     'ID'          => 'ID',
  2069.     'LANG'        => '%LanguageCode',
  2070.     'ONCLICK'     => '%Script',
  2071.     'ONDBLCLICK'  => '%Script',
  2072.     'ONKEYDOWN'   => '%Script',
  2073.     'ONKEYPRESS'  => '%Script',
  2074.     'ONKEYUP'     => '%Script',
  2075.     'ONMOUSEDOWN' => '%Script',
  2076.     'ONMOUSEMOVE' => '%Script',
  2077.     'ONMOUSEOUT'  => '%Script',
  2078.     'ONMOUSEOVER' => '%Script',
  2079.     'ONMOUSEUP'   => '%Script',
  2080.     'STYLE'       => '%StyleSheet',
  2081.     'TITLE'       => '%Text',
  2082.     'XML:LANG'    => '%LanguageCode',
  2083.   },
  2084.   'U' => {
  2085.     'CLASS'       => '%Class',
  2086.     'DIR'         => 'ltr|rtl',
  2087.     'ID'          => 'ID',
  2088.     'LANG'        => '%LanguageCode',
  2089.     'ONCLICK'     => '%Script',
  2090.     'ONDBLCLICK'  => '%Script',
  2091.     'ONKEYDOWN'   => '%Script',
  2092.     'ONKEYPRESS'  => '%Script',
  2093.     'ONKEYUP'     => '%Script',
  2094.     'ONMOUSEDOWN' => '%Script',
  2095.     'ONMOUSEMOVE' => '%Script',
  2096.     'ONMOUSEOUT'  => '%Script',
  2097.     'ONMOUSEOVER' => '%Script',
  2098.     'ONMOUSEUP'   => '%Script',
  2099.     'STYLE'       => '%StyleSheet',
  2100.     'TITLE'       => '%Text',
  2101.     'XML:LANG'    => '%LanguageCode',
  2102.   },
  2103.   'UL' => {
  2104.     'CLASS'       => '%Class',
  2105.     'COMPACT'     => 'compact',
  2106.     'DIR'         => 'ltr|rtl',
  2107.     'ID'          => 'ID',
  2108.     'LANG'        => '%LanguageCode',
  2109.     'ONCLICK'     => '%Script',
  2110.     'ONDBLCLICK'  => '%Script',
  2111.     'ONKEYDOWN'   => '%Script',
  2112.     'ONKEYPRESS'  => '%Script',
  2113.     'ONKEYUP'     => '%Script',
  2114.     'ONMOUSEDOWN' => '%Script',
  2115.     'ONMOUSEMOVE' => '%Script',
  2116.     'ONMOUSEOUT'  => '%Script',
  2117.     'ONMOUSEOVER' => '%Script',
  2118.     'ONMOUSEUP'   => '%Script',
  2119.     'STYLE'       => '%StyleSheet',
  2120.     'TITLE'       => '%Text',
  2121.     'TYPE'        => 'disc|square|circle',
  2122.     'XML:LANG'    => '%LanguageCode',
  2123.   },
  2124.   'VAR' => {
  2125.     'CLASS'       => '%Class',
  2126.     'DIR'         => 'ltr|rtl',
  2127.     'ID'          => 'ID',
  2128.     'LANG'        => '%LanguageCode',
  2129.     'ONCLICK'     => '%Script',
  2130.     'ONDBLCLICK'  => '%Script',
  2131.     'ONKEYDOWN'   => '%Script',
  2132.     'ONKEYPRESS'  => '%Script',
  2133.     'ONKEYUP'     => '%Script',
  2134.     'ONMOUSEDOWN' => '%Script',
  2135.     'ONMOUSEMOVE' => '%Script',
  2136.     'ONMOUSEOUT'  => '%Script',
  2137.     'ONMOUSEOVER' => '%Script',
  2138.     'ONMOUSEUP'   => '%Script',
  2139.     'STYLE'       => '%StyleSheet',
  2140.     'TITLE'       => '%Text',
  2141.     'XML:LANG'    => '%LanguageCode',
  2142.   },
  2143. );
  2144. %requiredAttrs = (
  2145.   'APPLET'   => 'WIDTH&HEIGHT',
  2146.   'AREA'     => 'ALT',
  2147.   'BASEFONT' => 'SIZE',
  2148.   'BDO'      => 'DIR',
  2149.   'FORM'     => 'ACTION',
  2150.   'IMG'      => 'SRC&ALT',
  2151.   'MAP'      => 'ID',
  2152.   'META'     => 'CONTENT',
  2153.   'OPTGROUP' => 'LABEL',
  2154.   'PARAM'    => 'NAME',
  2155.   'SCRIPT'   => 'TYPE',
  2156.   'STYLE'    => 'TYPE',
  2157.   'TEXTAREA' => 'ROWS&COLS',
  2158. );
  2159. %deprecatedAttrs = (
  2160. # 'A'       => 'NAME',
  2161. # 'APPLET'  => 'NAME',
  2162. # 'FORM'    => 'NAME',
  2163. # 'IFRAME'  => 'NAME',
  2164. # 'IMG'     => 'NAME',
  2165. # 'MAP'     => 'NAME',
  2166. # 'BASE'    => 'TARGET',
  2167.   'SCRIPT'  => 'LANGUAGE',
  2168. # 'LINK'    => 'TARGET',
  2169. );
  2170. %deprecatedAttrsCss = (
  2171.   'BODY'    => 'ALINK|BACKGROUND|BGCOLOR|LINK|TEXT|VLINK',
  2172.   'BR'      => 'CLEAR',
  2173.   'CAPTION' => 'ALIGN',
  2174.   'DIV'     => 'ALIGN',
  2175.   'DL'      => 'COMPACT',
  2176.   'FORM'    => 'TARGET',
  2177.   'H1'      => 'ALIGN',
  2178.   'H2'      => 'ALIGN',
  2179.   'H3'      => 'ALIGN',
  2180.   'H4'      => 'ALIGN',
  2181.   'H5'      => 'ALIGN',
  2182.   'H6'      => 'ALIGN',
  2183.   'HR'      => 'ALIGN|NOSHADE|SIZE|WIDTH',
  2184.   'IMG'     => 'ALIGN|BORDER|HSPACE|VSPACE',
  2185.   'INPUT'   => 'ALIGN',
  2186.   'LEGEND'  => 'ALIGN',
  2187.   'LI'      => 'TYPE|VALUE',
  2188.   'OBJECT'  => 'ALIGN|BORDER|HSPACE|VSPACE',
  2189.   'OL'      => 'COMPACT|START|TYPE',
  2190.   'P'       => 'ALIGN',
  2191.   'PRE'     => 'WIDTH',
  2192.   'TABLE'   => 'ALIGN|BGCOLOR',
  2193.   'TD'      => 'BGCOLOR|HEIGHT|NOWRAP|WIDTH',
  2194.   'TH'      => 'BGCOLOR|HEIGHT|NOWRAP|WIDTH',
  2195.   'TR'      => 'BGCOLOR',
  2196.   'UL'      => 'COMPACT|TYPE',
  2197. );
  2198. #======= ENTITIES =======
  2199. %refEntities = (
  2200.   'AElig'    => 'Æ',
  2201.   'Aacute'   => 'Á',
  2202.   'Acirc'    => 'Â',
  2203.   'Agrave'   => 'À',
  2204.   'Alpha'    => 'Α',
  2205.   'Aring'    => 'Å',
  2206.   'Atilde'   => 'Ã',
  2207.   'Auml'     => 'Ä',
  2208.   'Beta'     => 'Β',
  2209.   'Ccedil'   => 'Ç',
  2210.   'Chi'      => 'Χ',
  2211.   'Dagger'   => '‡',
  2212.   'Delta'    => 'Δ',
  2213.   'ETH'      => 'Ð',
  2214.   'Eacute'   => 'É',
  2215.   'Ecirc'    => 'Ê',
  2216.   'Egrave'   => 'È',
  2217.   'Epsilon'  => 'Ε',
  2218.   'Eta'      => 'Η',
  2219.   'Euml'     => 'Ë',
  2220.   'Gamma'    => 'Γ',
  2221.   'Iacute'   => 'Í',
  2222.   'Icirc'    => 'Î',
  2223.   'Igrave'   => 'Ì',
  2224.   'Iota'     => 'Ι',
  2225.   'Iuml'     => 'Ï',
  2226.   'Kappa'    => 'Κ',
  2227.   'Lambda'   => 'Λ',
  2228.   'Mu'       => 'Μ',
  2229.   'Ntilde'   => 'Ñ',
  2230.   'Nu'       => 'Ν',
  2231.   'OElig'    => 'Œ',
  2232.   'Oacute'   => 'Ó',
  2233.   'Ocirc'    => 'Ô',
  2234.   'Ograve'   => 'Ò',
  2235.   'Omega'    => 'Ω',
  2236.   'Omicron'  => 'Ο',
  2237.   'Oslash'   => 'Ø',
  2238.   'Otilde'   => 'Õ',
  2239.   'Ouml'     => 'Ö',
  2240.   'Phi'      => 'Φ',
  2241.   'Pi'       => 'Π',
  2242.   'Prime'    => '″',
  2243.   'Psi'      => 'Ψ',
  2244.   'Rho'      => 'Ρ',
  2245.   'Scaron'   => 'Š',
  2246.   'Sigma'    => 'Σ',
  2247.   'THORN'    => 'Þ',
  2248.   'Tau'      => 'Τ',
  2249.   'Theta'    => 'Θ',
  2250.   'Uacute'   => 'Ú',
  2251.   'Ucirc'    => 'Û',
  2252.   'Ugrave'   => 'Ù',
  2253.   'Upsilon'  => 'Υ',
  2254.   'Uuml'     => 'Ü',
  2255.   'Xi'       => 'Ξ',
  2256.   'Yacute'   => 'Ý',
  2257.   'Yuml'     => 'Ÿ',
  2258.   'Zeta'     => 'Ζ',
  2259.   'aacute'   => 'á',
  2260.   'acirc'    => 'â',
  2261.   'acute'    => '´',
  2262.   'aelig'    => 'æ',
  2263.   'agrave'   => 'à',
  2264.   'alefsym'  => 'ℵ',
  2265.   'alpha'    => 'α',
  2266.   'amp'      => '&#38;',
  2267.   'and'      => '∧',
  2268.   'ang'      => '∠',
  2269.   'apos'     => ''',
  2270.   'aring'    => 'å',
  2271.   'asymp'    => '≈',
  2272.   'atilde'   => 'ã',
  2273.   'auml'     => 'ä',
  2274.   'bdquo'    => '„',
  2275.   'beta'     => 'β',
  2276.   'brvbar'   => '¦',
  2277.   'bull'     => '•',
  2278.   'cap'      => '∩',
  2279.   'ccedil'   => 'ç',
  2280.   'cedil'    => '¸',
  2281.   'cent'     => '¢',
  2282.   'chi'      => 'χ',
  2283.   'circ'     => 'ˆ',
  2284.   'clubs'    => '♣',
  2285.   'cong'     => '≅',
  2286.   'copy'     => '©',
  2287.   'crarr'    => '↵',
  2288.   'cup'      => '∪',
  2289.   'curren'   => '¤',
  2290.   'dArr'     => '⇓',
  2291.   'dagger'   => '†',
  2292.   'darr'     => '↓',
  2293.   'deg'      => '°',
  2294.   'delta'    => 'δ',
  2295.   'diams'    => '♦',
  2296.   'divide'   => '÷',
  2297.   'eacute'   => 'é',
  2298.   'ecirc'    => 'ê',
  2299.   'egrave'   => 'è',
  2300.   'empty'    => '∅',
  2301.   'emsp'     => ' ',
  2302.   'ensp'     => ' ',
  2303.   'epsilon'  => 'ε',
  2304.   'equiv'    => '≡',
  2305.   'eta'      => 'η',
  2306.   'eth'      => 'ð',
  2307.   'euml'     => 'ë',
  2308.   'euro'     => '€',
  2309.   'exist'    => '∃',
  2310.   'fnof'     => 'ƒ',
  2311.   'forall'   => '∀',
  2312.   'frac12'   => '½',
  2313.   'frac14'   => '¼',
  2314.   'frac34'   => '¾',
  2315.   'frasl'    => '⁄',
  2316.   'gamma'    => 'γ',
  2317.   'ge'       => '≥',
  2318.   'gt'       => '>',
  2319.   'hArr'     => '⇔',
  2320.   'harr'     => '↔',
  2321.   'hearts'   => '♥',
  2322.   'hellip'   => '…',
  2323.   'iacute'   => 'í',
  2324.   'icirc'    => 'î',
  2325.   'iexcl'    => '¡',
  2326.   'igrave'   => 'ì',
  2327.   'image'    => 'ℑ',
  2328.   'infin'    => '∞',
  2329.   'int'      => '∫',
  2330.   'iota'     => 'ι',
  2331.   'iquest'   => '¿',
  2332.   'isin'     => '∈',
  2333.   'iuml'     => 'ï',
  2334.   'kappa'    => 'κ',
  2335.   'lArr'     => '⇐',
  2336.   'lambda'   => 'λ',
  2337.   'lang'     => '〈',
  2338.   'laquo'    => '«',
  2339.   'larr'     => '←',
  2340.   'lceil'    => '⌈',
  2341.   'ldquo'    => '“',
  2342.   'le'       => '≤',
  2343.   'lfloor'   => '⌊',
  2344.   'lowast'   => '∗',
  2345.   'loz'      => '◊',
  2346.   'lrm'      => '‎',
  2347.   'lsaquo'   => '‹',
  2348.   'lsquo'    => '‘',
  2349.   'lt'       => '&#60;',
  2350.   'macr'     => '¯',
  2351.   'mdash'    => '—',
  2352.   'micro'    => 'µ',
  2353.   'middot'   => '·',
  2354.   'minus'    => '−',
  2355.   'mu'       => 'μ',
  2356.   'nabla'    => '∇',
  2357.   'nbsp'     => ' ',
  2358.   'ndash'    => '–',
  2359.   'ne'       => '≠',
  2360.   'ni'       => '∋',
  2361.   'not'      => '¬',
  2362.   'notin'    => '∉',
  2363.   'nsub'     => '⊄',
  2364.   'ntilde'   => 'ñ',
  2365.   'nu'       => 'ν',
  2366.   'oacute'   => 'ó',
  2367.   'ocirc'    => 'ô',
  2368.   'oelig'    => 'œ',
  2369.   'ograve'   => 'ò',
  2370.   'oline'    => '‾',
  2371.   'omega'    => 'ω',
  2372.   'omicron'  => 'ο',
  2373.   'oplus'    => '⊕',
  2374.   'or'       => '∨',
  2375.   'ordf'     => 'ª',
  2376.   'ordm'     => 'º',
  2377.   'oslash'   => 'ø',
  2378.   'otilde'   => 'õ',
  2379.   'otimes'   => '⊗',
  2380.   'ouml'     => 'ö',
  2381.   'para'     => '¶',
  2382.   'part'     => '∂',
  2383.   'permil'   => '‰',
  2384.   'perp'     => '⊥',
  2385.   'phi'      => 'φ',
  2386.   'pi'       => 'π',
  2387.   'piv'      => 'ϖ',
  2388.   'plusmn'   => '±',
  2389.   'pound'    => '£',
  2390.   'prime'    => '′',
  2391.   'prod'     => '∏',
  2392.   'prop'     => '∝',
  2393.   'psi'      => 'ψ',
  2394.   'quot'     => '"',
  2395.   'rArr'     => '⇒',
  2396.   'radic'    => '√',
  2397.   'rang'     => '〉',
  2398.   'raquo'    => '»',
  2399.   'rarr'     => '→',
  2400.   'rceil'    => '⌉',
  2401.   'rdquo'    => '”',
  2402.   'real'     => 'ℜ',
  2403.   'reg'      => '®',
  2404.   'rfloor'   => '⌋',
  2405.   'rho'      => 'ρ',
  2406.   'rlm'      => '‏',
  2407.   'rsaquo'   => '›',
  2408.   'rsquo'    => '’',
  2409.   'sbquo'    => '‚',
  2410.   'scaron'   => 'š',
  2411.   'sdot'     => '⋅',
  2412.   'sect'     => '§',
  2413.   'shy'      => '­',
  2414.   'sigma'    => 'σ',
  2415.   'sigmaf'   => 'ς',
  2416.   'sim'      => '∼',
  2417.   'spades'   => '♠',
  2418.   'sub'      => '⊂',
  2419.   'sube'     => '⊆',
  2420.   'sum'      => '∑',
  2421.   'sup'      => '⊃',
  2422.   'sup1'     => '¹',
  2423.   'sup2'     => '²',
  2424.   'sup3'     => '³',
  2425.   'supe'     => '⊇',
  2426.   'szlig'    => 'ß',
  2427.   'tau'      => 'τ',
  2428.   'there4'   => '∴',
  2429.   'theta'    => 'θ',
  2430.   'thetasym' => 'ϑ',
  2431.   'thinsp'   => ' ',
  2432.   'thorn'    => 'þ',
  2433.   'tilde'    => '˜',
  2434.   'times'    => '×',
  2435.   'trade'    => '™',
  2436.   'uArr'     => '⇑',
  2437.   'uacute'   => 'ú',
  2438.   'uarr'     => '↑',
  2439.   'ucirc'    => 'û',
  2440.   'ugrave'   => 'ù',
  2441.   'uml'      => '¨',
  2442.   'upsih'    => 'ϒ',
  2443.   'upsilon'  => 'υ',
  2444.   'uuml'     => 'ü',
  2445.   'weierp'   => '℘',
  2446.   'xi'       => 'ξ',
  2447.   'yacute'   => 'ý',
  2448.   'yen'      => '¥',
  2449.   'yuml'     => 'ÿ',
  2450.   'zeta'     => 'ζ',
  2451.   'zwj'      => '‍',
  2452.   'zwnj'     => '‌',
  2453. );
  2454. %refParams = (
  2455.   'Character'    => '[\x20-\x7E]',
  2456.   'Charset'      => 'CDATA+',
  2457.   'Charsets'     => 'CDATA+',
  2458.   'Class'        => 'CDATA+',
  2459.   'Color'        => '(?i)#[0-9A-F]{6}'.
  2460.                     '|aqua|black|blue|fuchsia|gray|green|lime|maroon'.
  2461.                     '|navy|olive|purple|red|silver|teal|white|yellow'.
  2462.                     '|activeborder|activecaption|appworkspace|background'.
  2463.                     '|buttonface|buttonhighlight|buttonshadow|buttontext'.
  2464.                     '|captiontext|graytext|highlight|highlighttext'.
  2465.                     '|inactiveborder|inactivecaption|inactivecaptiontext'.
  2466.                     '|infobackground|infotext|menu|menutext|scrollbar'.
  2467.                     '|threeddarkshadow|threedface|threedhighlight'.
  2468.                     '|threedlightshadow|threedshadow|window|windowframe'.
  2469.                     '|windowtext',
  2470.   'ContentType'  => 'CDATA+',
  2471.   'ContentTypes' => 'CDATA+',
  2472.   'Coords'       => '(?:\d+(?:\s*,\s*|\s+))+\d+',
  2473.   '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])',
  2474.   'FrameTarget'  => 'NMTOKEN',
  2475.   'LIStyle'      => '&LIStyle',
  2476.   'LanguageCode' => '(?i)[A-Z]{1,8}(?:-[A-Z]{1,8})*',
  2477.   'Length'       => '\d+%?',
  2478.   'LinkTypes'    => 'CDATA+',
  2479.   'MediaDesc'    => 'CDATA+',
  2480.   'MultiLength'  => '(?:\d+(?:\.\d+)?(?:\*|%)?|\*)',
  2481.   'Name'         => 'CDATA+',
  2482.   'Number'       => 'NUMBER',
  2483.   'Number.plus'  => 'NUMBER+',
  2484.   'OLStyle'      => '&OLStyle',
  2485.   'Pixels'       => '\d+',
  2486.   'Script'       => 'CDATA',
  2487.   'StyleSheet'   => 'CDATA',
  2488.   'Text'         => 'CDATA',
  2489.   'URI'          => '&URL',
  2490.   'UriList'      => '&URLs',
  2491. );
  2492.  
  2493. 1;
  2494.