(57)【特許請求の範囲】
【請求項１】
ＨＴＭＬ形式で記述されるウェブ文書の編集方法であって、コンピュータにより実行されるステップが、
所定の編集画面に表示されたＨＴＭＬソースコード内のウェブ文書に対し、前記ウェブ文書を編集するために使用者が入力手段を介して選択した領域情報及び前記ウェブ文書の選択された領域に対して前記使用者が入力した編集情報を受信する段階と、
前記領域情報に基づいて、選択された領域の開始位置及び終了位置に対応する前記ＨＴＭＬソースコードのそれぞれの位置に、第１臨時ノード及び第２臨時ノードを挿入する段階と、
前記第１臨時ノード及び第２臨時ノードが挿入されたＨＴＭＬソースコードの当該第１臨時ノード及び第２臨時ノード間に含まれる、ＨＴＭＬタグノード、前記第１臨時ノード又は第２臨時ノードによって囲まれた子ノードを全て抽出する段階と、
前記抽出された子ノードのうちのテキストノードに対し、前記テキストノードそれぞれを囲むように編集タグ対を前記ＨＴＭＬソースコードに挿入するとともに、前記挿入される編集タグ対に前記編集情報に対応する編集属性を付与する段階と、
前記第１臨時ノード及び第２臨時ノードを前記ＨＴＭＬソースコードから削除し、前記ウェブ文書に対する編集処理を完了させる段階と、を含み、
前記子ノードを全て抽出する段階は、
前記第１臨時ノード及び第２臨時ノードの間の全てのノードを含む親ノード情報を取得する段階と、
前記親ノードに含まれる全てのノードをスキャニングし、前記選択された領域の開始位置に対応する前記ＨＴＭＬソースコードに挿入された前記第１臨時ノードを検索する段階と、
前記第１臨時ノードが検索された場合に、検索された前記第１臨時ノード以後から順に、当該検索された第１臨時ノードに対応する前記第２臨時ノードが検索されるまでの間の前記ＨＴＭＬタグノード、前記第１臨時ノード又は第２臨時ノードによって囲まれた子ノードを全て抽出する段階と、を含むことを特徴とするウェブ文書編集方法。
【請求項２】
前記親ノードは、前記第１臨時ノード及び第２臨時ノードの間の全てのノードを含む所定のＨＴＭＬタグノードであることを特徴とする請求項１に記載のウェブ文書編集方法。
【請求項３】
前記編集タグ対は、スパン（Ｓｐａｎ）タグ対であることを特徴とする請求項１又は２に記載のウェブ文書編集方法。
【請求項４】
前記挿入される編集タグ対に前記編集情報に対応する編集属性を付与する段階は、
前記編集タグ対で囲まれたテキストノードのうち一部の領域が既に第２編集属性が付与された第２編集タグ対で囲まれている場合、前記第２編集属性が付与されていない領域に対しては前記第１編集属性を付与し、前記第２編集属性が付与されている領域に対しては、前記第２編集タグの第２編集属性を前記第１編集属性に変更する段階をさらに含むことを特徴とする請求項１から３のいずれか１つに記載のウェブ文書編集方法。
【請求項５】
前記第１編集属性と第２編集属性は、同一種類の編集属性であることを特徴とする請求項４に記載のウェブ文書編集方法。
【請求項６】
前記コンピュータは、使用者端末機であり、
前記使用者端末機に設置されたウェブブラウザーの種類を判断する段階と、
前記判断されたウェブブラウザーの種類に応じて前記子ノードを全て抽出する段階のノード抽出処理を遂行するために予め定められた関数束を呼び出す段階と、
をさらに含むことを特徴とする請求項１から４のいずれか１つに記載のウェブ文書編集方法。
【請求項７】
前記判断されたウェブブラウザーが前記第１臨時ノード及び第２臨時ノードを前記ＨＴＭＬソースコードに挿入する機能を支援しないウェブブラウザーである場合、前記第１臨時ノード及び第２臨時ノード挿入する段階において、ＨＴＭＬ形式に対応した臨時タグノードを前記第１臨時ノード及び第２臨時ノードとして前記選択された領域の開始位置及び終了位置に対応する前記ＨＴＭＬソースコードのそれぞれの位置に挿入することを特徴とする請求項６に記載のウェブ文書編集方法。
【請求項８】
前記臨時タグノードで挿入される前記第１臨時ノードに、第１識別子を付与し、前記臨時タグノードで挿入される前記第２臨時ノードに、に第２識別子を付与する段階をさらに含み、
前記子ノードを全て抽出する段階は、
前記第１識別子が付与されている前記臨時タグノードを前記第１臨時ノードとして識別し、前記第２識別子が付与されている前記臨時タグノードを前記第２臨時ノードとして識別することを特徴とする請求項７に記載のウェブ文書編集方法。
【請求項９】
前記抽出された子ノードに予め定められた特定タイプの客体が含まれるかを判断する段階と、
前記特定タイプの客体の子ノードが含まれている場合、前記特定タイプの客体が含まれていることを知らせるメッセージまたは前記使用者が入力した編集情報に対する編集処理が行われないことを知らせるメッセージを前記使用者に提供する段階と、
をさらに含むことを特徴とする請求項１から８のいずれか１つに記載のウェブ文書編集方法。
【請求項１０】
請求項１乃至請求項９のうち何れか１項に記載されたウェブ文書編集方法をコンピュータに実行させるためのプログラムが記録されたコンピュータ読取り可能な記録媒体。
【請求項１１】
ＨＴＭＬ形式で記述されるウェブ文書の編集装置であって、
所定の編集画面に表示されたＨＴＭＬソースコード内のウェブ文書に対し、前記ウェブ文書を編集するために使用者が入力手段を介して選択した領域情報及び前記ウェブ文書の選択された領域に対して前記使用者が入力した編集情報を受信するインターフェース部と、
前記領域情報に基づいて、選択された領域の開始位置及び終了位置に対応する前記ＨＴＭＬソースコードのそれぞれの位置に、第１臨時ノード及び第２臨時ノードを挿入する臨時ノード挿入部と、
前記第１臨時ノード及び第２臨時ノードが挿入されたＨＴＭＬソースコードの当該第１臨時ノード及び第２臨時ノードの間に含まれる、ＨＴＭＬタグノード、前記第１臨時ノード又は第２臨時ノードによって囲まれた子ノードを全て抽出する選択ノード抽出部と、
前記抽出された子ノードのうちのテキストノードに対し、前記テキストノードそれぞれを囲むように編集タグ対を前記ＨＴＭＬソースコードに挿入するとともに、前記挿入される編集タグ対に前記編集情報に対応する編集属性を付与する編集部と、
前記第１臨時ノード及び第２臨時ノードを前記ＨＴＭＬソースコードから削除する臨時ノード削除部と、を含み、
前記選択ノード抽出部は、前記第１臨時ノード及び第２臨時ノードの間の全てのノードを含む親ノード情報を取得し、前記親ノードに含まれる全てのノードをスキャニングし、前記選択された領域の開始位置に対応する前記ＨＴＭＬソースコードに挿入された前記第１臨時ノードを検索するとともに、検索された前記第１臨時ノード以後から順に、当該検索された第１臨時ノードに対応する前記第２臨時ノードが検索されるまでの間の前記ＨＴＭＬタグノード、前記第１臨時ノード又は第２臨時ノードによって囲まれた子ノードを全て抽出することを特徴とするウェブ文書編集装置。
【請求項１２】
前記親ノードは、前記第１臨時ノード及び第２臨時ノードの間の全てのノードを含む所定のＨＴＭＬタグノードであることを特徴とする請求項１１に記載のウェブ文書編集装置。
【請求項１３】
前記編集タグ対は、スパン（Ｓｐａｎ）タグ対であることを特徴とする請求項１１又は１２に記載のウェブ文書編集装置。
【請求項１４】
前記編集部は、
前記編集タグ対で囲まれたテキストノードのうち一部の領域が既に第２編集属性が付与された第２編集タグ対で囲まれている場合、前記第２編集属性が付与されていない領域に対しては前記第１編集属性を付与し、前記第２編集属性が付与されている領域に対しては、前記第２編集タグの第２編集属性を前記第１編集属性に変更することを特徴とする請求項１１から１３のいずれか１つに記載のウェブ文書編集装置。
【請求項１５】
前記第１編集属性と第２編集属性は、同一種類の編集属性であることを特徴とする請求項１４に記載のウェブ文書編集装置。
【請求項１６】
前記インターフェース部は、予め設置されたウェブブラウザーの種類を判断し、ウェブブラウザーの種類に応じて前記選択ノード抽出部によるノード抽出処理を遂行するために予め定められた関数束を呼び出すことを特徴とする請求項１１から１５のいずれか１つに記載のウェブ文書編集装置。
【請求項１７】
前記判断されたウェブブラウザーが前記第１臨時ノード及び第２臨時ノードを前記ＨＴＭＬソースコードに挿入する機能を支援しないウェブブラウザーである場合、前記臨時ノード挿入部は、前記ＨＴＭＬ形式に対応した臨時タグノードを前記第１臨時ノード及び第２臨時ノードとして前記選択された領域の開始位置及び終了位置に対応する前記ＨＴＭＬソースコードのそれぞれの位置に挿入することを特徴とする請求項１６に記載のウェブ文書編集装置。
【請求項１８】
第１識別子を生成して前記臨時タグノードで挿入される前記第１臨時ノードに付与し、第２識別子を生成して前記臨時タグノードで挿入される前記第２臨時ノードに付与する識別子生成部をさらに含み、
前記選択ノード抽出部は、前記１識別子が付与されている前記臨時タグノードを前記第１臨時ノードとして識別し、前記第２識別子が付与されている前記臨時タグノードを前記第２臨時ノードとして識別することを特徴とする請求項１７に記載のウェブ文書編集装置。
【請求項１９】
前記選択ノード抽出部によって抽出された子ノードに予め定められた特定タイプの客体が含まれるかを判断する客体判断部をさらに含み、
前記予め定められた特定タイプの客体の子ノードが含まれていると判断される場合、前記インターフェース部は、前記特定タイプの客体が含まれていることを知らせるメッセージまたは前記使用者が入力した編集情報に対する編集処理が行われないことを知らせるメッセージを使用者に提供することを特徴とする請求項１１から１８のいずれか１つに記載のウェブ文書編集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネット上での文書編集に関するもので、より詳細には、ウェブ文書編集方法に関するものである。
【背景技術】
【０００２】
インターネット及び通信技術の発達とともに、多様なサービスがインターネットを通じて使用者たちに提供されている。代表的なインターネットサービスとしては、ウェブメールサービスと、コミュニティ、ブログ及びカフェなどのサービス（以下、‘コミュニティサービス’という）がある。使用者たちは、このようなウェブメールサービスやコミュニティサービスが提供する多様なインターフェースを用いてインターネット上でメールまたは文書（以下、‘ウェブ文書’という）を作成したり、作成されたウェブ文書を編集することができる。
【０００３】
ここで、ウェブ文書編集とは、ウェブメールサービスを用いる過程で作成されたメールまたはコミュニティサービスを用いる過程で作成された掲示物に含まれたテキストの大きさ、フォント及び色相を変更することを意味する。
【０００４】
このようなウェブ文書編集は、ほとんどがウェブ基盤のウィジウィグ（Ｗｈａｔ  ｙｏｕ  ｓｅｅ  ｉｓ  ｗｈａｔ  ｙｏｕ  ｇｅｔ； Ｗｙｓｉｗｙｇ）エディター（以下、‘ウェブエディター’という）を用いて行われるが、ウェブエディターは、使用者端末機に設置されたウェブブラウザーで提供される機能を用いてウェブ文書に含まれたテキストまたはイメージなどの客体（オブジェクト）を編集可能な機能を提供する。
【０００５】
しかしながら、ウェブ文書に含まれた客体を編集するために従来のウェブブラウザーで提供する機能が非常に制限的であったため、このようなウェブブラウザーを用いてウェブ文書編集機能を提供するウェブエディターの提供可能なウェブ文書編集機能も制限的であった。
【０００６】
例えば、従来のウェブエディターの場合、テキストの大きさやフォントを変更することはできたが、従来のウェブブラウザーではテキストの行間隔を変更可能な機能が支援されなかったので、このようなウェブエディターもテキストの行間隔を変更できないという問題があった。
【０００７】
また、従来のウェブエディターの場合、フォントの大きさを変更可能な機能を支援しているが、従来のウェブブラウザーで提供されるフォントの大きさの変更は、ピクセル単位の変更を支援しておらず、予め定められた単位への変更のみを支援しているので、従来のウェブエディターも、フォントの大きさを真の意味のピクセル単位では変更できないという問題点があった。
【０００８】
一方、上記のような問題点の他にも、従来のウェブエディターの場合、ウェブブラウザーとの連動のためにウェブブラウザー判別コードを関数ごとに挿入し、該当の関数を実行する際、その度にウェブブラウザーの種類を判断しなければならないという不便さがあった。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、上述した問題点を解決するためのもので、ウェブ文書の自由な編集のためにウェブ文書上で使用者が選択した領域の客体を直接取得することで、使用者が選択した領域の客体を編集できるウェブ文書編集方法及び装置を提供することを目的とする。
【００１０】
また、本発明は、ウェブ文書上で使用者が選択した領域の客体を直接取得して編集を行うことで、既存のウェブブラウザーで提供されなかった多様な編集機能を提供できるウェブ文書編集方法及び装置を提供することを他の目的とする。
【００１１】
また、本発明は、従来の全てのウェブブラウザーと連動し、ウェブブラウザーの種類を判断する回数を最小化できるウェブ文書編集方法及び装置を提供することを更に他の目的とする。
【課題を解決するための手段】
【００１２】
上述した目的を達成するための本発明の一側面に係るウェブ文書編集装置は、ウェブ文書のうち編集のために使用者によって選択された第１領域情報及び前記第１領域に対する第１編集要請を使用者から受信する段階と、前記第１領域情報に基づいて前記第１領域の開始点と終了点に第１及び第２臨時ノードを挿入する段階と、前記第１及び第２臨時ノードの間に含まれた全てのノードを抽出する段階と、前記第１編集要請に対応する第１編集属性を前記抽出されたノードのうち少なくとも一つのノードに適用する段階とを含む。
【００１３】
このとき、前記ノード抽出段階は、前記第１及び第２臨時ノードの間の全てのノードを含む親ノード情報を獲得する段階と、前記親ノードに含まれた全てのノードを前記第１臨時ノードの発見時までスキャニングする段階と、前記第１臨時ノードが発見されると、以後に記録された全てのノードを前記第２臨時ノードの発見時まで抽出する段階とを含むことを特徴とする。ここで、前記親ノードとは、前記第１及び第２臨時ノードの間の全てのノードを含む所定のタグ対内に含まれたノードを意味する。
【００１４】
一方、前記第１編集属性は、前記抽出されたノードのうちテキストノードに適用することを特徴とするが、具体的に、前記第１編集属性適用段階は、前記抽出されたノードのうちテキストノードを第１タグ対で囲む段階と、前記第１タグ対に前記第１編集属性を付与する段階とを含むことを特徴とする。このとき、前記第１タグ対は、スパン（Ｓｐａｎ）タグ対であることを特徴とする。
【００１５】
本発明の一実施例に係るウェブ文書編集方法は、使用者端末機に設置されたウェブブラウザーの種類を判断する段階と、前記判断されたウェブブラウザーの種類によって前記ノード抽出のために予め定められた関数束を呼び出す段階とをさらに含むことができる。このとき、前記判断されたウェブブラウザーが前記第１及び第２臨時ノードの挿入機能を支援しないウェブブラウザーである場合、前記第１及び第２臨時ノード挿入段階で、ソースコード形態の臨時ノードを前記第１領域の開始点と終了点に挿入することを特徴とする。
【００１６】
また、変形された実施例に係るウェブ文書編集方法は、前記ノード抽出段階以後に、前記抽出されたノードに予め定められた特定タイプの客体が存在するかを判断する段階と、前記特定タイプの客体が存在する場合、前記特定タイプの客体が含まれたことを知らせるメッセージまたは前記第１編集要請が行われないことを知らせるメッセージを使用者に提供する段階とをさらに含むことができる。
【００１７】
一方、上述した各実施例において、ウェブ文書編集方法は、前記第１及び第２臨時ノードを前記第１領域から削除する段階をさらに含むことができる。
【００１８】
上述した目的を達成するための本発明の他の側面に係るウェブ文書編集装置は、ウェブ文書のうち編集のために使用者によって選択された第１領域情報及び前記第１領域に対する第１編集要請を使用者から受信するインターフェース部と、前記インターフェース部によって受信された第１領域情報に基づいて前記第１領域の開始点と終了点に第１及び第２臨時ノードを挿入する臨時ノード挿入部と、前記第１及び第２臨時ノードの間に含まれた全てのノードを抽出する選択ノード抽出部と、前記第１編集要請に対応する第１編集属性を前記抽出されたノードのうち少なくとも一つのノードに適用する編集部とを含む。
【発明の効果】
【００１９】
本発明によると、ウェブ文書上で使用者が選択した領域の客体を直接獲得し、使用者が選択した領域の客体を自由に編集することで、使用者の便宜性を極大化できるという効果がある。
【００２０】
また、本発明によると、ウェブ文書上で使用者が選択した領域の客体を直接獲得して編集を行うことで、既存のウェブブラウザーで提供されなかった多様な編集機能、例えば、ウェブ文書の行間隔調節、フォント大きさのピクセル単位への調整が可能になるという効果がある。
【００２１】
また、本発明によると、ライブラリー初期化時にウェブブラウザーの種類を判断し、各ウェブブラウザー別の関数束を呼び出しておくことで、関数実行時ごとにウェブブラウザーの種類を判断する必要がないので、ウェブブラウザーの種類を判断する回数を最小化できるという効果がある。
【発明を実施するための最良の形態】
【００２２】
以下、添付された図面に基づいて本発明の実施例に対して詳細に説明する。ここで、本発明の構成を説明する前に、本発明で使用される用語を簡略に定義する。本発明で使用されるノードとは、所定のタグによって囲まれている客体を意味するもので、ここで、客体（オブジェクト）は、テキスト、イメージ及びテーブルなどを含む概念である。特に、客体がテキストである場合、一つのテキストであるとしても、テキストの内部に臨時ノード（ｔｅｍｐｏｒａｒｙ  ｎｏｄｅ）が挿入されていると、臨時ノードを前後にして複数個のテキストノードに区分される。
【００２３】
図１は、本発明の一実施例に係るウェブ文書編集装置の概略的なブロック図である。図１に示すように、ウェブ文書編集装置１０は、使用者端末機（図示せず）に搭載されるもので、使用者によって発生するウェブ文書編集要請を受信し、受信されたウェブ文書編集要請に応答ウェブ文書を編集する機能を行った後、編集が完成されたウェブ文書をインターネット１２を通して連結されたウェブサーバー１４に伝送する。ここで、ウェブサーバー１４は、ブログサーバーやメールサーバーのようにウェブ文書製作を支援するサーバーである。
【００２４】
ウェブ文書編集装置１０がウェブ文書編集機能を行う際、ウェブ文書編集装置１０は、使用者端末機に設置されているウェブブラウザー（図示せず）と連動することで（ウェブブラウザーと共同して）、ウェブ文書編集機能を遂行する。このようなウェブ文書編集装置１０は、インターフェース部１６、臨時ノード挿入部１８、選択ノード抽出部２０、編集部２２及び臨時ノード削除部２４を含む。
【００２５】
インターフェース部１６は、ウェブ文書のうち編集のために使用者が選択した第１領域に対する情報と第１領域に対する編集要請とを使用者から受信する。例えば、インターフェース部１６は、作成されたウェブ文書のうち使用者がマウスなどの操作入力装置を用いてドラッグした領域に対する情報を受信すると同時に、選択した領域のフォントの大きさを変更したり、行間隔を変更したり、色相を変更したり、選択した領域にハイパーリンクを設定するなどの編集要請を受信する。
【００２６】
一実施例において、インターフェース部１６は、使用者端末機に設置されたウェブブラウザーの種類を判断することで、ノード抽出のために各ブラウザー別に予め定められた各関数を呼び出すことができる。例えば、インターフェース１６は、ウェブブラウザーがファイアーフォックス（Ｆｉｒｅ  Ｆｏｘ；以下、‘ＦＦ’という）であるか、またはインターネットエクスプローラ（Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ；以下、‘ＩＥ’という）であるかを区分し、ノード抽出のために各ブラウザー別に予め定められた各関数を呼び出す。
【００２７】
このために、本発明の一実施例において、ノード抽出に用いられる各関数は、ＦＦとＩＥが共通的に使用する関数束、ＦＦ専用関数束及びＩＥ専用関数束に分離される。
【００２８】
すなわち、本発明では、ノード抽出に用いられる各関数のうちＦＦとＩＥでの具現方法が異なる各関数を別途の束（群）に分離しておくことで、ブラウザー判別コードを関数ごとに挿入せずに、インターフェース部１６がライブラリー初期化時に一度だけブラウザーの種類を判断し、対応する各ブラウザー別の関数束及び各ブラウザーが共通的に使用する関数束を呼び出すことで、ブラウザー別に適切な関数がアプライメソッド（Ａｐｐｌｙ  Ｍｅｔｈｏｄ）を通してノード抽出に適用される。
【００２９】
このとき、ノード抽出のために各ブラウザー毎に具現方法が異なる関数には、第１領域に開始ノードまたは臨時ノード（開始ノードと臨時ノードに対しては、後述するノード挿入部の説明部分で詳しく述べる。）を挿入する“ｉｎｓｅｒｔＮｏｄｅＣｌｏｎｅ（ｎｏｄｅ）”関数、第１領域の幅が０であるかどうかを確認する“ｉｓＣｏｌｌａｓｐｅｄ（）”関数、開始ノードと終了ノードを基準にして領域を設定する“ｄｅｆｉｎｅＲａｎｇｅ（ｓｅｌｓｔａｒＮｏｄｅ、ｓｅｌＥｎｄＮｏｄｅ）”関数、及び第１領域を全て含む親ノード（親ノードに関しては、後述するノード抽出部の説明部分で詳しく述べる。）を取得する“ｇｅｔＣｏｍｍｏｎＡｎｃｅｓｔｅｒＣｏｎｔａｉｎｅｒ（）”関数などがある。
【００３０】
なお、上述した実施例においては、説明の便宜上、ウェブブラウザーがＦＦまたはＩＥであると説明したが、本発明がＦＦやＩＥに限定されないことは自明な事実である。
【００３１】
臨時ノード挿入部１８は、インターフェース部１６によって受信された使用者が選択した第１領域情報に基づく第１領域の開始点に第１臨時ノードを挿入し、第１領域の終了点に第２臨時ノードを挿入する。一実施例において、臨時ノード挿入は、使用者によって選択された第１領域のＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ソースコード上において、開始点と終了点にスパンタグ（Ｓｐａｎ  Ｔａｇ）対を挿入することで行われる。すなわち、第１領域の開始点にスパンタグ対を挿入することで第１臨時ノードを挿入し、第１領域の終了点に他のスパンタグ対を挿入することで第２臨時ノードを挿入する。
【００３２】
このとき、挿入されたスパンタグ対は、単純に開始点と終了点を表す臨時ノード挿入を定義するためのもので、各スパンタグには如何なる属性も付与されないが、スパンタグ内に臨時ノードであることを区分するための所定のテキストを挿入することは可能である。
【００３３】
選択ノード抽出部２０は、臨時ノード挿入部１８によって第１領域の開始点と終了点に挿入された第１及び第２臨時ノードの間の全てのノードを抽出し、これを臨時保存領域（図示せず）に保存する。ここで、選択ノードの抽出処理は、使用者が選択した第１領域が全て含まれている親ノードを取得した後、第１臨時ノードが発見される時まで親ノードに含まれた全ての子ノードを順次的にスキャニングし、第１臨時ノードが発見された後に、第１臨時ノード以後に記録された全ての子ノードを第２臨時ノードがされるまでスキャニングし、第１臨時ノード及び第２臨時ノードを抽出することにより行われる。このとき、親ノードは、インターフェース部１６によって呼び出される関数である“ｇｅｔＣｏｍｍｏｎＡｎｃｅｓｔｅｒＣｏｎｔａｉｎｅｒ（）”によって取得することができる。
【００３４】
なお、上述した臨時ノード挿入及び選択ノード抽出機能は、ウェブブラウザーがＦＦのようにノード挿入機能を支援している場合に遂行可能な機能であり、ＩＥのようにウェブブラウザーがノード挿入機能を支援しない場合、臨時ノード挿入部１８は、上述した方法で臨時ノードを挿入することができない。
【００３５】
そこで、インターフェース部１６によって判断されたウェブブラウザーがＩＥのようにノード挿入機能を支援しないウェブブラウザーである場合、臨時ノード挿入部１８は、ソースコード形態の臨時ノードを第１領域の開始点と終了点に挿入する。このために、本発明の一実施例に係るウェブ文書編集装置１０は、予め第１識別子を生成して第１領域の開始点に挿入されるソースコード形態の臨時ノードに付与し、第２識別子を生成して第１領域の終了点に挿入されるソースコード形態の臨時ノードに付与する識別子生成部２６をさらに含む。このとき、第１識別子及び第２識別子は、ウェブ文書のうち他のノードに付与された識別子と重畳されないように生成することが好ましい。
【００３６】
このような識別子を通じて、ウェブ文書編集装置１０は、第１識別子が付与されているソースコード形態の臨時ノードを第１臨時ノードとして認識し、第２識別子が付与されているソースコード形態の臨時ノードを第２臨時ノードとして認識するようになる。
【００３７】
以後、選択ノード抽出部２０は、第１臨時ノードが発見されるまで親ノードに含まれた全ての子ノードを順次的にスキャニングし、第１臨時ノードが発見された後に、第１臨時ノード以後に記録された全てのノードを第２臨時ノードが発見されるまでスキャニングして抽出することで、選択ノードを抽出する。
【００３８】
編集部２２は、第１編集要請に対応する第１編集属性を選択ノード抽出部２０によって抽出された選択ノードのうちテキストノードに適用することで、使用者が選択した第１領域のうちテキスト客体に対する編集を行う。一実施例において、編集部２２は、選択ノードのうちテキストノードをスパンタグ対で囲み、スパンタグに第１編集属性を付与することで、使用者が選択した第１領域に含まれたテキスト客体を編集する。
【００３９】
例えば、図２符号２ａに示すように、“本文の内容がこのように書かれています。”というテキストにおいて、使用者によって“容がこのように書”というテキストが選択された後、該当のテキストに対するフォント色相を変更する第１編集要請が生成された場合、編集部２２は、“本文の内＜ｓｐａｎ  ｓｔｙｌｅ＝“第１編集属性”＞容がこのように書＜／ｓｐａｎ＞かれています。”のように選択されたテキストノードのＨＴＭＬソースコード上で該当のテキストノードをスパンタグ（スパンタグ対）で囲んだ後、スパンタグに第１編集属性を付与することで、テキストノードを編集する。
【００４０】
一方、テキストノードのうち一部のテキスト領域に既に他の編集属性が付与されている場合、編集部２２は、選択されたテキストノードを一括的にスパンタグで囲むのではなく、選択されたテキストノードをスパンタグを基準にして複数個のテキストノードに分離した後、既に編集属性が付与されているテキストノードに対しては、既に付与された編集属性を新しい編集属性に変換し、編集属性が付与されていないテキストノードに対しては新しい編集属性を付与する。
【００４１】
このとき、既に付与された編集属性と新しく付与された編集属性は、同一種類の編集属性を意味する。例えば、既に付与された編集属性と新しく付与された編集属性が全てフォント色相変更またはフォント大きさ変更に関するものである場合を意味する。
【００４２】
すなわち、編集部２２は、選択されたテキストノードのうち、第２スパンタグ（対）で囲まれているテキストノードに対しては、第２スパンタグに付与されている第２編集属性を第１編集属性に変換し、第２スパンタグによって囲まれていないテキストノードに対しては、第１スパンタグで囲んだ後、第１スパンタグに第１編集属性を付与することで、該当のテキストノードを編集する。
【００４３】
例えば、図２の符号２ｂに示すように、使用者によって“本文の内容がこのように書かれています。”というテキストノードが選択されると同時に、選択されたテキストノードに対して第１編集要請が生成された場合、テキストノードのうち“このように書”という領域に既に第２編集属性が付与されているので、第１編集属性を付与する前の選択されたテキストノードに対するソースコードは、“本文の内＜ｓｐａｎ  ｓｔｙｌｅ＝“第２編集属性”＞容がこのように書＜／ｓｐａｎ＞かれています。”となる。
【００４４】
このとき、図２の符号２ｃに示すように、テキストノードのうち一部のテキスト領域に既に第２編集属性が付与されているにもかかわらず、選択されたテキストノード全体をスパンタグで囲むと、“＜ｓｐａｎ  ｓｔｙｌｅ＝“第１編集属性”＞本文の内＜ｓｐａｎ  ｓｔｙｌｅ＝“第２編集属性”＞容がこのように書＜／ｓｐａｎ＞かれています。＜／ｓｐａｎ＞”のようになり、第１編集属性は、第２編集属性が適用されているテキスト領域には影響を及ぼさなくなり、所望の結果を得ることができない。
【００４５】
したがって、この場合、図２の符号２ｄに示すように、選択されたテキストノードを第２スパンタグを基準にして“本文の内”、“容がこのように書”、“かれています。”のように３個のテキストノードに分離した後、第２スパンタグ（対）で囲まれていないテキストノードである“本文の内”と“かれています。”に対しては、第１スパンタグで囲んだ後、第１編集属性を付与し、第２スパンタグで囲まれているテキストノードである“容がこのように書”に対しては、第２編集属性を第１編集属性に変換させることで、選択されたテキストノードに対する編集を行う。
【００４６】
一方、図２の符号２ｂに示したテキストノードのうち、使用者によって“本文の内容が”という領域が選択されると同時に、第１編集要請が生成された場合、図２の符号２ｅに示すように、選択された“本文の内容が”という領域全体を第１スパンタグで囲むと、“＜ｓｐａｎ  ｓｔｙｌｅ＝“第１編集属性”＞本文の内＜ｓｐａｎ  ｓｔｙｌｅ＝“第２編集属性”＞容が＜／ｓｐａｎ＞このように書＜／ｓｐａｎ＞かれています。”のようになり、所望の結果を得ることができない。
【００４７】
したがって、この場合、図２の符号２ｆに示すように、まず、選択されたテキストノードを第２スパンタグを基準にして“本文の内”と“容が”のように２個のテキストノードに分離し、第２スパンタグ（対）で囲まれていないテキストノードである“本文の内”に対しては、第１スパンタグで囲んだ後、第１編集属性を付与する。一方、“容が”というテキストノードの場合、第２編集属性が付与されてはいるが、第２スパンタグで完全に囲まれていないので、“本文の内”というテキストノードのように第１スパンタグで囲んだ後、第１編集属性を付与するが、第２スパンタグはそのまま残しておく。
【００４８】
臨時ノード削除部２４は、第１領域から臨時ノード挿入部１８によって挿入された第１及び第２臨時ノードを削除する。なお、臨時ノード挿入部１８によって挿入された各臨時ノードが使用者によって視覚的に認知できないこともあり、各臨時ノードを削除しないこともあるので、当該臨時ノード削除部２４は、ウェブ文書編集装置１０に選択的に含まれるように構成することができる。
【００４９】
一方、本発明の一実施例に係るウェブ文書編集装置１０は、選択ノード抽出部２０によって抽出されたノードに予め定められた特定の客体が含まれているかどうかを判断する客体判断部２８をさらに含む。したがって、客体判断部２８によって選択ノードに特定の客体が含まれていると判断される場合、インターフェース部１６は、選択ノードに特定の客体が含まれていることを知らせるメッセージ、又は選択されたノードには使用者によって発生した第１編集要請が行われないことを知らせるメッセージを、使用者に提供することができる。
【００５０】
例えば、客体判断部２８によって選択ノードにストーリーフォトのような客体が存在すると判断される場合、インターフェース部１６は、図３に示すように、使用者によって選択された第１領域にはハイパーリンクを設定できないという警告メッセージを使用者に提供することができる。
【００５１】
上述したように、本発明の一実施例に係るウェブ文書編集装置は、ウェブブラウザーで提供される編集機能のみを用いてウェブ文書を編集するのではなく、ウェブ文書上で使用者が選択した領域に直接アクセスして編集を行えるので、既存のウェブブラウザーを用いたウェブ文書編集装置では提供できなかった多様な編集機能を提供することができる。
【００５２】
例えば、図４Ａに示すように、従来のＦＦのようなウェブブラウザーと連動されるウェブ文書編集装置の場合、背景色変更を選択すると、テキストのみならず、背景色も一緒に変更されたが、本発明の一実施例に係るウェブ文書編集装置を用いる場合、使用者が選択した領域に直接アクセスして編集を行うので、図４Ｂに示すように、使用者が選択した領域のうちテキスト領域の色相のみを変更することができる。
【００５３】
また、既存のウェブ文書編集装置の場合、ウェブブラウザーで行間隔調節機能を支援しないことから、ウェブ文書の編集過程で行間隔を調節できなかったが、本発明の一実施例に係るウェブ文書編集装置は、使用者が選択した領域に直接アクセスして編集を行うので、図５に示すように、ウェブ文書の行間隔を調節することもできる。
【００５４】
また、既存のウェブ文書編集装置の場合、図６Ａに示すように、フォントの大きさをピクセル単位に調節できないことから、ウェブブラウザーで定義している大きさのみに従って調節するしかなかったが、本発明の一実施例に係るウェブ文書編集装置は、使用者が選択した領域に直接アクセスして編集を行うので、図６Ｂに示すように、フォントの大きさをピクセル単位で調節することができ、フォントの大きさを多様に調節することができる。
【００５５】
以下、上述したウェブ文書編集装置を用いてウェブ文書を編集する方法を図７に基づいて具体的に説明する。
【００５６】
まず、ライブラリー初期化時に使用者端末機に設置されているウェブブラウザーの種類を判断する（第１００段階）。一実施例において、ウェブブラウザーの種類にはＦＦとＩＥが含まれる。第１００段階で判断されたウェブブラウザーがＦＦである場合、ＦＦ用ノード抽出のための関数束を呼び出す（第１１０段階）。このとき、ＦＦ用ノード抽出のための関数束と一緒に、各ウェブブラウザーが共通的に使用する関数束も呼び出すことが好ましい。
【００５７】
その後、使用者からウェブ文書のうち使用者が編集のために選択した第１領域に対する情報及び第１領域に対する編集要請を受信する（第１２０段階）。そして、受信した第１領域に対する情報に基づいて第１領域の開始点に第１臨時ノードを挿入し、第１領域の終了点に第２臨時ノードを挿入する（第１３０段階）。
【００５８】
次に、第１１０段階で呼び出された各関数のうち親ノードを取得する関数を用いて第１領域を全て含んでいる親ノードを取得した後（第１４０段階）、親ノードに含まれた各子ノードを第１臨時ノードの発見時までスキャニングし（第１５０段階）、スキャニング過程で第１臨時ノードが発見されると、第１臨時ノード以後の全ての子ノードを第２臨時ノードの発見時まで抽出する（第１６０段階）。
【００５９】
その後、抽出された各ノードのうちテキストノードを所定のタグ対で囲んだ後、所定のタグ対に第１編集要請に対応する編集属性を付与し、抽出されたテキストノードを編集する（第１７０段階）。このとき、テキストノードを囲むタグ対としては、スパンタグ対を用いることができる。テキストノードに第１編集属性を適用する方法に対しては編集部２０の説明部分で既に記述したので、それに対する詳細な説明は省略する。
【００６０】
最後に、挿入された第１及び第２臨時ノードを削除することで、選択されたテキストに対する編集を完了する（第１８０段階）。
【００６１】
一方、第１００段階で判断されたウェブブラウザーがＩＥである場合、第１００段階以後、ＩＥ用ノード抽出のための関数束を呼び出す（第１９０段階）。その後、使用者からウェブ文書のうち使用者が編集のために選択した第１領域に対する情報及び第１領域に対する編集要請を受信する（第２００段階）。次に、受信した第１領域の情報に基づいて第１領域の開始点と終了点にソースコード形態の臨時ノードを挿入する（第２１０段階）。ここで、ＦＦと異なり、ソースコード形態の臨時ノードを挿入する理由は、ＩＥのようなウェブブラウザーの場合、上述したようにノード挿入機能を支援しないためである。
【００６２】
その後、第１領域の開始点に挿入されるソースコード形態の臨時ノードに第１識別子を付与し、第１領域の終了点に挿入されるソースコード形態の臨時ノードに第２識別子を付与する（第２２０段階）。ここで、ソースコード形態の臨時ノードに第１識別子または第２識別子を付与する理由は、第１識別子が付与されているソースコード形態の臨時ノードを第１臨時ノードとして認識し、第２識別子が付与されているソースコード形態の臨時ノードを第２臨時ノードとして認識するためである。すなわち、ウェブ文書編集装置１０は、ソースコード形態の各臨時ノードを第１及び第２臨時ノードとして認識するようになる。
【００６３】
その後、上述した第１４０段階乃至第１８０段階を行うことで、ウェブ文書に対する編集を完了する。
【００６４】
一方、本発明の一実施例に係るウェブ文書編集方法の場合、第１６０段階で抽出されたノードに予め定められた特定タイプの客体が存在するかどうかどうかを判断し、判断結果、予め定められた特定タイプの客体が存在する場合、抽出されたノードには第１編集要請が行われないことを知らせるメッセージまたは選択ノードに特定タイプの客体が含まれていることを知らせるメッセージを使用者に伝送することもできる。
【００６５】
上述したウェブ文書編集方法を用いてウェブ文書を実際に編集する過程を図８Ａ乃至図８Ｆに基づいて具体的に説明する。
【００６６】
まず、図８Ａに示したテキスト及びイメージが記録されたウェブ文書上で、使用者が図８Ｂに示すように所定のテキスト及びイメージ客体を選択した後、図８Ｃに示すようにフォントの大きさを変更する編集要請を生成する場合、図８Ｄに示すように、選択された領域の開始点に第１臨時ノードである“［Ｓ−ｐｏｉｎｔ］”を挿入し、終了点に第２臨時ノードである“［Ｅ−ｐｏｉｎｔ］”を挿入する。このような臨時ノード挿入をＨＴＭＬソースコード観点で説明すると、第１領域の開始点に第１臨時ノードとして“＜ｓｐａｎ＞［Ｓ−ｐｏｉｎｔ］＜／ｓｐａｎ＞”が挿入されており、第１領域の終了点に第２臨時ノードとして“＜ｓｐａｎ＞［Ｅ−ｐｏｉｎｔ］＜／ｓｐａｎ＞”が挿入されていることが分かる。このような第１及び第２臨時ノード挿入を通じて、第１及び第２臨時ノードの間の全てのノードが抽出対象になる選択ノードであることが分かる。
【００６７】
次に、図８Ｅに示したＨＴＭＬソースコードから分かるように、抽出された選択ノードのうちテキストノードである“テキスト１”、“テキスト２”及び“テキス”をそれぞれスパンタグ対で囲み、各スパンタグにテキストノードのフォントの大きさを変更する編集属性を付与することで、選択されたテキストを編集する。
【００６８】
その後、図８Ｆに示すように、挿入された第１及び第２臨時ノードを削除することで、テキスト編集を完了する。
【００６９】
上述したウェブ文書編集方法（各ステップ）は、コンピュータで実行可能なプログラム（コンピュータを各ステップのように動作させるように制御するためのプログラム）として実現することも可能であり、当該プログラムがインストールされたコンピュータは、本発明のウェブ文書編集を遂行する情報処理装置として動作する。例えば、不図示の補助記憶装置に当該プログラムが格納され、ＣＰＵ等の制御部が補助記憶装置に格納されたプログラムを主記憶装置に読み出し、主記憶装置に読み出された該プログラムを制御部が実行し、コンピュータに本発明のウェブ文書編集を動作させることができる。また、本発明のウェブ文書編集方法のプログラムは、コンピュータ読取可能な記録媒体に記録されて使用者端末に提供されたり、インターネット等のネットワークを通じて使用者端末にダウンロードされることで提供することが可能である。コンピュータ読取可能な記録媒体としては、ＣＤ−ＲＯＭ等の光ディスク、ＤＶＤ−ＲＯＭ等の相変化型光ディスク、ＭＯ（Magnet Optical）やＭＤ(Mini Disk)などの光磁気ディスク、フロッピー（登録商標）ディスクやリムーバブルハードディスクなどの磁気ディスク、コンパクトフラッシュ（登録商標）、スマートメディア、SDメモリカード、メモリスティック等のメモリカードが挙げられる。また、本発明の目的のために特別に設計されて構成された集積回路（ICチップ等）等のハードウェア装置も記録媒体として含まれる。
【００７０】
図９Ａ乃至図９Ｄは、上述したウェブ文書編集方法をプログラム形態に具現するためのソースコードを示している。まず、図９Ａは、使用者端末機に設置されたウェブブラウザーの種類を判断し、ノード抽出のために各ウェブブラウザーが共通的に使用する関数束を呼び出したり、ノード抽出のために各ウェブブラウザー別に具現される関数束を呼び出して適用するためのソースコードを示している。
【００７１】
次に、図９Ｂは、判断されたウェブブラウザーの種類がＦＦである場合、臨時ノード挿入と選択ノード抽出のためのソースコードを示している。一番目の段落（３０）は、第１領域の開始点と終了点を定義するためのソースコードで、二番目の段落（３２）は、第１領域の開始点にスパンタグを用いて第１臨時ノードを挿入するためのソースコードで、三番目の段落（３４）は、第１領域の終了点にスパンタグを用いて第２臨時ノードを挿入するためのソースコードである。
【００７２】
四番目の段落（３６）は、第１臨時ノードと第２臨時ノードを全て含むノードを親ノードとして定義するためのソースコードで、五番目の段落（３８）は、選択ノードを抽出するためのソースコードとして、親ノードに属した全ての子ノードを第１臨時ノードの発見時までスキャニングし、第１臨時ノードが発見されると、第２臨時ノードの発見時までその間の全ての子ノードを抽出して保存するためのソースコードで、六番目の段落（４０）は、挿入された第１及び第２臨時ノードを削除するためのソースコードである。
【００７３】
図９Ｃは、判断されたウェブブラウザーの種類がＩＥである場合、臨時ノード挿入と選択ノード抽出のためのソースコードを示している。図９Ｃの場合、実際の臨時ノードでないソースコード形態の臨時ノードを挿入し、このようなソースコード形態の臨時ノードを第１及び第２臨時ノードとして認識することを除けば、図９Ｂと同一であるので、ここでは図９Ｂと異なる点に対してのみ説明する。
【００７４】
まず、二番目の段落（４２）は、第１領域の開始点に挿入されるソースコード形態の臨時ノード（以下、‘仮想臨時ノード’という）をスパンタグを用いて挿入するためのソースコードで、三番目の段落（４４）は、第１領域の終了点に挿入される仮想臨時ノードをスパンタグを用いて挿入するためのソースコードである。ここで、仮想臨時ノードにはそれぞれ別途の識別子が付与されるが、これら識別子として、ウェブ文書上で他のノードに付与されていない識別子が付与される。一実施例において、第１領域の開始点に挿入される仮想臨時ノードには第１識別子を付与し、第１領域の終了点に挿入される仮想臨時ノードには第２識別子を付与する。
【００７５】
四番目の段落（４６）は、第１識別子が付与されている仮想臨時ノードを実際の第１臨時ノードとして認識し、第２識別子が付与されている仮想臨時ノードを実際の第２臨時ノードとして認識するためのソースコードである。
【００７６】
図９Ｄは、選択されたノードに予め定められた特定の客体が含まれた場合、これに対する警告メッセージを使用者に提供するためのソースコードを示している。具体的に、選択されたノードのうちクラスネームがストーリーフォトである客体が含まれている場合、使用者に“ストーリーフォトが選択された状態です。”という警告メッセージを提供するためのソースコードである。変形された実施例においては、このような警告メッセージ以外に、使用者によって選択された領域には所定の編集要請が行われないことを知らせる警告メッセージを使用者に提供するようにソースコードを作成することもできる。
【００７７】
本発明の属する技術分野の当業者は、本発明がその技術的思想や必須的な特徴を変更しない範囲で他の具体的な形態で実施可能であることを理解するであろう。
【００７８】
例えば、上述した実施例においては、本発明のウェブ文書編集装置がウェブブラウザーのうちＦＦまたはＩＥと連動される場合を説明したが、変形された実施例においては、上述したＦＦやＩＥの他に、ネットスケープ（Ｎｅｔｓｃａｐｅ）、モジラ（Ｍｏｚｉｌｌａ）、アイキャンブラウザー（ＩｃａｎＢｒｏｗｓｅｒ）、オペラ（Ｏｐｅｒａ）などの多様なウェブブラウザーとも連動可能である。
【００７９】
したがって、以上説明した各実施例は、全ての面で例示的なものであり、限定的なものでないことを理解すべきである。本発明の技術的範囲は、上述した詳細な説明より特許請求の範囲によって示されており、特許請求の範囲の意味、範囲及びその等価概念から導出される全ての変更または変形された形態は、本発明の範囲に含まれるものとして解析されるべきである。
【図面の簡単な説明】
【００８０】
【図１】本発明の一実施例に係るウェブ文書編集装置の概略的なブロック図である。
【図２】本発明の一実施例によってテキストノードに編集属性を付与する例を示した図である。
【図３】選択ノードに特定の客体が含まれている場合、警告メッセージがディスプレイされた画面をキャプチャーして示した図である。
【図４Ａ】従来のウェブ文書編集装置を用いてウェブ文書の背景色を変更した結果を示した図である。
【図４Ｂ】本発明の一実施例に係るウェブ文書編集装置を用いてウェブ文書の背景色を変更した結果を示した図である。
【図５】本発明の一実施例に係るウェブ文書編集装置を用いてウェブ文書の行間隔を調節する画面をキャプチャーして示した図である。
【図６Ａ】従来のウェブ文書編集装置におけるフォント大きさを調節するためのメニューを示した図である。
【図６Ｂ】本発明の一実施例に係るウェブ文書編集装置におけるフォント大きさを調節するためのメニューを示した図である。
【図７】本発明の一実施例に係るウェブ文書編集方法を示したフローチャートである。
【図８Ａ】本発明によってウェブ文書を編集する過程の例示画面をキャプチャーして示した図である。
【図８Ｂ】本発明によってウェブ文書を編集する過程の例示画面をキャプチャーして示した図である。
【図８Ｃ】本発明によってウェブ文書を編集する過程の例示画面をキャプチャーして示した図である。
【図８Ｄ】本発明によってウェブ文書を編集する過程の例示画面をキャプチャーして示した図である。
【図８Ｅ】本発明によってウェブ文書を編集する過程の例示画面をキャプチャーして示した図である。
【図８Ｆ】本発明によってウェブ文書を編集する過程の例示画面をキャプチャーして示した図である。
【図９Ａ】本発明の一実施例に係るウェブ文書編集方法をプログラミングするためのソースコードを示した図である。
【図９Ｂ】本発明の一実施例に係るウェブ文書編集方法をプログラミングするためのソースコードを示した図である。
【図９Ｃ】本発明の一実施例に係るウェブ文書編集方法をプログラミングするためのソースコードを示した図である。
【図９Ｄ】本発明の一実施例に係るウェブ文書編集方法をプログラミングするためのソースコードを示した図である。
【符号の説明】
【００８１】
１０  ウェブ文書編集装置
１２  インターネット
１４  ウェブサーバー
１６  インターフェース部
１８  臨時ノード挿入部
２０  選択ノード抽出部
２２  編集部
２４  臨時ノード削除部
２６  識別子生成部
２８  客体判断部
【図１】
0004861389.tif 000002
【図２】
0004861389.tif 000003
【図３】
0004861389.tif 000004
【図４Ａ】
0004861389.tif 000005
【図４Ｂ】
0004861389.tif 000006
【図５】
0004861389.tif 000007
【図６Ａ】
0004861389.tif 000008
【図６Ｂ】
0004861389.tif 000009
【図７】
0004861389.tif 000010
【図８Ａ】
0004861389.tif 000011
【図８Ｂ】
0004861389.tif 000012
【図８Ｃ】
0004861389.tif 000013
【図８Ｄ】
0004861389.tif 000014
【図８Ｅ】
0004861389.tif 000015
【図８Ｆ】
0004861389.tif 000016
【図９Ａ】
0004861389.tif 000017
【図９Ｂ】
0004861389.tif 000018
【図９Ｃ】
0004861389.tif 000019
【図９Ｄ】
0004861389.tif 000020