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