home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2001 December (DVD) / VPR0112A.ISO / OLS / HTMLLINT / htmllint.lzh / common.rul < prev    next >
Text File  |  2001-07-08  |  18KB  |  520 lines

  1. # DOCTYPE に関する情報 (キーはファイル名)
  2. $doctypescnt = 0;
  3.   #  doctype   => DOCTYPE 宣言 (手抜きのため引用符の対応はいいかげん)
  4.   #  guess     => 不完全な宣言 (これから宣言を類推する)
  5.   #  superset  => ここで示されたHTMLのサブセットであることを示す
  6.   #  name      => 起動時オプションによる DOCTYPE 指定
  7.   #  guide     => ガイド文字列
  8.   #  abbr      => 短縮名
  9.   #  expired   => 廃棄された DOCTYPE のとき abbr と同じものを指定
  10.   #  obsoleted => 旧式になったとき代替として abbr と同じものを指定
  11.   #  group     => グループ名
  12.   #  order     => 順序
  13.   #  version   => HTMLヴァージョン
  14.   #  charref   => 文字参照限界
  15.   #  doclimit  => 文書サイズ限界 (KB)
  16.   #  scheme    => 追加スキーム
  17.   #  allschemes=> 利用可能なスキーム (未定義なら $allSchemes)
  18.   #  restrict  => SJIS限定等
  19.                   $restrictkana    = 1;  # 半角カナ可
  20.                   $restrictsjis    = 2;  # SJISのみ
  21.                   $restrictsjiseuc = 4;  # SJIS/EUCのみ
  22.   #  alloweuc  => 機種依存文字から除外する文字コード (範囲を示す対で指定)
  23.   #  allowsjis => 機種依存文字から除外する文字コード (範囲を示す対で指定)
  24. %doctypes = (
  25.   'html10' => {
  26.     guess     => 'HTML\s*1\.?0',
  27.     name      => 'html1\.?0',
  28.     guide     => 'HTML1.0',
  29.     abbr      => 'HTML1.0',
  30.     group     => 'HTML1.0',
  31.     order     => ++$doctypescnt,
  32.     version   => 1.0,
  33.     charref   => 256 },
  34.   'html20' => {
  35.     doctype   => 'HTML\s+PUBLIC\s+["\']-//IETF//DTD\s+HTML(\s+2\.0.*)?//EN["\']',
  36.     guess     => 'HTML\s*2\.?0',
  37.     name      => 'html2\.?0|rfc1866',
  38.     guide     => 'HTML2.0',
  39.     abbr      => 'HTML2.0',
  40.     expired   => 'HTML2.0',
  41.     group     => 'HTML2.0',
  42.     order     => ++$doctypescnt,
  43.     version   => 2.0,
  44.     charref   => 256 },
  45.   'i18n' => {
  46.     doctype   => 'HTML\s+PUBLIC\s+["\']-//IETF//DTD\s+HTML\s+i18n.*//EN["\']',
  47.     guess     => 'i18n',
  48.     name      => 'html2\.?x|i18n|rfc2070',
  49.     guide     => 'HTML2.x (i18n)',
  50.     abbr      => 'HTML2.x',
  51.     expired   => 'HTML2.x',
  52.     group     => 'HTML2.x',
  53.     order     => ++$doctypescnt,
  54.     version   => 2.0,
  55.     charref   => 2147483486 },
  56.   'htmlplus' => {
  57.     doctype   => 'HTMLPLUS\s+SYSTEM\s+["\']HTMLPLUS.DTD["\']',
  58. #   doctype   => 'HTMLPLUS\s+PUBLIC\s+["\']-//Internet/RFC \d+//EN["\']',
  59.     guess     => 'HTML\s*(\+|plus)',
  60.     name      => 'html+|htmlplus',
  61.     guide     => 'HTML+',
  62.     abbr      => 'HTML+',
  63.     expired   => 'HTML+',
  64.     group     => 'HTML+',
  65.     order     => ++$doctypescnt,
  66.     version   => 3.0,
  67.     charref   => 256 },
  68.   'arena' => {
  69.     doctype   => 'HTML\s+PUBLIC\s+["\']-//IETF//DTD\s+HTML\s+3\.0.*//EN["\']',
  70.     guess     => 'HTML\s*3\.?0',
  71.     name      => 'html3\.?0|arena',
  72.     guide     => 'HTML3.0',
  73.     abbr      => 'HTML3.0',
  74.     expired   => 'HTML3.0',
  75.     group     => 'HTML3.0',
  76.     order     => ++$doctypescnt,
  77.     version   => 3.0,
  78.     charref   => 256 },
  79.   'wilbur' => {
  80.     doctype   => 'HTML\s+PUBLIC\s+["\']-//W3C//DTD\s+HTML\s+3\.2.*//EN["\']',
  81.     guess     => 'HTML\s*3\.?2',
  82.     name      => 'html3\.?2|wilbur',
  83.     guide     => 'HTML3.2',
  84.     abbr      => 'HTML3.2',
  85.     group     => 'HTML3.2',
  86.     order     => ++$doctypescnt,
  87.     version   => 3.2,
  88.     charref   => 256 },
  89.   'html40-strict' => {
  90.     doctype   => 'HTML\s+PUBLIC\s+["\']-//W3C//DTD\s+HTML\s+4\.0//EN["\']',
  91.     guess     => 'HTML\s*4\.?0(?!1)',
  92.     superset  => 'html40-transitional',
  93.     name      => 'html4\.?0(-?s(trict)?)?|cougar(-s(trict)?)?',
  94.     guide     => 'HTML4.0 Strict',
  95.     abbr      => 'HTML4.0 Strict',
  96.     group     => 'HTML4.0',
  97.     obsoleted => 'html401-strict',
  98.     order     => ++$doctypescnt,
  99.     version   => 4.0,
  100.     charref   => 1114112 },
  101.   'html40-transitional' => {
  102.     doctype   => 'HTML\s+PUBLIC\s+["\']-//W3C//DTD\s+HTML\s+4\.0\s+Transitional//EN["\']',
  103.     name      => 'html4\.?0-?t(ransitional)?|cougar-t(ransitional)?',
  104.     guide     => 'HTML4.0 Transitional',
  105.     abbr      => 'HTML4.0 Transitional',
  106.     group     => 'HTML4.0',
  107.     obsoleted => 'html401-transitional',
  108.     order     => ++$doctypescnt,
  109.     version   => 4.0,
  110.     charref   => 1114112 },
  111.   'html40-frameset' => {
  112.     doctype   => 'HTML\s+PUBLIC\s+["\']-//W3C//DTD\s+HTML\s+4\.0\s+Frameset//EN["\']',
  113.     name      => 'html4\.?0-?f(rameset)?|cougar-f(rameset)?',
  114.     guide     => 'HTML4.0 Frameset',
  115.     abbr      => 'HTML4.0 Frameset',
  116.     group     => 'HTML4.0',
  117.     obsoleted => 'html401-frameset',
  118.     order     => ++$doctypescnt,
  119.     version   => 4.0,
  120.     charref   => 1114112 },
  121.   'html40-mobile' => {
  122.     doctype   => 'HTML\s+SYSTEM\s+["\']html40-mobile.dtd["\']',
  123.     name      => 'html4\.?0-?m(obile)?|cougar-m(obile)?',
  124.     superset  => 'html40-strict|15445',
  125.     guide     => 'HTML4.0 Mobile',
  126.     abbr      => 'HTML4.0 Mobile',
  127.     group     => 'HTML4.0',
  128.     order     => ++$doctypescnt,
  129.     version   => 4.0,
  130.     charref   => 1114112 },
  131.   'html401-strict' => {
  132.     doctype   => 'HTML\s+PUBLIC\s+["\']-//W3C//DTD\s+HTML\s+4\.01//EN["\']',
  133.     guess     => 'HTML\s*4\.?01',
  134.     superset  => 'html401-transitional',
  135.     name      => 'html4\.?01(-?s(trict)?)?',
  136.     guide     => 'HTML4.01 Strict',
  137.     abbr      => 'HTML4.01 Strict',
  138.     group     => 'HTML4.01',
  139.     order     => ++$doctypescnt,
  140.     version   => 4.0,
  141.     charref   => 1114112 },
  142.   'html401-transitional' => {
  143.     doctype   => 'HTML\s+PUBLIC\s+["\']-//W3C//DTD\s+HTML\s+4\.01\s+Transitional//EN["\']',
  144.     name      => 'html4\.?01-?t(ransitional)?',
  145.     guide     => 'HTML4.01 Transitional',
  146.     abbr      => 'HTML4.01 Transitional',
  147.     group     => 'HTML4.01',
  148.     order     => ++$doctypescnt,
  149.     version   => 4.0,
  150.     charref   => 1114112 },
  151.   'html401-frameset' => {
  152.     doctype   => 'HTML\s+PUBLIC\s+["\']-//W3C//DTD\s+HTML\s+4\.01\s+Frameset//EN["\']',
  153.     name      => 'html4\.?01-?f(rameset)?',
  154.     guide     => 'HTML4.01 Frameset',
  155.     abbr      => 'HTML4.01 Frameset',
  156.     group     => 'HTML4.01',
  157.     order     => ++$doctypescnt,
  158.     version   => 4.0,
  159.     charref   => 1114112 },
  160.   'xhtml1-strict' => {
  161.     doctype   => 'html\s+PUBLIC\s+["\']-//W3C//DTD\s+XHTML\s+1\.0(\s+Strict)?//EN["\']',
  162.     guess     => 'XHTML',
  163.     superset  => 'xhtml1-transitional',
  164.     name      => 'xhtml1(\.?0)?(-?s(trict)?)?',
  165.     guide     => 'XHTML1.0 Strict',
  166.     abbr      => 'XHTML1.0 Strict',
  167.     group     => 'XHTML1.0',
  168.     order     => ++$doctypescnt,
  169.     version   => 5.0,
  170.     charref   => 1114112 },
  171.   'xhtml1-transitional' => {
  172.     doctype   => 'html\s+PUBLIC\s+["\']-//W3C//DTD\s+XHTML\s+1\.0\s+Transitional//EN["\']',
  173.     name      => 'xhtml1(\.?0)?(-?t(ransitional)?)?',
  174.     guide     => 'XHTML1.0 Transitional',
  175.     abbr      => 'XHTML1.0 Transitional',
  176.     group     => 'XHTML1.0',
  177.     order     => ++$doctypescnt,
  178.     version   => 5.0,
  179.     charref   => 1114112 },
  180.   'xhtml1-frameset' => {
  181.     doctype   => 'html\s+PUBLIC\s+["\']-//W3C//DTD\s+XHTML\s+1\.0\s+Frameset//EN["\']',
  182.     name      => 'xhtml1(\.?0)?(-?f(rameset)?)?',
  183.     guide     => 'XHTML1.0 Frameset',
  184.     abbr      => 'XHTML1.0 Frameset',
  185.     group     => 'XHTML1.0',
  186.     order     => ++$doctypescnt,
  187.     version   => 5.0,
  188.     charref   => 1114112 },
  189.   'xhtml11' => {
  190.     doctype   => 'html\s+PUBLIC\s+["\']-//W3C//DTD\s+XHTML\s+1\.1//EN["\']',
  191.     name      => 'xhtml1\.?1',
  192.     guide     => 'XHTML1.1',
  193.     abbr      => 'XHTML1.1',
  194.     group     => 'XHTML1.1',
  195.     order     => ++$doctypescnt,
  196.     version   => 5.0,
  197.     charref   => 1114112 },
  198.   'xhtml-basic' => {
  199.     doctype   => 'html\s+PUBLIC\s+["\']-//W3C//DTD\s+XHTML\s+Basic\s+1\.0//EN["\']',
  200.     name      => 'xhtml-?b(asic)?(1\.?0?)?',
  201.     superset  => 'xhtml11',
  202.     guide     => 'XHTML Basic',
  203.     abbr      => 'XHTML Basic',
  204.     group     => 'XHTML1.1',
  205.     order     => ++$doctypescnt,
  206.     version   => 5.0,
  207.     charref   => 1114112 },
  208.   '15445' => {
  209.     doctype   => 'HTML\s+PUBLIC\s+["\']ISO/IEC\s+15445:2000//DTD\s+(HTML|HyperText\s+Markup\s+Language)//EN["\']',
  210.     guess     => '15445',
  211.     name      => '(iso(/iec)?)?15445|iso-?html',
  212.     guide     => 'ISO/IEC 15445',
  213.     abbr      => 'ISO/IEC 15445',
  214.     group     => 'ISO15445',
  215.     order     => ++$doctypescnt,
  216.     version   => 4.0,
  217.     charref   => 1114112 },
  218.   '15445-preparation' => {
  219.     doctype   => 'Pre-HTML\s+PUBLIC\s+["\']ISO/IEC\s+15445:2000//DTD\s+(HTML|HyperText\s+Markup\s+Language)//EN["\']',
  220.     name      => '((iso(/iec)?)?15445|iso-?html)-?p(re(paration)?)?',
  221.     guide     => 'ISO/IEC 15445 Preparation',
  222.     abbr      => 'ISO/IEC 15445 Preparation',
  223.     group     => 'ISO15445',
  224.     order     => ++$doctypescnt,
  225.     version   => 4.0,
  226.     charref   => 1114112 },
  227.   'mozilla20' => {
  228.     guess     => '(Netscape|Navigator|Mozilla)\D*2',
  229.     name      => 'mozilla2\.?0',
  230.     superset  => 'mozilla30|mozilla40',
  231.     guide     => 'Netscape Navigator 2.0 (Mozilla)',
  232.     abbr      => 'Mozilla2.0',
  233.     group     => 'Mozilla',
  234.     order     => ++$doctypescnt,
  235.     version   => 2.0,
  236.     scheme    => 'view-source|about|livescript|mocha|montulli|resource' },
  237.   'mozilla30' => {
  238.     guess     => '(Netscape|Navigator|Mozilla)\D*3',
  239.     name      => 'mozilla(3\.?0)?',
  240.     superset  => 'mozilla40',
  241.     guide     => 'Netscape Navigator 3.0 (Mozilla)',
  242.     abbr      => 'Mozilla3.0',
  243.     group     => 'Mozilla',
  244.     order     => ++$doctypescnt,
  245.     version   => 3.2,
  246.     scheme    => 'view-source|about|livescript|mocha|montulli|resource' },
  247.   'mozilla40' => {
  248.     guess     => '(Netscape|Navigator|Communicator|Mozilla)\D*([^23]|$)',
  249.     name      => 'mozilla4\.?0|communicator|navigator|netscape',
  250.     guide     => 'Netscape Navigator 4.0 (Mozilla)',
  251.     abbr      => 'Mozilla4.0',
  252.     group     => 'Mozilla',
  253.     order     => ++$doctypescnt,
  254.     version   => 3.2,
  255.     scheme    => 'view-source|about|livescript|mocha|montulli|resource' },
  256.   'ie30b' => {
  257.     doctype   => 'HTML\s+PUBLIC\s+["\']-//Microsoft//DTD\s+Internet\s+Explorer\s+3\.0\s+HTML//EN["\']',
  258.     name      => '(ms)?ie3\.?0b',
  259.     guide     => 'Microsoft Internet Explorer 3.0 beta',
  260.     abbr      => 'MSIE3.0beta',
  261.     group     => 'MSIE',
  262.     order     => ++$doctypescnt,
  263.     version   => 3.0,
  264.     scheme    => 'view-source|about|livescript|mocha|montulli' },
  265.   'ie30' => {
  266.     guess     => '(Internet Explorer|MSIE)\D*3',
  267.     name      => '(ms)?ie3\.?0',
  268.     guide     => 'Microsoft Internet Explorer 3.0',
  269.     abbr      => 'MSIE3.0',
  270.     group     => 'MSIE',
  271.     order     => ++$doctypescnt,
  272.     version   => 3.2,
  273.     scheme    => 'view-source|about|livescript|mocha|montulli' },
  274.   'ie40' => {
  275.     guess     => '(Internet Explorer|MSIE)\D*4',
  276.     name      => '(ms)?ie4\.?0',
  277.     guide     => 'Microsoft Internet Explorer 4.0',
  278.     abbr      => 'MSIE4.0',
  279.     group     => 'MSIE',
  280.     order     => ++$doctypescnt,
  281.     version   => 4.0,
  282.     scheme    => 'view-source|about|livescript|mocha|montulli' },
  283.   'ie50' => {
  284.     guess     => '(Internet Explorer|MSIE)\D*5(\.?0)?$',
  285.     name      => '(ms)?ie5\.?0',
  286.     guide     => 'Microsoft Internet Explorer 5.0',
  287.     abbr      => 'MSIE5.0',
  288.     group     => 'MSIE',
  289.     order     => ++$doctypescnt,
  290.     version   => 4.0,
  291.     scheme    => 'view-source|about|livescript|mocha|montulli' },
  292.   'ie55' => {
  293.     guess     => '(Internet Explorer|MSIE)\D*5\.?5',
  294.     name      => '(ms)?ie5\.?5|microsoft',
  295.     guide     => 'Microsoft Internet Explorer 5.5',
  296.     abbr      => 'MSIE5.5',
  297.     group     => 'MSIE',
  298.     order     => ++$doctypescnt,
  299.     version   => 4.0,
  300.     scheme    => 'view-source|about|livescript|mocha|montulli' },
  301.   'webexp' => {
  302.     name      => 'webexp(1\.1)?',
  303.     guide     => 'IBM WebExplorer 1.1',
  304.     abbr      => 'WebExplorer1.1',
  305.     group     => 'WebExplorer',
  306.     order     => ++$doctypescnt,
  307.     version   => 2.0,
  308.     charref   => 256 },
  309.   'compact-html' => {
  310.     doctype   => 'HTML\s+PUBLIC\s+["\']-//W3C//DTD\s+Compact\s+HTML\s+1.0\s+Draft//EN["\']',
  311.     guess     => 'Compact(\s+HTML)?',
  312.     name      => 'compact(-?html)?',
  313.     guide     => 'Compact HTML',
  314.     abbr      => 'Compact HTML',
  315.     group     => 'Compact HTML',
  316.     order     => ++$doctypescnt,
  317.     version   => 3.2,
  318.     charref   => 256 },
  319.   'imode' => {
  320.     guess     => '(DoCoMo|iMode)\D*(1|$)',
  321.     name      => 'imode(1\.?0)?',
  322.     guide     => 'NTT DoCoMo iMode 1.0',
  323.     abbr      => 'iMode1.0',
  324.     group     => 'iMode',
  325.     order     => ++$doctypescnt,
  326.     version   => 3.2,
  327.     charref   => 65536,
  328.     doclimit  => 2,
  329.     scheme    => 'tel',
  330.     restrict  => $restrictkana|$restrictsjis,
  331.     allowsjis => { 0xF89F => 0xF9B0 } },
  332.   'imode20' => {
  333.     guess     => '(DoCoMo|iMode)\D*2',
  334.     name      => 'imode2\.?0',
  335.     guide     => 'NTT DoCoMo iMode 2.0',
  336.     abbr      => 'iMode2.0',
  337.     group     => 'iMode',
  338.     order     => ++$doctypescnt,
  339.     version   => 3.2,
  340.     charref   => 65536,
  341.     doclimit  => 5,
  342.     scheme    => 'tel',
  343.     restrict  => $restrictkana|$restrictsjis,
  344.     allowsjis => { 0xF89F => 0xF9B0 } },
  345.   'imode30' => {
  346.     guess     => '(DoCoMo|iMode)\D*3',
  347.     name      => 'imode3\.?0',
  348.     guide     => 'NTT DoCoMo iMode 3.0',
  349.     abbr      => 'iMode3.0',
  350.     group     => 'iMode',
  351.     order     => ++$doctypescnt,
  352.     version   => 3.2,
  353.     charref   => 65536,
  354.     doclimit  => 5,
  355.     scheme    => 'tel',
  356.     restrict  => $restrictkana|$restrictsjis,
  357.     allowsjis => { 0xF89F => 0xF9B0 } },
  358.   'jskyweb' => {
  359.     guess     => 'J-?Sky(Web)?',
  360.     name      => 'j-?sky(web)?',
  361.     guide     => 'J-SkyWeb',
  362.     abbr      => 'J-SkyWeb',
  363.     group     => 'J-SkyWeb',
  364.     order     => ++$doctypescnt,
  365.     version   => 3.2,
  366.     charref   => 255,
  367.     doclimit  => 6,
  368.     scheme    => 'tel',
  369.     restrict  => $restrictkana|$restrictsjis },
  370.   'jskystation' => {
  371.     guess     => 'J-?Sky(Web)?\s*Station',
  372.     name      => 'j-?sky(web)?\s*station',
  373.     guide     => 'J-SkyWeb Station',
  374.     abbr      => 'J-SkyWeb Station',
  375.     group     => 'J-SkyWeb',
  376.     order     => ++$doctypescnt,
  377.     version   => 3.2,
  378.     charref   => 255,
  379.     doclimit  => 6,
  380.     scheme    => 'tel',
  381.     restrict  => $restrictkana|$restrictsjis },
  382.   'doti10' => {
  383.     guess     => '(doti)\D*(1|$)',
  384.     name      => 'doti(1\.?0)?',
  385.     guide     => 'TTNet ドットi 1.0',
  386.     abbr      => 'doti1.0',
  387.     group     => 'doti',
  388.     order     => ++$doctypescnt,
  389.     version   => 3.2,
  390.     charref   => 65536,
  391.     doclimit  => 10,
  392.     scheme    => 'tel',
  393.     allschemes=> 'http|mailto|tel',
  394.     restrict  => $restrictkana|$restrictsjiseuc, },
  395.   'jpo' => {
  396.     name      => 'jpo',
  397.     guide     => '特許出願用HTML',
  398.     abbr      => '特許出願用HTML',
  399.     group     => '特許出願用HTML',
  400.     order     => ++$doctypescnt,
  401.     version   => 0,
  402.     restrict  => $restrictkana|$restrictsjis,
  403.     alloweuc  => { 0xADA1 => 0xADA9 },
  404.     allowsjis => { 0x8740 => 0x8748 } },
  405. );
  406.  
  407. # DOCTYPE省略時の既定値
  408. $defaultrule = 'html401-transitional';
  409.  
  410. # サポートしていない DOCTYPE
  411. %xdoctypes = (
  412. );
  413.  
  414. # 物理的フォントタグとその代替え候補
  415. %physicalFontElements = (
  416.   B  => 'STRONG',
  417.   I  => 'EM',
  418.   TT => 'CODE|SAMP|KBD',
  419. );
  420.  
  421. # フォームコントロール
  422. $formControls = 'INPUT|TEXTAREA|SELECT|BUTTON|KEYGEN';
  423.  
  424. # 特定の要素の内容にしか書けないタグ
  425. %innerElements = (
  426.   FORM => 'INPUT|TEXTAREA|SELECT|BUTTON|KEYGEN',
  427. );
  428.  
  429. # ブラウザによる非サポートタグを吸収する対
  430. %nonsupportedTagsPair = (
  431.   FRAMESET => [ 'NOFRAMES', 'no-noframes' ],
  432.   SCRIPT   => [ 'NOSCRIPT', 'no-noscript' ],
  433. );
  434.  
  435. # 推奨されないタグの代替
  436. %altDeprecated = (
  437.   CENTER => 'DIV ALIGN="CENTER"',
  438.   DIR => 'UL',
  439.   MENU => 'UL',
  440. # NEXTID =>
  441.   ISINDEX => 'INPUT',
  442.   XMP => 'PRE',
  443. # LISTING =>
  444. # PLAINTEXT =>
  445.   APPLET => 'OBJECT',
  446.   'BASEFONT|FONT|S|STRIKE|U' => 'css',
  447. );
  448.  
  449. # ヘディングの独立ブロック
  450. $headingBlocks = 'BLOCK|BLOCKQUOTE|TABLE';
  451.  
  452. # タグの要素の先頭や末尾に空白を禁止するタグ
  453. $cuddleContainers = 'A|H\d|LI|TITLE';
  454.  
  455. # WAI で使うべきでないとされているタグ
  456. $shouldNotUse = 'BLINK|MARQUEE';
  457.  
  458. # WIDTH と HEIGHT 属性があった方がいいタグ
  459. $recommendedWidth = 'IMG|APPLET|EMBED|OBJECT';
  460.  
  461. # TITLE 属性があった方がいいタグ
  462. $recommendedTitle = 'ABBR|ACRONYM';
  463. $recommendedFrameTitle = 'FRAMESET|FRAME|IFRAME';
  464.  
  465. # LONGDESC 属性があった方がいいタグ
  466. #$recommendedLongdesc = 'FRAME';
  467.  
  468. # ACCESSKEY 属性があった方がいいタグ
  469. $recommendedAccesskey = 'A|AREA|LEGEND|INPUT|TEXTAREA|BUTTON';
  470.  
  471. # TABINDEX 属性があった方がいいタグ
  472. $recommendedTabindex = 'INPUT|TEXTAREA|BUTTON|SELECT';
  473.  
  474. # SUMMARY 属性があった方がいいタグ
  475. $recommendedSummary = 'TABLE';
  476.  
  477. # ABBR 属性があった方がいいタグ
  478. $recommendedAbbr = 'TH';
  479.  
  480. # NAME属性が廃止されるタグ
  481. $deprecatedName = 'A|APPLET|FORM|FRAME|IFRAME|IMG|MAP';
  482.  
  483. # あまり終了タグ省略性を認めたくないタグ
  484. $noOmissibleEndTags = 'HTML|HEAD|BODY|TR';
  485.  
  486. # <!-- --> で要素の内容を囲んだ方がいいタグ
  487. $commentedElement = 'SCRIPT|STYLE|SERVER';
  488.  
  489. # 共通スキーム
  490. $allSchemes  = # RFC1738
  491.                'ftp|http|gopher|mailto|news|nntp|telnet|wais|file|prospero'.
  492.                # RFC2224 2255 2192 2122  2056             2384 2392    2397
  493.                    '|nfs|ldap|imap|vemmi|z39\.50r|z39\.50s|pop|cid|mid|data'.
  494.                # HTML4.0
  495.                '|java|javascript'.
  496.                # Others
  497.                '|https|clsid|snews';
  498. $httpSchemes = 'https?';
  499.  
  500. # 予約フレーム名
  501. $reservedFrameNames = '_top|_self|_parent|_blank';
  502.  
  503. # HTML4.0 の Link Types
  504. $linkTypes = 'alternate|stylesheet|start|next|prev(?:ious)?|contents|toc|index|glossary|copyright|chapter|section|subsection|appendix|help|bookmark';
  505.  
  506. # <META NAME=ROBOTS CONTENTS> の値
  507. $robotsContents = 'ALL|NONE|FOLLOW|INDEX|NOFOLLOW|NOINDEX';
  508.  
  509. # ナヴィゲーション用リンク
  510. $navigationLinks = 'START|NEXT|PREV(IOUS)?|CONTENTS|INDEX|TOC|GLOSSARY|CHAPTER|(SUB)?SECTION|APPENDIX|HELP';
  511.  
  512. # <A> の好ましくない内容 (英大文字小文字区別なし)
  513. $hereAnchors = '(?:click\s+)?(?:here|this)(?:\s+(?:site|page|link))?[,.]?';
  514. $hereAnchorsJ =
  515.   '(?:ここ|ココ|これ|コレ|こちら|コチラ|こっち|コッチ|うち|ウチ|此所|此処|こんなの)(?:で|へ)?(?:、|。|,|.)?'.
  516.   '|(?:この|こちらの|コチラの|こっちの|コッチの|うちの|ウチの|此の)\s*(?:サイト|SITE|ページ|PAGE|リンク|LINK)(?:で|へ)?(?:、|。|,|.)?'.
  517.   '|(?:(?:ここ|ココ|此所|此処)を)?(?:クリック|CLICK|(?:クリック|CLICK|押)(?:し(?:て|ま)|す))[^<]*';
  518.  
  519. 1;
  520.