(57)【要約】【課題】Ｗｅｂ上で提供されるＨＴＭＬチェックサービスを利用する場合における情報漏洩の抑制を図り得る、ファイル出力装置、ファイル出力方法、及びプログラムを提供する。【解決手段】ＨＴＭＬチェックの対象となるファイルを出力するファイル出力装置２は、ＨＴＭＬチェックの対象となるファイルの元となったＨＴＭＬソースファイルに対して、タグ構造の解析を行い、ＨＴＭＬソースファイルに含まれるタグ以外の部分と、予め指定された属性を有するタグの属性値とを抽出する、解析部２２と、抽出されたタグ以外の部分及び属性値を、それぞれ、ダミーの文字列に置き換える、置換部２３と、ダミー文字列への置き換えが行われたＨＴＭＬファイル（スケルトンＨＴＭＬ）を、ＨＴＭＬチェックの対象となるファイルとして、外部に出力するチェック結果取得部２８とを備える。【選択図】図１
2010165090.tif 000002
【特許請求の範囲】
【請求項１】
ＨＴＭＬチェックの対象となるファイルを出力するファイル出力装置であって、
前記ＨＴＭＬチェックの対象となるファイルの元となったＨＴＭＬファイルに対して、タグ構造の解析を行い、前記ＨＴＭＬファイルに含まれるタグ以外の部分と、予め指定された属性を有するタグの属性値とを抽出する、解析部と、
抽出された前記タグ以外の部分及び前記属性値を、それぞれ、ダミーの文字列に置き換える、置換部と、
前記ダミー文字列への置き換えが行われた前記ＨＴＭＬファイルを、前記ＨＴＭＬチェックの対象となるファイルとして、外部に出力する出力部とを備える、ことを特徴とするファイル出力装置。
【請求項２】
記憶部と、復元部とを更に備え、
前記記憶部は、抽出された前記タグ以外の部分及び前記属性値と前記ダミー文字列との対応関係と、抽出された前記タグ以外の部分及び前記属性値の置換前の前記ＨＴＭＬファイルにおける出現位置とを記憶し、
前記復元部は、前記出力部によって出力された後に前記ＨＴＭＬチェックを受けたファイルを、前記記憶部に記憶されている前記対応関係と前記位置とを用いて、前記ＨＴＭＬファイルに復元する、請求項１に記載のファイル出力装置。
【請求項３】
前記予め指定された属性を有するタグが、ｈｒｅｆ属性、ｉｄ属性、またはｎａｍｅ属性を有するアンカー要素のタグである、請求項１または２に記載のファイル出力装置。
【請求項４】
前記解析部が、複数のアンカー要素の属性値を抽出している場合において、
前記置換部が、前記複数のアンカー要素のうちニ以上のアンカー要素の内容が同一であるかどうかを判定し、内容が同一のニ以上のアンカー要素の属性値を同一のダミーの文字列に置き換える、請求項３に記載のファイル出力装置。
【請求項５】
前記置換部が、抽出された前記タグ以外の部分及び前記属性値がブランクかどうかを判定し、ブランクに対しては前記ダミーの文字列への置き換えを中止する、請求項１〜４のいずれかに記載のファイル出力装置。
【請求項６】
前記解析部が、複数の前記属性値を抽出している場合において、
前記置換部が、抽出された複数の前記属性値のうちニ以上の前記属性値が同一であるかどうかを判定し、同一の二以上の前記属性値を同一のダミーの文字列に置き換える、請求項１〜５のいずれかに記載のファイル出力装置。
【請求項７】
抽出された前記タグ以外の部分及び前記属性値のうちいずれか又は両方に対して、長さの上限が設定されている場合において、
前記置換部が、設定されている前記長さの上限に応じて、前記ダミーの文字列の長さを調整する、請求項１〜６のいずれかに記載のファイル出力装置。
【請求項８】
前記置換部が、抽出された前記タグ以外の部分及び前記属性値のいずれかが、予め設定された文字列によって構成されているかどうかを判定し、前記予め設定された文字列によって構成された、前記タグ以外の部分及び前記属性値に対しては、前記ダミーの文字列への置き換えを中止する、請求項１〜７のいずれかに記載のファイル出力装置。
【請求項９】
ＨＴＭＬチェックの対象となるファイルを出力するためのファイル出力方法であって、（ａ）前記ＨＴＭＬチェックの対象となるファイルの元となったＨＴＭＬファイルに対して、タグ構造の解析を行い、前記ＨＴＭＬファイルに含まれるタグ以外の部分と、予め指
定された属性を有するタグの属性値とを抽出する、ステップと、
（ｂ）抽出された前記タグ以外の部分及び前記属性値を、それぞれ、ダミーの文字列に置き換える、ステップと、
（ｃ）前記ダミー文字列への置き換えが行われた前記ＨＴＭＬファイルを、前記ＨＴＭＬチェックの対象となるファイルとして、外部に出力するステップとを有する、ことを特徴とするファイル出力方法。
【請求項１０】
（ｄ）抽出された前記タグ以外の部分及び前記属性値と前記ダミー文字列との対応関係と、抽出された前記タグ以外の部分及び前記属性値の置換前の前記ＨＴＭＬファイルにおける出現位置とを記憶するステップと、
（ｅ）前記（ｃ）のステップで出力された後に前記ＨＴＭＬチェックを受けたファイルを、前記（ｄ）のステップで記憶されている前記対応関係と前記位置とを用いて、前記ＨＴＭＬファイルに復元するステップとを、更に有する、請求項９に記載のファイル出力方法。
【請求項１１】
前記予め指定された属性を有するタグが、ｈｒｅｆ属性、ｉｄ属性、またはｎａｍｅ属性を有するアンカー要素のタグである、請求項９または１０に記載のファイル出力方法。
【請求項１２】
前記（ａ）のステップで、複数のアンカー要素の属性値が抽出されている場合において、
前記（ｂ）のステップで、前記複数のアンカー要素のうちニ以上のアンカー要素の内容が同一であるかどうかを判定し、内容が同一のニ以上のアンカー要素の属性値を同一のダミーの文字列に置き換える、請求項１１に記載のファイル出力方法。
【請求項１３】
前記（ｂ）のステップで、抽出された前記タグ以外の部分及び前記属性値がブランクかどうかを判定し、ブランクに対しては前記ダミーの文字列への置き換えを中止する、請求項９〜１２のいずれかに記載のファイル出力方法。
【請求項１４】
前記（ａ）のステップで、複数の前記属性値が抽出されている場合において、
前記（ｂ）のステップで、抽出された複数の前記属性値のうちニ以上の前記属性値が同一であるかどうかを判定し、同一の二以上の前記属性値を同一のダミーの文字列に置き換える、請求項９〜１３のいずれかに記載のファイル出力方法。
【請求項１５】
抽出された前記タグ以外の部分及び前記属性値のうちいずれか又は両方に対して、長さの上限が設定されている場合において、
前記（ｂ）のステップで、設定されている前記長さの上限に応じて、前記ダミーの文字列の長さを調整する、請求項９〜１４のいずれかに記載のファイル出力方法。
【請求項１６】
前記（ｂ）のステップで、抽出された前記タグ以外の部分及び前記属性値のいずれかが、予め設定された文字列によって構成されているかどうかを判定し、前記予め設定された文字列によって構成された、前記タグ以外の部分及び前記属性値に対しては、前記ダミーの文字列への置き換えを中止する、請求項８〜１５のいずれかに記載のファイル出力方法。
【請求項１７】
ＨＴＭＬチェックの対象となるファイルをコンピュータによって出力するためのプログラムであって、
前記コンピュータに、
（ａ）前記ＨＴＭＬチェックの対象となるファイルの元となったＨＴＭＬファイルに対して、タグ構造の解析を行い、前記ＨＴＭＬファイルに含まれるタグ以外の部分と、予め指定された属性を有するタグの属性値とを抽出する、ステップと、
（ｂ）抽出された前記タグ以外の部分及び前記属性値を、それぞれ、ダミーの文字列に置き換える、ステップと、
（ｃ）前記ダミー文字列への置き換えが行われた前記ＨＴＭＬファイルを、前記ＨＴＭＬチェックの対象となるファイルとして、外部に出力するステップとを実行させる、ことを特徴とするプログラム。
【請求項１８】
（ｄ）抽出された前記タグ以外の部分及び前記属性値と前記ダミー文字列との対応関係と、抽出された前記タグ以外の部分及び前記属性値の置換前の前記ＨＴＭＬファイルにおける出現位置とを記憶するステップと、
（ｅ）前記（ｃ）のステップで出力された後に前記ＨＴＭＬチェックを受けたファイルを、前記（ｄ）のステップで記憶されている前記対応関係と前記位置とを用いて、前記ＨＴＭＬファイルに復元するステップとを、更に前記コンピュータに実行させる、請求項９に記載のプログラム。
【請求項１９】
前記予め指定された属性を有するタグが、ｈｒｅｆ属性、ｉｄ属性、またはｎａｍｅ属性を有するアンカー要素のタグである、請求項９または１０に記載のプログラム。
【請求項２０】
前記（ａ）のステップで、複数のアンカー要素の属性値が抽出されている場合において、
前記（ｂ）のステップで、前記複数のアンカー要素のうちニ以上のアンカー要素の内容が同一であるかどうかを判定し、内容が同一のニ以上のアンカー要素の属性値を同一のダミーの文字列に置き換える、請求項１１に記載のプログラム。
【請求項２１】
前記（ｂ）のステップで、抽出された前記タグ以外の部分及び前記属性値がブランクかどうかを判定し、ブランクに対しては前記ダミーの文字列への置き換えを中止する、請求項９〜１２のいずれかに記載のプログラム。
【請求項２２】
前記（ａ）のステップで、複数の前記属性値が抽出されている場合において、
前記（ｂ）のステップで、抽出された複数の前記属性値のうちニ以上の前記属性値が同一であるかどうかを判定し、同一の二以上の前記属性値を同一のダミーの文字列に置き換える、請求項９〜１３のいずれかに記載のプログラム。
【請求項２３】
抽出された前記タグ以外の部分及び前記属性値のうちいずれか又は両方に対して、長さの上限が設定されている場合において、
前記（ｂ）のステップで、設定されている前記長さの上限に応じて、前記ダミーの文字列の長さを調整する、請求項９〜１４のいずれかに記載のプログラム。
【請求項２４】
前記（ｂ）のステップで、抽出された前記タグ以外の部分及び前記属性値のいずれかが、予め設定された文字列によって構成されているかどうかを判定し、前記予め設定された文字列によって構成された、前記タグ以外の部分及び前記属性値に対しては、前記ダミーの文字列への置き換えを中止する、請求項８〜１５のいずれかに記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＨＴＭＬチェックサービスにソースファイルを出力するファイル出力装置、ファイル出力方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、インターネットの急速な普及により、あらゆる分野において、Ｗｅｂサイトの役割が大きくなっている。特にビジネスの分野において、Ｗｅｂサイトは、会社規模に拘わらず、宣伝、集客、販売、顧客発掘等の点で極めて重要である。このため、Ｗｅｂサイトには、将来にわたって、また、閲覧者の様々なコンピュータ環境に影響されることなく、正確にＷｅｂページを表示できることが求められている。
【０００３】
但し、Ｗｅｂサイトを構成する各Ｗｅｂページに、ＨＴＭＬの文法誤りや、推奨されない記述が含まれていると、将来的に、又は環境に依存して、意図しないレンダリング結果が発生して正確な表示が困難になる場合がある。この結果、アクセシビリティの低下を招く恐れがある。
【０００４】
よって、Ｗｅｂページの作成においては、アップロードの前に、ＨＴＭＬの文法誤りや、推奨されない記述を検出しておく必要があるが、これらの検出は、ブラウザによるレンダリング結果の確認だけでは困難である。このため、従来から、重要なＷｅｂページの作成においては、文法誤りを検出するバリデータ（validator）や、非推奨の記述に対して警告等を行うｌｉｎｔといったＨＴＭＬチェックを予め行なうことが望ましいと考えられる。
【０００５】
また、このようなＨＴＭＬチェックは、Ｗｅｂサイト上でＨＴＭＬチェックサービスとして提供されている。具体的には、バリデータによるＨＴＭチェックサービスとしては、「The W3C Markup Validation Service」（非特許文献１参照）が広く利用されている。ｌｉｎｔによるＨＴＭＬチェックサービスとしては「Another HTML-lint gateway」（非特許文献２参照）が広く利用されている。
【０００６】
但し、このようなＨＴＭＬチェックサービスを利用するためには、ＨＴＭＬソースを外部のサーバに送信する必要がある。このため、ＨＴＭＬチェックの対象となるＨＴＭＬソースが、公開前のＷｅｂページやアクセス制限付きのＷｅｂページなどの場合は、情報漏洩を招く恐れがある。そのため、情報漏洩の防止を図るためには、ＨＴＭＬチェックの環境をローカルに構築する必要性がある。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】“The W3C Markup Validation Service”、［online］、World Wide Web（W3C）、［平成２１年１月５日検索］、インターネット［URL:<http://validator.w3.org/>］
【非特許文献２】石野恵一郎、“Another HTML-lint gateway”、［online］、平成９年、［平成２１年１月５日検索］、インターネット［URL:<http://openlab.ring.gr.jp/k16/htmllint/htmllint.html>］
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、ＨＴＭＬチェックの環境をローカルに構築するに際しては、以下の問題
点が発生する。一つは、環境の構築に手間がかかるという問題である。また、もう一つは、ＨＴＭＬチェックサービスがダウンロード可能な形で提供されているとは限らないという問題である。更に、もう一つは、利用したいＨＴＭＬチェックサービスごとに環境を構築する必要があるという問題である。
【０００９】
本発明の目的は、上記問題を解消し、Ｗｅｂ上で提供されるＨＴＭＬチェックサービスを利用する場合における情報漏洩の抑制を図り得る、ファイル出力装置、ファイル出力方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明におけるファイル出力装置は、ＨＴＭＬチェックの対象となるファイルを出力するファイル出力装置であって、
前記ＨＴＭＬチェックの対象となるファイルの元となったＨＴＭＬファイルに対して、タグ構造の解析を行い、前記ＨＴＭＬファイルに含まれるタグ以外の部分と、予め指定された属性を有するタグの属性値とを抽出する、解析部と、
抽出された前記タグ以外の部分及び前記属性値を、それぞれ、ダミーの文字列に置き換える、置換部と、
前記ダミーの文字列への置き換えが行われた前記ＨＴＭＬファイルを、前記ＨＴＭＬチェックの対象となるファイルとして、外部に出力する出力部とを備える、ことを特徴とする。
【００１１】
また、上記目的を達成するため、本発明におけるファイル出力方法は、ＨＴＭＬチェックの対象となるファイルを出力するためのファイル出力方法であって、
（ａ）前記ＨＴＭＬチェックの対象となるファイルの元となったＨＴＭＬファイルに対して、タグ構造の解析を行い、前記ＨＴＭＬファイルに含まれるタグ以外の部分と、予め指定された属性を有するタグの属性値とを抽出する、ステップと、
（ｂ）抽出された前記タグ以外の部分及び前記属性値を、それぞれ、ダミーの文字列に置き換える、ステップと、
（ｃ）前記ダミーの文字列への置き換えが行われた前記ＨＴＭＬファイルを、前記ＨＴＭＬチェックの対象となるファイルとして、外部に出力するステップとを有する、ことを特徴とする。
【００１２】
更に、上記目的を達成するため、本発明におけるプログラムは、ＨＴＭＬチェックの対象となるファイルをコンピュータによって出力するためのプログラムであって、
前記コンピュータに、
（ａ）前記ＨＴＭＬチェックの対象となるファイルの元となったＨＴＭＬファイルに対して、タグ構造の解析を行い、前記ＨＴＭＬファイルに含まれるタグ以外の部分と、予め指定された属性を有するタグの属性値とを抽出する、ステップと、
（ｂ）抽出された前記タグ以外の部分及び前記属性値を、それぞれ、ダミーの文字列に置き換える、ステップと、
（ｃ）前記ダミーの文字列への置き換えが行われた前記ＨＴＭＬファイルを、前記ＨＴＭＬチェックの対象となるファイルとして、外部に出力するステップとを実行させる、ことを特徴とする。
【発明の効果】
【００１３】
以上の特徴により、本発明におけるファイル出力装置、ファイル出力方法、及びプログラムによれば、Ｗｅｂ上で提供されるＨＴＭＬチェックサービスを利用する場合における情報漏洩の抑制を図ることができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の実施の形態におけるファイル出力装置の概略構成を示すブロック図である。
【図２】図２は、内容置換テーブルの一例を示す図である。
【図３】図３は、本発明の実施の形態におけるファイル出力方法における処理の流れを示すフロー図である。
【図４】図４（ａ）は、ＨＴＭＬソースファイル（例１）を示し、図４（ｂ）は、ＨＴＭＬソースファイル（例１）から生成されたスケルトンＨＴＭＬ（例１）を示している。
【図５】図５（ａ）は、ＨＴＭＬソースファイル（例２）を示し、図５（ｂ）は、ＨＴＭＬソースファイル（例２）から生成されたスケルトンＨＴＭＬ（例２）を示している。
【図６】図６（ａ）は、ＨＴＭＬソースファイル（例３）を示し、図６（ｂ）は、ＨＴＭＬソースファイル（例３）から生成されたスケルトンＨＴＭＬ（例３）を示している。
【図７】図７（ａ）は、スケルトンＨＴＭＬ（例３）に対してＨＴＭＬチェックを行って得られたチェック結果を示し、図７（ｂ）は、図７（ａ）に示したチェック結果から得られた復元チェック結果を示している。
【図８】図８は、複数のＨＴＭＬチェックサービスを利用する場合の例を示すブロック図である。
【発明を実施するための形態】
【００１５】
（実施の形態）
以下、本発明の実施の形態におけるファイル出力装置、ファイル出力方法、及びプログラムについて、図１〜図８を参照しながら説明する。最初に、本実施の形態におけるファイル処理装置の概略構成について図１及び図２を用いて説明する。
【００１６】
図１は、本発明の実施の形態におけるファイル出力装置の概略構成を示すブロック図である。図１に示すファイル出力装置２は、ＨＴＭＬチェックの対象となるファイルを出力する装置である。本実施の形態においては、ファイル出力装置２は、ＨＴＭＬチェックサービスを提供するサーバ装置３に接続されている。
【００１７】
サーバ装置３によるＨＴＭＬチェックは、上述した非特許文献１又は非特許文献２に開示されたＨＴＭＬチェックと同様である。具体的には、ここでいうＨＴＭＬチェックは、ＨＴＭファイルに含まれるタグの書式に誤りはないかどうか、タグでマークアップされた要素が正しい階層構造を成しているかどうか、及び要素の出現位置が規則に反していないかどうかを、主なチェック対象とする。
【００１８】
また、図１に示すように、ファイル出力装置２は、解析部２２と、置換部２３と、チェック結果取得部２８とを備えている。解析部２２は、ＨＴＭＬチェックの対象となるファイルの元となったＨＴＭＬファイル（以下「ＨＴＭＬソースファイル」という。）に対して、タグ構造の解析を行う。そして、解析部２２は、解析結果に基づいて、ＨＴＭＬソースファイルに含まれるタグ以外の部分（以下「内容」とする。）と、予め指定された属性を有するタグの属性値とを抽出する。
【００１９】
置換部２３は、抽出された内容と、抽出された属性値とを、それぞれ、ダミーの文字列（ダミー文字列）に置き換える。ダミー文字列は、抽出された内容や属性値を無意味なものとする任意の文字列である。チェック結果取得部２８は、ダミー文字列への置き換えが行われたＨＴＭＬソースファイル（以下「スケルトンＨＴＭＬ」とする。）を、ＨＴＭＬチェックの対象となるファイルとして、外部のサーバ装置３に出力する。チェック結果取得部２８は、ファイルを外部に出力する出力部として機能する。
【００２０】
このように、ファイル出力装置２は、ＨＴＭＬソースファイルのタグ構造を残したまま、ＨＴＭＬチェックの対象とならない部分を無意味な内容に置換した「スケルトンＨＴＭ
Ｌ」を生成する。そして、ＨＴＭＬチェックは、スケルトンＨＴＭＬに対して実行される。よって、外部のＨＴＭＬチェックサービスにスケルトンＨＴＭＬを送信しても、そこから重要な情報が漏洩する可能性はなく、情報漏洩の抑制が図られる。
【００２１】
また、上述したように、ＨＴＭＬチェックでは、タグ構造に関する項目が主なチェック項目となることから、この場合、タグ構造が残されたスケルトンＨＴＭＬのチェック結果（以下、「スケルトンチェック結果」）は、ＨＴＭＬソースファイルをＨＴＭＬチェックして得られるチェック結果と略一致する。このため、スケルトンチェック結果は、ＨＴＭＬソースファイルの修正に役立てることができる。
【００２２】
ここで、本実施の形態におけるファイル出力装置２の構成及び各部の動作について、具体的に説明する。図１に示すように、本実施の形態においては、ファイル出力装置２は、解析部２２、置換部２３、及びチェック結果取得部２８に加えて、ＨＴＭＬ入力受付部２１と、記憶部２４と、復元部２６と、復元チェック結果出力部２７とを備えている。この構成により、ファイル出力装置２は、ＨＴＭＬチェックされた後のスケルトンＨＴＭＬを、元のＨＴＭＬファイルに復元することができる。更に、ファイル出力装置２には、利用者がＨＴＭＬソースファイルを入力するための入力装置１と、ＨＴＭＬチェックの結果を表示する表示装置４とが接続されている。
【００２３】
また、ファイル出力装置２は、後述するように、本実施の形態におけるプログラムをコンピュータにインストールすることによって実現されている。そして、本実施の形態におけるプログラムのフロントエンドが、ＨＴＭＬ入力受付部２１、解析部２２、置換部２３、チェック結果取得部２８、復元部２６、及び復元チェック結果出力部２７を構成している。
【００２４】
ＨＴＭＬ入力受付部２１は、利用者がＨＴＭＬソースファイルをファイル出力装置２に入力するためのインタフェースを提供している。ＨＴＭＬ入力受付部２１は、入力装置１からＨＴＭＬソースファイルが入力されると、その入力を受け付けて、読み込みを実行する。
【００２５】
また、本実施の形態において、入力装置１の具体例としては、キーボードやマウスといった入力機器や、利用者が利用する別のコンピュータ（端末装置）が挙げられる。なお、入力装置１が入力機器である場合は、ＨＴＭＬソースファイルが入力機器から直接入力される態様であっても良いし、入力機器によって指定されたＨＴＭＬファイルがハードディスク等からＨＴＭＬ入力受付部２１に入力される態様であっても良い。
【００２６】
解析部２２は、本実施の形態では、ＨＴＭＬソースファイルに含まれる各タグと、内容（タグ以外の部分）とを特定し、更に、タグについては、要素、属性及び属性値を特定する。そして、解析部２２は、ＨＴＭＬソースファイルに含まれる内容と、予め指定された属性を有するタグの属性値とを抽出する。
【００２７】
本実施の形態において、予め指定された属性としては、定められたキーワードや数値しか記述できない属性は除かれ、例えば、ｈｒｅｆ属性、ｉｄ属性、またはｎａｍｅ属性が挙げられる。また、この場合のタグとしては、アンカー要素が挙げられる。つまり、解析部２２は、例えば、予め指定された属性を有するタグの属性値として、ｈｒｅｆ属性、ｉｄ属性、またはｎａｍｅ属性を有するアンカー要素の属性値を抽出する。
【００２８】
また、ＨＴＭＬソースファイルは、文法誤りや、推奨されない記述を含む可能性があり、解析部２２は、正しいとは限らないＨＴＭＬソースファイルに対して解析を行う必要がある。このため、本実施の形態では、解析部２２は、階層構造や、開始タグと終了タグと
の対応については無視し、その上で、内容を抽出することができる。
【００２９】
置換部２３は、上述したように、抽出された内容及び属性値をダミー文字列に置き換える。本実施の形態においては、ダミー文字列としてどのような文字列を使用するかは特に限定されるものではないが、後述する内容置換テーブル２５での登録や復元の容易さの点から、ダミー文字列は次のように設定するのが好ましい。
【００３０】
具体的には、置換部２３は、内容に対して置き換えを行う場合は、例えば、“ｃｏｎｔ１”、“ｃｏｎｔ２”、・・・のように、ダミー文字列として“ｃｏｎｔ＋（連番）”を用いて置き換えを行うことができる。
【００３１】
また、置換部２３は、例えば、アンカー要素の属性値に対して置き換えを行う場合であって、属性がｈｒｅｆ属性、ｉｄ属性及びｎａｍｅ属性以外であるならば、“ｌｉｎｋ＋（連番）”や“ａｔｔｒｉｂｕｔｅ＋（連番）”を用いて置き換えを行うことができる。一方、置換部２３は、属性がページ外リンクのｈｒｅｆ属性の場合は、例えば、“ＵＲＬ＋（連番）”を用いて、属性がページ内リンクのｈｒｅｆ属性の場合は、例えば“＃ＩＤ＋（連番）”を用いて置き換えを行うことができる。また、置換部２３は、属性がｉｄ属性、又はｎａｍｅ属性の場合は、例えば“ＩＤ＋（連番）”を用いて置き換えを行うことができる。
【００３２】
更に、本実施の形態では、ＨＴＭＬチェックが、ブランクに対して警告を行うｌｉｎｔである場合を考慮し、置換部２３は、解析部２２で抽出された内容及び属性値がブランク（空、又はホワイトスペースのみ）であるかどうかを判定可能であるのが好ましい。ブランクが存在する場合は、置換部２３は、ブランクに対しては、ダミー文字列への置き換えを中止する（即ち、ブランクへのダミー文字列の書き込みは行われない。）。
【００３３】
また、ｌｉｎｔは、場所が異なる二以上のアンカー要素の内容が同一である場合に、これらの属性値によって示されたリンク先が異なると、警告を行う機能を備えている。よって、このようなｌｉｎｔを考慮するのであれば、置換部２３は、複数のアンカー要素のうちニ以上のアンカー要素の内容が同一であるかどうかを判定可能であるのが好ましい。この場合、置換部２３は、後述する内容置換テーブル２５の登録内容を参照し、内容が同一のニ以上のアンカー要素の属性値を、同一のダミー文字列、具体的には上述の連番が同一となるダミー文字列に置き換える。なお、アンカー要素の内容とは、アンカー要素の開始タグと終了タグとで挟まれている、リンクを設定するための内容や、アンカーを設定するための内容等を意味する。
【００３４】
更に、本実施の形態では、置換部２３は、抽出された複数の属性値のうちニ以上の属性値が同一であるかどうかを判定可能であるのが好ましい。この態様では、同一の二以上の属性値が存在する場合、置換部２３は、これらを同一のダミーの文字列に置き換えることができる。例えば、この態様では、リンク先、対応するページ内リンク、及びラベルについて、同一のものが二以上存在すると、これらは、同じ連番を持ったダミー文字列に置き換えられる。
【００３５】
また、ＨＴＭＬファイルでは、内容及び属性値のうちいずれか又は両方に対して、長さ（内容長）の上限が設定されている場合がある。この場合、置換部２３は、設定されている長さの上限に応じてダミー文字列の長さを調整可能であるのが好ましい。これは、上限が超えたことを原因としたＨＴＭＬチェックによるエラーの指摘が、消滅してしまうのを抑制するためである。具体的には、ある要素の属性値について上限が設定されている場合に、置換部２３は、置換後、ダミー文字列の後ろに文字「※」を付加し、置換後の長さを「上限」（「ｃｏｎｔ１※※※※※※※・・・」など）とすることができる。また、置換
部２３は、元の文字列長の情報を外部から隠蔽するため、置換後の長さを「上限＋α（α：１以上の整数）」とすることもできる。
【００３６】
また、本実施の形態では、置換部２３は、抽出された内容及び属性値のいずれかが、予め設定された文字列によって構成されているかどうかを判定可能であるのが好ましい。この態様では、予め設定された文字列によって構成された内容及び属性値が存在する場合、置換部２３は、ダミー文字列への置き換えを、これらに対しては中止する。
【００３７】
具体的には、ＨＴＭＬにおいては、アンカー要素の属性値として、「こちら（ｈｅｒｅ）」は使用すべきでないとされており、「こちら（ｈｅｒｅ）」はＨＴＭＬチェックのチェック項目となっている。よって、置換部２３は、例えば、「こちら（ｈｅｒｅ）」が抽出されると、これに対してのダミー文字列への置き換えを中止する。
【００３８】
記憶部２４は、解析部２２で抽出された内容及び属性値とダミー文字列との対応関係とを記憶している。また、記憶部２４は、抽出された内容及び属性値の置換前のＨＴＭＬファイルにおける出現位置、例えば、抽出された内容及び属性値がＨＴＭＬファイルにおいて出現している行も記憶している。
【００３９】
具体的には、記憶部２４の内部には、内容置換テーブル２５が構築されている。図２に示すように、対応関係及び出現位置は、内容置換テーブル２５によって管理及び登録されている。図２は、内容置換テーブルの一例を示す図である。また、本実施の形態では、対応関係及び出現位置の内容置換テーブル２５への登録は、置換部２３によって、ダミー文字列への置き換えの際に行われる。
【００４０】
チェック結果取得部２８は、生成結果のスケルトンＨＴＭＬを対象として、ＨＴＭＬチェックサービスを提供するサーバ装置３との間で通信を行っている。具体的には、本実施の形態では、チェック結果取得部２８は、スケルトンＨＴＭＬをサーバ装置３に出力し、その後、サーバ装置３によってＨＴＭＬチェックが行われたスケルトンＨＴＭＬ（スケルトンチェック結果）を取得する。
【００４１】
復元部２６は、チェック結果取得部２８によって取得された、スケルトンチェック結果を、内容置換テーブル２５に登録されている対応関係及び位置を用いて、ＨＴＭＬファイルに復元する。具体的には、復元部２６は、スケルトンチェック結果を検索対象として、内容置換テーブル２５に登録されているダミー文字列の検索を行い、検索によって見つけ出されたダミー文字列を置換前の文字列に変換する。
【００４２】
よって、得られたＨＴＭＬチェックの結果に本来含まれるはずだった情報が、復元され、結果的に、ＨＴＭＬソースファイルをそのままサーバ装置３に送信した場合と同様のファイルが得られることとなる。また、復元部２６は、最初に入力されたＨＴＭＬソースファイルを参照して、置き換え前の文字列を特定することもできる。この場合は、内容置換テーブルのメモリ使用量の抑制を図ることが可能となる。
【００４３】
復元チェック結果出力部２７は、復元部２６によって復元されたＨＴＭＬファイル（以下「復元チェック結果」という。）を外部の表示装置４に出力する。このとき、復元チェック結果出力部２７は、情報復元の処理を施して得られた復元チェック結果を、これが、ＨＴＭＬソースファイルをそのままＨＴＭＬチェックして得られたかのようにして、表示装置４に出力することができる。
【００４４】
表示装置４は、液晶表示装置やＣＲＴ等の画像表示装置であっても良いし、印刷装置のように媒体に結果を表示する装置であっても良い。また、表示装置４は、例えば、上述し
たように、入力装置１が、利用者が利用する別のコンピュータである場合は、その表示装置であっても良い。
【００４５】
このように、本実施の形態では、ＨＴＭＬソースファイルからスケルトンＨＴＭＬを生成する機能を持ったフロントエンドが与えられ、ＨＴＭＬソースファイルが入力されると、自動的にスケルトンＨＴＭＬが生成される。また、このフロントエンドは、更に、スケルトンチェック結果中に含まれる置換済みの文字列を置換前の文字列に復元して出力する機能を有している。そして、ＨＴＭＬチェックのチェック結果の形式は、ＨＴＭＬチェックサービスの仕様に依存するが、本実施の形態においては、チェック結果の形式に影響されることなく、チェック後のスケルトンＨＴＭＬは、元の状態に復元される。
【００４６】
よって、利用者は、ファイル出力装置（フロントエンド）２を介さないでＨＴＭＬチェックを受けた場合と何ら変わることなく、ＨＴＭＬチェックサービスを利用することができる。この結果、利用者は、ファイル出力装置２で行われた処理に気付くことなく、入力したＨＴＭＬソースファイルのチェック結果を確認できる。また、ＨＴＭＬチェックのチェック結果の精度は、ファイル出力装置２を介さない場合と、ファイルファイル出力装置２を介する場合とで同等である。
【００４７】
また、本実施の形態では、ファイル出力装置２は、利用者が利用するコンピュータに組み込まれていても良いし、独立したサーバ装置であっても良い。更に、ファイル出力装置２は、ＨＴＭＬチェックサービスを提供するサーバ装置３に組み込まれていても良い。
【００４８】
次に、本発明の実施の形態におけるファイル出力方法について図３を用いて説明する。図３は、本発明の実施の形態におけるファイル出力方法における処理の流れを示すフロー図である。本実施の形態におけるファイル出力方法は、図３に示した本実施の形態におけるファイル出力装置２を動作させることによって実施される。このため、本実施の形態におけるファイル出力方法の説明は、適宜図１及び図２を参酌しながら、ファイル出力装置２の動作を説明しながら行う。
【００４９】
図３に示すように、先ず、利用者が入力装置１を介してＨＴＭＬソースファイルを入力すると、ＨＴＭＬ入力受付部２１が、ＨＴＭＬソースファイルの入力を受け付ける（ステップＳ１）。そして、ＨＴＭＬ入力受付部２１は、入力を受け付けたＨＴＭＬソースファイルを解析部２２に入力する。
【００５０】
次に、解析部２２は、ＨＴＭＬソースファイルに対して、上段の行から順に解析を行い（ステップＳ２）、タグが含まれているかどうかを判定する（ステップＳ３）。ステップＳ３での判定の結果、解析対象となっている行にタグが含まれている場合は、解析部２２は、タグが含まれている行から、内容及び属性値を抽出し（ステップＳ４）、抽出した内容及び属性値を置換部２３に入力する。
【００５１】
次に、置換部２３は、ステップＳ４で抽出された内容及び属性値をダミー文字列に置き換え（ステップＳ５）、更に、置き換え前の内容及び属性値とダミー文字列との対応関係、置き換え前の内容及び属性値の位置を、内容置換テーブル２５に登録する（ステップＳ６）。
【００５２】
ステップＳ６が終了すると、解析部２２によって、解析対象となる行を変えて、更にステップＳ２及びＳ３が実行される。この場合に、ステップＳ３において、タグが含まれていると判定されると、解析部２２によるステップＳ４と、置換部２３によるステップＳ５が続けて実行される。
【００５３】
そして、ステップＳ２〜ステップＳ５までの処理は、ステップＳ３において、解析対象となっている行から最下段までの間にタグが含まれていないと判定されるまで、繰り返し行われる。ステップＳ３において、解析対象となっている行から最下段までの間にタグが含まれていないと判定された場合は、置換部２３はステップＳ７を実行する。ステップＳ７では、置換部２３は、ステップＳ５での処理結果に基づいて、スケルトンＨＴＭＬを生成する。
【００５４】
次に、チェック結果取得部２８は、ステップＳ７で生成されたスケルトンＨＴＭＬを、ＨＴＭＬチェックサービスを提供するサーバ装置３に送信する（ステップＳ８）。そして、チェック結果取得部２８は、サーバ装置３によるＨＴＭＬチェックが終了すると、ＨＴＭＬチェックが施されたスケルトンＨＴＭＬ（スケルトンチェック結果）を取得する（ステップＳ９）。
【００５５】
次に、復元部２６は、ステップＳ９で取得されたスケルトンチェック結果を検索対象として、上段の行から順に、内容置換テーブル２５に登録されているダミー文字列の検索を実行する（ステップＳ１０）。そして、復元部２６は、検索対象となった行に、登録されているダミー文字列が含まれているかどうかを判定する（ステップＳ１１）。
【００５６】
ステップＳ１１の判定の結果、登録されているダミー文字列が含まれている場合は、復元部２６は、ダミー文字列を置換前の文字列に変換する（ステップＳ１２）。ステップＳ１０〜Ｓ１２までの処理は、ステップＳ１１において、検索対象となっている行から最下段までの間にダミー文字列が含まれていないと判定されるまで、繰り返し行われる。
【００５７】
ステップＳ１１において、検索対象となっている行から最下段までの間にダミー文字列が含まれていないと判定された場合は、復元部２６は、ステップＳ１３を実行する。ステップＳ１３では、復元部２６は、ステップＳ１２での処理結果に基づいて、復元チェック結果を生成する。
【００５８】
次に、復元チェック結果出力部２７は、ステップＳ１３で得られた復元チェック結果を表示装置４に出力する（ステップＳ１４）。ステップＳ１４の実行により、ファイル出力装置２での処理は終了する。
【００５９】
ここで、図４〜図８を用いて、ＨＴＭＬソースファイルに処理を施した場合の具体例について説明する。図４（ａ）は、ＨＴＭＬソースファイル（例１）を示し、図４（ｂ）は、ＨＴＭＬソースファイル（例１）から生成されたスケルトンＨＴＭＬ（例１）を示している。
【００６０】
図４（ａ）に示すように、ＨＴＭＬソースファイル（例１）は、社外秘の問い合わせ先一覧表を記述しており、“製品１”や“○○事業部”といった機密情報を含んでいる。しかし、図４（ｂ）に示すように、置換処理が施されて得られたスケルトンＨＴＭＬ（例１）では、機密情報は“ｃｏｎｔ１”、“ｃｏｎｔ２”・・・となっており、外部に送信しても問題のない内容となっている。また、ｔａｂｌｅ要素のｓｕｍｍａｒｙ属性についても属性値の置換が施されているため、ｔａｂｌｅ要素が何の表であったかも分からない状態となっている。
【００６１】
図５（ａ）は、ＨＴＭＬソースファイル（例２）を示し、図５（ｂ）は、ＨＴＭＬソースファイル（例２）から生成されたスケルトンＨＴＭＬ（例２）を示している。図５（ａ）に示すように、ＨＴＭＬソースファイル（例２）は、ハイパーリンクを含んでいる。
【００６２】
図５（ａ）及び（ｂ）に示すように、アンカー要素の内容である“トップページ”、“
製品の特長”、及び“動作環境”は、“ｌｉｎｋ１”、“ｌｉｎｋ２”、“ｌｉｎｋ３”へと置換されている。また、ページ外リンクの先を記述したｈｒｅｆ属性の“ｔｏｐ．ｈｔｍｌ”は“ＵＲＬ１”へと置換されている。
【００６３】
更に、ページ内リンクの先は、ｈｒｅｆ属性、及びページ内リンクを以後で指定するｎａｍｅ属性それぞれにおいて、属性値“ｆｅａｔｕｒｅ”と、“ｅｎｖ”とを用いて記述されている。そして、同じ名前同士の対応を保持したまま“ＩＤ１”、“ＩＤ２”へと置換されている。つまり、ｈｒｅｆ属性における“ｆｅａｔｕｒｅ”、及びｎａｍｅ属性における“ｆｅａｔｕｒｅ”は、共に、“ＩＤ１”に置換されている。また、ｈｒｅｆ属性における“ｅｎｖ”、及びｎａｍｅ属性における“ｅｎｖ”は、共に、“ＩＤ２”に置換されている
【００６４】
図６（ａ）は、ＨＴＭＬソースファイル（例３）を示し、図６（ｂ）は、ＨＴＭＬソースファイル（例３）から生成されたスケルトンＨＴＭＬ（例３）を示している。図７（ａ）は、スケルトンＨＴＭＬ（例３）に対してＨＴＭＬチェックを行って得られたチェック結果を示し、図７（ｂ）は、図７（ａ）に示したチェック結果から得られた復元チェック結果を示している。
【００６５】
図６（ａ）に示したＨＴＭＬソースファイル（例３）は、図４（ａ）に示したＨＴＭＬソースファイル（例１）及び図５（ａ）に示したＨＴＭＬソースファイル（例２）と異なり、誤りを含んでいる。具体的には、ＨＴＭＬソースファイル（例３）では、本来、ｓｕｍｍａｒｙ属性と記述すべき箇所が、“ｓａｍｍａｒｙ”となっており、誤りが存在している。また、ｔａｂｌｅ要素の直下に、本来記述できないはずのｐ要素が記述されている。更に、ｔｒ要素の終了タグが、一つ抜け落ちている。このように、ＨＴＭＬソースファイルは、誤りを含んでいる。
【００６６】
また、図６（ｂ）に示すように、上述の誤りは、スケルトンＨＴＭＬ（例３）においても存在している。そして、図７（ａ）に示すように、チェック結果にも、上述のエラーが含まれており、エラー箇所についての指摘がなされている。また、図７（ａ）においては、エラー箇所の指摘は、ダミー文字列に対して（即ち、情報が除去された状態で）行われている。
【００６７】
但し、図７（ｂ）に示すように、復元部２６によって復元がおこなわれた後は、ダミー文字列は元の状態に再度置換され、復元チェック結果では、エラー箇所についての指摘は、置換後の内容及び属性値に対して行われている。
【００６８】
このように、利用者に示される復元チェック結果において、ダミー文字列に置換されていた部分は元に戻っている。よって、本実施の形態によれば、ＨＴＭＬソースファイルを、ファイル出力装置２を介さないでＨＴＭＬチェックにかけた場合と同等の結果が得られることとなる。
【００６９】
以上のように、本実施の形態におけるファイル出力装置２及びファイル出力方法によれば、機密情報を含んだＨＴＭＬファイルに対して、ローカルにＨＴＭＬチェック環境を構築することなく、機密情報の漏洩の抑制を図ることができる。また、本実施の形態におけるファイル出力装置２及びファイル出力方法は、どのようなＨＴＭＬチェックサービスに対しても適用できる。
【００７０】
本実施の形態におけるプログラムは、コンピュータに、図３に示すステップＳ１〜Ｓ１４を具現化させるプログラムであれば良い。そして、本実施の形態におけるプログラムをコンピュータにインストールし、これを実行すれば、上述したように、プログラムのフロ
ントエンドにより、ファイル出力装置２が実現される。この場合、コンピュータのＣＰＵ（central.processing unit）は、ＨＴＭＬ入力受付部２１、解析部２２、置換部２３、チェック結果取得部２８、復元部２６、及び復元チェック結果出力部２７として機能し、処理を行なう。
【００７１】
また、このように、ファイル出力装置２をフロントエンドとして提供すれば、利用者は、ファイル出力装置２を介さないでＨＴＭＬチェックサービスを利用する場合と変わらず、中間生成されるスケルトンＨＴＭＬやスケルトンチェック結果を意識せず、ＨＴＭＬチェックを受けることができる。
【００７２】
また、本実施の形態におけるファイル出力装置２、ファイル出力方法、及びプログラムは、ＨＴＭＬチェックサービスの形態に限定されるものではない。例えば、本実施の形態におけるファイル出力装置２、ファイル出力方法、及びプログラムは、複数のＨＴＭＬチェックサービスに対しても適用できる。
【００７３】
図８は、複数のＨＴＭＬチェックサービスを利用する場合の例を示すブロック図である。図８の例では、ファイル出力装置２は、ＨＴＭＬチェックサービスを提供する複数のサーバ装置３１−１〜３１−Ｎ（Ｎは任意の整数）に接続されており、利用者は、Ｎ通りのＨＴＭＬチェック結果を得ることができる。
【００７４】
例えば、ｌｉｎｔの場合、チェック項目はｌｉｎｔ作成者の裁量によるため、複数のｌｉｎｔでのチェック結果を比較したい場合が想定される。よって、通常、利用者は、複数のｌｉｎｔによるＨＴＭＬチェックを受けたい場合は、一つ一つの外部のＨＴＭＬチェックサービスを利用する操作を手動で繰り返す必要がある。しかし、図８に示すように、本実施の形態におけるファイル出力装置（フロントエンド）２によれば、利用者は、ファイル出力装置２から各ＨＴＭＬチェックサービスを呼び出すことができるので、１回の操作で複数のチェック結果を得ることができる。
【産業上の利用可能性】
【００７５】
以上のように、本発明のファイル出力装置、ファイル出力方法及びプログラムは、ＨＴＭＬチェック利用時における情報漏洩の抑制を図ることができ、Ｗｅｂサイトの作成に有効となる。本発明のファイル出力装置、ファイル出力方法及びプログラムは、産業上の利用可能性を有している。
【符号の説明】
【００７６】
１  入力装置
２  ファイル出力装置
３  サーバ装置
４  表示装置
２１  ＨＴＭＬ入力受付部
２２  解析部
２３  置換部
２４  記憶部
２５  内容置換テーブル
２６  復元部
２７  復元チェック結果出力部
２８  チェック結果取得部
３１−１〜３１−Ｎ  サーバ装置
【図１】
2010165090.tif 000003
【図２】
2010165090.tif 000004
【図３】
2010165090.tif 000005
【図４】
2010165090.tif 000006
【図５】
2010165090.tif 000007
【図６】
2010165090.tif 000008
【図７】
2010165090.tif 000009
【図８】
2010165090.tif 000010