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

  1. # ISO/IEC 15445
  2.  
  3. #======= ELEMENTS =======
  4. $emptyTags = 'AREA|BR|COL|HR|IMG|INPUT|LINK|META|PARAM';
  5. $pairTags = 'A|ABBR|ACRONYM|ADDRESS|B|BDO|BLOCKQUOTE|BODY|BUTTON|CAPTION|CITE'.
  6.             '|CODE|COLGROUP|DD|DEL|DFN|DIV|DL|DT|EM|FIELDSET|FORM|H1|H2|H3|H4'.
  7.             '|H5|H6|HEAD|HTML|I|INS|KBD|LABEL|LEGEND|LI|MAP|OBJECT|OL'.
  8.             '|OPTGROUP|OPTION|P|PRE|Q|SAMP|SELECT|SPAN|STRONG|STYLE|SUB|SUP'.
  9.             '|TABLE|TBODY|TD|TEXTAREA|TFOOT|TH|THEAD|TITLE|TR|TT|UL|VAR';
  10. $deprecatedTags = '';
  11. $omitStartTags = '';
  12. $omitEndTags = 'BODY|COLGROUP|DD|DT|HEAD|LI|OPTION|P|TBODY|TD|TFOOT|TH|THEAD'.
  13.                '|TR';
  14. #$maybeEmpty = 'A|COLGROUP|LEGEND|OBJECT|OPTION|STYLE|TD|TEXTAREA|TH|TITLE';
  15. $maybeEmpty = 'COLGROUP|OBJECT|STYLE|TEXTAREA|TD|TH';
  16. %requiredTags = (
  17.   'FIELDSET' => 'LEGEND|#000',
  18.   'HEAD'     => 'TITLE',
  19.   'HTML'     => 'HEAD|BODY',
  20.   'TABLE'    => 'TBODY',
  21. );
  22. %onceonlyTags = (
  23.   'FIELDSET' => 'LEGEND',
  24.   'HEAD'     => 'TITLE',
  25.   'HTML'     => 'HEAD|BODY',
  26.   'TABLE'    => 'CAPTION|#001|THEAD|TFOOT',
  27. );
  28. $sequencialTags = 'TABLE|FIELDSET|HTML';
  29. %tagsElements = (
  30.   '#000'       => 'ADDRESS|TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP'.
  31.                   '|OBJECT|IMG|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE'.
  32.                   '|ACRONYM|ABBR|TT|SUP|SUB|I|B|#PCDATA|UL|TABLE|PRE|P|OL|HR'.
  33.                   '|FORM|FIELDSET|DL|DIV|BLOCKQUOTE',
  34.   '#001'       => 'COLGROUP|COL',
  35.   'A'          => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  36.                   '|BR|BDO|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM|ABBR'.
  37.                   '|TT|SUP|SUB|I|B|#PCDATA',
  38.   'ABBR'       => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  39.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  40.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  41.   'ACRONYM'    => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  42.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  43.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  44.   'ADDRESS'    => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|BR|BDO|A|VAR'.
  45.                   '|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM|ABBR|TT|SUP|SUB'.
  46.                   '|I|B|#PCDATA',
  47.   'B'          => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  48.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  49.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  50.   'BDO'        => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  51.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  52.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  53.   'BLOCKQUOTE' => 'UL|TABLE|PRE|P|OL|HR|FORM|FIELDSET|DL|DIV|BLOCKQUOTE',
  54.   'BODY'       => 'H6|H5|H4|H3|H2|H1|UL|TABLE|PRE|P|OL|HR|FORM|FIELDSET|DL'.
  55.                   '|DIV|BLOCKQUOTE|DEL|INS',
  56.   'BUTTON'     => 'SPAN|Q|MAP|OBJECT|IMG|BR|BDO|VAR|STRONG|SAMP|KBD|EM|DFN'.
  57.                   '|CODE|CITE|ACRONYM|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  58.   'CAPTION'    => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  59.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  60.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  61.   'CITE'       => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  62.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  63.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  64.   'CODE'       => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  65.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  66.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  67.   'COLGROUP'   => 'COL',
  68.   'DD'         => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  69.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  70.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA|UL|TABLE|PRE|P|OL|HR|FORM'.
  71.                   '|FIELDSET|DL|DIV|BLOCKQUOTE',
  72.   'DEL'        => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  73.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  74.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  75.   'DFN'        => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  76.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  77.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  78.   'DIV'        => 'ADDRESS|TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP'.
  79.                   '|OBJECT|IMG|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE'.
  80.                   '|ACRONYM|ABBR|TT|SUP|SUB|I|B|#PCDATA|UL|TABLE|PRE|P|OL|HR'.
  81.                   '|FORM|FIELDSET|DL|DIV|BLOCKQUOTE',
  82.   'DL'         => 'DD|DT',
  83.   'DT'         => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  84.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  85.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  86.   'EM'         => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  87.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  88.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  89.   'FIELDSET'   => '#PCDATA|LEGEND|#000',
  90.   'FORM'       => 'UL|TABLE|PRE|P|OL|HR|FIELDSET|DL|DIV|BLOCKQUOTE',
  91.   'H1'         => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  92.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  93.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  94.   'H2'         => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  95.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  96.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  97.   'H3'         => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  98.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  99.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  100.   'H4'         => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  101.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  102.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  103.   'H5'         => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  104.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  105.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  106.   'H6'         => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  107.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  108.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  109.   'HEAD'       => 'TITLE|LINK|META|STYLE',
  110.   'HTML'       => 'HEAD|BODY',
  111.   'I'          => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  112.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  113.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  114.   'INS'        => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  115.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  116.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  117.   'KBD'        => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  118.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  119.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  120.   'LABEL'      => 'TEXTAREA|SELECT|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG|BR|BDO'.
  121.                   '|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM|ABBR|TT'.
  122.                   '|SUP|SUB|I|B|#PCDATA',
  123.   'LEGEND'     => '#PCDATA',
  124.   'LI'         => 'UL|TABLE|PRE|P|OL|HR|FORM|FIELDSET|DL|DIV|BLOCKQUOTE'.
  125.                   '|TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  126.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  127.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  128.   'MAP'        => 'AREA|UL|TABLE|PRE|P|OL|HR|FORM|FIELDSET|DL|DIV|BLOCKQUOTE',
  129.   'OBJECT'     => 'ADDRESS|TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP'.
  130.                   '|OBJECT|IMG|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE'.
  131.                   '|ACRONYM|ABBR|TT|SUP|SUB|I|B|#PCDATA|UL|TABLE|PRE|P|OL|HR'.
  132.                   '|FORM|FIELDSET|DL|DIV|BLOCKQUOTE|PARAM',
  133.   'OL'         => 'LI',
  134.   'OPTGROUP'   => 'OPTION',
  135.   'OPTION'     => '#PCDATA',
  136.   'P'          => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  137.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  138.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  139.   'PRE'        => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|BR|BDO|A|VAR'.
  140.                   '|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM|ABBR|TT|I|B'.
  141.                   '|#PCDATA',
  142.   'Q'          => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  143.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  144.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  145.   'SAMP'       => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  146.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  147.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  148.   'SELECT'     => 'OPTION|OPTGROUP',
  149.   'SPAN'       => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  150.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  151.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  152.   'STRONG'     => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  153.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  154.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  155.   'STYLE'      => '%StyleSheet',
  156.   'SUB'        => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  157.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  158.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  159.   'SUP'        => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  160.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  161.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  162.   'TABLE'      => 'CAPTION|#001|THEAD|TFOOT|TBODY',
  163.   'TBODY'      => 'TR',
  164.   'TD'         => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  165.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  166.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA|UL|TABLE|PRE|P|OL|HR|FORM'.
  167.                   '|FIELDSET|DL|DIV|BLOCKQUOTE',
  168.   'TEXTAREA'   => '#PCDATA',
  169.   'TFOOT'      => 'TR',
  170.   'TH'         => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  171.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  172.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA|UL|TABLE|PRE|P|OL|HR|FORM'.
  173.                   '|FIELDSET|DL|DIV|BLOCKQUOTE',
  174.   'THEAD'      => 'TR',
  175.   'TITLE'      => '#PCDATA',
  176.   'TR'         => 'TD|TH',
  177.   'TT'         => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  178.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  179.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  180.   'UL'         => 'LI',
  181.   'VAR'        => 'TEXTAREA|SELECT|LABEL|INPUT|BUTTON|SPAN|Q|MAP|OBJECT|IMG'.
  182.                   '|BR|BDO|A|VAR|STRONG|SAMP|KBD|EM|DFN|CODE|CITE|ACRONYM'.
  183.                   '|ABBR|TT|SUP|SUB|I|B|#PCDATA',
  184. );
  185. %excludedElems = (
  186.   'A'        => 'A',
  187.   'ADDRESS'  => 'IMG|OBJECT|MAP',
  188.   'BUTTON'   => 'A|FIELDSET|FORM|BUTTON|INPUT|LABEL|SELECT|TEXTAREA',
  189.   'DD'       => 'ADDRESS',
  190.   'FIELDSET' => 'FIELDSET',
  191.   'FORM'     => 'FORM',
  192.   'LABEL'    => 'LABEL',
  193.   'PRE'      => 'IMG|MAP|OBJECT|SUB|SUP',
  194.   'TITLE'    => 'LINK|META|STYLE',
  195. );
  196. %includedElems = (
  197.   'BODY' => 'DEL|INS',
  198.   'HEAD' => 'LINK|META|STYLE',
  199. );
  200. #======= ATTRIBUTES =======
  201. %tagsAttributes = (
  202.   'A' => {
  203.     'ACCESSKEY' => '%Character',
  204.     'CHARSET'   => '%Charset',
  205.     'CLASS'     => '%Class',
  206.     'COORDS'    => '%Coords',
  207.     'DIR'       => 'ltr|rtl',
  208.     'HREF'      => '%URI',
  209.     'HREFLANG'  => '%LanguageCode',
  210.     'ID'        => 'ID',
  211.     'LANG'      => '%LanguageCode',
  212.     'NAME'      => '%Name',
  213.     'REL'       => '%LinkTypes',
  214.     'REV'       => '%LinkTypes',
  215.     'SHAPE'     => 'circle|default|poly|rect',
  216.     'TABINDEX'  => 'NUMBER',
  217.     'TITLE'     => '%Text',
  218.     'TYPE'      => 'CDATA',
  219.   },
  220.   'ABBR' => {
  221.     'CLASS' => '%Class',
  222.     'DIR'   => 'ltr|rtl',
  223.     'ID'    => 'ID',
  224.     'LANG'  => '%LanguageCode',
  225.     'TITLE' => '%Text',
  226.   },
  227.   'ACRONYM' => {
  228.     'CLASS' => '%Class',
  229.     'DIR'   => 'ltr|rtl',
  230.     'ID'    => 'ID',
  231.     'LANG'  => '%LanguageCode',
  232.     'TITLE' => '%Text',
  233.   },
  234.   'ADDRESS' => {
  235.     'CLASS' => '%Class',
  236.     'DIR'   => 'ltr|rtl',
  237.     'ID'    => 'ID',
  238.     'LANG'  => '%LanguageCode',
  239.     'TITLE' => '%Text',
  240.   },
  241.   'AREA' => {
  242.     'ACCESSKEY' => '%Character',
  243.     'ALT'       => '%Text',
  244.     'CLASS'     => '%Class',
  245.     'COORDS'    => '%Coords',
  246.     'DIR'       => 'ltr|rtl',
  247.     'HREF'      => '%URI',
  248.     'ID'        => 'ID',
  249.     'LANG'      => '%LanguageCode',
  250.     'NOHREF'    => 'nohref',
  251.     'SHAPE'     => 'circle|default|poly|rect',
  252.     'TABINDEX'  => 'NUMBER',
  253.     'TITLE'     => '%Text',
  254.   },
  255.   'B' => {
  256.     'CLASS' => '%Class',
  257.     'DIR'   => 'ltr|rtl',
  258.     'ID'    => 'ID',
  259.     'LANG'  => '%LanguageCode',
  260.     'TITLE' => '%Text',
  261.   },
  262.   'BDO' => {
  263.     'CLASS' => '%Class',
  264.     'DIR'   => 'ltr|rtl',
  265.     'ID'    => 'ID',
  266.     'LANG'  => '%LanguageCode',
  267.     'TITLE' => '%Text',
  268.   },
  269.   'BLOCKQUOTE' => {
  270.     'CITE'  => '%URI',
  271.     'CLASS' => '%Class',
  272.     'DIR'   => 'ltr|rtl',
  273.     'ID'    => 'ID',
  274.     'LANG'  => '%LanguageCode',
  275.     'TITLE' => '%Text',
  276.   },
  277.   'BODY' => {
  278.     'CLASS' => '%Class',
  279.     'DIR'   => 'ltr|rtl',
  280.     'ID'    => 'ID',
  281.     'LANG'  => '%LanguageCode',
  282.     'TITLE' => '%Text',
  283.   },
  284.   'BR' => {
  285.     'CLASS' => '%Class',
  286.     'ID'    => 'ID',
  287.     'TITLE' => '%Text',
  288.   },
  289.   'BUTTON' => {
  290.     'ACCESSKEY' => '%Character',
  291.     'CLASS'     => '%Class',
  292.     'DIR'       => 'ltr|rtl',
  293.     'DISABLED'  => 'disabled',
  294.     'ID'        => 'ID',
  295.     'LANG'      => '%LanguageCode',
  296.     'NAME'      => '%Name',
  297.     'TABINDEX'  => 'NUMBER',
  298.     'TITLE'     => '%Text',
  299.     'TYPE'      => 'submit|reset',
  300.     'VALUE'     => 'CDATA',
  301.   },
  302.   'CAPTION' => {
  303.     'CLASS' => '%Class',
  304.     'DIR'   => 'ltr|rtl',
  305.     'ID'    => 'ID',
  306.     'LANG'  => '%LanguageCode',
  307.     'TITLE' => '%Text',
  308.   },
  309.   'CITE' => {
  310.     'CLASS' => '%Class',
  311.     'DIR'   => 'ltr|rtl',
  312.     'ID'    => 'ID',
  313.     'LANG'  => '%LanguageCode',
  314.     'TITLE' => '%Text',
  315.   },
  316.   'CODE' => {
  317.     'CLASS' => '%Class',
  318.     'DIR'   => 'ltr|rtl',
  319.     'ID'    => 'ID',
  320.     'LANG'  => '%LanguageCode',
  321.     'TITLE' => '%Text',
  322.   },
  323.   'COL' => {
  324.     'CLASS' => '%Class',
  325.     'DIR'   => 'ltr|rtl',
  326.     'ID'    => 'ID',
  327.     'LANG'  => '%LanguageCode',
  328.     'SPAN'  => '%Span',
  329.     'TITLE' => '%Text',
  330.   },
  331.   'COLGROUP' => {
  332.     'CLASS' => '%Class',
  333.     'DIR'   => 'ltr|rtl',
  334.     'ID'    => 'ID',
  335.     'LANG'  => '%LanguageCode',
  336.     'SPAN'  => '%Span',
  337.     'TITLE' => '%Text',
  338.   },
  339.   'DD' => {
  340.     'CLASS' => '%Class',
  341.     'DIR'   => 'ltr|rtl',
  342.     'ID'    => 'ID',
  343.     'LANG'  => '%LanguageCode',
  344.     'TITLE' => '%Text',
  345.   },
  346.   'DEL' => {
  347.     'CITE'     => '%URI',
  348.     'CLASS'    => '%Class',
  349.     'DATETIME' => '%Datetime',
  350.     'DIR'      => 'ltr|rtl',
  351.     'ID'       => 'ID',
  352.     'LANG'     => '%LanguageCode',
  353.     'TITLE'    => '%Text',
  354.   },
  355.   'DFN' => {
  356.     'CLASS' => '%Class',
  357.     'DIR'   => 'ltr|rtl',
  358.     'ID'    => 'ID',
  359.     'LANG'  => '%LanguageCode',
  360.     'TITLE' => '%Text',
  361.   },
  362.   'DIV' => {
  363.     'CLASS' => '%Class',
  364.     'DIR'   => 'ltr|rtl',
  365.     'ID'    => 'ID',
  366.     'LANG'  => '%LanguageCode',
  367.     'TITLE' => '%Text',
  368.   },
  369.   'DL' => {
  370.     'CLASS' => '%Class',
  371.     'DIR'   => 'ltr|rtl',
  372.     'ID'    => 'ID',
  373.     'LANG'  => '%LanguageCode',
  374.     'TITLE' => '%Text',
  375.   },
  376.   'DT' => {
  377.     'CLASS' => '%Class',
  378.     'DIR'   => 'ltr|rtl',
  379.     'ID'    => 'ID',
  380.     'LANG'  => '%LanguageCode',
  381.     'TITLE' => '%Text',
  382.   },
  383.   'EM' => {
  384.     'CLASS' => '%Class',
  385.     'DIR'   => 'ltr|rtl',
  386.     'ID'    => 'ID',
  387.     'LANG'  => '%LanguageCode',
  388.     'TITLE' => '%Text',
  389.   },
  390.   'FIELDSET' => {
  391.     'CLASS' => '%Class',
  392.     'DIR'   => 'ltr|rtl',
  393.     'ID'    => 'ID',
  394.     'LANG'  => '%LanguageCode',
  395.     'TITLE' => '%Text',
  396.   },
  397.   'FORM' => {
  398.     'ACCEPT'         => '%Content-Types',
  399.     'ACCEPT-CHARSET' => '%Charsets',
  400.     'ACTION'         => '%URI',
  401.     'CLASS'          => '%Class',
  402.     'DIR'            => 'ltr|rtl',
  403.     'ENCTYPE'        => '%Content-Type',
  404.     'ID'             => 'ID',
  405.     'LANG'           => '%LanguageCode',
  406.     'METHOD'         => 'get|post',
  407.     'TITLE'          => '%Text',
  408.   },
  409.   'H1' => {
  410.     'CLASS' => '%Class',
  411.     'DIR'   => 'ltr|rtl',
  412.     'ID'    => 'ID',
  413.     'LANG'  => '%LanguageCode',
  414.     'TITLE' => '%Text',
  415.   },
  416.   'H2' => {
  417.     'CLASS' => '%Class',
  418.     'DIR'   => 'ltr|rtl',
  419.     'ID'    => 'ID',
  420.     'LANG'  => '%LanguageCode',
  421.     'TITLE' => '%Text',
  422.   },
  423.   'H3' => {
  424.     'CLASS' => '%Class',
  425.     'DIR'   => 'ltr|rtl',
  426.     'ID'    => 'ID',
  427.     'LANG'  => '%LanguageCode',
  428.     'TITLE' => '%Text',
  429.   },
  430.   'H4' => {
  431.     'CLASS' => '%Class',
  432.     'DIR'   => 'ltr|rtl',
  433.     'ID'    => 'ID',
  434.     'LANG'  => '%LanguageCode',
  435.     'TITLE' => '%Text',
  436.   },
  437.   'H5' => {
  438.     'CLASS' => '%Class',
  439.     'DIR'   => 'ltr|rtl',
  440.     'ID'    => 'ID',
  441.     'LANG'  => '%LanguageCode',
  442.     'TITLE' => '%Text',
  443.   },
  444.   'H6' => {
  445.     'CLASS' => '%Class',
  446.     'DIR'   => 'ltr|rtl',
  447.     'ID'    => 'ID',
  448.     'LANG'  => '%LanguageCode',
  449.     'TITLE' => '%Text',
  450.   },
  451.   'HEAD' => {
  452.     'DIR'     => 'ltr|rtl',
  453.     'LANG'    => '%LanguageCode',
  454.     'PROFILE' => '%URI',
  455.   },
  456.   'HR' => {
  457.     'CLASS' => '%Class',
  458.     'DIR'   => 'ltr|rtl',
  459.     'ID'    => 'ID',
  460.     'LANG'  => '%LanguageCode',
  461.     'TITLE' => '%Text',
  462.   },
  463.   'HTML' => {
  464.     'DIR'  => 'ltr|rtl',
  465.     'LANG' => '%LanguageCode',
  466.   },
  467.   'I' => {
  468.     'CLASS' => '%Class',
  469.     'DIR'   => 'ltr|rtl',
  470.     'ID'    => 'ID',
  471.     'LANG'  => '%LanguageCode',
  472.     'TITLE' => '%Text',
  473.   },
  474.   'IMG' => {
  475.     'ALT'      => '%Text',
  476.     'CLASS'    => '%Class',
  477.     'DIR'      => 'ltr|rtl',
  478.     'ID'       => 'ID',
  479.     'ISMAP'    => 'ismap',
  480.     'LANG'     => '%LanguageCode',
  481.     'LONGDESC' => '%URI',
  482.     'SRC'      => '%URI',
  483.     'TITLE'    => '%Text',
  484.     'USEMAP'   => '%URI',
  485.   },
  486.   'INPUT' => {
  487.     'ACCEPT'    => '%Content-Types',
  488.     'ACCESSKEY' => '%Character',
  489.     'CHECKED'   => 'checked',
  490.     'CLASS'     => '%Class',
  491.     'DIR'       => 'ltr|rtl',
  492.     'DISABLED'  => 'disabled',
  493.     'ID'        => 'ID',
  494.     'LANG'      => '%LanguageCode',
  495.     'MAXLENGTH' => 'NUMBER',
  496.     'NAME'      => '%Name',
  497.     'READONLY'  => 'READONLY',
  498.     'SIZE'      => 'CDATA',
  499.     'TABINDEX'  => 'NUMBER',
  500.     'TITLE'     => '%Text',
  501.     'TYPE'      => 'checkbox|file|hidden|password|radio|reset|submit|text',
  502.     'VALUE'     => 'CDATA',
  503.   },
  504.   'INS' => {
  505.     'CITE'     => '%URI',
  506.     'CLASS'    => '%Class',
  507.     'DATETIME' => '%Datetime',
  508.     'DIR'      => 'ltr|rtl',
  509.     'ID'       => 'ID',
  510.     'LANG'     => '%LanguageCode',
  511.     'TITLE'    => '%Text',
  512.   },
  513.   'KBD' => {
  514.     'CLASS' => '%Class',
  515.     'DIR'   => 'ltr|rtl',
  516.     'ID'    => 'ID',
  517.     'LANG'  => '%LanguageCode',
  518.     'TITLE' => '%Text',
  519.   },
  520.   'LABEL' => {
  521.     'ACCESSKEY' => '%Character',
  522.     'CLASS'     => '%Class',
  523.     'DIR'       => 'ltr|rtl',
  524.     'FOR'       => 'IDREF',
  525.     'ID'        => 'ID',
  526.     'LANG'      => '%LanguageCode',
  527.     'TITLE'     => '%Text',
  528.   },
  529.   'LEGEND' => {
  530.     'ACCESSKEY' => '%Character',
  531.     'CLASS'     => '%Class',
  532.     'DIR'       => 'ltr|rtl',
  533.     'ID'        => 'ID',
  534.     'LANG'      => '%LanguageCode',
  535.     'TITLE'     => '%Text',
  536.   },
  537.   'LI' => {
  538.     'CLASS' => '%Class',
  539.     'DIR'   => 'ltr|rtl',
  540.     'ID'    => 'ID',
  541.     'LANG'  => '%LanguageCode',
  542.     'TITLE' => '%Text',
  543.   },
  544.   'LINK' => {
  545.     'CHARSET'  => '%Charset',
  546.     'CLASS'    => '%Class',
  547.     'DIR'      => 'ltr|rtl',
  548.     'HREF'     => '%URI',
  549.     'HREFLANG' => '%LanguageCode',
  550.     'ID'       => 'ID',
  551.     'LANG'     => '%LanguageCode',
  552.     'MEDIA'    => '%MediaDesc',
  553.     'REL'      => '%LinkTypes',
  554.     'REV'      => '%LinkTypes',
  555.     'TITLE'    => '%Text',
  556.     'TYPE'     => 'CDATA',
  557.   },
  558.   'MAP' => {
  559.     'CLASS' => '%Class',
  560.     'DIR'   => 'ltr|rtl',
  561.     'ID'    => 'ID',
  562.     'LANG'  => '%LanguageCode',
  563.     'NAME'  => '%Name',
  564.     'TITLE' => '%Text',
  565.   },
  566.   'META' => {
  567.     'CONTENT'    => 'CDATA',
  568.     'DIR'        => 'ltr|rtl',
  569.     'HTTP-EQUIV' => 'NAME',
  570.     'LANG'       => '%LanguageCode',
  571.     'NAME'       => 'NAME',
  572.     'SCHEME'     => 'CDATA',
  573.   },
  574.   'OBJECT' => {
  575.     'CLASS'    => '%Class',
  576.     'CLASSID'  => '%URI',
  577.     'CODEBASE' => '%URI',
  578.     'CODETYPE' => 'CDATA',
  579.     'DATA'     => '%URI',
  580.     'DECLARE'  => 'declare',
  581.     'DIR'      => 'ltr|rtl',
  582.     'ID'       => 'ID',
  583.     'LANG'     => '%LanguageCode',
  584.     'NAME'     => '%Name',
  585.     'STANDBY'  => '%Text',
  586.     'TABINDEX' => 'NUMBER',
  587.     'TITLE'    => '%Text',
  588.     'TYPE'     => 'CDATA',
  589.     'USEMAP'   => '%URI',
  590.   },
  591.   'OL' => {
  592.     'CLASS' => '%Class',
  593.     'DIR'   => 'ltr|rtl',
  594.     'ID'    => 'ID',
  595.     'LANG'  => '%LanguageCode',
  596.     'TITLE' => '%Text',
  597.   },
  598.   'OPTGROUP' => {
  599.     'CLASS'    => '%Class',
  600.     'DIR'      => 'ltr|rtl',
  601.     'DISABLED' => 'disabled',
  602.     'ID'       => 'ID',
  603.     'LABEL'    => '%Text',
  604.     'LANG'     => '%LanguageCode',
  605.     'TITLE'    => '%Text',
  606.   },
  607.   'OPTION' => {
  608.     'CLASS'    => '%Class',
  609.     'DIR'      => 'ltr|rtl',
  610.     'DISABLED' => 'disabled',
  611.     'ID'       => 'ID',
  612.     'LABEL'    => '%Text',
  613.     'LANG'     => '%LanguageCode',
  614.     'SELECTED' => 'selected',
  615.     'TITLE'    => '%Text',
  616.     'VALUE'    => 'CDATA',
  617.   },
  618.   'P' => {
  619.     'CLASS' => '%Class',
  620.     'DIR'   => 'ltr|rtl',
  621.     'ID'    => 'ID',
  622.     'LANG'  => '%LanguageCode',
  623.     'TITLE' => '%Text',
  624.   },
  625.   'PARAM' => {
  626.     'ID'        => 'ID',
  627.     'NAME'      => '%Name',
  628.     'TYPE'      => 'CDATA',
  629.     'VALUE'     => 'CDATA',
  630.     'VALUETYPE' => 'data|ref|object',
  631.   },
  632.   'PRE' => {
  633.     'CLASS' => '%Class',
  634.     'DIR'   => 'ltr|rtl',
  635.     'ID'    => 'ID',
  636.     'LANG'  => '%LanguageCode',
  637.     'TITLE' => '%Text',
  638.   },
  639.   'Q' => {
  640.     'CITE'  => '%URI',
  641.     'CLASS' => '%Class',
  642.     'DIR'   => 'ltr|rtl',
  643.     'ID'    => 'ID',
  644.     'LANG'  => '%LanguageCode',
  645.     'TITLE' => '%Text',
  646.   },
  647.   'SAMP' => {
  648.     'CLASS' => '%Class',
  649.     'DIR'   => 'ltr|rtl',
  650.     'ID'    => 'ID',
  651.     'LANG'  => '%LanguageCode',
  652.     'TITLE' => '%Text',
  653.   },
  654.   'SELECT' => {
  655.     'CLASS'    => '%Class',
  656.     'DIR'      => 'ltr|rtl',
  657.     'DISABLED' => 'disabled',
  658.     'ID'       => 'ID',
  659.     'LANG'     => '%LanguageCode',
  660.     'MULTIPLE' => 'multiple',
  661.     'NAME'     => '%Name',
  662.     'SIZE'     => 'NUMBER',
  663.     'TABINDEX' => 'NUMBER',
  664.     'TITLE'    => '%Text',
  665.   },
  666.   'SPAN' => {
  667.     'CLASS' => '%Class',
  668.     'DIR'   => 'ltr|rtl',
  669.     'ID'    => 'ID',
  670.     'LANG'  => '%LanguageCode',
  671.     'TITLE' => '%Text',
  672.   },
  673.   'STRONG' => {
  674.     'CLASS' => '%Class',
  675.     'DIR'   => 'ltr|rtl',
  676.     'ID'    => 'ID',
  677.     'LANG'  => '%LanguageCode',
  678.     'TITLE' => '%Text',
  679.   },
  680.   'STYLE' => {
  681.     'DIR'   => 'ltr|rtl',
  682.     'LANG'  => '%LanguageCode',
  683.     'MEDIA' => '%MediaDesc',
  684.     'TITLE' => '%Text',
  685.     'TYPE'  => 'CDATA',
  686.   },
  687.   'SUB' => {
  688.     'CLASS' => '%Class',
  689.     'DIR'   => 'ltr|rtl',
  690.     'ID'    => 'ID',
  691.     'LANG'  => '%LanguageCode',
  692.     'TITLE' => '%Text',
  693.   },
  694.   'SUP' => {
  695.     'CLASS' => '%Class',
  696.     'DIR'   => 'ltr|rtl',
  697.     'ID'    => 'ID',
  698.     'LANG'  => '%LanguageCode',
  699.     'TITLE' => '%Text',
  700.   },
  701.   'TABLE' => {
  702.     'CLASS'   => '%Class',
  703.     'DIR'     => 'ltr|rtl',
  704.     'ID'      => 'ID',
  705.     'LANG'    => '%LanguageCode',
  706.     'SUMMARY' => '%Text',
  707.     'TITLE'   => '%Text',
  708.   },
  709.   'TBODY' => {
  710.     'CLASS' => '%Class',
  711.     'DIR'   => 'ltr|rtl',
  712.     'ID'    => 'ID',
  713.     'LANG'  => '%LanguageCode',
  714.     'TITLE' => '%Text',
  715.   },
  716.   'TD' => {
  717.     'ABBR'    => '%Text',
  718.     'AXIS'    => 'CDATA',
  719.     'CLASS'   => '%Class',
  720.     'COLSPAN' => 'NUMBER',
  721.     'DIR'     => 'ltr|rtl',
  722.     'HEADERS' => 'IDREFS',
  723.     'ID'      => 'ID',
  724.     'LANG'    => '%LanguageCode',
  725.     'ROWSPAN' => 'NUMBER',
  726.     'SCOPE'   => 'col|colgroup|row|rowgroup',
  727.     'TITLE'   => '%Text',
  728.   },
  729.   'TEXTAREA' => {
  730.     'ACCESSKEY' => '%Character',
  731.     'CLASS'     => '%Class',
  732.     'COLS'      => 'NUMBER',
  733.     'DIR'       => 'ltr|rtl',
  734.     'DISABLED'  => 'disabled',
  735.     'ID'        => 'ID',
  736.     'LANG'      => '%LanguageCode',
  737.     'NAME'      => '%Name',
  738.     'READONLY'  => 'readonly',
  739.     'ROWS'      => 'NUMBER',
  740.     'TABINDEX'  => 'NUMBER',
  741.     'TITLE'     => '%Text',
  742.   },
  743.   'TFOOT' => {
  744.     'CLASS' => '%Class',
  745.     'DIR'   => 'ltr|rtl',
  746.     'ID'    => 'ID',
  747.     'LANG'  => '%LanguageCode',
  748.     'TITLE' => '%Text',
  749.   },
  750.   'TH' => {
  751.     'ABBR'    => '%Text',
  752.     'AXIS'    => 'CDATA',
  753.     'CLASS'   => '%Class',
  754.     'COLSPAN' => 'NUMBER',
  755.     'DIR'     => 'ltr|rtl',
  756.     'HEADERS' => 'IDREFS',
  757.     'ID'      => 'ID',
  758.     'LANG'    => '%LanguageCode',
  759.     'ROWSPAN' => 'NUMBER',
  760.     'SCOPE'   => 'col|colgroup|row|rowgroup',
  761.     'TITLE'   => '%Text',
  762.   },
  763.   'THEAD' => {
  764.     'CLASS' => '%Class',
  765.     'DIR'   => 'ltr|rtl',
  766.     'ID'    => 'ID',
  767.     'LANG'  => '%LanguageCode',
  768.     'TITLE' => '%Text',
  769.   },
  770.   'TITLE' => {
  771.     'DIR'  => 'ltr|rtl',
  772.     'LANG' => '%LanguageCode',
  773.   },
  774.   'TR' => {
  775.     'CLASS' => '%Class',
  776.     'DIR'   => 'ltr|rtl',
  777.     'ID'    => 'ID',
  778.     'LANG'  => '%LanguageCode',
  779.     'TITLE' => '%Text',
  780.   },
  781.   'TT' => {
  782.     'CLASS' => '%Class',
  783.     'DIR'   => 'ltr|rtl',
  784.     'ID'    => 'ID',
  785.     'LANG'  => '%LanguageCode',
  786.     'TITLE' => '%Text',
  787.   },
  788.   'UL' => {
  789.     'CLASS' => '%Class',
  790.     'DIR'   => 'ltr|rtl',
  791.     'ID'    => 'ID',
  792.     'LANG'  => '%LanguageCode',
  793.     'TITLE' => '%Text',
  794.   },
  795.   'VAR' => {
  796.     'CLASS' => '%Class',
  797.     'DIR'   => 'ltr|rtl',
  798.     'ID'    => 'ID',
  799.     'LANG'  => '%LanguageCode',
  800.     'TITLE' => '%Text',
  801.   },
  802. );
  803. %requiredAttrs = (
  804.   'AREA'     => 'ALT',
  805.   'BDO'      => 'DIR',
  806.   'FORM'     => 'ACTION',
  807.   'IMG'      => 'ALT&SRC',
  808.   'MAP'      => 'NAME',
  809.   'META'     => 'CONTENT',
  810.   'OPTGROUP' => 'LABEL',
  811.   'PARAM'    => 'NAME',
  812.   'SELECT'   => 'NAME',
  813.   'STYLE'    => 'TYPE',
  814.   'TABLE'    => 'SUMMARY',
  815.   'TEXTAREA' => 'COLS&NAME&ROWS',
  816. );
  817. #======= ENTITIES =======
  818. %refEntities = (
  819.   'AElig'    => 'Æ',
  820.   'Aacute'   => 'Á',
  821.   'Acirc'    => 'Â',
  822.   'Agrave'   => 'À',
  823.   'Alpha'    => 'Α',
  824.   'Aring'    => 'Å',
  825.   'Atilde'   => 'Ã',
  826.   'Auml'     => 'Ä',
  827.   'Beta'     => 'Β',
  828.   'Ccedil'   => 'Ç',
  829.   'Chi'      => 'Χ',
  830.   'Dagger'   => '‡',
  831.   'Delta'    => 'Δ',
  832.   'ETH'      => 'Ð',
  833.   'Eacute'   => 'É',
  834.   'Ecirc'    => 'Ê',
  835.   'Egrave'   => 'È',
  836.   'Epsilon'  => 'Ε',
  837.   'Eta'      => 'Η',
  838.   'Euml'     => 'Ë',
  839.   'Gamma'    => 'Γ',
  840.   'Iacute'   => 'Í',
  841.   'Icirc'    => 'Î',
  842.   'Igrave'   => 'Ì',
  843.   'Iota'     => 'Ι',
  844.   'Iuml'     => 'Ï',
  845.   'Kappa'    => 'Κ',
  846.   'Lambda'   => 'Λ',
  847.   'Mu'       => 'Μ',
  848.   'Ntilde'   => 'Ñ',
  849.   'Nu'       => 'Ν',
  850.   'OElig'    => 'Œ',
  851.   'Oacute'   => 'Ó',
  852.   'Ocirc'    => 'Ô',
  853.   'Ograve'   => 'Ò',
  854.   'Omega'    => 'Ω',
  855.   'Omicron'  => 'Ο',
  856.   'Oslash'   => 'Ø',
  857.   'Otilde'   => 'Õ',
  858.   'Ouml'     => 'Ö',
  859.   'Phi'      => 'Φ',
  860.   'Pi'       => 'Π',
  861.   'Prime'    => '″',
  862.   'Psi'      => 'Ψ',
  863.   'Rho'      => 'Ρ',
  864.   'Scaron'   => 'Š',
  865.   'Sigma'    => 'Σ',
  866.   'THORN'    => 'Þ',
  867.   'Tau'      => 'Τ',
  868.   'Theta'    => 'Θ',
  869.   'Uacute'   => 'Ú',
  870.   'Ucirc'    => 'Û',
  871.   'Ugrave'   => 'Ù',
  872.   'Upsilon'  => 'Υ',
  873.   'Uuml'     => 'Ü',
  874.   'Xi'       => 'Ξ',
  875.   'Yacute'   => 'Ý',
  876.   'Yuml'     => 'Ÿ',
  877.   'Zeta'     => 'Ζ',
  878.   'aacute'   => 'á',
  879.   'acirc'    => 'â',
  880.   'acute'    => '´',
  881.   'aelig'    => 'æ',
  882.   'agrave'   => 'à',
  883.   'alefsym'  => 'ℵ',
  884.   'alpha'    => 'α',
  885.   'amp'      => '&',
  886.   'and'      => '∧',
  887.   'ang'      => '∠',
  888.   'aring'    => 'å',
  889.   'asymp'    => '≈',
  890.   'atilde'   => 'ã',
  891.   'auml'     => 'ä',
  892.   'bdquo'    => '„',
  893.   'beta'     => 'β',
  894.   'brvbar'   => '¦',
  895.   'bull'     => '•',
  896.   'cap'      => '∩',
  897.   'ccedil'   => 'ç',
  898.   'cedil'    => '¸',
  899.   'cent'     => '¢',
  900.   'chi'      => 'χ',
  901.   'circ'     => 'ˆ',
  902.   'clubs'    => '♣',
  903.   'cong'     => '≅',
  904.   'copy'     => '©',
  905.   'crarr'    => '↵',
  906.   'cup'      => '∪',
  907.   'curren'   => '¤',
  908.   'dArr'     => '⇓',
  909.   'dagger'   => '†',
  910.   'darr'     => '↓',
  911.   'deg'      => '°',
  912.   'delta'    => 'δ',
  913.   'diams'    => '♦',
  914.   'divide'   => '÷',
  915.   'eacute'   => 'é',
  916.   'ecirc'    => 'ê',
  917.   'egrave'   => 'è',
  918.   'empty'    => '∅',
  919.   'emsp'     => ' ',
  920.   'ensp'     => ' ',
  921.   'epsilon'  => 'ε',
  922.   'equiv'    => '≡',
  923.   'eta'      => 'η',
  924.   'eth'      => 'ð',
  925.   'euml'     => 'ë',
  926.   'euro'     => '€',
  927.   'exist'    => '∃',
  928.   'fnof'     => 'ƒ',
  929.   'forall'   => '∀',
  930.   'frac12'   => '½',
  931.   'frac14'   => '¼',
  932.   'frac34'   => '¾',
  933.   'frasl'    => '⁄',
  934.   'gamma'    => 'γ',
  935.   'ge'       => '≥',
  936.   'gt'       => '>',
  937.   'hArr'     => '⇔',
  938.   'harr'     => '↔',
  939.   'hearts'   => '♥',
  940.   'hellip'   => '…',
  941.   'iacute'   => 'í',
  942.   'icirc'    => 'î',
  943.   'iexcl'    => '¡',
  944.   'igrave'   => 'ì',
  945.   'image'    => 'ℑ',
  946.   'infin'    => '∞',
  947.   'int'      => '∫',
  948.   'iota'     => 'ι',
  949.   'iquest'   => '¿',
  950.   'isin'     => '∈',
  951.   'iuml'     => 'ï',
  952.   'kappa'    => 'κ',
  953.   'lArr'     => '⇐',
  954.   'lambda'   => 'λ',
  955.   'lang'     => '〈',
  956.   'laquo'    => '«',
  957.   'larr'     => '←',
  958.   'lceil'    => '⌈',
  959.   'ldquo'    => '“',
  960.   'le'       => '≤',
  961.   'lfloor'   => '⌊',
  962.   'lowast'   => '∗',
  963.   'loz'      => '◊',
  964.   'lrm'      => '‎',
  965.   'lsaquo'   => '‹',
  966.   'lsquo'    => '‘',
  967.   'lt'       => '<',
  968.   'macr'     => '¯',
  969.   'mdash'    => '—',
  970.   'micro'    => 'µ',
  971.   'middot'   => '·',
  972.   'minus'    => '−',
  973.   'mu'       => 'μ',
  974.   'nabla'    => '∇',
  975.   'nbsp'     => ' ',
  976.   'ndash'    => '–',
  977.   'ne'       => '≠',
  978.   'ni'       => '∋',
  979.   'not'      => '¬',
  980.   'notin'    => '∉',
  981.   'nsub'     => '⊄',
  982.   'ntilde'   => 'ñ',
  983.   'nu'       => 'ν',
  984.   'oacute'   => 'ó',
  985.   'ocirc'    => 'ô',
  986.   'oelig'    => 'œ',
  987.   'ograve'   => 'ò',
  988.   'oline'    => '‾',
  989.   'omega'    => 'ω',
  990.   'omicron'  => 'ο',
  991.   'oplus'    => '⊕',
  992.   'or'       => '∨',
  993.   'ordf'     => 'ª',
  994.   'ordm'     => 'º',
  995.   'oslash'   => 'ø',
  996.   'otilde'   => 'õ',
  997.   'otimes'   => '⊗',
  998.   'ouml'     => 'ö',
  999.   'para'     => '¶',
  1000.   'part'     => '∂',
  1001.   'permil'   => '‰',
  1002.   'perp'     => '⊥',
  1003.   'phi'      => 'φ',
  1004.   'pi'       => 'π',
  1005.   'piv'      => 'ϖ',
  1006.   'plusmn'   => '±',
  1007.   'pound'    => '£',
  1008.   'prime'    => '′',
  1009.   'prod'     => '∏',
  1010.   'prop'     => '∝',
  1011.   'psi'      => 'ψ',
  1012.   'quot'     => '"',
  1013.   'rArr'     => '⇒',
  1014.   'radic'    => '√',
  1015.   'rang'     => '〉',
  1016.   'raquo'    => '»',
  1017.   'rarr'     => '→',
  1018.   'rceil'    => '⌉',
  1019.   'rdquo'    => '”',
  1020.   'real'     => 'ℜ',
  1021.   'reg'      => '®',
  1022.   'rfloor'   => '⌋',
  1023.   'rho'      => 'ρ',
  1024.   'rlm'      => '‏',
  1025.   'rsaquo'   => '›',
  1026.   'rsquo'    => '’',
  1027.   'sbquo'    => '‚',
  1028.   'scaron'   => 'š',
  1029.   'sdot'     => '⋅',
  1030.   'sect'     => '§',
  1031.   'shy'      => '­',
  1032.   'sigma'    => 'σ',
  1033.   'sigmaf'   => 'ς',
  1034.   'sim'      => '∼',
  1035.   'spades'   => '♠',
  1036.   'sub'      => '⊂',
  1037.   'sube'     => '⊆',
  1038.   'sum'      => '∑',
  1039.   'sup'      => '⊃',
  1040.   'sup1'     => '¹',
  1041.   'sup2'     => '²',
  1042.   'sup3'     => '³',
  1043.   'supe'     => '⊇',
  1044.   'szlig'    => 'ß',
  1045.   'tau'      => 'τ',
  1046.   'there4'   => '∴',
  1047.   'theta'    => 'θ',
  1048.   'thetasym' => 'ϑ',
  1049.   'thinsp'   => ' ',
  1050.   'thorn'    => 'þ',
  1051.   'tilde'    => '˜',
  1052.   'times'    => '×',
  1053.   'trade'    => '™',
  1054.   'uArr'     => '⇑',
  1055.   'uacute'   => 'ú',
  1056.   'uarr'     => '↑',
  1057.   'ucirc'    => 'û',
  1058.   'ugrave'   => 'ù',
  1059.   'uml'      => '¨',
  1060.   'upsih'    => 'ϒ',
  1061.   'upsilon'  => 'υ',
  1062.   'uuml'     => 'ü',
  1063.   'weierp'   => '℘',
  1064.   'xi'       => 'ξ',
  1065.   'yacute'   => 'ý',
  1066.   'yen'      => '¥',
  1067.   'yuml'     => 'ÿ',
  1068.   'zeta'     => 'ζ',
  1069.   'zwj'      => '‍',
  1070.   'zwnj'     => '‌',
  1071. );
  1072. %refParams = (
  1073.   'Character'     => '[\x20-\x7E]',
  1074.   'Charset'       => 'CDATA+',
  1075.   'Charsets'      => 'CDATA+',
  1076.   'Class'         => 'CDATA+',
  1077.   'Content-Type'  => 'CDATA+',
  1078.   'Content-Types' => 'CDATA+',
  1079.   'Coords'        => '(?:\d+(?:\s*,\s*|\s+))+\d+',
  1080.   '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])',
  1081.   'LanguageCode'  => '(?i)[A-Z]{1,8}(?:-[A-Z]{1,8})*',
  1082.   'LinkTypes'     => 'CDATA+',
  1083.   'MediaDesc'     => 'CDATA+',
  1084.   'Name'          => 'CDATA+',
  1085.   'Span'          => 'NUMBER+',
  1086.   'StyleSheet'    => 'CDATA',
  1087.   'Text'          => 'CDATA',
  1088.   'URI'           => '&URL',
  1089. );
  1090.  
  1091. 1;
  1092.