(57)【要約】【課題】ＸＭＬ文書の構成の適切さを監視しながら、ＸＭＬ文書を編集するためのフリースタイル編集環境を提供するワードプロセッサ機能を有する記録媒体及びその実行方法を提供すること。【解決手段】ワードプロセッサは、ＸＭＬ文書の構成が適切であるかどうかを判別し、構成の適切さを維持するようにＸＭＬ文書を自動的に訂正するために、ＸＭＬ文書を監視する。大容量メモリは、ワードプロセッサ２１０などのコンピュータアプリケーションプログラム１３０のためのプログラムコードおよびデータを格納することができる。ワードプロセッサ２１０は、ワードプロセッサ２１０によって作成および編集されるＸＭＬ文書の構成の適切さを監視する、ＸＭＬ文書構成判別モニタ２２０を含むことができる。【選択図】　　　　図１
2004030671.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実行可能な構成要素で符号化されたコンピュータ読取り可能な記録媒体であって、
ＸＭＬ文書の自由な編集を可能にするフリースタイル編集環境を提供するように構成されたワードプロセッサ機能と、
該ワードプロセッサ機能に関連付けられたＸＭＬ文書構成判別モニタ機能とを備え、
前記ＸＭＬ文書構成判別モニタ機能は、前記ＸＭＬ文書が適切に構成されているかどうかを判別するように構成されており、適切に構成されていない場合は前記ＸＭＬ文書を自動的に訂正することを特徴とするコンピュータ読取り可能な記録媒体。
【請求項２】
前記ＸＭＬ文書構成判別モニタは、前記ワードプロセッサの構成要素であることを特徴とする請求項１に記載のコンピュータ読取り可能な記録媒体。
【請求項３】
前記ＸＭＬ文書構成判別モニタは、前記ＸＭＬ文書が適切に構成されているかどうかを判別するための複数のＸＭＬ構成判別規則にアクセスすることを特徴とする請求項１に記載のコンピュータ読取り可能な記録媒体。
【請求項４】
前記複数のＸＭＬ構成判別規則はタグマッチング規則を含み、前記タグマッチング規則は、あらゆるオープンタグがマッチングクローズタグを有し、あらゆるクローズタグがマッチングオープンタグを有するものであることを要求することを特徴とする請求項３に記載のコンピュータ読取り可能な記録媒体。
【請求項５】
前記複数のＸＭＬ構成判別規則はタグネスティング規則を含み、前記タグネスティング規則は、ＸＭＬ要素が適切にネストされるものであることを要求することを特徴とする請求項３に記載のコンピュータ読取り可能な記録媒体。
【請求項６】
前記ＸＭＬ文書構成判別モニタは、構成の適切さを維持するために前記ＸＭＬ文書を自動的に訂正するための複数の訂正規則にアクセスすることを特徴とする請求項１に記載のコンピュータ読取り可能な記録媒体。
【請求項７】
前記複数の訂正規則は、タグマッチング違反の原因となったＸＭＬタグを自動的に削除することによってタグマッチング違反を訂正するための訂正規則を含むことを特徴とする請求項６に記載のコンピュータ読取り可能な記録媒体。
【請求項８】
前記複数の訂正規則は、第１のＸＭＬ要素が第２のＸＭＬ要素内に含まれるように、前記第１のＸＭＬ要素のタグを自動的に修正することによって、タグネスティング違反を訂正するための訂正規則を含むことを特徴とする請求項６に記載のコンピュータ読取り可能な記録媒体。
【請求項９】
前記ＸＭＬ文書構成判別モニタは、前記違反の原因となったＸＭＬタグを判別することおよび前記ＸＭＬタグを自動的に修正することにより、タグネスティング違反を訂正するものであり、前記ＸＭＬタグは前記ＸＭＬ文書内のＸＭＬタグに関連付けられた優先順位に基づいて決定され、前記ＸＭＬタグは、前記第１のＸＭＬ要素が第２のＸＭＬ要素内に含まれるように修正されることを特徴とする請求項１に記載のコンピュータ読取り可能な記録媒体。
【請求項１０】
標準ＸＭＬタグに関連付けられた優先順位が固有ＸＭＬタグに関連付けられた優先順位よりも高いため、前記標準ＸＭＬタグは前記固有ＸＭＬタグよりも前に修正されることを特徴とする請求項９に記載のコンピュータ読取り可能な記録媒体。
【請求項１１】
固有ＸＭＬタグに関連付けられた優先順位が標準ＸＭＬタグに関連付けられた優先順位よりも高いため、前記固有ＸＭＬタグは前記標準ＸＭＬタグよりも前に修正されることを特徴とする請求項９に記載のコンピュータ読取り可能な記録媒体。
【請求項１２】
ＸＭＬ文書の編集を制御するためのコンピュータ実行方法であって、
ユーザがＸＭＬ構成判別要件によって制約されることなく前記ＸＭＬ文書を自由に編集できるようにする、前記ＸＭＬ文書を編集するためのフリースタイル編集環境を提供するステップと、
前記ＸＭＬ文書が少なくとも１つの構成の適切さ違反を含むかどうかを判別するステップと、
構成の適切さ違反を含む場合は、構成の適切さを復元するために前記ＸＭＬ文書を自動的に訂正するステップと
を含むことを特徴とするコンピュータ実行方法。
【請求項１３】
前記判別ステップはトリガイベントに応答して実行されることを特徴とする請求項１２に記載のコンピュータ実行方法。
【請求項１４】
前記トリガイベントは前記ＸＭＬ文書の編集に応答して発生することを特徴とする請求項１２に記載のコンピュータ実行方法。
【請求項１５】
前記トリガイベントはタイミング関連イベントであることを特徴とする請求項１２に記載のコンピュータ実行方法。
【請求項１６】
前記トリガイベントは、前記ＸＭＬ文書が編集されている間の中断を減らすように構成されることを特徴とする請求項１２に記載のコンピュータ実行方法。
【請求項１７】
前記少なくとも１つの構成の適切さ違反は、複数のＸＭＬ構成判別規則のうち少なくとも１つに違反している場合に発生することを特徴とする請求項１２に記載のコンピュータ実行方法。
【請求項１８】
前記複数のＸＭＬ文書構成判別規則はタグマッチング規則を含み、前記タグマッチング規則は、あらゆるＸＭＬオープンタグがマッチングＸＭＬクローズタグを有し、あらゆるＸＭＬクローズタグがマッチングＸＭＬオープンタグを有するものであることを要求することを特徴とする請求項１７に記載のコンピュータ実行方法。
【請求項１９】
前記複数のＸＭＬ文書構成判別規則はタグネスティング規則を含み、前記タグネスティング規則は、ＸＭＬ要素が適切にネストされるものであることを要求することを特徴とする請求項１７に記載のコンピュータ実行方法。
【請求項２０】
前記ＸＭＬ文書を自動的に訂正することは、複数の訂正規則のうち少なくとも１つを適用することをさらに含むことを特徴とする請求項１２に記載のコンピュータ実行方法。
【請求項２１】
タグマッチング違反が判別された場合、前記違反の原因となったＸＭＬタグを削除することによって前記ＸＭＬ文書を自動的に訂正することをさらに含むことを特徴とする請求項１２に記載のコンピュータ実行方法。
【請求項２２】
タグネスティング違反が判別された場合、前記違反の原因となったＸＭＬタグのうち１つを移動することによって前記ＸＭＬ文書を自動的に訂正することをさらに含むことを特徴とする請求項１２に記載のコンピュータ実行方法。
【請求項２３】
前記ＸＭＬタグを移動することは、前記ＸＭＬタグに関連付けられた優先順位に基づくものであることを特徴とする請求項２２に記載のコンピュータ実行方法。
【請求項２４】
ＸＭＬ文書の編集を制御するためのコンピュータ実行方法であって、
ユーザがＸＭＬ構成判別要件によって制約されることなく前記ＸＭＬ文書を自由に編集できるようにする、前記ＸＭＬ文書を編集するためのフリースタイル編集環境を提供するステップと、
前記ＸＭＬ文書が、ＸＭＬ要素が適切にネストされていることを要求するタグネスティング規則の違反を含むかどうかを判別するステップと、
タグネスティング違反を含む場合は、第１の要素の前記ＸＭＬタグのうちの１つを第２の要素のコンテンツを囲むように移動し、前記第１の要素が前記第２の要素内に含まれるようにすることによって、前記ＸＭＬ文書を自動的に訂正するステップと
を含むことを特徴とするコンピュータ実行方法。
【請求項２５】
前記第１の要素が前記第２の要素のコンテンツすべてを含むことを特徴とする請求項２４に記載のコンピュータ実行方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、適切に構成された（ｗｅｌｌ−ｆｏｒｍｅｄ）ＸＭＬ文書のフリースタイル編集用ワードプロセッサに関し、より詳細には、ＸＭＬ文書の構成の適切さを監視する、ＸＭＬ文書を編集するためのフリースタイル編集環境を提供するワードプロセッサ機能を有する記録媒体及びその実行方法に関する。
【０００２】
【従来の技術】
これまで、ユーザには文書を作成する場合に２つのオプションがあった。その１つは、リッチテキストフォーマット機能を備えたワードプロセッサを使用するオプションであり、ユーザはこの機能を使用して自分のニーズに合わせた文書の外観を形成することができる。ただしこのタイプのワードプロセッサは、文書でのマークアップの使用など、意味論をコンテンツに関連付けるようには設計されていない。他方のオプションは、ユーザがコンテンツと共にマークアップを手作業で作成する必要のある、プレーンテキストエディタを使用するものであった。テキストエディタを使用することの欠点は、ユーザが文書の提示およびレイアウトを制御できないことであった。さらに典型的にはマークアップの作成は、マークアップ文書の編集をより簡単にするために、テキストエディタからほとんど自動化されていないアシスタンスを使用して手作業で実行された。こうしたマークアップ文書の一般的なタイプの１つが、拡張可能マークアップ言語（ＸＭＬ）文書である。
【０００３】
このＸＭＬとは、様々な種類のデータを識別、交換、および処理する方法を提供する汎用言語である。可搬性（ｔｒａｎｓｐｏｒｔａｂｉｌｉｔｙ）を良くするために、ＸＭＬ標準によって定義されるＸＭＬ文書の構文は非常に規則正しく予測可能である。ＸＭＬ標準を満たすＸＭＬ文書は「適切に構成された」とみなされる。ＸＭＬ文書はＸＭＬ要素からなる。ＸＭＬ要素は、典型的には「＜要素＞コンテンツ＜／要素＞」の形を取り、ここで括弧（＜＞）内の部分は「タグ」とも呼ばれ、要素の始まりと終わりを定義するものであり、括弧と括弧の間の部分が要素のコンテンツである。
【０００４】
たとえ実際にあらゆるＸＭＬタグがこれと同じ形を取る場合であっても、従来のテキストエディタおよびワードプロセッサはユーザが手作業であらゆる文字を入力しなければならず、多くの人為ミスを招きかねない。さらに、従来のワードプロセッサやテキストエディタは、どちらも自動ＸＭＬ妥当性検査メカニズムを含んでおらず、ＸＭＬコーディングにおけるどんな構造上の誤りも気付かれない可能性がある。さらに、ＸＭＬ構造の厳密な性質は、良いワードプロセッサの基準であるフリースタイル編集、テキストフォーマッティング、およびレイアウト制御とは真っ向から対立するものである。
【０００５】
近年、ＸＭＬで文書を編集する際に、ＸＭＬエディタが使用できるようになってきた。これらの従来のＸＭＬエディタは、ＸＭＬ文書の編集用に特別に設計されているため、ＸＭＬ構造に厳密に準拠している。これらのＸＭＬエディタは、ＸＭＬマークアップの管理をプレーンテキストエディタよりも容易にするものであるが、従来のワードプロセッサで可能なようにユーザが文書を自由に編集およびフォーマット化するのを防ぐ規制をユーザに与えている。むしろユーザは、ＸＭＬ制御の構造が文書中のコンテンツの編集方法を制御する、編集環境に置かれる。これは初心者ユーザ、特にユーザが文書の視覚面を調整したい場合に役立つものである。
【０００６】
【発明が解決しようとする課題】
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、ＸＭＬ文書の構成の適切さを監視する、ＸＭＬ文書のフリースタイル編集用ワードプロセッサ機能を有する記録媒体及びその実行方法を提供することにある。
【０００７】
【課題を解決するための手段】
本発明は、ワードプロセッサおよびＸＭＬ構造モニタを含むワードプロセッシングシステム、つまり、ワードプロセッサ機能を有する記録媒体及びその実行方法を提供するものである。ワードプロセッサは、ＸＭＬ文書を編集およびフォーマット化するためのフリースタイル編集環境をユーザに提供するように構成される。フリースタイル編集環境は、ユーザが文書のＸＭＬ完全性を維持しながら、ＸＭＬ文書を自由に編集できるようにするものである。ＸＭＬ文書構成判別モニタ（ＸＭＬ　ｗｅｌｌ−ｆｏｒｍｅｄｎｅｓｓ　ｍｏｎｉｔｏｒ）は、ＸＭＬ文書を変更すると構成が適切でなくなるかどうかを判別し、適切でなくなる場合は、構成の適切さを維持するようにＸＭＬ文書を自動的に修正するように構成される。
【０００８】
また、ＸＭＬ文書構成判別モニタが、ＸＭＬ文書が適切に構成されているかどうかを判別するための、事前に定義されたＸＭＬ文書構成判別規則（ＸＭＬ　ｗｅｌｌ−ｆｏｒｍｅｄｎｅｓｓ　ｒｕｌｅ）にアクセスすることができる。ＸＭＬ文書構成判別モニタは、構成の適切さを維持するようにＸＭＬ文書を訂正するための事前に定義された訂正規則にもアクセスすることができる。
【０００９】
また、本発明は、ＸＭＬ文書を編集しＸＭＬ文書の構成の適切さを監視するための、フリースタイル編集環境を提供するための方法を対象とするものである。フリースタイル編集環境では、ユーザは、背景でＸＭＬ文書のＸＭＬ完全性を維持しながら、ＸＭＬ文書を自由に編集することができる。この方法は、ＸＭＬ文書が少なくとも１つの構成の適切さ違反を含んでいるかどうかを判別する。含んでいる場合、方法はその違反を自動的に訂正して構成の適切さを復元する。
【００１０】
また、本発明は、トリガイベントに応答してＸＭＬ文書を監視する。トリガイベントは、ＸＭＬ文書を編集している間の中断を減らすように構成される。
【００１１】
【発明の実施の形態】
以下、図面を参照して本発明の実施例について説明する。
本発明は、ＸＭＬ文書の構成の適切さを監視しながら、ＸＭＬ文書を編集するためのフリースタイル編集環境を提供するワードプロセッサを対象とするものである。ワードプロセッサは、ＸＭＬ文書が適切に構成されているかどうかを判別し、構成の適切さを維持するようにＸＭＬ文書を自動的に訂正するために、ＸＭＬ文書を監視する。
【００１２】
図１は、本発明を実施するシステムに含むことのできるコンピュータの一例を示す構成図で、本発明が実施可能な好適なコンピューティング環境について説明するための図である。必ずしも必須ではないが、本発明は、パーソナルコンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的コンテキストで説明される。一般に、プログラムモジュールにはルーチン、プログラム、オブジェクト、構成要素、データ構造、および、特定のタスクを実行するかまたは特定の抽象データ型を実施する同様のものなどが含まれる。
【００１３】
さらに、当分野の技術者であれば理解されるように、本発明は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な大衆消費電子製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータなどを含む、他のコンピュータシステム構成で実施することができる。本発明は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される、分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールをローカルおよびリモートの両方のメモリ記憶デバイスに配置することができる。
【００１４】
他の構成では、コンピュータ１０２が、図１に示された以外の多くの他の構成要素を含むことができる。コンピュータ１０２は、処理ユニット１１２、ビデオディスプレイアダプタ１１４、および大容量メモリを含み、これらがすべてバス１２２によって相互に通信し合う。大容量メモリは、一般に、ＲＡＭ１１６、ＲＯＭ１３２、ならびに、ハードディスクドライブ１２８、テープドライブ、光ドライブ、および／またはフロッピィディスクドライブなどの１つまたは複数の永続的大容量記憶デバイスを含む。大容量メモリは、コンピュータ１０２のオペレーションを制御するためのオペレーティングシステム１２０を格納する。汎用オペレーティングシステムを使用してもよい。コンピュータ１０２の低レベルオペレーションを制御するために、基本入出力システム（「ＢＩＯＳ」）１１８も提供される。
【００１５】
図１に示されるように、コンピュータ１０２は、ローカルエリアネットワーク（ＬＡＮ）、インターネットなどのワイドエリアネットワーク（ＷＡＮ）、または任意の他のネットワークなどの、ネットワークに接続するためのネットワークインターフェース１１０も含むことができる。ネットワークインターフェース１１０は、ＴＣＰ／ＩＰプロトコルを含む様々な通信プロトコルと共に使用するために構築される。コンピュータ１０２とネットワークとの間の通信媒体は、典型的には搬送波または他の移送メカニズムなどの変調データ信号で、コンピュータ読取り可能な命令、プログラムモジュール、または他のデータを実施するものであって、任意の情報送達媒体を含む。「変調信号」という用語は、信号内の情報を符号化するような様式で設定または変更された１つまたは複数の特徴を有する信号を意味する。例を挙げると、通信媒体は、ワイヤード（ｗｉｒｅｄ）ネットワークまたはダイレクトワイヤード接続などのワイヤード媒体、ならびに音波、ＲＦ、赤外線、および他のワイヤレス媒体などのワイヤレス媒体を含むが、これらに限定されるものではない。上記のうち任意の組合せも、コンピュータ読取り可能な記録媒体の範囲に含まれるものとする。
【００１６】
コンピュータ１０２は、図１に示されていないマウス、キーボード、スキャナ、または他の入力デバイスなどの外部デバイスと通信するための入出力インターフェース１２４も含む。同様に、コンピュータ１０２は、ＣＤ−ＲＯＭ／ＤＶＤ−ＲＯＭドライブ１２６およびハードディスクドライブ１２８などの追加の大容量記憶設備を含むこともできる。ハードディスクドライブ１２８は、とりわけアプリケーションプログラム、データベース、サーバアプリケーション、およびプログラムデータを格納するために、コンピュータ１０２によって使用される。
【００１７】
前述の大容量メモリは、他のタイプのコンピュータ読取り可能な記録媒体、すなわちコンピュータ記憶媒体を例示する。コンピュータ記憶媒体は、コンピュータ読取り可能な命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実施される、揮発性および不揮発性、取外し可能および取外し不能の媒体を含むことができる。コンピュータ記憶媒体の例には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル汎用ディスク（ＤＶＤ）、または他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶デバイス、あるいは、所望の情報を格納するために使用可能でありコンピューティングデバイスがアクセス可能な任意の他の媒体が含まれる。
【００１８】
大容量メモリは、ワードプロセッサ２１０などのコンピュータアプリケーションプログラム１３０のためのプログラムコードおよびデータを格納することができる。ワードプロセッサ２１０は、ワードプロセッサ２１０によって作成および編集されるＸＭＬ文書の構成の適切さを監視する、ＸＭＬ文書構成判別モニタ２２０を含むことができる。ワードプロセッサ２１０、ＸＭＬ文書構成判別モニタ２２０、および関連する構成要素は、図２に関して詳細に記載される。
【００１９】
図２は、本発明の一実施形態に従った、ＸＭＬワードプロセッシングシステムの一例を示す概略図である。ＸＭＬワードプロセッシングシステム２００は、電子ＸＭＬ文書の編集を制御し、文書の構成の適切さを監視する。
【００２０】
ワードプロセッサ２１０は、電子文書を編集およびフォーマット化するためのフリースタイル編集環境をユーザに提供するように構成された、コンピュータアプリケーションプログラムである。フリースタイル編集環境では、ユーザは電子文書の視覚面を自分のニーズに合うように形成するために、電子文書を自由に編集することができる。具体的に言えば、ユーザは、文書のコンテンツに関連付けられた構成の適切さの要件によって編集を妨げられることなく、電子文書のコンテンツの作成、修正、削除、および他の編集動作を自由に実施することができる。たとえば、電子文書のコンテンツがＸＭＬ要素を含む場合、たとえユーザの編集が文書のＸＭＬ完全性を侵害する可能性があっても、ユーザはＸＭＬの構造要件によってコンテンツの編集を妨げられることはない。
【００２１】
ＸＭＬ文書２１５は、ワードプロセッサ２１０が制御可能な文書タイプの１つである。ＸＭＬ文書２１５は、ＸＭＬ要素を含む電子文書である。上記で簡単に述べたように、ＸＭＬ要素はＸＭＬタグによって定義される。ＸＭＬ要素の一例を示す。
【００２２】
＜ｉｎｔｒｏ＞Ａ　ｆｏｘ　ｊｕｍｐｓ　ｏｖｅｒ　ａ　ｌａｚｙ　ｄｏｇ．＜／ｉｎｔｒｏ＞
この例では、ＸＭＬ要素は「ｉｎｔｒｏ」であり、これが開始タグ（＜ｉｎｔｒｏ＞）および終了タグ（＜／ｉｎｔｒｏ＞）によって定義される。さらに１つのＸＭＬ要素が他のＸＭＬ要素を含むことができる。たとえば、以下のＸＭＬコードでは、
＜ｉｎｔｒｏ＞＜ｓｕｂｊｅｃｔ＞Ａ　ｆｏｘ＜／ｓｕｂｊｅｃｔ＞ｊｕｍｐｓ　ｏｖｅｒ　ａ　ｌａｚｙ　ｄｏｇ．＜／ｉｎｔｒｏ＞
「ｉｎｔｒｏ」要素が「ｓｕｂｊｅｃｔ」要素を含む。ＸＭＬ用語で言えば、「ｓｕｂｊｅｃｔ」要素が「ｉｎｔｒｏ」要素内にネストされている。
【００２３】
ワードプロセッサ２１０によって作成されるＸＭＬ文書には、固有ＸＭＬタグおよび標準ＸＭＬタグの両方を含めることができる。標準ＸＭＬタグは、ユーザが文書に入力したＸＭＬタグである。固有ＸＭＬタグは、ワードプロセッサ２１０によって自動的に作成され、ＸＭＬ文書でワードプロセッサ２１０によって実行されるフォーマット化関連動作に対応することができる。たとえば、ユーザが、
Ａ　ｆｏｘ　ｊｕｍｐｓ　ｏｖｅｒ　ａ　ｌａｚｙ　ｄｏｇ．　Ｔｈｅ　ｄｏｇ　ｂａｒｋｓ！
の行を文書に入力し、この文書をＸＭＬファイルとして保存する場合、ワードプロセッサ２１０はこの行を、
＜ｐａｒａ＞　Ａ　ｆｏｘ　ｊｕｍｐｓ　ｏｖｅｒ　ａ　ｌａｚｙ　ｄｏｇ．　Ｔｈｅ　ｄｏｇ　ｂａｒｋｓ！＜／ｐａｒａ＞
と修正することが可能であり、ここで「ｐａｒａ」タグは、文書中に段落要素を作成するためにワードプロセッサ２１０によって入力されるＸＭＬコードに対応する。他の例では、ユーザが第１の文の後で（たとえばＥｎｔｅｒキーを押すことによって）新しい行を開始すると、ワードプロセッサ２１０は以下を含むように文書を修正することができる。
【００２４】
＜ｐａｒａ＞Ａ　ｆｏｘ　ｊｕｍｐｓ　ｏｖｅｒ　ａ　ｌａｚｙ　ｄｏｇ．＜／ｐａｒａ＞
＜ｐａｒａ＞Ｔｈｅ　ｄｏｇ　ｂａｒｋｓ．＜／ｐａｒａ＞
この例でワードプロセッサ２１０は、新しい行を作成するためのＸＭＬコードに対応する２つの追加の「ｐａｒａ」タグを入力する。固有ＸＭＬタグは、表のセル操作、フォント定義、ヘッダおよびフッタなどの、他のワードプロセッシング動作に対応する、ＸＭＬタグを含むことができる。ワードプロセッサ２１０は、ユーザがフリースタイル編集環境で編集できるようにするものであるため、ユーザは、結果として生じる文書の構成が適切でないような方法でＸＭＬ文書を編集することができる。たとえばユーザは、固有ＸＭＬタグを妨害する新しい標準ＸＭＬタグを手作業で挿入することができる。
【００２５】
ユーザの基本設定に応じて、固有ＸＭＬタグおよび標準ＸＭＬタグをユーザに見えるように提示するか、または提示しないことができる。ワードプロセッサ２１０は、ＸＭＬ文書の編集中にＸＭＬタグを表示するかどうかをユーザが選択できるようにする。ユーザは、他のコンテンツと共にタグを表示すると文書の視覚面をゆがめ、それによって文書の編集が混乱することがわかると、ＸＭＬタグの表示を選択しないことができる。
【００２６】
他のシナリオでは、編集中の文書に固有ＸＭＬタグがあるとわかること、またはＸＭＬを理解することさえユーザに期待できない。ユーザは、単に文書の実際のコンテンツの編集者である場合がある。ＸＭＬ開発者は、ユーザに対してＸＭＬタグを非表示にするような方法で文書をセットアップすることができる。たとえばＸＭＬ開発者は、ユーザに新しい文書を作成するための文書テンプレートを提供することができる。テンプレートは、ユーザが表示できないＸＭＬタグを含むことができる。ＸＭＬタグは、文書が後で使用されるときに、データの抽出および操作のプロセスを容易にするものとなる。
【００２７】
ＸＭＬ文書構成判別モニタ２２０は、ＸＭＬ文書を監視するコンピュータ実行可能構成要素である。具体的に言えば、ＸＭＬ文書構成判別モニタ２２０は、ＸＭＬ文書の構成の適切さ違反を判別して自動的に訂正する。ＸＭＬ文書構成判別モニタ２２０は、コンピュータアプリケーションプログラムの独立構成要素またはサブ構成要素（ｓｕｂ−ｃｏｍｐｏｎｅｎｔ）であってよい。この実施形態では、ＸＭＬ文書構成判別モニタ２２０はワードプロセッサ２１０のサブ構成要素である。図２に示されるように、ＸＭＬ文書構成判別モニタ２２０は、ＸＭＬ文書構成判別規則２３０および訂正規則２４０へのアクセス権を有する。簡潔に言えば、ＸＭＬ文書構成判別モニタ２２０は、ＸＭＬ文書構成判別規則２３０を使用して構成の適切さ違反を判別し、判別された違反を、訂正規則２４０を使用して訂正する。
【００２８】
ＸＭＬ文書構成判別規則２３０は、構成の適切さ違反を判別するためにＸＭＬ文書構成判別モニタ２２０が使用する規則である。ＸＭＬ文書構成判別規則２３０は、ＸＭＬ標準によって課せられる規則の一部を含むことができる。この実施形態では、ＸＭＬ文書構成判別規則２３０がタグマッチング規則（ｔａｇ−ｍａｔｃｈｉｎｇ　ｒｕｌｅ）およびタグネスティング規則（ｔａｇ−ｎｅｓｔｉｎｇ　ｒｕｌｅ）を含む。タグマッチング規則は、あらゆる開始タグがマッチング終了タグを有し、あらゆる終了タグがマッチング開始タグを有することを要求する。タグネスティング規則は、ＸＭＬ要素が適切にネストされていることを要求する。タグネスティング規則によれば、第１の要素の一部が第２の要素と重複するが、第１の要素全体が第２の要素に含まれているわけでない場合、ＸＭＬ要素は適切にネストされない。たとえば、以下のＸＭＬコードで、
＜ｓｅｎｔ１＞Ａ　ｆｏｘ　＜ａｃｔｉｏｎ＞ｊｕｍｐｓ　ｏｖｅｒ　ａ　ｄｏｇ＜／ｓｅｎｔ１＞　ａｎｄ　＜ｓｅｎｔ２＞ｓｔｅａｌｓ　ｈｉｓ　ｂｏｎｅ＜／ａｃｔｉｏｎ＞　ｗｉｔｈｏｕｔ　ｈｅｓｉｔａｔｉｏｎ．＜／ｓｅｎｔ２＞　「ｓｅｎｔ１」要素が閉じる前に「ａｃｔｉｏｎ」要素が開いているが、「ｓｅｎｔ１」要素が閉じた後に「ａｃｔｉｏｎ」要素が閉じているため、ＸＭＬ要素は適切にネストされていない。同様に、「ａｃｔｉｏｎ」要素が開いた後に「ｓｅｎｔ２」要素が開いているが、「ｓｅｎｔ２」要素が閉じる前に「ａｃｔｉｏｎ」要素が閉じている。この構造は、ＸＭＬ標準のネスティング規則に違反している。
【００２９】
訂正規則２４０は、構成の適切さを維持するようにＸＭＬ文書のコンテンツを訂正するためにＸＭＬ文書構成判別モニタ２２０が適用できる規則である。それぞれの訂正規則２４０は、ＸＭＬ文書構成判別規則２３０の１つまたは複数の違反を訂正するために、単独でまたは他の規則と共に適用可能である。一実施形態では、訂正規則２４０に、違反の原因となったタグを自動的に削除することによってタグマッチング違反を訂正することが含まれる。たとえば、以下のＸＭＬコードを備えたＸＭＬ文書について考えてみる。
【００３０】
＜ｉｎｔｒｏ＞Ａ　ｆｏｘ　＜／ｓｕｂｊｅｃｔ＞ｊｕｍｐｓ　ｏｖｅｒ　ａ　ｌａｚｙ　ｄｏｇ．＜／ｉｎｔｒｏ＞
このコードは、「ｓｕｂｊｅｃｔ」要素の開始タグがないため、タグマッチング規則に違反している。おそらくユーザは、「ｓｕｂｊｅｃｔ」要素全体の削除を意図したのであろうが、要素の開始タグのみが削除されてしまっている。規則を適用すると、「ｓｕｂｊｅｃｔ」要素の終了タグが自動的に削除される結果となる。
【００３１】
他の実施形態では、訂正規則２４０に、第１のＸＭＬ要素が第２の要素と不適切に重複していることによって発生したタグネスティング違反を訂正することが含まれる。訂正は、第１の要素が第２の要素内に格納されるように、１つの要素のタグを自動的に修正することによって実行可能である。たとえば、次のＸＭＬコードを含む上記の例を考えてみる。
【００３２】
＜ｓｅｎｔ１＞Ａ　ｆｏｘ　＜ａｃｔｉｏｎ＞ｊｕｍｐｓ　ｏｖｅｒ　ａ　ｄｏｇ＜／ｓｅｎｔ１＞　ａｎｄ　＜ｓｅｎｔ２＞ｓｔｅａｌｓ　ｈｉｓ　ｂｏｎｅ＜／ａｃｔｉｏｎ＞　ｗｉｔｈｏｕｔ　ｈｅｓｉｔａｔｉｏｎ．＜／ｓｅｎｔ２＞
タグネスティング違反は、「ａｃｔｉｏｎ」要素が「ｓｅｎｔ１」要素ならびに「ｓｅｎｔ２」要素と不適切に重複していることによって生じる。規則を適用すると、「ａｃｔｉｏｎ」要素の終了タグが「ｓｅｎｔ１」要素の終了タグの直前に自動的に移動される結果となる。したがって、「ａｃｔｉｏｎ」要素が「ｓｅｎｔ１」要素内に完全にネストされるので、違反が訂正される。実際には、「ａｃｔｉｏｎ」要素のいずれかのタグを修正することができる。
【００３３】
他の実施形態では、訂正規則２４０が、ＸＭＬ文書構成判別モニタ２２０に対して、タグの優先順位に基づいてどのＸＭＬタグを修正（移動、追加、または削除）するかを決定するように要求する。たとえば、訂正規則２４０は、固有ＸＭＬタグを修正する前に標準ＸＭＬタグを修正するように要求する。以下のＸＭＬについて考えてみる。
【００３４】
＜ｎａｔ＞Ｓｏｍｅ　Ｔｅｘｔ＜ｎｏｒ＞Ｉｎｎｅｒ　Ｔｅｘｔ＜／ｎｏｒ＞Ｍｏｒｅ　Ｔｅｘｔ＜／ｎａｔ＞
「ｎａｔ」タグは固有タグであり「ｎｏｒ」タグはユーザによって入力される標準タグである。この例では、段落を定義するために「ｎａｔ」タグが使用される。カーソルが「Ｉｎｎｅｒ」と「Ｔｅｘｔ」の間にあるときにユーザが新しい行を（たとえばＥｎｔｅｒキーを押すことによって）作成すると、結果として生じるＸＭＬコードには、訂正されなければ構成の適切さ違反が含まれることになる。違反となるコードは以下のようになり、
＜ｎａｔ＞Ｓｏｍｅ　Ｔｅｘｔ＜ｎｏｒ＞Ｉｎｎｅｒ＜／ｎａｔ＞
＜ｎａｔ＞Ｔｅｘｔ＜／ｎｏｒ＞Ｍｏｒｅ　Ｔｅｘｔ＜／ｎａｔ＞
タグネスティング違反が含まれる。この例では、固有タグを修正する前に標準タグの修正が要求されるため、「ｎｏｒ」タグが移動することになる。訂正されたＸＭＬコードは以下のようになり、
＜ｎａｔ＞Ｓｏｍｅ　Ｔｅｘｔ＜ｎｏｒ＞Ｉｎｎｅｒ＜／ｎｏｒ＞＜／ｎａｔ＞
＜ｎａｔ＞Ｔｅｘｔ　Ｍｏｒｅ　Ｔｅｘｔ＜／ｎａｔ＞
これで構成の適切さ違反は含まれなくなる。
【００３５】
他の例では、訂正規則２４０が、標準ＸＭＬタグを移動する前に固有ＸＭＬタグを修正するように要求することができる。ここで、以下のＸＭＬコードについて考えてみる。
【００３６】
＜ｎａｔ１＞Ｈｅｒｅ　ｉｓ　ｓｏｍｅ　ｂｏｌｄ　ｔｅｘｔ＜／ｎａｔ１＞　＜ｎａｔ２＞Ｈｅｒｅ　ｉｓ　ｓｏｍｅ　ｉｔａｌｉｃ　ｔｅｘｔ＜／ｎａｔ２＞
この例で、「ｎａｔ１」タグはテキストをボールド体にするための固有タグであり、「ｎａｔ２」タグはテキストをイタリック体にするための固有タグである。ユーザが１対のタグを作成し、１つを「ｔｅｘｔ」という語の前に、もう１つを「Ｈｅｒｅ」という語の後に配置すると、結果として生じるＸＭＬコードは、訂正されなければ構成の適切さ違反が含まれることになる。違反のあるＸＭＬコードは以下のようになり、
＜ｎａｔ１＞Ｈｅｒｅ　ｉｓ　ｓｏｍｅ　ｂｏｌｄ＜ｎｏｒ＞　ｔｅｘｔ＜／ｎａｔ１＞　＜ｎａｔ２＞Ｈｅｒｅ＜／ｎｏｒ＞　ｉｓ　ｓｏｍｅ　ｉｔａｌｉｃ　ｔｅｘｔ＜／ｎａｔ２＞
「ｎｏｒ」タグを配置した結果、タグネスティング違反が生じる。この例では、固有タグを移動する前に標準タグを修正しなければならない。適切な訂正を行った後、ＸＭＬコードは以下のようになり、
＜ｎａｔ１＞Ｈｅｒｅ　ｉｓ　ｓｏｍｅ　ｂｏｌｄ＜／ｎａｔ１＞
＜ｎｏｒ＞＜ｎａｔ１＞ｔｅｘｔ＜／ｎａｔ１＞＜ｎａｔ２＞Ｈｅｒｅ＜／ｎａｔ２＞＜／ｎｏｒ＞
＜ｎａｔ２＞ｉｓ　ｓｏｍｅ　ｉｔａｌｉｃ　ｔｅｘｔ＜／ｎａｔ２＞
構成の適切さ違反を矯正する４つの追加の固有タグが含まれる。
【００３７】
当分野の技術者であれば、ＸＭＬ標準に関した本発明の開示から、多くの他のＸＭＬ文書構成判別規則および訂正規則が明らかになることを理解されよう。本明細書に記載された規則および訂正は、例示的なものにすぎない。規則の選択は単なる実施の好みであり、本発明の範囲全体に影響を与えるものではない。
【００３８】
図３は、ＸＭＬ文書の構成の適切さを監視するための例示的プロセスを一般的に示す動作流れ図である。プロセス３００はＸＭＬ構造モニタが使用することができる。
【００３９】
プロセス３００は、ワードプロセッサによってＸＭＬ文書が作成または編集されるときに、開始ブロックから開始される。ブロック３１０では、トリガイベントが発生したかどうかが判別される。トリガイベントとは、ＸＭＬ文書構成判別モニタにＸＭＬ文書を監視させるイベントである。トリガイベントは、ワードプロセッサの動作または無動作（ｉｎａｃｔｉｏｎ）に関連付けられた様々なイベントを含むことができる。たとえば、文字の挿入または削除などの編集動作はトリガイベントであってよい。トリガイベントは、編集動作が所定の期間発生しない場合などの、タイミング関連イベントであってもよい。構成の適切さの監視がワードプロセッサの性能およびＸＭＬ文書に影響を与える可能性があるため、ＸＭＬ文書編集中のトリガイベントの中断を減らすように構成することができる。
【００４０】
プロセス３００は、トリガイベントが発生するまでブロック３１０でアイドル状態である。イベントが発生するとプロセス３００は意思決定ブロック３２０に移動し、ＸＭＬ文書が少なくとも１つの構成の適切さ違反を含むかどうかが判別される。ＸＭＬ文書は、文書が少なくとも１つのＸＭＬ構造規則に違反している場合、構成の適切さ違反を含む。たとえば図２を参照すると、ワードプロセッサ２１０は、編集に応答するなどして、ＸＭＬ文書２１５の一部をＸＭＬ文書構成判別モニタ２２０に渡すことができる。ワードプロセッサ２１０は、編集の周囲部分などの、ＸＭＬ文書２１５全体よりも少ない部分を渡すことができる。次にＸＭＬ文書構成判別モニタ２２０は、構成適切さに関してＸＭＬ文書２１５の部分を分析するために、ＸＭＬ文書構成判別規則２３０を参照する。次にＸＭＬ文書構成判別モニタ２２０は、違反が発生したかどうかの通知をワードプロセッサ２１０に戻す。構成の適切さ違反がない場合、プロセス３００は戻る。
【００４１】
ＸＭＬ文書が少なくとも１つの構成の適切さ違反を含む場合、プロセス３００はブロック３３０で続行され、判別された構成の適切さ違反が自動的に訂正される。構成の適切さ違反を訂正するための例示的プロセスについては、図４に関して詳細に説明する。判別されたそれぞれの構成の適切さ違反は、１つまたは複数の訂正規則の適用により訂正することができる。ＸＭＬ文書で判別された構成の適切さ違反が訂正されると、プロセス３００は戻る。
【００４２】
ブロック３２０で示されたステップおよびブロック３３０で示されたステップは、例示のために別々のステップとして示されたものである。両方のステップを組み合わせて単一のステップにすることができる。
【００４３】
図４は、構成の適切さ違反を判別および訂正するための例示的プロセスを一般的に示す動作流れ図である。プロセス４００はＸＭＬ構造モニタが使用できる。この例示的プロセスは、タグマッチング違反およびタグネスティング違反を判定および訂正するだけである。他の違反も、同様のプロセスを使用して訂正することができる。
【００４４】
プロセス４００は、開始ブロックから開始される。ブロック４１０で、タグマッチング違反があるかどうかが判別される。タグマッチング違反が見つからない場合、プロセス４００は意思決定ブロック４３０で続行される。そうでなければ、プロセス４００はブロック４２０に移動し、訂正規則を適用することによってタグマッチング違反が訂正される。この実施形態では、違反の原因となったタグを削除することによってタグマッチング違反が訂正される。他の実施形態では、見失ったタグを自動的に挿入することができる。訂正が実行された後、プロセスは意思決定ブロック４３０でも続行される。
【００４５】
意思決定ブロック４３０では、タグネスティング違反があるかどうかが判別される。タグマッチング違反が見つからない場合、プロセス４００は戻る。そうでなければ、プロセス４００はブロック４４０で続行され、訂正規則を適用することによってタグネスティング違反が訂正される。この実施形態では、要素が他の要素内に含まれるなどの違反の原因となった要素のタグのうち１つを移動することによって、タグネスティング違反が訂正される。
【００４６】
上述したように、本発明は、ＸＭＬ文書の完全性を維持すると同時にリッチフリースタイル編集体験をユーザに提供する、ワードプロセッシングシステムを可能にするものである。ユーザによる編集は、構成の適切さが背景で評価される。ＸＭＬ違反が発生すると、ユーザが編集するのを妨げることなく、ＸＭＬ構造規則に合致する状態に文書を戻すために訂正規則が適用される。
【００４７】
上述した実施形態およびデータは、本発明を完全に記載するものである。本発明の精神および範囲を逸脱することなく本発明の多くの実施形態が実行可能であるため、本発明の特許請求の範囲に属するものである。
【図面の簡単な説明】
【図１】本発明を実施するシステムに含むことのできるコンピュータの一例を示す図である。
【図２】ＸＭＬ文書監視システムの一例を示す概略図である。
【図３】ＸＭＬ文書の構成の適切さを監視するための例示的プロセスを一般的に示す動作流れ図である。
【図４】構成の適切さ違反を判別および訂正するための例示的プロセスを一般的に示す動作流れ図である。
【符号の説明】
１０２　コンピュータ
１１０　ネットワークインターフェースユニット
１１２　中央処理ユニット
１１４　ビデオディスプレイアダプタ
１１６　ＲＡＭ
１１８　ＢＩＯＳ
１２０　オペレーティングシステム
１２２　バス
１２４　入出力インターフェース
１２６　ＣＤ−ＲＯＭ／ＤＶＤ−ＲＯＭドライブ
１２８　ハードディスクドライブ
１３０　アプリケーション
１３２　ＲＯＭ
２１０　ワードプロセッサ
２２０　ＸＭＬ文書構成判別モニタ
【図１】
2004030671.tif 000003
【図２】
2004030671.tif 000004
【図３】
2004030671.tif 000005
【図４】
2004030671.tif 000006