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

  1. # Netscape Navigator 2.0
  2.  
  3. #======= ELEMENTS =======
  4. $emptyTags = 'AREA|BASE|BR|FRAME|HR|HYPE|IMG|INPUT|ISINDEX|KEYGEN|META|PARAM'.
  5.              '|WBR';
  6. $pairTags = 'A|ADDRESS|APPLET|B|BASEFONT|BIG|BLINK|BLOCKQUOTE|BODY|CAPTION'.
  7.             '|CENTER|CITE|CODE|DD|DFN|DIR|DIV|DL|DT|EM|EMBED|FONT|FORM'.
  8.             '|FRAMESET|H1|H2|H3|H4|H5|H6|HEAD|HTML|I|KBD|LI|MAP|MENU|MULTICOL'.
  9.             '|NOBR|NOEMBED|NOFRAMES|OL|OPTION|P|PLAINTEXT|PRE|SAMP|SCRIPT'.
  10.             '|SELECT|SERVER|SMALL|STRONG|SUB|SUP|TABLE|TD|TEXTAREA|TH|TITLE'.
  11.             '|TR|TT|UL|VAR|XMP';
  12. $deprecatedTags = 'PLAINTEXT';
  13. $omitStartTags = 'BODY|HEAD|HTML';
  14. $omitEndTags = 'BASEFONT|BODY|DD|DT|HEAD|HTML|LI|NOBR|OPTION|P|PLAINTEXT|TD'.
  15.                '|TH|TR';
  16. #$maybeEmpty = 'A|ADDRESS|APPLET|B|BASEFONT|BIG|BLINK|BLOCKQUOTE|BODY|CAPTION'.
  17. #              '|CENTER|CITE|CODE|DD|DFN|DIV|DT|EM|EMBED|FONT|FORM|H1|H2|H3|H4'.
  18. #              '|H5|H6|I|KBD|LI|MAP|MULTICOL|NOBR|NOEMBED|OPTION|P|PLAINTEXT'.
  19. #              '|PRE|SAMP|SCRIPT|SERVER|SMALL|STRONG|SUB|SUP|TD|TEXTAREA|TH'.
  20. #              '|TITLE|TR|TT|VAR|XMP';
  21. $maybeEmpty = 'PLAINTEXT|PRE|SCRIPT|SERVER|EMBED|TD|TEXTAREA|TH|XMP';
  22. %requiredTags = (
  23.   'HEAD'  => 'TITLE',
  24.   'HTML'  => 'HEAD|#001',
  25.   'TABLE' => 'TR',
  26. );
  27. %onceonlyTags = (
  28.   '#001'     => 'BODY|FRAMESET',
  29.   'HEAD'     => 'TITLE|ISINDEX|BASE',
  30.   'HTML'     => 'HEAD|#001|PLAINTEXT',
  31.   'NOFRAMES' => 'BODY',
  32.   'TABLE'    => 'CAPTION',
  33. );
  34. $sequencialTags = 'TABLE|HTML';
  35. %tagsElements = (
  36.   '#000'       => 'MULTICOL|ADDRESS|TABLE|HR|ISINDEX|FORM|BLOCKQUOTE|CENTER'.
  37.                   '|DIV|DL|XMP|PRE|MENU|DIR|OL|UL|P|MAP|SERVER|SCRIPT|NOBR'.
  38.                   '|WBR|BR|BASEFONT|FONT|EMBED|APPLET|HYPE|IMG|A|CITE|VAR|KBD'.
  39.                   '|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP|SUB|SMALL|BIG|B|I|TT'.
  40.                   '|#PCDATA|H6|H5|H4|H3|H2|H1',
  41.   '#001'       => 'BODY|FRAMESET',
  42.   'A'          => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  43.                   '|HYPE|IMG|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  44.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  45.   'ADDRESS'    => 'P|MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  46.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  47.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  48.   'APPLET'     => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  49.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  50.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA|PARAM',
  51.   'B'          => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  52.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  53.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  54.   'BASEFONT'   => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  55.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  56.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  57.   'BIG'        => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  58.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  59.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  60.   'BLINK'      => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  61.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  62.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  63.   'BLOCKQUOTE' => 'MULTICOL|ADDRESS|TABLE|HR|ISINDEX|FORM|BLOCKQUOTE|CENTER'.
  64.                   '|DIV|DL|XMP|PRE|MENU|DIR|OL|UL|P|MAP|SERVER|SCRIPT|NOBR'.
  65.                   '|WBR|BR|BASEFONT|FONT|EMBED|APPLET|HYPE|IMG|A|CITE|VAR|KBD'.
  66.                   '|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP|SUB|SMALL|BIG|B|I|TT'.
  67.                   '|#PCDATA|H6|H5|H4|H3|H2|H1',
  68.   'BODY'       => 'MULTICOL|ADDRESS|TABLE|HR|ISINDEX|FORM|BLOCKQUOTE|CENTER'.
  69.                   '|DIV|DL|XMP|PRE|MENU|DIR|OL|UL|P|MAP|SERVER|SCRIPT|NOBR'.
  70.                   '|WBR|BR|BASEFONT|FONT|EMBED|APPLET|HYPE|IMG|A|CITE|VAR|KBD'.
  71.                   '|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP|SUB|SMALL|BIG|B|I|TT'.
  72.                   '|#PCDATA|H6|H5|H4|H3|H2|H1',
  73.   'CAPTION'    => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  74.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  75.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  76.   'CENTER'     => 'MULTICOL|ADDRESS|TABLE|HR|ISINDEX|FORM|BLOCKQUOTE|CENTER'.
  77.                   '|DIV|DL|XMP|PRE|MENU|DIR|OL|UL|P|MAP|SERVER|SCRIPT|NOBR'.
  78.                   '|WBR|BR|BASEFONT|FONT|EMBED|APPLET|HYPE|IMG|A|CITE|VAR|KBD'.
  79.                   '|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP|SUB|SMALL|BIG|B|I|TT'.
  80.                   '|#PCDATA|H6|H5|H4|H3|H2|H1',
  81.   'CITE'       => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  82.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  83.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  84.   'CODE'       => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  85.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  86.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  87.   'DD'         => 'MULTICOL|ADDRESS|TABLE|HR|ISINDEX|FORM|BLOCKQUOTE|CENTER'.
  88.                   '|DIV|DL|XMP|PRE|MENU|DIR|OL|UL|P|MAP|SERVER|SCRIPT|NOBR'.
  89.                   '|WBR|BR|BASEFONT|FONT|EMBED|APPLET|HYPE|IMG|A|CITE|VAR|KBD'.
  90.                   '|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP|SUB|SMALL|BIG|B|I|TT'.
  91.                   '|#PCDATA',
  92.   'DFN'        => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  93.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  94.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  95.   'DIR'        => 'LI',
  96.   'DIV'        => 'MULTICOL|ADDRESS|TABLE|HR|ISINDEX|FORM|BLOCKQUOTE|CENTER'.
  97.                   '|DIV|DL|XMP|PRE|MENU|DIR|OL|UL|P|MAP|SERVER|SCRIPT|NOBR'.
  98.                   '|WBR|BR|BASEFONT|FONT|EMBED|APPLET|HYPE|IMG|A|CITE|VAR|KBD'.
  99.                   '|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP|SUB|SMALL|BIG|B|I|TT'.
  100.                   '|#PCDATA|H6|H5|H4|H3|H2|H1',
  101.   'DL'         => 'DD|DT',
  102.   'DT'         => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  103.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  104.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  105.   'EM'         => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  106.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  107.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  108.   'EMBED'      => 'MULTICOL|ADDRESS|TABLE|HR|ISINDEX|FORM|BLOCKQUOTE|CENTER'.
  109.                   '|DIV|DL|XMP|PRE|MENU|DIR|OL|UL|P|MAP|SERVER|SCRIPT|NOBR'.
  110.                   '|WBR|BR|BASEFONT|FONT|EMBED|APPLET|HYPE|IMG|A|CITE|VAR|KBD'.
  111.                   '|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP|SUB|SMALL|BIG|B|I|TT'.
  112.                   '|#PCDATA|H6|H5|H4|H3|H2|H1|NOEMBED',
  113.   'FONT'       => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  114.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  115.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  116.   'FORM'       => 'MULTICOL|ADDRESS|TABLE|HR|ISINDEX|BLOCKQUOTE|CENTER|DIV|DL'.
  117.                   '|XMP|PRE|MENU|DIR|OL|UL|P|MAP|SERVER|SCRIPT|NOBR|WBR|BR'.
  118.                   '|BASEFONT|FONT|EMBED|APPLET|HYPE|IMG|A|CITE|VAR|KBD|SAMP'.
  119.                   '|CODE|DFN|STRONG|EM|BLINK|SUP|SUB|SMALL|BIG|B|I|TT|#PCDATA'.
  120.                   '|H6|H5|H4|H3|H2|H1|INPUT|SELECT|TEXTAREA|KEYGEN',
  121.   'FRAMESET'   => 'NOFRAMES|FRAME|FRAMESET',
  122.   'H1'         => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  123.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  124.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  125.   'H2'         => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  126.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  127.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  128.   'H3'         => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  129.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  130.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  131.   'H4'         => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  132.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  133.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  134.   'H5'         => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  135.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  136.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  137.   'H6'         => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  138.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  139.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  140.   'HEAD'       => 'TITLE|ISINDEX|BASE|SCRIPT|SERVER|META|LINK',
  141.   'HTML'       => 'HEAD|#001|PLAINTEXT',
  142.   'I'          => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  143.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  144.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  145.   'KBD'        => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  146.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  147.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  148.   'LI'         => 'MULTICOL|ADDRESS|TABLE|HR|ISINDEX|FORM|BLOCKQUOTE|CENTER'.
  149.                   '|DIV|DL|XMP|PRE|MENU|DIR|OL|UL|P|MAP|SERVER|SCRIPT|NOBR'.
  150.                   '|WBR|BR|BASEFONT|FONT|EMBED|APPLET|HYPE|IMG|A|CITE|VAR|KBD'.
  151.                   '|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP|SUB|SMALL|BIG|B|I|TT'.
  152.                   '|#PCDATA',
  153.   'MAP'        => 'AREA',
  154.   'MENU'       => 'LI',
  155.   'MULTICOL'   => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  156.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  157.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  158.   'NOBR'       => 'MAP|SERVER|SCRIPT|WBR|BR|BASEFONT|FONT|EMBED|APPLET|HYPE'.
  159.                   '|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP|SUB'.
  160.                   '|SMALL|BIG|B|I|TT|#PCDATA',
  161.   'NOEMBED'    => '#PCDATA',
  162.   'NOFRAMES'   => 'BODY|#000',
  163.   'OL'         => 'LI',
  164.   'OPTION'     => '#PCDATA',
  165.   'P'          => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  166.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  167.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  168.   'PLAINTEXT'  => '%literal',
  169.   'PRE'        => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|A|CITE|VAR|KBD|SAMP'.
  170.                   '|CODE|DFN|STRONG|EM|BLINK|B|I|TT|#PCDATA',
  171.   'SAMP'       => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  172.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  173.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  174.   'SCRIPT'     => 'CDATA',
  175.   'SELECT'     => 'OPTION',
  176.   'SERVER'     => 'CDATA',
  177.   'SMALL'      => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  178.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  179.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  180.   'STRONG'     => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  181.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  182.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  183.   'SUB'        => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  184.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  185.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  186.   'SUP'        => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  187.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  188.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  189.   'TABLE'      => 'CAPTION|TR',
  190.   'TD'         => 'MULTICOL|ADDRESS|TABLE|HR|ISINDEX|FORM|BLOCKQUOTE|CENTER'.
  191.                   '|DIV|DL|XMP|PRE|MENU|DIR|OL|UL|P|MAP|SERVER|SCRIPT|NOBR'.
  192.                   '|WBR|BR|BASEFONT|FONT|EMBED|APPLET|HYPE|IMG|A|CITE|VAR|KBD'.
  193.                   '|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP|SUB|SMALL|BIG|B|I|TT'.
  194.                   '|#PCDATA|H6|H5|H4|H3|H2|H1',
  195.   'TEXTAREA'   => '#PCDATA',
  196.   'TH'         => 'MULTICOL|ADDRESS|TABLE|HR|ISINDEX|FORM|BLOCKQUOTE|CENTER'.
  197.                   '|DIV|DL|XMP|PRE|MENU|DIR|OL|UL|P|MAP|SERVER|SCRIPT|NOBR'.
  198.                   '|WBR|BR|BASEFONT|FONT|EMBED|APPLET|HYPE|IMG|A|CITE|VAR|KBD'.
  199.                   '|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP|SUB|SMALL|BIG|B|I|TT'.
  200.                   '|#PCDATA|H6|H5|H4|H3|H2|H1',
  201.   'TITLE'      => '#PCDATA',
  202.   'TR'         => 'TD|TH',
  203.   'TT'         => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  204.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  205.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  206.   'UL'         => 'LI',
  207.   'VAR'        => 'MAP|SERVER|SCRIPT|NOBR|WBR|BR|BASEFONT|FONT|EMBED|APPLET'.
  208.                   '|HYPE|IMG|A|CITE|VAR|KBD|SAMP|CODE|DFN|STRONG|EM|BLINK|SUP'.
  209.                   '|SUB|SMALL|BIG|B|I|TT|#PCDATA',
  210.   'XMP'        => '%literal',
  211. );
  212. %excludedElems = (
  213.   'A'        => 'A',
  214.   'DIR'      => 'P|UL|OL|DIR|MENU|PRE|XMP|DL|DIV|CENTER|BLOCKQUOTE|FORM'.
  215.                 '|ISINDEX|HR|TABLE|ADDRESS|MULTICOL',
  216.   'FORM'     => 'FORM',
  217.   'MENU'     => 'P|UL|OL|DIR|MENU|PRE|XMP|DL|DIV|CENTER|BLOCKQUOTE|FORM'.
  218.                 '|ISINDEX|HR|TABLE|ADDRESS|MULTICOL',
  219.   'NOBR'     => 'NOBR',
  220.   'NOEMBED'  => 'NOEMBED',
  221.   'NOFRAMES' => 'NOFRAMES',
  222.   'PRE'      => 'IMG|APPLET|HYPE|BIG|SMALL|SUB|SUP|FONT|EMBED',
  223.   'SELECT'   => 'INPUT|SELECT|TEXTAREA|KEYGEN',
  224.   'TEXTAREA' => 'INPUT|SELECT|TEXTAREA|KEYGEN',
  225.   'TITLE'    => 'SCRIPT|SERVER|META|LINK',
  226. );
  227. %includedElems = (
  228.   'FORM' => 'INPUT|SELECT|TEXTAREA|KEYGEN',
  229.   'HEAD' => 'SCRIPT|SERVER|META|LINK',
  230. );
  231. #======= ATTRIBUTES =======
  232. %tagsAttributes = (
  233.   'A' => {
  234.     'HREF'        => '%URL',
  235.     'NAME'        => 'CDATA',
  236.     'ONCLICK'     => '%Script',
  237.     'ONMOUSEOUT'  => '%Script',
  238.     'ONMOUSEOVER' => '%Script',
  239.     'TARGET'      => 'CDATA',
  240.   },
  241.   'APPLET' => {
  242.     'ALIGN'    => 'TOP|BOTTOM|LEFT|RIGHT',
  243.     'CODE'     => '%URL',
  244.     'CODEBASE' => '%URL',
  245.     'HEIGHT'   => '%Length',
  246.     'HSPACE'   => '%Pixels',
  247.     'NAME'     => 'CDATA',
  248.     'VSPACE'   => '%Pixels',
  249.     'WIDTH'    => '%Length',
  250.   },
  251.   'AREA' => {
  252.     'ALT'         => 'CDATA',
  253.     'COORDS'      => '%COORDS',
  254.     'HREF'        => '%URL',
  255.     'NAME'        => 'CDATA',
  256.     'NOHREF'      => 'NOHREF',
  257.     'ONMOUSEOUT'  => '%Script',
  258.     'ONMOUSEOVER' => '%Script',
  259.     'SHAPE'       => 'RECT|CIRCLE|POLY|DEFAULT',
  260.     'TARGET'      => 'CDATA',
  261.   },
  262.   'BASE' => {
  263.     'HREF'   => '%URL',
  264.     'TARGET' => 'CDATA',
  265.   },
  266.   'BASEFONT' => {
  267.     'SIZE' => '%fsize',
  268.   },
  269.   'BODY' => {
  270.     'ALINK'      => '%color',
  271.     'BACKGROUND' => '%URL',
  272.     'BGCOLOR'    => '%color',
  273.     'LINK'       => '%color',
  274.     'ONBLUR'     => '%Script',
  275.     'ONFOCUS'    => '%Script',
  276.     'ONLOAD'     => '%Script',
  277.     'ONUNLOAD'   => '%Script',
  278.     'TEXT'       => '%color',
  279.     'VLINK'      => '%color',
  280.   },
  281.   'BR' => {
  282.     'CLEAR' => 'LEFT|ALL|RIGHT',
  283.   },
  284.   'CAPTION' => {
  285.     'ALIGN' => 'TOP|BOTTOM',
  286.   },
  287.   'DIV' => {
  288.     'ALIGN' => 'LEFT|CENTER|RIGHT',
  289.   },
  290.   'DL' => {
  291.     'COMPACT' => 'COMPACT',
  292.   },
  293.   'EMBED' => {
  294.     'ALIGN'       => 'LEFT|RIGHT|TOP|BOTTOM',
  295.     'BORDER'      => '%border',
  296.     'FRAMEBORDER' => 'NO',
  297.     'HEIGHT'      => '%Pixels',
  298.     'HIDDEN'      => 'TRUE|FALSE',
  299.     'HSPACE'      => '%Pixels',
  300.     'NAME'        => 'CDATA',
  301.     'PALETTE'     => 'FOREGROUND|BACKGROUND',
  302.     'PLUGINSPAGE' => '%URL',
  303.     'PLUGINURL'   => '%URL',
  304.     'SRC'         => '%URL',
  305.     'TYPE'        => '%MIMEType',
  306.     'UNITS'       => '%Pixels',
  307.     'VSPACE'      => '%Pixels',
  308.     'WIDTH'       => '%Pixels',
  309.   },
  310.   'FONT' => {
  311.     'COLOR' => '%color',
  312.     'SIZE'  => '%rsize',
  313.   },
  314.   'FORM' => {
  315.     'ACTION'   => '%URL',
  316.     'ENCTYPE'  => '%Content-Type',
  317.     'METHOD'   => 'GET|POST',
  318.     'NAME'     => 'CDATA',
  319.     'ONRESET'  => '%Script',
  320.     'ONSUBMIT' => '%Script',
  321.     'TARGET'   => 'CDATA',
  322.   },
  323.   'FRAME' => {
  324.     'MARGINHEIGHT' => '%Pixels',
  325.     'MARGINWIDTH'  => '%Pixels',
  326.     'NAME'         => 'CDATA',
  327.     'NORESIZE'     => 'NORESIZE',
  328.     'SCROLLING'    => 'YES|NO|AUTO',
  329.     'SRC'          => '%URL',
  330.   },
  331.   'FRAMESET' => {
  332.     'COLS'     => '%frame-size',
  333.     'ONLOAD'   => '%Script',
  334.     'ONUNLOAD' => '%Script',
  335.     'ROWS'     => '%frame-size',
  336.   },
  337.   'H1' => {
  338.     'ALIGN' => 'LEFT|CENTER|RIGHT',
  339.   },
  340.   'H2' => {
  341.     'ALIGN' => 'LEFT|CENTER|RIGHT',
  342.   },
  343.   'H3' => {
  344.     'ALIGN' => 'LEFT|CENTER|RIGHT',
  345.   },
  346.   'H4' => {
  347.     'ALIGN' => 'LEFT|CENTER|RIGHT',
  348.   },
  349.   'H5' => {
  350.     'ALIGN' => 'LEFT|CENTER|RIGHT',
  351.   },
  352.   'H6' => {
  353.     'ALIGN' => 'LEFT|CENTER|RIGHT',
  354.   },
  355.   'HR' => {
  356.     'ALIGN'   => 'LEFT|RIGHT|CENTER',
  357.     'NOSHADE' => 'NOSHADE',
  358.     'SIZE'    => '%Pixels',
  359.     'WIDTH'   => '%Length',
  360.   },
  361.   'IMG' => {
  362.     'ALIGN'   => 'TOP|BOTTOM|LEFT|RIGHT',
  363.     'ALT'     => 'CDATA',
  364.     'BORDER'  => '%Pixels',
  365.     'HEIGHT'  => '%Length',
  366.     'HSPACE'  => '%Pixels',
  367.     'ISMAP'   => 'ISMAP',
  368.     'LOWSRC'  => '%URL',
  369.     'NAME'    => 'CDATA',
  370.     'ONABORT' => '%Script',
  371.     'ONERROR' => '%Script',
  372.     'ONLOAD'  => '%Script',
  373.     'SRC'     => '%URL',
  374.     'USEMAP'  => '%URLwithName',
  375.     'VSPACE'  => '%Pixels',
  376.     'WIDTH'   => '%Length',
  377.   },
  378.   'INPUT' => {
  379.     'ALIGN'     => 'TOP|BOTTOM|LEFT|RIGHT',
  380.     'BORDER'    => '%border',
  381.     'CHECKED'   => 'CHECKED',
  382.     'HEIGHT'    => '%Length',
  383.     'MAXLENGTH' => 'NUMBER',
  384.     'NAME'      => 'CDATA',
  385.     'ONBLUR'    => '%Script',
  386.     'ONCHANGE'  => '%Script',
  387.     'ONCLICK'   => '%Script',
  388.     'ONFOCUS'   => '%Script',
  389.     'ONSELECT'  => '%Script',
  390.     'SIZE'      => '%Pixels',
  391.     'SRC'       => '%URL',
  392.     'TYPE'      => 'BUTTON|CHECKBOX|FILE|HIDDEN|IMAGE|PASSWORD|RADIO|RESET'.
  393.                    '|SUBMIT|TEXT',
  394.     'VALUE'     => 'CDATA',
  395.     'WIDTH'     => '%Length',
  396.   },
  397.   'ISINDEX' => {
  398.     'PROMPT' => 'CDATA',
  399.   },
  400.   'KEYGEN' => {
  401.     'CHALLENGE' => 'CDATA',
  402.     'NAME'      => 'CDATA',
  403.   },
  404.   'LI' => {
  405.     'TYPE'  => '%LIStyle',
  406.     'VALUE' => 'NUMBER',
  407.   },
  408.   'MAP' => {
  409.     'NAME' => 'CDATA',
  410.   },
  411.   'META' => {
  412.     'CONTENT'    => 'CDATA',
  413.     'HTTP-EQUIV' => 'NAME',
  414.     'NAME'       => 'NAME',
  415.   },
  416.   'MULTICOL' => {
  417.     'COLS'   => 'NUMBER',
  418.     'GUTTER' => '%Pixels',
  419.     'WIDTH'  => '%Pixels',
  420.   },
  421.   'OL' => {
  422.     'START' => 'NUMBER',
  423.     'TYPE'  => '%OLStyle',
  424.   },
  425.   'OPTION' => {
  426.     'SELECTED' => 'SELECTED',
  427.     'VALUE'    => 'CDATA',
  428.   },
  429.   'P' => {
  430.     'ALIGN' => 'LEFT|CENTER|RIGHT',
  431.   },
  432.   'PARAM' => {
  433.     'NAME'  => 'NMTOKEN',
  434.     'VALUE' => 'CDATA',
  435.   },
  436.   'PRE' => {
  437.     'COLS' => 'NUMBER',
  438.     'WRAP' => 'WRAP',
  439.   },
  440.   'SELECT' => {
  441.     'MULTIPLE' => 'MULTIPLE',
  442.     'NAME'     => 'CDATA',
  443.     'ONBLUR'   => '%Script',
  444.     'ONCHANGE' => '%Script',
  445.     'ONCLICK'  => '%Script',
  446.     'ONFOCUS'  => '%Script',
  447.     'SIZE'     => '%Pixels',
  448.   },
  449.   'TABLE' => {
  450.     'ALIGN'       => 'LEFT|RIGHT',
  451.     'BORDER'      => '%border',
  452.     'CELLPADDING' => '%Pixels',
  453.     'CELLSPACING' => '%Pixels',
  454.     'HEIGHT'      => '%Pixels',
  455.     'HSPACE'      => '%Pixels',
  456.     'VSPACE'      => '%Pixels',
  457.     'WIDTH'       => '%Length',
  458.   },
  459.   'TD' => {
  460.     'ALIGN'   => 'LEFT|CENTER|RIGHT',
  461.     'COLSPAN' => 'NUMBER',
  462.     'HEIGHT'  => '%Length',
  463.     'NOWRAP'  => 'NOWRAP',
  464.     'ROWSPAN' => 'NUMBER',
  465.     'VALIGN'  => 'TOP|MIDDLE|BOTTOM|BASELINE',
  466.     'WIDTH'   => '%Length',
  467.   },
  468.   'TEXTAREA' => {
  469.     'COLS'     => 'NUMBER',
  470.     'NAME'     => 'CDATA',
  471.     'ONBLUR'   => '%Script',
  472.     'ONCHANGE' => '%Script',
  473.     'ONFOCUS'  => '%Script',
  474.     'ONSELECT' => '%Script',
  475.     'ROWS'     => 'NUMBER',
  476.     'WRAP'     => 'OFF|HARD|SOFT',
  477.   },
  478.   'TH' => {
  479.     'ALIGN'   => 'LEFT|CENTER|RIGHT',
  480.     'COLSPAN' => 'NUMBER',
  481.     'HEIGHT'  => '%Length',
  482.     'NOWRAP'  => 'NOWRAP',
  483.     'ROWSPAN' => 'NUMBER',
  484.     'VALIGN'  => 'TOP|MIDDLE|BOTTOM|BASELINE',
  485.     'WIDTH'   => '%Length',
  486.   },
  487.   'TR' => {
  488.     'ALIGN'  => 'LEFT|CENTER|RIGHT',
  489.     'VALIGN' => 'TOP|MIDDLE|BOTTOM|BASELINE',
  490.   },
  491.   'UL' => {
  492.     'TYPE' => 'DISC|SQUARE|CIRCLE',
  493.   },
  494. );
  495. %requiredAttrs = (
  496.   'A'        => 'NAME|HREF',
  497.   'APPLET'   => 'CODE&WIDTH&HEIGHT',
  498.   'AREA'     => 'COORDS&HREF',
  499.   'BASE'     => 'HREF',
  500.   'EMBED'    => 'SRC|TYPE',
  501.   'FRAME'    => 'SRC',
  502.   'FRAMESET' => 'ROWS|COLS',
  503.   'IMG'      => 'SRC',
  504.   'KEYGEN'   => 'NAME',
  505.   'MAP'      => 'NAME',
  506.   'META'     => 'CONTENT',
  507.   'MULTICOL' => 'COLS',
  508.   'PARAM'    => 'NAME&VALUE',
  509.   'SELECT'   => 'NAME',
  510.   'TEXTAREA' => 'NAME&COLS',
  511. );
  512. #======= ENTITIES =======
  513. %refEntities = (
  514.   'AElig'  => 'Æ',
  515.   'Aacute' => 'Á',
  516.   'Acirc'  => 'Â',
  517.   'Agrave' => 'À',
  518.   'Aring'  => 'Å',
  519.   'Atilde' => 'Ã',
  520.   'Auml'   => 'Ä',
  521.   'Ccedil' => 'Ç',
  522.   'ETH'    => 'Ð',
  523.   'Eacute' => 'É',
  524.   'Ecirc'  => 'Ê',
  525.   'Egrave' => 'È',
  526.   'Euml'   => 'Ë',
  527.   'Iacute' => 'Í',
  528.   'Icirc'  => 'Î',
  529.   'Igrave' => 'Ì',
  530.   'Iuml'   => 'Ï',
  531.   'Ntilde' => 'Ñ',
  532.   'Oacute' => 'Ó',
  533.   'Ocirc'  => 'Ô',
  534.   'Ograve' => 'Ò',
  535.   'Oslash' => 'Ø',
  536.   'Otilde' => 'Õ',
  537.   'Ouml'   => 'Ö',
  538.   'THORN'  => 'Þ',
  539.   'Uacute' => 'Ú',
  540.   'Ucirc'  => 'Û',
  541.   'Ugrave' => 'Ù',
  542.   'Uuml'   => 'Ü',
  543.   'Yacute' => 'Ý',
  544.   'aacute' => 'á',
  545.   'acirc'  => 'â',
  546.   'acute'  => '´',
  547.   'aelig'  => 'æ',
  548.   'agrave' => 'à',
  549.   'amp'    => '&',
  550.   'aring'  => 'å',
  551.   'atilde' => 'ã',
  552.   'auml'   => 'ä',
  553.   'brvbar' => '¦',
  554.   'ccedil' => 'ç',
  555.   'cedil'  => '¸',
  556.   'cent'   => '¢',
  557.   'copy'   => '©',
  558.   'curren' => '¤',
  559.   'deg'    => '°',
  560.   'divide' => '÷',
  561.   'eacute' => 'é',
  562.   'ecirc'  => 'ê',
  563.   'egrave' => 'è',
  564.   'eth'    => 'ð',
  565.   'euml'   => 'ë',
  566.   'frac12' => '½',
  567.   'frac14' => '¼',
  568.   'frac34' => '¾',
  569.   'gt'     => '>',
  570.   'iacute' => 'í',
  571.   'icirc'  => 'î',
  572.   'iexcl'  => '¡',
  573.   'igrave' => 'ì',
  574.   'iquest' => '¿',
  575.   'iuml'   => 'ï',
  576.   'laquo'  => '«',
  577.   'lt'     => '<',
  578.   'macr'   => '¯',
  579.   'micro'  => 'µ',
  580.   'middot' => '·',
  581.   'nbsp'   => ' ',
  582.   'not'    => '¬',
  583.   'ntilde' => 'ñ',
  584.   'oacute' => 'ó',
  585.   'ocirc'  => 'ô',
  586.   'ograve' => 'ò',
  587.   'ordf'   => 'ª',
  588.   'ordm'   => 'º',
  589.   'oslash' => 'ø',
  590.   'otilde' => 'õ',
  591.   'ouml'   => 'ö',
  592.   'para'   => '¶',
  593.   'plusmn' => '±',
  594.   'pound'  => '£',
  595.   'quot'   => '"',
  596.   'raquo'  => '»',
  597.   'reg'    => '®',
  598.   'sect'   => '§',
  599.   'shy'    => '­',
  600.   'sup1'   => '¹',
  601.   'sup2'   => '²',
  602.   'sup3'   => '³',
  603.   'szlig'  => 'ß',
  604.   'thorn'  => 'þ',
  605.   'times'  => '×',
  606.   'uacute' => 'ú',
  607.   'ucirc'  => 'û',
  608.   'ugrave' => 'ù',
  609.   'uml'    => '¨',
  610.   'uuml'   => 'ü',
  611.   'yacute' => 'ý',
  612.   'yen'    => '¥',
  613.   'yuml'   => 'ÿ',
  614. );
  615. %refParams = (
  616.   'COORDS'       => '(?:\d+(?:\s*,\s*|\s+))+\d+',
  617.   'Content-Type' => 'CDATA+',
  618.   'LIStyle'      => '&LIStype',
  619.   'Length'       => '\d+[%]?',
  620.   'MIMEType'     => 'CDATA+',
  621.   'OLStyle'      => '&OLStype',
  622.   'Pixels'       => '\d+',
  623.   'Script'       => 'CDATA',
  624.   'URL'          => '&URL',
  625.   'URLwithName'  => '&URL',
  626.   'border'       => '(?i)\d+|BORDER',
  627.   'frame-size'   => '(?:(?:\d+[*%]?|\*)\s*,\s*)*(?:\d+[*%]?|\*)',
  628.   'fsize'        => '[1-7]',
  629.   'rsize'        => '[+|-]?[1-7]',
  630.   'literal'      => 'CDATA',
  631.   'color'        => '(?i)#[0-9A-F]{6}'.
  632.                     '|aqua|black|blue|fuchsia|gray|green|lime|maroon'.
  633.                     '|navy|olive|purple|red|silver|teal|white|yellow'.
  634.                     '|aliceblue|antiquewhite|aquamarine|azure'.
  635.                     '|beige|bisque|blanchedalmond|blueviolet|brown|burlywood'.
  636.                     '|cadetblue|chartreuse|chocolate|coral|cornflowerblue'.
  637.                     '|cornsilk|crimson|cyan'.
  638.                     '|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen'.
  639.                     '|darkkhaki|darkmagenta|darkolivegreen|darkorange'.
  640.                     '|darkorchid|darkred|darksalmon|darkseagreen'.
  641.                     '|darkslateblue|darkslategray|darkturquoise|darkviolet'.
  642.                     '|deeppink|deepskyblue|dimgray|dodgerblue'.
  643.                     '|firebrick|floralwhite|forestgreen'.
  644.                     '|gainsboro|ghostwhite|gold|goldenrod|greenyellow'.
  645.                     '|honeydew|hotpink|indianred|indigo|ivory|khaki'.
  646.                     '|lavender|lavenderblush|lawngreen|lemonchiffon'.
  647.                     '|lightblue|lightcoral|lightcyan|lightgoldenrodyellow'.
  648.                     '|lightgreen|lightgrey|lightpink|lightsalmon'.
  649.                     '|lightseagreen|lightskyblue|lightslategray'.
  650.                     '|lightsteelblue|lightyellow|limegreen|linen'.
  651.                     '|magenta|mediumaquamarine|mediumblue|mediumorchid'.
  652.                     '|mediumpurple|mediumseagreen|mediumslateblue'.
  653.                     '|mediumspringgreen|mediumturquoise|mediumvioletred'.
  654.                     '|midnightblue|mintcream|mistyrose|moccasin'.
  655.                     '|navajowhite|oldlace|olivedrab|orange|orangered|orchid'.
  656.                     '|palegoldenrod|palegreen|paleturquoise|palevioletred'.
  657.                     '|papayawhip|peachpuff|peru|pink|plum|powderblue'.
  658.                     '|rosybrown|royalblue'.
  659.                     '|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna'.
  660.                     '|skyblue|slateblue|slategray|snow|springgreen|steelblue'.
  661.                     '|tan|thistle|tomato|turquoise|violet'.
  662.                     '|wheat|whitesmoke|yellowgreen',
  663. );
  664.  
  665. 1;
  666.