# XHTML1.1

#======= ELEMENTS =======
$emptyTags = '';
$pairTags = 'A|ABBR|ACRONYM|ADDRESS|AREA|B|BASE|BDO|BIG|BLOCKQUOTE|BODY|BR'.
            '|BUTTON|CAPTION|CITE|CODE|COL|COLGROUP|DD|DEL|DFN|DIV|DL|DT|EM'.
            '|FIELDSET|FORM|H1|H2|H3|H4|H5|H6|HEAD|HR|HTML|I|IMG|INPUT|INS'.
            '|KBD|LABEL|LEGEND|LI|LINK|MAP|META|NOSCRIPT|OBJECT|OL|OPTGROUP'.
            '|OPTION|P|PARAM|PRE|Q|RB|RBC|RP|RT|RTC|RUBY|SAMP|SCRIPT|SELECT'.
            '|SMALL|SPAN|STRONG|STYLE|SUB|SUP|TABLE|TBODY|TD|TEXTAREA|TFOOT'.
            '|TH|THEAD|TITLE|TR|TT|UL|VAR';
$deprecatedTags = '';
$omitStartTags = '';
$omitEndTags = '';
#$maybeEmpty = 'A|ABBR|ACRONYM|ADDRESS|AREA|B|BASE|BDO|BIG|BR|BUTTON|CAPTION'.
#              '|CITE|CODE|COL|COLGROUP|DD|DEL|DFN|DIV|DT|EM|FIELDSET|H1|H2|H3'.
#              '|H4|H5|H6|HR|I|IMG|INPUT|INS|KBD|LABEL|LEGEND|LI|LINK|META'.
#              '|OBJECT|OPTION|P|PARAM|PRE|Q|RB|RP|RT|SAMP|SCRIPT|SMALL|SPAN'.
#              '|STRONG|STYLE|SUB|SUP|TD|TEXTAREA|TH|TITLE|TT|VAR';
$maybeEmpty = 'COLGROUP|PRE|SCRIPT|STYLE|TEXTAREA|TD|TH';
%requiredTags = (
  '#000'  => 'RP|RT',
  '#002'  => 'RB|#001',
  '#003'  => 'RBC|RTC',
  'HEAD'  => 'TITLE',
  'HTML'  => 'HEAD|BODY',
  'TABLE' => '#005',
);
%onceonlyTags = (
  '#000'  => 'RP|RT|RP',
  '#001'  => 'RT|#000',
  '#002'  => 'RB|#001',
  '#003'  => 'RBC|RTC|RTC',
  'HEAD'  => 'TITLE|BASE',
  'HTML'  => 'HEAD|BODY',
  'RUBY'  => '#002|#003',
  'TABLE' => 'CAPTION|THEAD|TFOOT',
);
$sequencialTags = '#000|#002|#003|TABLE|HTML';
%tagsElements = (
  '#000'       => 'RP|RT|RP',
  '#001'       => 'RT|#000',
  '#002'       => 'RB|#001',
  '#003'       => 'RBC|RTC|RTC',
  '#004'       => 'COL|COLGROUP',
  '#005'       => 'TR|TBODY',
  'A'          => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'ABBR'       => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'ACRONYM'    => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'ADDRESS'    => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'B'          => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'BDO'        => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'BIG'        => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'BLOCKQUOTE' => 'NOSCRIPT|SCRIPT|DEL|INS|FIELDSET|FORM|TABLE|HR|ADDRESS'.
                  '|BLOCKQUOTE|PRE|DIV|P|DL|OL|UL|H6|H5|H4|H3|H2|H1',
  'BODY'       => 'NOSCRIPT|SCRIPT|DEL|INS|FIELDSET|FORM|TABLE|HR|ADDRESS'.
                  '|BLOCKQUOTE|PRE|DIV|P|DL|OL|UL|H6|H5|H4|H3|H2|H1',
  'BUTTON'     => 'OBJECT|MAP|IMG|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q|ACRONYM|ABBR'.
                  '|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR|NOSCRIPT'.
                  '|SCRIPT|DEL|INS|TABLE|HR|ADDRESS|BLOCKQUOTE|PRE|DIV|P|DL'.
                  '|OL|UL|H6|H5|H4|H3|H2|H1|#PCDATA',
  'CAPTION'    => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'CITE'       => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'CODE'       => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'COLGROUP'   => 'COL',
  'DD'         => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|FIELDSET|FORM|TABLE|HR|ADDRESS|BLOCKQUOTE|PRE|DIV|P|DL|OL'.
                  '|UL|H6|H5|H4|H3|H2|H1|#PCDATA',
  'DEL'        => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|FIELDSET|FORM|TABLE|HR|ADDRESS|BLOCKQUOTE|PRE|DIV|P|DL|OL'.
                  '|UL|H6|H5|H4|H3|H2|H1|#PCDATA',
  'DFN'        => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'DIV'        => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|FIELDSET|FORM|TABLE|HR|ADDRESS|BLOCKQUOTE|PRE|DIV|P|DL|OL'.
                  '|UL|H6|H5|H4|H3|H2|H1|#PCDATA',
  'DL'         => 'DD|DT',
  'DT'         => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'EM'         => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'FIELDSET'   => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|FIELDSET|FORM|TABLE|HR|ADDRESS|BLOCKQUOTE|PRE|DIV|P|DL|OL'.
                  '|UL|H6|H5|H4|H3|H2|H1|LEGEND|#PCDATA',
  'FORM'       => 'FIELDSET|NOSCRIPT|SCRIPT|DEL|INS|TABLE|HR|ADDRESS'.
                  '|BLOCKQUOTE|PRE|DIV|P|DL|OL|UL|H6|H5|H4|H3|H2|H1',
  'H1'         => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'H2'         => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'H3'         => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'H4'         => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'H5'         => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'H6'         => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'HEAD'       => 'TITLE|BASE|SCRIPT|STYLE|META|LINK|OBJECT',
  'HTML'       => 'HEAD|BODY',
  'I'          => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'INS'        => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|FIELDSET|FORM|TABLE|HR|ADDRESS|BLOCKQUOTE|PRE|DIV|P|DL|OL'.
                  '|UL|H6|H5|H4|H3|H2|H1|#PCDATA',
  'KBD'        => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'LABEL'      => 'NOSCRIPT|SCRIPT|DEL|INS|OBJECT|MAP|IMG|A|SUP|SUB|SMALL|BIG'.
                  '|B|I|TT|BDO|Q|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN'.
                  '|STRONG|EM|SPAN|BR|BUTTON|TEXTAREA|SELECT|INPUT|#PCDATA',
  'LEGEND'     => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'LI'         => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|FIELDSET|FORM|TABLE|HR|ADDRESS|BLOCKQUOTE|PRE|DIV|P|DL|OL'.
                  '|UL|H6|H5|H4|H3|H2|H1|#PCDATA',
  'MAP'        => 'AREA|NOSCRIPT|SCRIPT|DEL|INS|FIELDSET|FORM|TABLE|HR'.
                  '|ADDRESS|BLOCKQUOTE|PRE|DIV|P|DL|OL|UL|H6|H5|H4|H3|H2|H1',
  'NOSCRIPT'   => 'NOSCRIPT|SCRIPT|DEL|INS|FIELDSET|FORM|TABLE|HR|ADDRESS'.
                  '|BLOCKQUOTE|PRE|DIV|P|DL|OL|UL|H6|H5|H4|H3|H2|H1',
  'OBJECT'     => 'PARAM|NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA'.
                  '|SELECT|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I'.
                  '|TT|Q|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM'.
                  '|SPAN|BR|FIELDSET|FORM|TABLE|HR|ADDRESS|BLOCKQUOTE|PRE|DIV'.
                  '|P|DL|OL|UL|H6|H5|H4|H3|H2|H1|#PCDATA',
  'OL'         => 'LI',
  'OPTGROUP'   => 'OPTION',
  'OPTION'     => '#PCDATA',
  'P'          => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'PRE'        => 'MAP|SCRIPT|A|BDO|B|I|TT|Q|ACRONYM|ABBR|CITE|VAR|KBD|SAMP'.
                  '|CODE|DFN|STRONG|EM|SPAN|BR|#PCDATA',
  'Q'          => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'RB'         => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
                  '|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q|ACRONYM'.
                  '|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR|#PCDATA',
  'RBC'        => 'RB',
  'RP'         => '#PCDATA',
  'RT'         => 'NOSCRIPT|SCRIPT|DEL|INS|BUTTON|LABEL|TEXTAREA|SELECT|INPUT'.
                  '|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q|ACRONYM'.
                  '|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR|#PCDATA',
  'RTC'        => 'RT',
  'RUBY'       => '#002|#003',
  'SAMP'       => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'SCRIPT'     => '#PCDATA',
  'SELECT'     => 'OPTION|OPTGROUP',
  'SMALL'      => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'SPAN'       => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'STRONG'     => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'STYLE'      => '#PCDATA',
  'SUB'        => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'SUP'        => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'TABLE'      => 'CAPTION|#004|THEAD|TFOOT|#005',
  'TBODY'      => 'TR',
  'TD'         => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|FIELDSET|FORM|TABLE|HR|ADDRESS|BLOCKQUOTE|PRE|DIV|P|DL|OL'.
                  '|UL|H6|H5|H4|H3|H2|H1|#PCDATA',
  'TEXTAREA'   => '#PCDATA',
  'TFOOT'      => 'TR',
  'TH'         => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|FIELDSET|FORM|TABLE|HR|ADDRESS|BLOCKQUOTE|PRE|DIV|P|DL|OL'.
                  '|UL|H6|H5|H4|H3|H2|H1|#PCDATA',
  'THEAD'      => 'TR',
  'TITLE'      => '#PCDATA',
  'TR'         => 'TD|TH',
  'TT'         => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
  'UL'         => 'LI',
  'VAR'        => 'NOSCRIPT|SCRIPT|DEL|INS|RUBY|BUTTON|LABEL|TEXTAREA|SELECT'.
                  '|INPUT|OBJECT|MAP|IMG|A|BDO|SUP|SUB|SMALL|BIG|B|I|TT|Q'.
                  '|ACRONYM|ABBR|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|SPAN|BR'.
                  '|#PCDATA',
);
%excludedElems = (
  'A'      => 'A',
  'PRE'    => 'IMG|OBJECT|BIG|SMALL|SUB|SUP',
  'BUTTON' => 'INPUT|SELECT|TEXTAREA|LABEL|BUTTON|FORM|FIELDSET',
  'FORM'   => 'FORM',
  'LABEL'  => 'LABEL',
);
%includedElems = (
  'HEAD' => 'SCRIPT|STYLE|META|LINK|OBJECT',
);
#======= ATTRIBUTES =======
%tagsAttributes = (
  'A' => {
    'ACCESSKEY'   => '%Character.datatype',
    'CHARSET'     => '%Charset.datatype',
    'CLASS'       => 'NMTOKENS',
    'COORDS'      => '%Coords.datatype',
    'DIR'         => 'ltr|rtl',
    'HREF'        => '%URI.datatype',
    'HREFLANG'    => '%LanguageCode.datatype',
    'ID'          => 'ID',
    'ONBLUR'      => '%Script.datatype',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONFOCUS'     => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'REL'         => '%LinkTypes.datatype',
    'REV'         => '%LinkTypes.datatype',
    'SHAPE'       => 'rect|circle|poly|default',
    'STYLE'       => 'CDATA',
    'TABINDEX'    => '%Number.datatype',
    'TITLE'       => '%Text.datatype',
    'TYPE'        => '%ContentType.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'ABBR' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'ACRONYM' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'ADDRESS' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'AREA' => {
    'ACCESSKEY'   => '%Character.datatype',
    'ALT'         => '%Text.datatype',
    'CLASS'       => 'NMTOKENS',
    'COORDS'      => '%Coords.datatype',
    'DIR'         => 'ltr|rtl',
    'HREF'        => '%URI.datatype',
    'ID'          => 'ID',
    'NOHREF'      => 'nohref',
    'ONBLUR'      => '%Script.datatype',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONFOCUS'     => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'SHAPE'       => 'rect|circle|poly|default',
    'STYLE'       => 'CDATA',
    'TABINDEX'    => '%Number.datatype',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'B' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'BASE' => {
    'HREF'  => '%URI.datatype',
    'XMLNS' => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'BDO' => {
    'CLASS'    => 'NMTOKENS',
    'DIR'      => 'ltr|rtl',
    'ID'       => 'ID',
    'STYLE'    => 'CDATA',
    'TITLE'    => '%Text.datatype',
    'XML:LANG' => '%LanguageCode.datatype',
    'XMLNS'    => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'BIG' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'BLOCKQUOTE' => {
    'CITE'        => '%URI.datatype',
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'BODY' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONLOAD'      => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'ONUNLOAD'    => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'BR' => {
    'CLASS' => 'NMTOKENS',
    'ID'    => 'ID',
    'STYLE' => 'CDATA',
    'TITLE' => '%Text.datatype',
    'XMLNS' => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'BUTTON' => {
    'ACCESSKEY'   => '%Character.datatype',
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'DISABLED'    => 'disabled',
    'ID'          => 'ID',
    'NAME'        => 'CDATA',
    'ONBLUR'      => '%Script.datatype',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONFOCUS'     => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TABINDEX'    => '%Number.datatype',
    'TITLE'       => '%Text.datatype',
    'TYPE'        => 'button|submit|reset',
    'VALUE'       => 'CDATA',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'CAPTION' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'CITE' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'CODE' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'COL' => {
    'ALIGN'       => 'left|center|right|justify|char',
    'CHAR'        => '%Character.datatype',
    'CHAROFF'     => '%Length.datatype',
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'SPAN'        => '%Number.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'VALIGN'      => 'top|middle|bottom|baseline',
    'WIDTH'       => '%MultiLength.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'COLGROUP' => {
    'ALIGN'       => 'left|center|right|justify|char',
    'CHAR'        => '%Character.datatype',
    'CHAROFF'     => '%Length.datatype',
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'SPAN'        => '%Number.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'VALIGN'      => 'top|middle|bottom|baseline',
    'WIDTH'       => '%MultiLength.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'DD' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'DEL' => {
    'CITE'        => '%URI.datatype',
    'CLASS'       => 'NMTOKENS',
    'DATETIME'    => '%Datetime.datatype',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'DFN' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'DIV' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'DL' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'DT' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'EM' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'FIELDSET' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'FORM' => {
    'ACCEPT'         => '%ContentTypes.datatype',
    'ACCEPT-CHARSET' => '%Charsets.datatype',
    'ACTION'         => '%URI.datatype',
    'CLASS'          => 'NMTOKENS',
    'DIR'            => 'ltr|rtl',
    'ENCTYPE'        => '%ContentType.datatype',
    'ID'             => 'ID',
    'METHOD'         => 'get|post',
    'ONCLICK'        => '%Script.datatype',
    'ONDBLCLICK'     => '%Script.datatype',
    'ONKEYDOWN'      => '%Script.datatype',
    'ONKEYPRESS'     => '%Script.datatype',
    'ONKEYUP'        => '%Script.datatype',
    'ONMOUSEDOWN'    => '%Script.datatype',
    'ONMOUSEMOVE'    => '%Script.datatype',
    'ONMOUSEOUT'     => '%Script.datatype',
    'ONMOUSEOVER'    => '%Script.datatype',
    'ONMOUSEUP'      => '%Script.datatype',
    'ONRESET'        => '%Script.datatype',
    'ONSUBMIT'       => '%Script.datatype',
    'STYLE'          => 'CDATA',
    'TITLE'          => '%Text.datatype',
    'XML:LANG'       => '%LanguageCode.datatype',
    'XMLNS'          => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'H1' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'H2' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'H3' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'H4' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'H5' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'H6' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'HEAD' => {
    'DIR'      => 'ltr|rtl',
    'PROFILE'  => '%URIs.datatype',
    'XML:LANG' => '%LanguageCode.datatype',
    'XMLNS'    => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'HR' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'HTML' => {
    'DIR'      => 'ltr|rtl',
    'VERSION'  => '%FPI.datatype=-//W3C//DTD XHTML 1.1//EN',
    'XML:LANG' => '%LanguageCode.datatype',
    'XMLNS'    => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'I' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'IMG' => {
    'ALT'         => '%Text.datatype',
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'HEIGHT'      => '%Length.datatype',
    'ID'          => 'ID',
    'ISMAP'       => 'ismap',
    'LONGDESC'    => '%URI.datatype',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'SRC'         => '%URI.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'USEMAP'      => 'IDREF',
    'WIDTH'       => '%Length.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'INPUT' => {
    'ACCEPT'      => '%ContentTypes.datatype',
    'ACCESSKEY'   => '%Character.datatype',
    'ALT'         => '%Text.datatype',
    'CHECKED'     => 'checked',
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'DISABLED'    => 'disabled',
    'ID'          => 'ID',
    'ISMAP'       => 'ismap',
    'MAXLENGTH'   => '%Number.datatype',
    'NAME'        => 'CDATA',
    'ONBLUR'      => '%Script.datatype',
    'ONCHANGE'    => '%Script.datatype',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONFOCUS'     => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'ONSELECT'    => '%Script.datatype',
    'READONLY'    => 'readonly',
    'SIZE'        => '%Number.datatype',
    'SRC'         => '%URI.datatype',
    'STYLE'       => 'CDATA',
    'TABINDEX'    => '%Number.datatype',
    'TITLE'       => '%Text.datatype',
    'TYPE'        => 'text|password|checkbox|radio|submit|reset|file|hidden'.
                     '|image|button',
    'USEMAP'      => 'IDREF',
    'VALUE'       => 'CDATA',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'INS' => {
    'CITE'        => '%URI.datatype',
    'CLASS'       => 'NMTOKENS',
    'DATETIME'    => '%Datetime.datatype',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'KBD' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'LABEL' => {
    'ACCESSKEY'   => '%Character.datatype',
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'FOR'         => 'IDREF',
    'ID'          => 'ID',
    'ONBLUR'      => '%Script.datatype',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONFOCUS'     => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'LEGEND' => {
    'ACCESSKEY'   => '%Character.datatype',
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'LI' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'LINK' => {
    'CHARSET'     => '%Charset.datatype',
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'HREF'        => '%URI.datatype',
    'HREFLANG'    => '%LanguageCode.datatype',
    'ID'          => 'ID',
    'MEDIA'       => '%MediaDesc.datatype',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'REL'         => '%LinkTypes.datatype',
    'REV'         => '%LinkTypes.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'TYPE'        => '%ContentType.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'MAP' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'META' => {
    'CONTENT'    => 'CDATA',
    'DIR'        => 'ltr|rtl',
    'HTTP-EQUIV' => 'NMTOKEN',
    'NAME'       => 'NMTOKEN',
    'SCHEME'     => 'CDATA',
    'XML:LANG'   => '%LanguageCode.datatype',
    'XMLNS'      => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'NOSCRIPT' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'OBJECT' => {
    'ARCHIVE'     => '%URIs.datatype',
    'CLASS'       => 'NMTOKENS',
    'CLASSID'     => '%URI.datatype',
    'CODEBASE'    => '%URI.datatype',
    'CODETYPE'    => '%ContentType.datatype',
    'DATA'        => '%URI.datatype',
    'DECLARE'     => 'declare',
    'DIR'         => 'ltr|rtl',
    'HEIGHT'      => '%Length.datatype',
    'ID'          => 'ID',
    'NAME'        => 'CDATA',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STANDBY'     => '%Text.datatype',
    'STYLE'       => 'CDATA',
    'TABINDEX'    => '%Number.datatype',
    'TITLE'       => '%Text.datatype',
    'TYPE'        => '%ContentType.datatype',
    'USEMAP'      => 'IDREF',
    'WIDTH'       => '%Length.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'OL' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'OPTGROUP' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'DISABLED'    => 'disabled',
    'ID'          => 'ID',
    'LABEL'       => '%Text.datatype',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'OPTION' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'DISABLED'    => 'disabled',
    'ID'          => 'ID',
    'LABEL'       => '%Text.datatype',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'SELECTED'    => 'selected',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'VALUE'       => 'CDATA',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'P' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'PARAM' => {
    'ID'        => 'ID',
    'NAME'      => 'CDATA',
    'TYPE'      => '%ContentType.datatype',
    'VALUE'     => 'CDATA',
    'VALUETYPE' => 'data|ref|object',
    'XMLNS'     => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'PRE' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XML:SPACE'   => 'preserve=preserve',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'Q' => {
    'CITE'        => '%URI.datatype',
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'RB' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'RBC' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'RP' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'RT' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'RBSPAN'      => '%Number.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'RTC' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'RUBY' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'SAMP' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'SCRIPT' => {
    'CHARSET'   => '%Charset.datatype',
    'DEFER'     => 'defer',
    'SRC'       => '%URI.datatype',
    'TYPE'      => '%ContentType.datatype',
    'XML:SPACE' => 'preserve=preserve',
    'XMLNS'     => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'SELECT' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'DISABLED'    => 'disabled',
    'ID'          => 'ID',
    'MULTIPLE'    => 'multiple',
    'NAME'        => 'CDATA',
    'ONBLUR'      => '%Script.datatype',
    'ONCHANGE'    => '%Script.datatype',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONFOCUS'     => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'SIZE'        => '%Number.datatype',
    'STYLE'       => 'CDATA',
    'TABINDEX'    => '%Number.datatype',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'SMALL' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'SPAN' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'STRONG' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'STYLE' => {
    'DIR'       => 'ltr|rtl',
    'MEDIA'     => '%MediaDesc.datatype',
    'TITLE'     => '%Text.datatype',
    'TYPE'      => '%ContentType.datatype',
    'XML:LANG'  => '%LanguageCode.datatype',
    'XML:SPACE' => 'preserve=preserve',
    'XMLNS'     => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'SUB' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'SUP' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'TABLE' => {
    'BORDER'      => '%Pixels.datatype',
    'CELLPADDING' => '%Length.datatype',
    'CELLSPACING' => '%Length.datatype',
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'FRAME'       => 'void|above|below|hsides|lhs|rhs|vsides|box|border',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'RULES'       => 'none|groups|rows|cols|all',
    'STYLE'       => 'CDATA',
    'SUMMARY'     => '%Text.datatype',
    'TITLE'       => '%Text.datatype',
    'WIDTH'       => '%Length.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'TBODY' => {
    'ALIGN'       => 'left|center|right|justify|char',
    'CHAR'        => '%Character.datatype',
    'CHAROFF'     => '%Length.datatype',
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'VALIGN'      => 'top|middle|bottom|baseline',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'TD' => {
    'ABBR'        => '%Text.datatype',
    'ALIGN'       => 'left|center|right|justify|char',
    'AXIS'        => 'CDATA',
    'CHAR'        => '%Character.datatype',
    'CHAROFF'     => '%Length.datatype',
    'CLASS'       => 'NMTOKENS',
    'COLSPAN'     => '%Number.datatype',
    'DIR'         => 'ltr|rtl',
    'HEADERS'     => 'IDREFS',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'ROWSPAN'     => '%Number.datatype',
    'SCOPE'       => 'row|col|rowgroup|colgroup',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'VALIGN'      => 'top|middle|bottom|baseline',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'TEXTAREA' => {
    'ACCESSKEY'   => '%Character.datatype',
    'CLASS'       => 'NMTOKENS',
    'COLS'        => '%Number.datatype',
    'DIR'         => 'ltr|rtl',
    'DISABLED'    => 'disabled',
    'ID'          => 'ID',
    'NAME'        => 'CDATA',
    'ONBLUR'      => '%Script.datatype',
    'ONCHANGE'    => '%Script.datatype',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONFOCUS'     => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'ONSELECT'    => '%Script.datatype',
    'READONLY'    => 'readonly',
    'ROWS'        => '%Number.datatype',
    'STYLE'       => 'CDATA',
    'TABINDEX'    => '%Number.datatype',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'TFOOT' => {
    'ALIGN'       => 'left|center|right|justify|char',
    'CHAR'        => '%Character.datatype',
    'CHAROFF'     => '%Length.datatype',
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'VALIGN'      => 'top|middle|bottom|baseline',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'TH' => {
    'ABBR'        => '%Text.datatype',
    'ALIGN'       => 'left|center|right|justify|char',
    'AXIS'        => 'CDATA',
    'CHAR'        => '%Character.datatype',
    'CHAROFF'     => '%Length.datatype',
    'CLASS'       => 'NMTOKENS',
    'COLSPAN'     => '%Number.datatype',
    'DIR'         => 'ltr|rtl',
    'HEADERS'     => 'IDREFS',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'ROWSPAN'     => '%Number.datatype',
    'SCOPE'       => 'row|col|rowgroup|colgroup',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'VALIGN'      => 'top|middle|bottom|baseline',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'THEAD' => {
    'ALIGN'       => 'left|center|right|justify|char',
    'CHAR'        => '%Character.datatype',
    'CHAROFF'     => '%Length.datatype',
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'VALIGN'      => 'top|middle|bottom|baseline',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'TITLE' => {
    'DIR'      => 'ltr|rtl',
    'XML:LANG' => '%LanguageCode.datatype',
    'XMLNS'    => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'TR' => {
    'ALIGN'       => 'left|center|right|justify|char',
    'CHAR'        => '%Character.datatype',
    'CHAROFF'     => '%Length.datatype',
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'VALIGN'      => 'top|middle|bottom|baseline',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'TT' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'UL' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
  'VAR' => {
    'CLASS'       => 'NMTOKENS',
    'DIR'         => 'ltr|rtl',
    'ID'          => 'ID',
    'ONCLICK'     => '%Script.datatype',
    'ONDBLCLICK'  => '%Script.datatype',
    'ONKEYDOWN'   => '%Script.datatype',
    'ONKEYPRESS'  => '%Script.datatype',
    'ONKEYUP'     => '%Script.datatype',
    'ONMOUSEDOWN' => '%Script.datatype',
    'ONMOUSEMOVE' => '%Script.datatype',
    'ONMOUSEOUT'  => '%Script.datatype',
    'ONMOUSEOVER' => '%Script.datatype',
    'ONMOUSEUP'   => '%Script.datatype',
    'STYLE'       => 'CDATA',
    'TITLE'       => '%Text.datatype',
    'XML:LANG'    => '%LanguageCode.datatype',
    'XMLNS'       => '%URI.datatype=http://www.w3.org/1999/xhtml',
  },
);
%requiredAttrs = (
  'AREA'     => 'ALT',
  'BASE'     => 'HREF',
  'BDO'      => 'DIR',
  'FORM'     => 'ACTION',
  'IMG'      => 'SRC&ALT',
  'MAP'      => 'ID',
  'META'     => 'CONTENT',
  'OPTGROUP' => 'LABEL',
  'PARAM'    => 'NAME',
  'SCRIPT'   => 'TYPE',
  'STYLE'    => 'TYPE',
  'TEXTAREA' => 'ROWS&COLS',
  'HTML'     => 'XMLNS',
);
$deprecatedAttrs = (
  '*' => 'STYLE',
);
#======= ENTITIES =======
%refEntities = (
  'AElig'    => '&#198;',
  'Aacute'   => '&#193;',
  'Acirc'    => '&#194;',
  'Agrave'   => '&#192;',
  'Alpha'    => '&#913;',
  'Aring'    => '&#197;',
  'Atilde'   => '&#195;',
  'Auml'     => '&#196;',
  'Beta'     => '&#914;',
  'Ccedil'   => '&#199;',
  'Chi'      => '&#935;',
  'Dagger'   => '&#8225;',
  'Delta'    => '&#916;',
  'ETH'      => '&#208;',
  'Eacute'   => '&#201;',
  'Ecirc'    => '&#202;',
  'Egrave'   => '&#200;',
  'Epsilon'  => '&#917;',
  'Eta'      => '&#919;',
  'Euml'     => '&#203;',
  'Gamma'    => '&#915;',
  'Iacute'   => '&#205;',
  'Icirc'    => '&#206;',
  'Igrave'   => '&#204;',
  'Iota'     => '&#921;',
  'Iuml'     => '&#207;',
  'Kappa'    => '&#922;',
  'Lambda'   => '&#923;',
  'Mu'       => '&#924;',
  'Ntilde'   => '&#209;',
  'Nu'       => '&#925;',
  'OElig'    => '&#338;',
  'Oacute'   => '&#211;',
  'Ocirc'    => '&#212;',
  'Ograve'   => '&#210;',
  'Omega'    => '&#937;',
  'Omicron'  => '&#927;',
  'Oslash'   => '&#216;',
  'Otilde'   => '&#213;',
  'Ouml'     => '&#214;',
  'Phi'      => '&#934;',
  'Pi'       => '&#928;',
  'Prime'    => '&#8243;',
  'Psi'      => '&#936;',
  'Rho'      => '&#929;',
  'Scaron'   => '&#352;',
  'Sigma'    => '&#931;',
  'THORN'    => '&#222;',
  'Tau'      => '&#932;',
  'Theta'    => '&#920;',
  'Uacute'   => '&#218;',
  'Ucirc'    => '&#219;',
  'Ugrave'   => '&#217;',
  'Upsilon'  => '&#933;',
  'Uuml'     => '&#220;',
  'Xi'       => '&#926;',
  'Yacute'   => '&#221;',
  'Yuml'     => '&#376;',
  'Zeta'     => '&#918;',
  'aacute'   => '&#225;',
  'acirc'    => '&#226;',
  'acute'    => '&#180;',
  'aelig'    => '&#230;',
  'agrave'   => '&#224;',
  'alefsym'  => '&#8501;',
  'alpha'    => '&#945;',
  'amp'      => '&#38;&#38;',
  'and'      => '&#8743;',
  'ang'      => '&#8736;',
  'apos'     => '&#39;',
  'aring'    => '&#229;',
  'asymp'    => '&#8776;',
  'atilde'   => '&#227;',
  'auml'     => '&#228;',
  'bdquo'    => '&#8222;',
  'beta'     => '&#946;',
  'brvbar'   => '&#166;',
  'bull'     => '&#8226;',
  'cap'      => '&#8745;',
  'ccedil'   => '&#231;',
  'cedil'    => '&#184;',
  'cent'     => '&#162;',
  'chi'      => '&#967;',
  'circ'     => '&#710;',
  'clubs'    => '&#9827;',
  'cong'     => '&#8773;',
  'copy'     => '&#169;',
  'crarr'    => '&#8629;',
  'cup'      => '&#8746;',
  'curren'   => '&#164;',
  'dArr'     => '&#8659;',
  'dagger'   => '&#8224;',
  'darr'     => '&#8595;',
  'deg'      => '&#176;',
  'delta'    => '&#948;',
  'diams'    => '&#9830;',
  'divide'   => '&#247;',
  'eacute'   => '&#233;',
  'ecirc'    => '&#234;',
  'egrave'   => '&#232;',
  'empty'    => '&#8709;',
  'emsp'     => '&#8195;',
  'ensp'     => '&#8194;',
  'epsilon'  => '&#949;',
  'equiv'    => '&#8801;',
  'eta'      => '&#951;',
  'eth'      => '&#240;',
  'euml'     => '&#235;',
  'euro'     => '&#8364;',
  'exist'    => '&#8707;',
  'fnof'     => '&#402;',
  'forall'   => '&#8704;',
  'frac12'   => '&#189;',
  'frac14'   => '&#188;',
  'frac34'   => '&#190;',
  'frasl'    => '&#8260;',
  'gamma'    => '&#947;',
  'ge'       => '&#8805;',
  'gt'       => '&#62;',
  'hArr'     => '&#8660;',
  'harr'     => '&#8596;',
  'hearts'   => '&#9829;',
  'hellip'   => '&#8230;',
  'iacute'   => '&#237;',
  'icirc'    => '&#238;',
  'iexcl'    => '&#161;',
  'igrave'   => '&#236;',
  'image'    => '&#8465;',
  'infin'    => '&#8734;',
  'int'      => '&#8747;',
  'iota'     => '&#953;',
  'iquest'   => '&#191;',
  'isin'     => '&#8712;',
  'iuml'     => '&#239;',
  'kappa'    => '&#954;',
  'lArr'     => '&#8656;',
  'lambda'   => '&#955;',
  'lang'     => '&#9001;',
  'laquo'    => '&#171;',
  'larr'     => '&#8592;',
  'lceil'    => '&#8968;',
  'ldquo'    => '&#8220;',
  'le'       => '&#8804;',
  'lfloor'   => '&#8970;',
  'lowast'   => '&#8727;',
  'loz'      => '&#9674;',
  'lrm'      => '&#8206;',
  'lsaquo'   => '&#8249;',
  'lsquo'    => '&#8216;',
  'lt'       => '&#38;&#60;',
  'macr'     => '&#175;',
  'mdash'    => '&#8212;',
  'micro'    => '&#181;',
  'middot'   => '&#183;',
  'minus'    => '&#8722;',
  'mu'       => '&#956;',
  'nabla'    => '&#8711;',
  'nbsp'     => '&#160;',
  'ndash'    => '&#8211;',
  'ne'       => '&#8800;',
  'ni'       => '&#8715;',
  'not'      => '&#172;',
  'notin'    => '&#8713;',
  'nsub'     => '&#8836;',
  'ntilde'   => '&#241;',
  'nu'       => '&#957;',
  'oacute'   => '&#243;',
  'ocirc'    => '&#244;',
  'oelig'    => '&#339;',
  'ograve'   => '&#242;',
  'oline'    => '&#8254;',
  'omega'    => '&#969;',
  'omicron'  => '&#959;',
  'oplus'    => '&#8853;',
  'or'       => '&#8744;',
  'ordf'     => '&#170;',
  'ordm'     => '&#186;',
  'oslash'   => '&#248;',
  'otilde'   => '&#245;',
  'otimes'   => '&#8855;',
  'ouml'     => '&#246;',
  'para'     => '&#182;',
  'part'     => '&#8706;',
  'permil'   => '&#8240;',
  'perp'     => '&#8869;',
  'phi'      => '&#966;',
  'pi'       => '&#960;',
  'piv'      => '&#982;',
  'plusmn'   => '&#177;',
  'pound'    => '&#163;',
  'prime'    => '&#8242;',
  'prod'     => '&#8719;',
  'prop'     => '&#8733;',
  'psi'      => '&#968;',
  'quot'     => '&#34;',
  'rArr'     => '&#8658;',
  'radic'    => '&#8730;',
  'rang'     => '&#9002;',
  'raquo'    => '&#187;',
  'rarr'     => '&#8594;',
  'rceil'    => '&#8969;',
  'rdquo'    => '&#8221;',
  'real'     => '&#8476;',
  'reg'      => '&#174;',
  'rfloor'   => '&#8971;',
  'rho'      => '&#961;',
  'rlm'      => '&#8207;',
  'rsaquo'   => '&#8250;',
  'rsquo'    => '&#8217;',
  'sbquo'    => '&#8218;',
  'scaron'   => '&#353;',
  'sdot'     => '&#8901;',
  'sect'     => '&#167;',
  'shy'      => '&#173;',
  'sigma'    => '&#963;',
  'sigmaf'   => '&#962;',
  'sim'      => '&#8764;',
  'spades'   => '&#9824;',
  'sub'      => '&#8834;',
  'sube'     => '&#8838;',
  'sum'      => '&#8721;',
  'sup'      => '&#8835;',
  'sup1'     => '&#185;',
  'sup2'     => '&#178;',
  'sup3'     => '&#179;',
  'supe'     => '&#8839;',
  'szlig'    => '&#223;',
  'tau'      => '&#964;',
  'there4'   => '&#8756;',
  'theta'    => '&#952;',
  'thetasym' => '&#977;',
  'thinsp'   => '&#8201;',
  'thorn'    => '&#254;',
  'tilde'    => '&#732;',
  'times'    => '&#215;',
  'trade'    => '&#8482;',
  'uArr'     => '&#8657;',
  'uacute'   => '&#250;',
  'uarr'     => '&#8593;',
  'ucirc'    => '&#251;',
  'ugrave'   => '&#249;',
  'uml'      => '&#168;',
  'upsih'    => '&#978;',
  'upsilon'  => '&#965;',
  'uuml'     => '&#252;',
  'weierp'   => '&#8472;',
  'xi'       => '&#958;',
  'yacute'   => '&#253;',
  'yen'      => '&#165;',
  'yuml'     => '&#255;',
  'zeta'     => '&#950;',
  'zwj'      => '&#8205;',
  'zwnj'     => '&#8204;',
);
%refParams = (
  'Character.datatype'    => '[\x20-\x7E]',
  'Charset.datatype'      => 'CDATA+',
  'Charsets.datatype'     => 'CDATA+',
  'ContentType.datatype'  => 'CDATA+',
  'ContentTypes.datatype' => 'CDATA+',
  'Coords.datatype'       => '(?:\d+(?:\s*,\s*|\s+))+\d+',
  'Datetime.datatype'     => '\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])',
  'FPI.datatype'          => 'CDATA',
  'LanguageCode.datatype' => '(?:(?i)[A-Z]{1,8}(?:-[A-Z]{1,8})*)?',
  'Length.datatype'       => '\d+%?',
  'LinkTypes.datatype'    => 'NMTOKENS',
  'MediaDesc.datatype'    => 'CDATA+',
  'MultiLength.datatype'  => '(?:\d+(?:\.\d+)?(?:\*|%)?|\*)',
  'Number.datatype'       => 'NUMBER',
  'Number.datatype.plus'  => 'NUMBER+',
  'Pixels.datatype'       => 'NUMBER',
  'Script.datatype'       => 'CDATA',
  'Text.datatype'         => 'CDATA',
  'URI.datatype'          => '&URL',
  'URIs.datatype'         => '&URLs',
  'XHTML.profile'         => 'CDATA',
);

1;
