(57)【要約】【課題】操作者によって作成された、文書に対する操作内容に誤りが存在した場合、その誤りの原因を特定することを目的とする。【解決手段】文書に対する操作内容がタグによってメールの本文にコマンド記述部として記述されたメールを送信するクライアント３０と、クライアント３０から受信したメールを蓄積するメールサーバ２０と、文書を管理する文書管理装置１０とがネットワーク４０を介して相互に通信可能にされている。文書管理装置１０の処理部は、通信部を介してメールサーバ２０に蓄積されているメールを取得して記憶部に格納し、記憶部のメールに記述されたコマンド記述部に含まれるタグの記述が妥当であるか否かを判定し、判定の結果、タグの記述に誤りが存在した場合に、タグの記述に誤りがあった旨を通知するメッセージを、通信部を介してクライアント３０に返信する。【選択図】図１
2008192026.tif 000002
【特許請求の範囲】
【請求項１】
文書に対する操作内容がタグによってメールの本文にコマンド記述部として記述されたメールを送信するクライアントと、前記クライアントから受信した前記メールを蓄積するメールサーバとに、ネットワークを介して相互に通信可能にされ、文書の管理を行う文書管理装置であって、
情報を処理する処理部と、情報の通信を行う通信部と、情報を格納する記憶部とを備え、
前記処理部は、
前記通信部を介して前記メールサーバに蓄積されている前記メールを取得して前記記憶部に格納し、
前記記憶部の前記メールに記述されたコマンド記述部に含まれるタグの記述が妥当であるか否かを判定し、
判定の結果、タグの記述に誤りが存在した場合に、タグの記述に誤りがあった旨を通知するメッセージを、前記通信部を介して前記クライアントに返信すること
を特徴とする文書管理装置。
【請求項２】
文書に対する操作内容がタグによってメールの本文にコマンド記述部として記述されたメールを送信するクライアントと、前記クライアントから受信した前記メールを蓄積するメールサーバとに、ネットワークを介して相互に通信可能にされ、情報を処理する処理部と、情報の通信を行う通信部と、情報を格納する記憶部とを備えた文書管理装置による文書管理方法であって、
前記処理部は、
前記通信部を介して前記メールサーバに蓄積されている前記メールを取得して前記記憶部に格納し、
前記記憶部の前記メールに記述されたコマンド記述部に含まれるタグの記述が妥当であるか否かを判定し、
判定の結果、タグの記述に誤りが存在した場合に、タグの記述に誤りがあった旨を通知するメッセージを、前記通信部を介して前記クライアントに返信すること
を特徴とする文書管理方法。
【請求項３】
前記処理部は、
タグの記述が妥当であるか否かを判定する処理として、
タグの括弧開始記号に対応する括弧終了記号が存在するか否かを判定するタグ形式妥当性判定処理、開始タグに対応する終了タグが存在するか否かを判定する開始・終了タグ対妥当性判定処理、タグ名が妥当であるか否かを判定するタグ名妥当性判定処理、タグの順序が妥当であるか否かを判定するタグ順序妥当性判定処理、必須のタグが存在するか否かを判定する必須タグ存在判定処理のうち、すくなくとも１つを含んで実行する
ことを特徴とする請求項２に記載の文書管理方法。
【請求項４】
前記処理部は、
タグの記述が妥当であるか否かを判定した後、
開始タグと終了タグに挟まれている内容が妥当であるか否かを判定する内容妥当性判定処理をさらに実行する
ことを特徴とする請求項２または請求項３に記載の文書管理方法。
【請求項５】
請求項２ないし請求項４のいずれか１項に記載の文書管理方法をコンピュータに実行させる文書管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書に対する操作を行う技術に関するものであり、特に、電子メールにより文書に対する操作を行う技術に関するものである。
【背景技術】
【０００２】
従来、文書管理装置（または文書管理システム）によって管理されている文書に対して、操作者がクライアントを介して登録や削除などの操作を行う場合、操作者はクライアントにインストールされたクライアントソフトやＷｅｂブラウザなどを用いる技術があった。しかし、このような技術では、操作者がクライアントを介してインターネットからイントラネット内の文書管理装置にＶＰＮ（Virtual Private Network）などを用いてアクセスできない場合に、前記したような文書に対する操作を行うことができなかった。
【０００３】
また、文書管理装置によって管理されている文書に対して、操作者が電子メールを用いて操作を行う技術が開示されている（例えば、特許文献１参照）。この特許文献１に開示されている技術によれば、操作者がクライアントを介してインターネットからイントラネット内の文書管理装置にＶＰＮなどを用いてアクセスできない場合であっても、クライアントを介して文書管理装置に電子メールを送受信できる環境が存在すれば、操作者は電子メールを用いて文書に対する操作を行うことが可能である。また、文書の作成完了後に、レビューを行うために文書をメールに添付して関係者にメールを送信する場合があり、このタイミングで文書管理装置にもレビュー中という状態で文書を登録することが多い。このため、メールの送信と同時に文書管理装置への登録が行えることで作業効率が向上する。
【特許文献１】特開２００２−７４０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前記の特許文献１に開示されている技術によれば、操作者は電子メールを用いて文書に対する操作を行うことは可能であるが、操作者によって作成された、文書に対する操作内容に誤りが存在しても、文書管理装置がその誤りの原因を特定することができないという問題がある。
【０００５】
そこで本発明は、操作者によって作成された、文書に対する操作内容に誤りが存在した場合、その誤りの原因を特定することを目的とする。
【課題を解決するための手段】
【０００６】
前記課題を解決するために、本発明は、文書に対する操作内容がタグによってメールの本文にコマンド記述部として記述されたメールを送信するクライアントと、クライアントから受信したメールを蓄積するメールサーバとに、ネットワークを介して相互に通信可能にされた文書管理装置である。文書管理装置は、情報を処理する処理部と、情報の通信を行う通信部と、情報を格納する記憶部とを備える。そして、処理部は、通信部を介してメールサーバに蓄積されているメールを取得して記憶部に格納し、記憶部のメールに記述されたコマンド記述部に含まれるタグの記述が妥当であるか否かを判定し、判定の結果、タグの記述に誤りが存在した場合に、タグの記述に誤りがあった旨を通知するメッセージを、通信部を介してクライアントに返信する。
【発明の効果】
【０００７】
本発明によれば、操作者によって作成された、文書に対する操作内容に誤りが存在した場合、その誤りの原因を特定することが可能である。
【発明を実施するための最良の形態】
【０００８】
以下、発明を実施するための最良の形態（以下、「実施形態」という）について、図面を用いて詳細に説明する。
【０００９】
図１は、本実施形態における文書管理システムの構成を示す図である。図１に示すように、文書管理システム１は、文書管理装置１０と、メールサーバ２０と、クライアント３０とを含んで構成され、それぞれがネットワーク４０を介して相互に通信可能にされている。
【００１０】
クライアント３０は、文書に対する操作内容が記述された電子メール（以下、単に「メール」ともいう）を、ネットワーク４０を介してメールサーバ２０に送信する機能を有するとともに、メールサーバ２０に蓄積されたクライアント３０宛てのメールを、ネットワーク４０を介して取得する機能を有する。クライアント３０は、コンピュータであり、ＲＡＭ（Random Access Memory）、ハードディスクなどの記憶部、ネットワークボードなどの通信部、ＣＰＵ（Central Processing Unit）などの処理部を有し、記憶部に格納されたプログラムを処理部が実行することによって前記の機能を実現する。なお、図１には、クライアント３０が１台のみ示されているが、複数台存在することとしてもよい。
【００１１】
メールサーバ２０は、クライアント３０または文書管理装置１０からネットワーク４０を介して送信されたメールを受信して蓄積する機能を有する。メールサーバ２０は、コンピュータであり、ＲＡＭ、ハードディスクなどの記憶部、ネットワークボードなどの通信部、ＣＰＵなどの処理部を有し、記憶部に格納されたプログラムを処理部が実行することによって前記の機能を実現する。
【００１２】
文書管理装置１０は、文書を管理するコンピュータであり、メールサーバ２０に蓄積されたメールを、ネットワーク４０を介して取得し、取得したメールに記述された、文書に対する操作内容に基づいて処理を行う機能を有する。処理を行う際に、操作内容に誤り（エラー）がある場合には、その旨を通知するメッセージを、メールサーバ２０を介してメール送信元のクライアント３０に送信する。文書管理装置１０のハードウェア構成に関する詳細な説明は図２を参照して後記する。なお、以下の説明において、クライアント３０と文書管理装置１０との間でメールが送受信される場合には、メールサーバ２０を介して送受信されるものとする。
【００１３】
図２は、図１に示した文書管理装置の構成を示す図である。図２に示すように、文書管理装置１０は、通信部１１０と、記憶部１２０と、処理部１３０とを含んで構成され、それぞれがバス１４０に接続されている。
【００１４】
通信部１１０は、ネットワークボードなどにより構成され、ネットワーク４０を介してメールサーバ２０からメールを受信する機能およびネットワーク４０を介してメールサーバ２０にメールを送信する機能を有する。
【００１５】
記憶部１２０は、ＲＡＭ、ハードディスクなどにより構成され、文書を管理するプログラムである文書管理プログラム１２５と、クライアント３０による操作対象となる文書である文書１２６とを格納する他、有効タグ情報１２１と、タグ順序情報１２２と、必須タグ情報１２３と、内容条件情報１２４とを格納する。有効タグ情報１２１の構成については、図６を参照して後記する。タグ順序情報１２２の構成については、図７を参照して後記する。必須タグ情報１２３の構成については、図８を参照して後記する。内容条件情報１２４の構成については、図９を参照して後記する。
【００１６】
処理部１３０は、ＣＰＵなどにより構成され、記憶部１２０に格納された文書管理プログラム１２５を実行する機能を有する。文書管理プログラム１２５を実行することにより、文書管理装置１０の備える機能が実現される。
【００１７】
図３は、図１に示したクライアントから送信されるメールの記述例を示す図である。図３に示すように、メール本文５１０は、文章が記述される文章記述部５２０と、文書に対する操作内容が記述されるコマンド記述部５３０とを含んで構成される。文書に対する操作内容をメールのヘッダ部に記述することとすると、ヘッダ部を解析してメールの送受信を行う既存の処理を変更する必要が生じてしまうため、図３に示すように、特に記述形式に制限がないメール本文５１０に操作内容を記述することが好ましい。
【００１８】
さらに、文書に対する操作内容は、人間が容易に解読できるものであることが好ましい。そこで、本実施形態では、ＸＭＬ（Extensible Markup Language）形式のタグによって操作内容が記述される場合を例として説明する。ＸＭＬ形式のタグによって操作内容が記述されると、専用のメール表示ソフトを用いた場合に、タグによる記述内容が自然言語による記述に変換されて表示されるので、人間にとって理解しやすいものとなる。本実施形態では、タグの括弧開始記号を「<」、タグの括弧終了記号「>」で示すこととするが、これらに限定されず、他の記号を使用してもよい。また、開始タグを「<>」、終了タグを「</>」で示すこととするが、他の記号によって開始タグと終了タグが区別できるようにしてもよい。また、メール本文５１０は、文章記述部５２０の記述箇所とコマンド記述部５３０の記述箇所とが区別できる形式で記述されることが好ましい。そこで、本実施形態では、コマンド記述部の開始を示すコマンド記述部開始タグ５４０（図３の例では、<Begin>）をメール本文５１０に記述し、コマンド記述部開始タグ５４０の前後で、メール本文５１０を文章記述部５２０およびコマンド記述部５３０に区別できる形式とする。本実施形態では、コマンド記述部開始タグ５４０として<Begin>を用いることとするが、タグ名はBeginに限定されるものではない。
【００１９】
コマンド記述部５３０に記述される各タグには意味が設けられており、各タグの開始タグと終了タグとによって挟まれた箇所には、各タグに対応する内容が記述されている。例えば、図３に示された例では、Commandタグと、ProjectCodeタグと、WorkPathタグと、RegistFileNameタグと、FileNameタグと、Stateタグと、Labelタグと、Memoタグとが記述されている。ただし、記述されるタグの種類は、これらに限定されるものではない。
【００２０】
Commandタグは、操作名を意味するものとして使用される。Commandタグの開始タグである<Command>と、終了タグである</Command>とによって挟まれた箇所（Commandタグの内容を記述する箇所）には、操作名（図３の例では、Register）が記述される。操作名には、GetList（一覧取得）、CheckOut（チェックアウト）、CheckIn（チェックイン）、Download（ダウンロード）、Register（登録）、EditProperty（プロパティ編集）などを記述することができる。
【００２１】
ProjectCodeタグは、操作対象の文書を管理する単位であるプロジェクトコードを意味するものとして使用される。ProjectCodeタグの開始タグである<ProjectCode>と、終了タグである</ProjectCode>とによって挟まれた箇所（ProjectCodeタグの内容を記述する箇所）には、プロジェクトコード（図３の例では、PJ000001）が記述される。
【００２２】
WorkPathタグは、操作対象の文書が格納されているフォルダへのパスを意味するものとして使用される。WorkPathタグの開始タグである<WorkPath>と、終了タグである</WorkPath>とによって挟まれた箇所（WorkPathタグの内容を記述する箇所）には、操作対象の文書が格納されているフォルダへのパス（図３の例では、/システム計画/要求定義）が記述される。
【００２３】
RegistFileNameタグは、操作対象の文書の表示登録ファイル名を意味するものとして使用される。RegistFileNameタグの開始タグである<RegistFileName>と、終了タグである</RegistFileName>とによって挟まれた箇所（RegistFileNameタグの内容を記述する箇所）には、操作対象の文書の表示登録ファイル名（図３の例では、要求定義書）が記述される。
【００２４】
FileNameタグは、操作対象の文書のファイル名を意味するものとして使用される。FileNameタグの開始タグである<FileName>と、終了タグである</FileName>とによって挟まれた箇所（FileNameタグの内容を記述する箇所）には、操作対象の文書のファイル名（図３の例では、要求定義書.doc）が記述される。
【００２５】
Stateタグは、プロジェクトの状態を意味するものとして使用される。Stateタグの開始タグである<State>と、終了タグである</State>とによって挟まれた箇所（Stateタグの内容を記述する箇所）には、プロジェクトの状態（図３の例では、レビュー中）が記述される。
【００２６】
Labelタグは、文書に付されるラベルを意味するものとして使用される。Labelタグの開始タグである<Label>と、終了タグである</Label>とによって挟まれた箇所（Labelタグの内容を記述する箇所）には、文書に付されるラベル（図３の例では、バージョン１）が記述される。
【００２７】
Memoタグは、文書に関するメモを意味するものとして使用される。Memoタグの開始タグである<Memo>と、終了タグである</Memo>とによって挟まれた箇所（Memoタグの内容を記述する箇所）には、文書に関するメモ（図３の例では、2005/11/20 締め）が記述される。
【００２８】
図４は、図１に示した文書管理装置が実行する処理の流れの第１番目を示すフローチャートである。図４を参照して（適宜図１ないし図３参照）、文書管理装置が実行する処理の第１番目について説明する。なお、この処理は、処理部１３０が文書管理プログラム１２５を実行することによって実施される。
【００２９】
まず、文書管理装置１０の処理部１３０は、通信部１１０を介してメールサーバ２０からメールを取得する（ステップＳ１００）。
【００３０】
続いて、処理部１３０は、コマンド記述部開始タグ５４０が存在するか否かを判定するコマンド記述部開始タグ存在判定処理（ステップＳ１０１）を実行し、その判定がＮＧであれば（ステップＳ１０２で「Ｎｏ」）、通信部１１０を介して第１のエラーメッセージを送信元のクライアント３０に返信し（ステップＳ１０３）、その判定がＯＫであれば（ステップＳ１０２で「Ｙｅｓ」）、ステップＳ１０４に進む。第１のエラーメッセージは、コマンド記述部開始タグが見つからない旨を通知するものであり、例えば、「コマンド記述部開始タグ<Begin>が見つかりません」などのメッセージである。コマンド記述部開始タグ存在判定処理（ステップＳ１０１）の詳細については、図１０を参照して後記する。
【００３１】
ステップＳ１０４では、処理部１３０は、タグの括弧開始記号「<」に対応する括弧終了記号「>」が存在するか否かを判定するタグ形式妥当性判定処理（ステップＳ１０４）を実行し、その判定がＮＧであれば（ステップＳ１０５で「Ｎｏ」）、通信部１１０を介して第２のエラーメッセージを送信元のクライアント３０に返信し（ステップＳ１０６）、その判定がＯＫであれば（ステップＳ１０５で「Ｙｅｓ」）、ステップＳ１０７に進む。第２のエラーメッセージは、タグ形式が妥当ではない旨を通知するものであり、例えば、「タグの括弧開始記号に対応する括弧終了記号が見つかりません」などのメッセージである。タグ形式妥当性判定処理（ステップＳ１０４）の詳細については、図１１を参照して後記する。
【００３２】
ステップＳ１０７では、処理部１３０は、開始タグに対応する終了タグが存在するか否かを判定する開始・終了タグ対妥当性判定処理（ステップＳ１０７）を実行し、その判定がＮＧであれば（ステップＳ１０８で「Ｎｏ」）、通信部１１０を介して第３のエラーメッセージを送信元のクライアント３０に返信し（ステップＳ１０９）、その判定がＯＫであれば（ステップＳ１０８で「Ｙｅｓ」）、ステップＳ１１０に進む。第３のエラーメッセージは、開始・終了タグ対が妥当ではない旨を通知するものであり、例えば、「開始タグに対応する終了タグが見つかりません」などのメッセージである。開始・終了タグ対妥当性判定処理（ステップＳ１０７）の詳細については、図１２および図１３を参照して後記する。
【００３３】
ステップＳ１１０では、処理部１３０は、タグ名が妥当であるか否かを判定するタグ名妥当性判定処理（ステップＳ１１０）を実行し、その判定がＮＧであれば（ステップＳ１１１で「Ｎｏ」）、通信部１１０を介して第４のエラーメッセージを送信元のクライアント３０に返信し（ステップＳ１１２）、その判定がＯＫであれば（ステップＳ１１１で「Ｙｅｓ」）、ステップＳ１１３（図５参照）に進む。第４のエラーメッセージは、タグ名が妥当ではない旨を通知するものであり、例えば、「無効なタグ名が記述されています」などのメッセージである。タグ名妥当性判定処理（ステップＳ１１０）の詳細については、図１４および図１５を参照して後記する。
【００３４】
図５は、図１に示した文書管理装置が実行する処理の流れの第２番目を示すフローチャートである。図５を参照して（適宜図１ないし図３参照）、文書管理装置が実行する処理の第２番目について説明する。なお、この処理は、図４に示した処理と同様、処理部１３０が文書管理プログラム１２５を実行することによって実施される。
【００３５】
ステップＳ１１３では、処理部１３０は、タグの順序が妥当であるか否かを判定するタグ順序妥当性判定処理（ステップＳ１１３）を実行し、その判定がＮＧであれば（ステップＳ１１４で「Ｎｏ」）、通信部１１０を介して第５のエラーメッセージを送信元のクライアント３０に返信し（ステップＳ１１５）、その判定がＯＫであれば（ステップＳ１１４で「Ｙｅｓ」）、ステップＳ１１６に進む。第５のエラーメッセージは、タグの順序が妥当ではない旨を通知するものであり、例えば、「タグを書く順序に誤りがあります」などのメッセージである。タグ順序妥当性判定処理（ステップＳ１１３）の詳細については、図１６ないし図１８を参照して後記する。
【００３６】
ステップＳ１１６では、処理部１３０は、必須のタグが存在するか否かを判定する必須タグ存在判定処理（ステップＳ１１６）を実行し、その判定がＮＧであれば（ステップＳ１１７で「Ｎｏ」）、通信部１１０を介して第６のエラーメッセージを送信元のクライアント３０に返信し（ステップＳ１１８）、その判定がＯＫであれば（ステップＳ１１７で「Ｙｅｓ」）、ステップＳ１１９に進む。第６のエラーメッセージは、必須のタグが存在しない旨を通知するものであり、例えば、「必要なタグが揃っていません」などのメッセージである。必須タグ存在判定処理（ステップＳ１１６）の詳細については、図１９ないし図２２を参照して後記する。
【００３７】
ステップＳ１１９では、処理部１３０は、開始タグと終了タグに挟まれている内容が妥当であるか否かを判定する内容妥当性判定処理（ステップＳ１１９）を実行し、その判定がＮＧであれば（ステップＳ１２０で「Ｎｏ」）、通信部１１０を介して第７のエラーメッセージを送信元のクライアント３０に返信し（ステップＳ１２１）、その判定がＯＫであれば（ステップＳ１２０で「Ｙｅｓ」）、ステップＳ１２２に進む。第７のエラーメッセージは、内容が妥当ではない旨を通知するものであり、例えば、「タグの内容が無効です」などのメッセージである。内容妥当性判定処理（ステップＳ１１９）の詳細については、図２３および図２４を参照して後記する。
【００３８】
ステップＳ１２２では、処理部１３０は、コマンド記述部５３０の操作内容に基づいて処理を行う。その後、処理部１３０は、処理を終了する。
【００３９】
図６は、図１に示した有効タグ情報の構成を示す図である。図６に示すように、有効タグ情報１２１は、有効なタグの名称である有効タグ名１２１ａを含んで構成される。
【００４０】
図７は、図１に示したタグ順序情報の構成を示す図である。図７に示すように、タグ順序情報１２２は、基準となるタグの名称である基準タグ名１２２ａと、基準となるタグの次にくるべきタグの名称である次タグ名１２２ｂとが対応付けられて構成される。
【００４１】
図８は、図１に示した必須タグ情報の構成を示す図である。図８に示すように、必須タグ情報１２３は、Commandタグの内容であるCommandタグ内容１２３ａと、必須のタグの名称である必須タグ名１２３ｂとが対応付けられて構成される。
【００４２】
図９は、図１に示した内容条件情報の構成を示す図である。図９に示すように、内容条件情報１２４は、タグの名称であるタグ名１２４ａと、タグの内容が満たすべき条件である内容条件１２４ｂとが対応付けられて構成される。
【００４３】
図１０は、図４に示したコマンド記述部開始タグ存在判定処理の流れの詳細を示すフローチャートである。図１０を参照して（適宜図１ないし図９参照）、コマンド記述部開始タグ存在判定処理について説明する。なお、以下の説明において、ステップＳ１００で取得したメールのメール本文５１０またはコマンド記述部５３０から文字を読み込む際には、それぞれメール本文５１０またはコマンド記述部５３０の先頭から文字を順次に読み込むものとする。また、メール本文５１０またはコマンド記述部５３０から文字の読み込みがすべて終わった状態では、それぞれメール本文５１０またはコマンド記述部５３０の終端に達していると判定できるものとする。さらに、バッファは記憶部１２０に確保された所定の領域を意味し、バッファの文字列に文字を追加する処理において、文字列が存在しない場合には、単にバッファに文字を格納する処理を行うこととする。
【００４４】
まず、ステップＳ２０１からステップＳ２０４の処理によって、コマンド記述部開始タグ５４０である<Begin>の括弧開始記号「<」を検出することができる。すなわち、文書管理装置１０の処理部１３０は、ステップＳ１００で取得したメールのメール本文５１０を読み込み対象とし、読み込み対象の文字が終端を示すものである場合には（ステップＳ２０１で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図４に示した処理）に返却し（ステップＳ２０２）、ステップＳ１０１の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ２０１で「Ｎｏ」）、メール本文５１０から１文字読み込み（ステップＳ２０３）、読み込んだ文字がタグの括弧開始記号「<」ではない場合には（ステップＳ２０４で「Ｎｏ」）、ステップＳ２０１に戻る。読み込んだ文字がタグの括弧開始記号「<」である場合には（ステップＳ２０４で「Ｙｅｓ」）、ステップＳ２０５に進む。
【００４５】
次に、ステップＳ２０５からステップＳ２０９の処理によって、コマンド記述部開始タグ５４０である<Begin>のタグ名Beginをバッファに格納することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ２０５で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図４に示した処理）に返却し（ステップＳ２０６）、ステップＳ１０１の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ２０５で「Ｎｏ」）、メール本文５１０から１文字読み込み（ステップＳ２０７）、読み込んだ文字がタグの括弧終了記号「>」ではない場合には（ステップＳ２０８で「Ｎｏ」）、読み込んだ文字をバッファの文字列の末尾に追加し（ステップＳ２０９）、ステップＳ２０５に戻る。読み込んだ文字がタグの括弧終了記号「>」である場合には（ステップＳ２０８で「Ｙｅｓ」）、ステップＳ２１０に進む。
【００４６】
ステップＳ２１０では、バッファの文字列が「Begin」であるか否かを判定し、バッファの文字列が「Begin」でない場合には（ステップＳ２１０で「Ｎｏ」）、判定ＮＧを呼び出し元の処理（図４に示した処理）に返却し（ステップＳ２１１）、ステップＳ１０１の処理を終了する。バッファの文字列が「Begin」である場合には（ステップＳ２１０で「Ｙｅｓ」）、判定ＯＫを呼び出し元の処理（図４に示した処理）に返却し（ステップＳ２１２）、ステップＳ１０１の処理を終了する。
【００４７】
図１１は、図４に示したタグ形式妥当性判定処理の流れの詳細を示すフローチャートである。図１１を参照して（適宜図１ないし図９参照）、タグ形式妥当性判定処理について説明する。
【００４８】
まず、ステップＳ３０１からステップＳ３０４の処理によって、コマンド記述部開始タグ５４０からタグの括弧開始記号「<」を検出することができる。すなわち、文書管理装置１０の処理部１３０は、メール本文５１０のうち、ステップＳ１０１で検出したコマンド記述部開始タグ５４０よりも後の記述箇所をコマンド記述部５３０として、このコマンド記述部５３０を読み込み対象とし、読み込み対象の文字が終端を示すものである場合には（ステップＳ３０１で「Ｙｅｓ」）、判定ＯＫを呼び出し元の処理（図４に示した処理）に返却し（ステップＳ３０２）、ステップＳ１０４の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ３０１で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ３０３）、読み込んだ文字がタグの括弧開始記号「<」ではない場合には（ステップＳ３０４で「Ｎｏ」）、ステップＳ３０１に戻る。読み込んだ文字がタグの括弧開始記号「<」である場合には（ステップＳ３０４で「Ｙｅｓ」）、ステップＳ３０５に進む。
【００４９】
次に、ステップＳ３０５からステップＳ３０８の処理によって、タグの括弧開始記号「<」に対応するタグの括弧終了記号「>」を検出することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ３０５で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図４に示した処理）に返却し（ステップＳ３０６）、ステップＳ１０４の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ３０５で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ３０７）、読み込んだ文字がタグの括弧終了記号「>」ではない場合には（ステップＳ３０８で「Ｎｏ」）、ステップＳ３０５に戻る。読み込んだ文字がタグの括弧終了記号「>」である場合には（ステップＳ３０８で「Ｙｅｓ」）、ステップＳ３０１に戻り、ステップＳ３０１で読み込み対象の文字が終端を示すと判定されるまで、次のタグの括弧開始記号「<」とタグの括弧終了記号「>」の組み合わせを検出する処理を繰り返す。
【００５０】
図１２は、図４に示した開始・終了タグ対妥当性判定処理の流れの詳細を示す第１番目のフローチャートである。図１２を参照して（適宜図１ないし図９参照）、開始・終了タグ対妥当性判定処理の第１番目について説明する。
【００５１】
まず、ステップＳ４０１からステップＳ４０４の処理によって、コマンド記述部５３０から開始タグの括弧開始記号「<」を検出することができる。すなわち、文書管理装置１０の処理部１３０は、コマンド記述部５３０を読み込み対象とし、読み込み対象の文字が終端を示すものである場合には（ステップＳ４０１で「Ｙｅｓ」）、判定ＯＫを呼び出し元の処理（図４に示した処理）に返却し（ステップＳ４０２）、ステップＳ１０７の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ４０１で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ４０３）、読み込んだ文字がタグの括弧開始記号「<」ではない場合には（ステップＳ４０４で「Ｎｏ」）、ステップＳ４０１に戻る。読み込んだ文字がタグの括弧開始記号「<」である場合には（ステップＳ４０４で「Ｙｅｓ」）、ステップＳ４０５に進む。
【００５２】
次に、ステップＳ４０５からステップＳ４０７の処理によって、開始タグの括弧開始記号「<」の次の文字が「/」ではないことを確認することができる。すなわち、処理部１３０は、コマンド記述部５３０から１文字読み込み（ステップＳ４０５）、読み込んだ文字が「/」である場合には（ステップＳ４０６で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図４に示した処理）に返却し（ステップＳ４０７）、ステップＳ１０７の処理を終了する。読み込んだ文字が「/」でない場合には（ステップＳ４０６で「Ｎｏ」）、ステップＳ４０８に進む。
【００５３】
次に、ステップＳ４０８からステップＳ４１１の処理によって、開始タグの括弧開始記号「<」に対応するタグの括弧終了記号「>」を検出することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ４０８で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図４に示した処理）に返却し（ステップＳ４０９）、ステップＳ１０７の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ４０８で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ４１０）、読み込んだ文字がタグの括弧終了記号「>」ではない場合には（ステップＳ４１１で「Ｎｏ」）、ステップＳ４０８に戻る。読み込んだ文字がタグの括弧終了記号「>」である場合には（ステップＳ４１１で「Ｙｅｓ」）、ステップＳ４１２（図１３参照）に進む。
【００５４】
図１３は、図４に示した開始・終了タグ対妥当性判定処理の流れの詳細を示す第２番目のフローチャートである。図１３を参照して（適宜図１ないし図９参照）、開始・終了タグ対妥当性判定処理の第２番目について説明する。
【００５５】
ステップＳ４１２からステップＳ４１５の処理によって、コマンド記述部５３０から開始タグに対応する終了タグの括弧開始記号「<」を検出することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ４１２で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図４に示した処理）に返却し（ステップＳ４１３）、ステップＳ１０７の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ４１２で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ４１４）、読み込んだ文字がタグの括弧開始記号「<」ではない場合には（ステップＳ４１５で「Ｎｏ」）、ステップＳ４１２に戻る。読み込んだ文字がタグの括弧開始記号「<」である場合には（ステップＳ４１５で「Ｙｅｓ」）、ステップＳ４１６に進む。
【００５６】
次に、ステップＳ４１６からステップＳ４１８の処理によって、終了タグの括弧開始記号「<」の次の文字が「/」であることを確認することができる。すなわち、処理部１３０は、コマンド記述部５３０から１文字読み込み（ステップＳ４１６）、読み込んだ文字が「/」でない場合には（ステップＳ４１７で「Ｎｏ」）、判定ＮＧを呼び出し元の処理（図４に示した処理）に返却し（ステップＳ４１８）、ステップＳ１０７の処理を終了する。読み込んだ文字が「/」である場合には（ステップＳ４１７で「Ｙｅｓ」）、ステップＳ４１９に進む。
【００５７】
次に、ステップＳ４１９からステップＳ４２２の処理によって、終了タグの括弧開始記号「<」に対応するタグの括弧終了記号「>」を検出することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ４１９で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図４に示した処理）に返却し（ステップＳ４２０）、ステップＳ１０７の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ４１９で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ４２１）、読み込んだ文字がタグの括弧終了記号「>」ではない場合には（ステップＳ４２２で「Ｎｏ」）、ステップＳ４１９に戻る。読み込んだ文字がタグの括弧終了記号「>」である場合には（ステップＳ４２２で「Ｙｅｓ」）、ステップＳ４０１（図１２参照）に戻り、ステップＳ４０１で読み込み対象の文字が終端を示すと判定されるまで、次の開始タグと終了タグの組み合わせを検出する処理を繰り返す。
【００５８】
図１４は、図４に示したタグ名妥当性判定処理の流れの詳細を示す第１番目のフローチャートである。図１４を参照して（適宜図１ないし図９参照）、タグ名妥当性判定処理の第１番目について説明する。
【００５９】
まず、ステップＳ５０１からステップＳ５０４の処理によって、コマンド記述部５３０から開始タグの括弧開始記号「<」を検出することができる。すなわち、文書管理装置１０の処理部１３０は、コマンド記述部５３０を読み込み対象とし、読み込み対象の文字が終端を示すものである場合には（ステップＳ５０１で「Ｙｅｓ」）、判定ＯＫを呼び出し元の処理（図４に示した処理）に返却し（ステップＳ５０２）、ステップＳ１１０の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ５０１で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ５０３）、読み込んだ文字が開始タグの括弧開始記号「<」ではない場合には（ステップＳ５０４で「Ｎｏ」）、ステップＳ５０１に戻る。読み込んだ文字が開始タグの括弧開始記号「<」である場合には（ステップＳ５０４で「Ｙｅｓ」）、ステップＳ５０５に進む。
【００６０】
次に、ステップＳ５０５からステップＳ５０９の処理によって、コマンド記述部５３０から開始タグのタグ名を第１のバッファに格納することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ５０５で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図４に示した処理）に返却し（ステップＳ５０６）、ステップＳ１１０の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ５０５で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ５０７）、読み込んだ文字が開始タグの括弧終了記号「>」ではない場合には（ステップＳ５０８で「Ｎｏ」）、読み込んだ文字を第１のバッファの文字列の末尾に追加し（ステップＳ５０９）、ステップＳ５０５に戻る。読み込んだ文字が開始タグの括弧終了記号「>」である場合には（ステップＳ５０８で「Ｙｅｓ」）、ステップＳ５１０に進む。
【００６１】
ステップＳ５１０からステップＳ５１１の処理によって、開始タグのタグ名が有効であることを確認することができる。すなわち、第１のバッファの文字列が有効タグ情報１２１に含まれるか否かを判定する。含まれない場合には（ステップＳ５１１で「Ｎｏ」）、判定ＮＧを呼び出し元の処理（図４に示した処理）に返却し（ステップＳ５１１）、ステップＳ１１０の処理を終了する。含まれる場合には（ステップＳ５１１で「Ｙｅｓ」）、ステップＳ５２１（図１５参照）に進む。
【００６２】
図１５は、図４に示したタグ名妥当性判定処理の流れの詳細を示す第２番目のフローチャートである。図１５を参照して（適宜図１ないし図９参照）、タグ名妥当性判定処理の第２番目について説明する。
【００６３】
ステップＳ５２１からステップＳ５２４の処理によって、コマンド記述部５３０から終了タグの括弧開始記号「<」を検出することができる。すなわち、文書管理装置１０の処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ５２１で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図４に示した処理）に返却し（ステップＳ５２２）、ステップＳ１１０の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ５２１で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ５２３）、読み込んだ文字が終了タグの括弧開始記号「<」ではない場合には（ステップＳ５２４で「Ｎｏ」）、ステップＳ５２１に戻る。読み込んだ文字が終了タグの括弧開始記号「<」である場合には（ステップＳ５２４で「Ｙｅｓ」）、ステップＳ５２５に進む。
【００６４】
次に、ステップＳ５２５からステップＳ５２７の処理によって、終了タグの括弧開始記号「<」の次の文字「/」を読み込むことができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ５２５で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図４に示した処理）に返却し（ステップＳ５２６）、ステップＳ１１０の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ５２５で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ５２７）、ステップＳ５２８に進む。
【００６５】
次に、ステップＳ５２８からステップＳ５３２の処理によって、コマンド記述部５３０から終了タグのタグ名を第２のバッファに格納することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ５２８で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図４に示した処理）に返却し（ステップＳ５２９）、ステップＳ１１０の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ５２８で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ５３０）、読み込んだ文字が終了タグの括弧終了記号「>」ではない場合には（ステップＳ５３１で「Ｎｏ」）、読み込んだ文字を第２のバッファの文字列の末尾に追加し（ステップＳ５３２）、ステップＳ５２８に戻る。読み込んだ文字が終了タグの括弧終了記号「>」である場合には（ステップＳ５３１で「Ｙｅｓ」）、ステップＳ５３３に進む。
【００６６】
次に、ステップＳ５３３からステップＳ５４１の処理によって、終了タグのタグ名が開始タグのタグ名と同じであることを確認することができる。すなわち、第１のバッファの文字列と第２のバッファの文字列が等しいか否かを判定する。等しくない場合には（ステップＳ５３３で「Ｎｏ」）、判定ＮＧを呼び出し元の処理（図４に示した処理）に返却し（ステップＳ５３４）、ステップＳ１１０の処理を終了する。等しい場合には（ステップＳ５３３で「Ｙｅｓ」）、第１のバッファおよび第２のバッファをクリアして（ステップＳ５４１）、ステップＳ５０１（図１４参照）に戻り、ステップＳ５０１で読み込み対象の文字が終端を示すと判定されるまで、タグ名の妥当性を判定する処理を繰り返す。
【００６７】
図１６は、図５に示したタグ順序妥当性判定処理の流れの詳細を示す第１番目のフローチャートである。図１６を参照して（適宜図１ないし図９参照）、タグ順序妥当性判定処理の第１番目について説明する。
【００６８】
まず、ステップＳ６０１からステップＳ６０４の処理によって、コマンド記述部５３０からタグの順序を確認する際の基準となる基準タグの開始タグの括弧開始記号「<」を検出することができる。すなわち、文書管理装置１０の処理部１３０は、コマンド記述部５３０を読み込み対象とし、読み込み対象の文字が終端を示すものである場合には（ステップＳ６０１で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ６０２）、ステップＳ１１３の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ６０１で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ６０３）、読み込んだ文字が基準タグの開始タグの括弧開始記号「<」ではない場合には（ステップＳ６０４で「Ｎｏ」）、ステップＳ６０１に戻る。読み込んだ文字が基準タグの開始タグの括弧開始記号「<」である場合には（ステップＳ６０４で「Ｙｅｓ」）、ステップＳ６０５に進む。
【００６９】
次に、ステップＳ６０５からステップＳ６０９の処理によって、コマンド記述部５３０から基準タグの開始タグのタグ名を基準タグバッファに格納することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ６０５で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ６０６）、ステップＳ１１３の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ６０５で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ６０７）、読み込んだ文字が基準タグの開始タグの括弧終了記号「>」ではない場合には（ステップＳ６０８で「Ｎｏ」）、読み込んだ文字を基準タグバッファの文字列の末尾に追加し（ステップＳ６０９）、ステップＳ６０５に戻る。読み込んだ文字が基準タグの開始タグの括弧終了記号「>」である場合には（ステップＳ６０８で「Ｙｅｓ」）、ステップＳ６１０に進む。
【００７０】
次に、ステップＳ６１０からステップＳ６２２の処理によって、コマンド記述部５３０から基準タグの終了タグの括弧開始記号「<」を検出することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ６１０で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ６１１）、ステップＳ１１３の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ６１０で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ６２１）、読み込んだ文字が基準タグの開始タグの括弧開始記号「<」ではない場合には（ステップＳ６２２で「Ｎｏ」）、ステップＳ６１０に戻る。読み込んだ文字が基準タグの開始タグの括弧開始記号「<」である場合には（ステップＳ６２２で「Ｙｅｓ」）、ステップＳ６２３に進む。
【００７１】
次に、ステップＳ６２３からステップＳ６２６の処理によって、コマンド記述部５３０から基準タグの終了タグの括弧終了記号「>」を検出することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ６２３で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ６２４）、ステップＳ１１３の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ６２３で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ６２５）、読み込んだ文字が基準タグの終了タグの括弧終了記号「>」ではない場合には（ステップＳ６２６で「Ｎｏ」）、ステップＳ６２３に戻る。読み込んだ文字が基準タグの終了タグの括弧終了記号「>」である場合には（ステップＳ６２６で「Ｙｅｓ」）、ステップＳ６２７に進む。
【００７２】
図１７は、図５に示したタグ順序妥当性判定処理の流れの詳細を示す第２番目のフローチャートである。図１７を参照して（適宜図１ないし図９参照）、タグ順序妥当性判定処理の第２番目について説明する。
【００７３】
ステップＳ６２７からステップＳ６３２の処理によって、コマンド記述部５３０から基準タグの次のタグである次タグの開始タグの括弧開始記号「<」を検出することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ６２７で「Ｙｅｓ」）、ステップＳ６６１（図１８参照）に進む。読み込み対象の文字が終端を示すものでない場合には（ステップＳ６２７で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ６３１）、読み込んだ文字が次タグの開始タグの括弧開始記号「<」ではない場合には（ステップＳ６３２で「Ｎｏ」）、ステップＳ６２７に戻る。読み込んだ文字が次タグの開始タグの括弧開始記号「<」である場合には（ステップＳ６３２で「Ｙｅｓ」）、ステップＳ６３３に進む。
【００７４】
次に、ステップＳ６３３からステップＳ６３７の処理によって、コマンド記述部５３０から次タグの開始タグのタグ名を次タグバッファに格納することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ６３３で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ６３４）、ステップＳ１１３の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ６３３で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ６３５）、読み込んだ文字が次タグの開始タグの括弧終了記号「>」ではない場合には（ステップＳ６３６で「Ｎｏ」）、読み込んだ文字を次タグバッファの文字列の末尾に追加し（ステップＳ６３７）、ステップＳ６３３に戻る。読み込んだ文字が次タグの開始タグの括弧終了記号「>」である場合には（ステップＳ６３６で「Ｙｅｓ」）、ステップＳ６３８に進む。
【００７５】
次に、ステップＳ６３８からステップＳ６４２の処理によって、コマンド記述部５３０から次タグの終了タグの括弧開始記号「<」を検出することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ６３８で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ６３９）、ステップＳ１１３の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ６３８で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ６４１）、読み込んだ文字が次タグの終了タグの括弧開始記号「<」ではない場合には（ステップＳ６４２で「Ｎｏ」）、ステップＳ６３８に戻る。読み込んだ文字が次タグの終了タグの括弧開始記号「<」である場合には（ステップＳ６４２で「Ｙｅｓ」）、ステップＳ６４３に進む。
【００７６】
次に、ステップＳ６４３からステップＳ６４６の処理によって、コマンド記述部５３０から次タグの終了タグの括弧終了記号「>」を検出することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ６４３で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ６４４）、ステップＳ１１３の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ６４３で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ６４５）、読み込んだ文字が次タグの終了タグの括弧終了記号「>」ではない場合には（ステップＳ６４６で「Ｎｏ」）、ステップＳ６４３に戻る。読み込んだ文字が次タグの終了タグの括弧終了記号「>」である場合には（ステップＳ６４６で「Ｙｅｓ」）、ステップＳ６４７（図１８参照）に進む。
【００７７】
図１８は、図５に示したタグ順序妥当性判定処理の流れの詳細を示す第３番目のフローチャートである。図１８を参照して（適宜図１ないし図９参照）、タグ順序妥当性判定処理の第３番目について説明する。
【００７８】
ステップＳ６４７では、基準タグバッファおよび次タグバッファをタグ順序情報１２２の基準タグ名１２２ａおよび次タグ名１２２ｂとマッチングをする。マッチしなかった場合には（ステップＳ６４８で「Ｎｏ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ６４９）、ステップＳ１１３の処理を終了する。マッチした場合には（ステップＳ６４８で「Ｙｅｓ」）、次タグバッファを基準タグバッファにコピーし（ステップＳ６５０）、次タグバッファをクリアして（ステップＳ６５１）、ステップＳ６２７（図１７参照）に戻る。そして、Ｓ６２７で読み込み対象の文字が終端を示すと判定されるまで、次タグバッファへの文字列の読み込みの処理（ステップＳ６２７からステップＳ６４６）、マッチングの処理（ステップＳ６４７からステップＳ６４９）、次タグバッファから基準タグバッファに文字列をコピーする処理（ステップＳ６５０）および次タグバッファをクリアする処理（ステップＳ６５１）を繰り返す。
【００７９】
ステップＳ６６１では、次タグバッファに「終端子」を設定し、基準タグバッファおよび次タグバッファをタグ順序情報１２２の基準タグ名１２２ａおよび次タグ名１２２ｂとマッチングを行う（ステップＳ６６２）。ここで、基準タグバッファには、ステップＳ６０９の処理またはステップＳ６５０の処理によって、コマンド記述部５３０の最後のタグのタグ名が設定されている。マッチしなかった場合には（ステップＳ６６３で「Ｎｏ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ６６４）、ステップＳ１１３の処理を終了する。マッチした場合には（ステップＳ６６３で「Ｙｅｓ」）、判定ＯＫを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ６６５）、ステップＳ１１３の処理を終了する。
【００８０】
図１９は、図５に示した必須タグ存在判定処理の流れの詳細を示す第１番目のフローチャートである。図１９を参照して（適宜図１ないし図９参照）、必須タグ存在判定処理の第１番目について説明する。
【００８１】
まず、ステップＳ７０１からステップＳ７０４の処理によって、コマンド記述部５３０から最初のタグである先頭タグの開始タグの括弧開始記号「<」を検出することができる。すなわち、文書管理装置１０の処理部１３０は、コマンド記述部５３０を読み込み対象とし、読み込み対象の文字が終端を示すものである場合には（ステップＳ７０１で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ７０２）、ステップＳ１１６の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ７０１で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ７０３）、読み込んだ文字が先頭タグの開始タグの括弧開始記号「<」ではない場合には（ステップＳ７０４で「Ｎｏ」）、ステップＳ７０１に戻る。読み込んだ文字が先頭タグの開始タグの括弧開始記号「<」である場合には（ステップＳ７０４で「Ｙｅｓ」）、ステップＳ７０５に進む。
【００８２】
次に、ステップＳ７０５からステップＳ７０９の処理によって、コマンド記述部５３０から先頭タグの開始タグのタグ名を先頭タグバッファに格納することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ７０５で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ７０６）、ステップＳ１１６の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ７０５で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ７０７）、読み込んだ文字が先頭タグの開始タグの括弧終了記号「>」ではない場合には（ステップＳ７０８で「Ｎｏ」）、読み込んだ文字を先頭タグバッファの文字列の末尾に追加し（ステップＳ７０９）、ステップＳ７０５に戻る。読み込んだ文字が先頭タグの開始タグの括弧終了記号「>」である場合には（ステップＳ７０８で「Ｙｅｓ」）、ステップＳ７１０に進む。
【００８３】
次に、処理部１３０は、先頭タグバッファの文字列が「Command」であるか否かを判定する（ステップＳ７１０）。先頭タグバッファの文字列が「Command」でない場合には（ステップＳ７１０で「Ｎｏ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ７１１）、ステップＳ１１６の処理を終了する。先頭タグバッファの文字列が「Command」である場合には（ステップＳ７１０で「Ｙｅｓ」）、ステップＳ７２１（図２０参照）に進む。
【００８４】
図２０は、図５に示した必須タグ存在判定処理の流れの詳細を示す第２番目のフローチャートである。図２０を参照して（適宜図１ないし図９参照）、必須タグ存在判定処理の第２番目について説明する。
【００８５】
ステップＳ７２１からステップＳ７２５の処理によって、コマンド記述部５３０からCommandタグの内容を内容バッファに格納することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ７２１で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ７２２）、ステップＳ１１６の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ７２１で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ７２３）、読み込んだ文字がCommandタグの終了タグの括弧開始記号「<」ではない場合には（ステップＳ７２４で「Ｎｏ」）、読み込んだ文字を内容バッファの文字列の末尾に追加し（ステップＳ７２５）、ステップＳ７２１に戻る。読み込んだ文字がCommandタグの終了タグの括弧開始記号「<」である場合には（ステップＳ７２４で「Ｙｅｓ」）、ステップＳ７２６に進む。
【００８６】
次に、ステップＳ７２６からステップＳ７２９の処理によって、コマンド記述部５３０からCommandタグの終了タグの括弧終了記号「>」を検出することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ７２６で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ７２７）、ステップＳ１１６の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ７２６で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ７２８）、読み込んだ文字がCommandタグの終了タグの括弧終了記号「>」ではない場合には（ステップＳ７２９で「Ｎｏ」）、ステップＳ７２６に戻る。読み込んだ文字がCommandタグの終了タグの括弧終了記号「>」である場合には（ステップＳ７２９で「Ｙｅｓ」）、ステップＳ７３０に進む。
【００８７】
図２１は、図５に示した必須タグ存在判定処理の流れの詳細を示す第３番目のフローチャートである。図２１を参照して（適宜図１ないし図９参照）、必須タグ存在判定処理の第３番目について説明する。
【００８８】
ステップＳ７３０からステップＳ７４２の処理によって、コマンド記述部５３０から開始タグの括弧開始記号「<」を検出することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ７３０で「Ｙｅｓ」）、ステップＳ７７１（図２２参照）に進む。読み込み対象の文字が終端を示すものでない場合には（ステップＳ７３０で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ７４１）、読み込んだ文字が開始タグの括弧開始記号「<」ではない場合には（ステップＳ７４２で「Ｎｏ」）、ステップＳ７３０に戻る。読み込んだ文字が開始タグの括弧開始記号「<」である場合には（ステップＳ７４２で「Ｙｅｓ」）、ステップＳ７４３に進む。
【００８９】
次に、ステップＳ７４３からステップＳ７４７の処理によって、コマンド記述部５３０から開始タグのタグ名をタグバッファに格納することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ７４３で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ７４４）、ステップＳ１１６の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ７４３で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ７４５）、読み込んだ文字が開始タグの括弧終了記号「>」ではない場合には（ステップＳ７４６で「Ｎｏ」）、読み込んだ文字をタグバッファの文字列の末尾に追加し（ステップＳ７４７）、ステップＳ７４３に戻る。読み込んだ文字が開始タグの括弧終了記号「>」である場合には（ステップＳ７４６で「Ｙｅｓ」）、ステップＳ７４８に進む。
【００９０】
次に、処理部１３０は、タグバッファの文字列をタグ一覧情報に登録し（ステップＳ７４８）、タグバッファをクリアして（ステップＳ７４９）、ステップＳ７５０（図２２参照）に進む。ここで、タグ一覧情報とは、コマンド記述部５３０に記述されているタグ（Commandタグ以外）のタグ名が、ステップＳ７４９によって順に登録される一覧情報であり、ステップＳ７４９を最初に通過する際には、空である。
【００９１】
図２２は、図５に示した必須タグ存在判定処理の流れの詳細を示す第４番目のフローチャートである。図２２を参照して（適宜図１ないし図９参照）、必須タグ存在判定処理の第４番目について説明する。
【００９２】
ステップＳ７５０からステップＳ７６２の処理によって、コマンド記述部５３０から終了タグの括弧開始記号「<」を検出することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ７５０で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ７５１）、ステップＳ１１６の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ７５０で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ７６１）、読み込んだ文字が終了タグの括弧開始記号「<」ではない場合には（ステップＳ７６２で「Ｎｏ」）、ステップＳ７５０に戻る。読み込んだ文字が終了タグの括弧開始記号「<」である場合には（ステップＳ７６２で「Ｙｅｓ」）、ステップＳ７６３に進む。
【００９３】
次に、ステップＳ７６３からステップＳ７６６の処理によって、コマンド記述部５３０から終了タグの括弧終了記号「>」を検出することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ７６３で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ７６４）、ステップＳ１１６の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ７６３で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ７６５）、読み込んだ文字が終了タグの括弧終了記号「>」ではない場合には（ステップＳ７６６で「Ｎｏ」）、ステップＳ７６３に戻る。読み込んだ文字が終了タグの括弧終了記号「>」である場合には（ステップＳ７６６で「Ｙｅｓ」）、ステップＳ７３０（図２１参照）に戻る。そして、Ｓ７３０で読み込み対象の文字が終端を示すと判定されるまで、タグバッファへの文字列の読み込みの処理（ステップＳ７３０からステップＳ７４７）、タグバッファの文字列をタグ一覧情報に登録する処理（ステップＳ７４８）、タグバッファをクリアする処理（ステップＳ７４９）および終了タグを読み込む処理（ステップＳ７５０からステップＳ７６６）を繰り返す。
【００９４】
ステップＳ７７１では、処理部１３０は、内容バッファの文字列をキーとして、必須タグ情報１２３のCommandタグ内容１２３ａを検索する。ここで、内容バッファには、コマンド記述部５３０のCommandタグの内容（図３の例では、「Register」）が格納されている。そして、検索によって得られた必須タグ名１２３ｂがタグ一覧情報に含まれるか否かを判定する（ステップＳ７７２）。ここで、検索によって得られた必須タグ名１２３ｂがタグ一覧情報に含まれるとは、タグ一覧情報を構成する要素の集合が検索によって得られた必須タグ名１２３ｂを構成する要素の集合を包含することを意味する。ただし、検索によって得られた必須タグ名１２３ｂを構成する要素の集合とタグ一覧情報を構成する要素の集合とが完全に一致することがより好ましい。含まれない場合には（ステップＳ７７３で「Ｎｏ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ７７４）、ステップＳ１１６の処理を終了する。含まれる場合には（ステップＳ７７３で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ７７５）、ステップＳ１１６の処理を終了する。
【００９５】
図２３は、図５に示した内容妥当性判定処理の流れの詳細を示す第１番目のフローチャートである。図２３を参照して（適宜図１ないし図９参照）、内容妥当性判定処理の第１番目について説明する。
【００９６】
まず、ステップＳ８０１からステップＳ８０４の処理によって、コマンド記述部５３０から開始タグの括弧開始記号「<」を検出することができる。すなわち、文書管理装置１０の処理部１３０は、コマンド記述部５３０を読み込み対象とし、読み込み対象の文字が終端を示すものである場合には（ステップＳ８０１で「Ｙｅｓ」）、判定ＯＫを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ８０２）、ステップＳ１１９の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ８０１で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ８０３）、読み込んだ文字が先頭タグの開始タグの括弧開始記号「<」ではない場合には（ステップＳ８０４で「Ｎｏ」）、ステップＳ８０１に戻る。読み込んだ文字が開始タグの括弧開始記号「<」である場合には（ステップＳ８０４で「Ｙｅｓ」）、ステップＳ８０５に進む。
【００９７】
次に、ステップＳ８０５からステップＳ８０９の処理によって、コマンド記述部５３０から開始タグのタグ名を第３のバッファに格納することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ８０５で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ８０６）、ステップＳ１１９の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ８０５で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ８０７）、読み込んだ文字が開始タグの括弧終了記号「>」ではない場合には（ステップＳ８０８で「Ｎｏ」）、読み込んだ文字を第３のバッファの文字列の末尾に追加し（ステップＳ８０９）、ステップＳ８０５に戻る。読み込んだ文字が開始タグの括弧終了記号「>」である場合には（ステップＳ８０８で「Ｙｅｓ」）、ステップＳ８１０（図２４参照）に進む。
【００９８】
図２４は、図５に示した内容妥当性判定処理の流れの詳細を示す第２番目のフローチャートである。図２４を参照して（適宜図１ないし図９参照）、内容妥当性判定処理の第２番目について説明する。
【００９９】
ステップＳ８１０からステップＳ８２３の処理によって、コマンド記述部５３０からタグの内容を第４のバッファに格納することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ８１０で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ８１１）、ステップＳ１１９の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ８１０で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ８２１）、読み込んだ文字が終了タグの括弧開始記号「<」ではない場合には（ステップＳ８２２で「Ｎｏ」）、読み込んだ文字を第４のバッファの文字列の末尾に追加し（ステップＳ８２３）、ステップＳ８１０に戻る。読み込んだ文字が終了タグの括弧開始記号「<」である場合には（ステップＳ８２２で「Ｙｅｓ」）、ステップＳ８２４に進む。
【０１００】
次に、ステップＳ８２４からステップＳ８２７の処理によって、コマンド記述部５３０から終了タグの括弧終了記号「>」を検出することができる。すなわち、処理部１３０は、読み込み対象の文字が終端を示すものである場合には（ステップＳ８２４で「Ｙｅｓ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ８２５）、ステップＳ１１９の処理を終了する。読み込み対象の文字が終端を示すものでない場合には（ステップＳ８２４で「Ｎｏ」）、コマンド記述部５３０から１文字読み込み（ステップＳ８２６）、読み込んだ文字が終了タグの括弧終了記号「>」ではない場合には（ステップＳ８２７で「Ｎｏ」）、ステップＳ８２４に戻る。読み込んだ文字が終了タグの括弧終了記号「>」である場合には（ステップＳ８２７で「Ｙｅｓ」）、ステップＳ８２８に進む。
【０１０１】
ステップＳ８２８では、処理部１３０は、第３のバッファの文字列をキーとして、内容条件情報１２４のタグ名１２４ａを検索する。ここで、第３のバッファには、コマンド記述部５３０に記述されているタグのタグ名（図３の例では、例えば、第３のバッファに「FileName」が格納されている）が格納されている。次に、処理部１３０は、第４のバッファの文字列が、検索によって得られた内容条件１２４ｂに適合するか否かを判定する（ステップＳ８２９）。ここで、第４のバッファには、タグの内容（図３の例では、第３のバッファに「FileName」が格納されている場合には、第４のバッファに「要求定義書.doc」が格納されている）が格納されている。適合しない場合には（ステップＳ８３０で「Ｎｏ」）、判定ＮＧを呼び出し元の処理（図５に示した処理）に返却し（ステップＳ８３１）、ステップＳ１１９の処理を終了する。適合する場合には（ステップＳ８３０で「Ｙｅｓ」）、ステップＳ８０１（図２３参照）に戻る。そして、Ｓ８０１で読み込み対象の文字が終端を示すと判定されるまで、タグ名の読み込みの処理（ステップＳ８０１からステップＳ８０９）、タグの内容の読み込みの処理（ステップＳ８１０からステップＳ８２７）、タグ名に対応するタグの内容が条件に適合することを確認する処理（ステップＳ８２８からステップＳ８３１）を繰り返す。
【０１０２】
以上において説明したように、文書管理システム１は、文書に対する操作内容がタグによってメール本文５１０にコマンド記述部５３０として記述されたメールを送信するクライアント３０と、クライアント３０から受信したメールを蓄積するメールサーバ２０と、文書を管理する文書管理装置１０とがネットワーク４０を介して相互に通信可能にされる。文書管理装置１０の処理部１３０は、通信部１１０を介してメールサーバ２０に蓄積されているメールを取得して記憶部１２０に格納し、記憶部１２０のメールに記述されたコマンド記述部５３０に含まれるタグの記述が妥当であるか否かを判定し、判定の結果、タグの記述に誤りが存在した場合に、タグの記述に誤りがあった旨を通知するメッセージを、通信部１１０を介してクライアント３０に返信する。これにより、操作者によって作成された、文書に対する操作内容に誤りが存在した場合、その誤りの原因を特定することが可能である。
【０１０３】
本実施形態では、図４および図５に示すように、コマンド記述部開始タグ存在判定処理（ステップＳ１０１）の後、タグ形式妥当性判定処理（ステップＳ１０４）、開始・終了タグ対妥当性判定処理（ステップＳ１０７）、タグ名妥当性判定処理（ステップＳ１１０）、タグ順序妥当性判定処理（ステップＳ１１３）、必須タグ存在判定処理（ステップＳ１１６）、内容妥当性判定処理（ステップＳ１１９）が順に実行されることとした。しかし、これらのステップＳ１０４〜ステップＳ１１９の処理のすべてが実行される必要はなく、実行される処理の順序も特に限定されるものではない。
【０１０４】
また、ステップＳ１０１〜ステップＳ１１９の各処理において、処理部１３０（図２参照）がメール本文５１０（図３参照）から文字を読み込む処理を行うこととしたが、ある処理において読み込んだ文字を次の処理において用いることとしてもよい。
【０１０５】
さらに、本実施形態では、図１０ないし図２４に示すように、処理部１３０（図２参照）がメール本文５１０（図３参照）から文字を１文字ずつ読み込むこととしたが、読み込みの単位はこれに限定されず、例えば、１行ずつ読み込むこととしてもよい。
【０１０６】
また、ステップＳ１０１〜ステップＳ１１９の各処理において、エラーが検出された場合に、処理部１３０（図２参照）は、クライアント３０（図１参照）にエラーメッセージを返信することとしたが、エラーを自動で訂正する処理を行うこととしてもよい。例えば、図１２において、開始タグの括弧開始記号が「</」となっていた場合に、自動で「<」に訂正したり、終了タグの括弧開始記号が「<」となっていた場合に、自動で「</」に訂正したりする処理を行うこととしてもよい。その場合には、処理部１３０（図２参照）は、エラーを検出した段階で、クライアント３０（図１参照）に訂正後のメールを返信して確認させることとしてもよい。
【０１０７】
さらに、エラーを回避するために、メール作成ソフトを使用することとしてもよい。このメール作成ソフトを用いて、コマンド記述部５３０（図３参照）に記述する内容を、例えば、ドロップダウンリストから選択できるようにすれば、タグの記述ミスによるエラーを回避することができる。
【０１０８】
また、ＤＴＤ（Document Type Definition）を用いてタグの文法が正しいか否かを検証し、エラーを検出した場合に、エラーを自動で訂正することとしてもよい。
【図面の簡単な説明】
【０１０９】
【図１】本実施形態における文書管理システムの構成を示す図。
【図２】図１に示した文書管理装置の構成を示す図。
【図３】図１に示したクライアントから送信されるメールの記述例を示す図。
【図４】図１に示した文書管理装置が実行する処理の流れの第１番目を示すフローチャート。
【図５】図１に示した文書管理装置が実行する処理の流れの第２番目を示すフローチャート。
【図６】図１に示した有効タグ情報の構成を示す図。
【図７】図１に示したタグ順序情報の構成を示す図。
【図８】図１に示した必須タグ情報の構成を示す図。
【図９】図１に示した内容条件情報の構成を示す図。
【図１０】図４に示したコマンド記述部開始タグ存在判定処理の流れの詳細を示すフローチャート。
【図１１】図４に示したタグ形式妥当性判定処理の流れの詳細を示すフローチャート。
【図１２】図４に示した開始・終了タグ対妥当性判定処理の流れの詳細を示す第１番目のフローチャート。
【図１３】図４に示した開始・終了タグ対妥当性判定処理の流れの詳細を示す第２番目のフローチャート。
【図１４】図４に示したタグ名妥当性判定処理の流れの詳細を示す第１番目のフローチャート。
【図１５】図４に示したタグ名妥当性判定処理の流れの詳細を示す第２番目のフローチャート。
【図１６】図５に示したタグ順序妥当性判定処理の流れの詳細を示す第１番目のフローチャート。
【図１７】図５に示したタグ順序妥当性判定処理の流れの詳細を示す第２番目のフローチャート。
【図１８】図５に示したタグ順序妥当性判定処理の流れの詳細を示す第３番目のフローチャート。
【図１９】図５に示した必須タグ存在判定処理の流れの詳細を示す第１番目のフローチャート。
【図２０】図５に示した必須タグ存在判定処理の流れの詳細を示す第２番目のフローチャート。
【図２１】図５に示した必須タグ存在判定処理の流れの詳細を示す第３番目のフローチャート。
【図２２】図５に示した必須タグ存在判定処理の流れの詳細を示す第４番目のフローチャート。
【図２３】図５に示した内容妥当性判定処理の流れの詳細を示す第１番目のフローチャート。
【図２４】図５に示した内容妥当性判定処理の流れの詳細を示す第２番目のフローチャート。
【符号の説明】
【０１１０】
１      文書管理システム
１０    文書管理装置
２０    メールサーバ
３０    クライアント
４０    ネットワーク
１１０  通信部
１２０  記憶部
１２１  有効タグ情報
１２１ａ  有効タグ名
１２２  タグ順序情報
１２２ａ  基準タグ名
１２２ｂ  次タグ名
１２３  必須タグ情報
１２３ａ  タグ内容
１２３ｂ  必須タグ名
１２４  内容条件情報
１２４ａ  タグ名
１２５  文書管理プログラム
１２６  文書
１３０  処理部
１４０  バス
５１０  メール本文
５２０  文章記述部
５３０  コマンド記述部
５４０  コマンド記述部開始タグ
【図１】
2008192026.tif 000003
【図２】
2008192026.tif 000004
【図３】
2008192026.tif 000005
【図４】
2008192026.tif 000006
【図５】
2008192026.tif 000007
【図６】
2008192026.tif 000008
【図７】
2008192026.tif 000009
【図８】
2008192026.tif 000010
【図９】
2008192026.tif 000011
【図１０】
2008192026.tif 000012
【図１１】
2008192026.tif 000013
【図１２】
2008192026.tif 000014
【図１３】
2008192026.tif 000015
【図１４】
2008192026.tif 000016
【図１５】
2008192026.tif 000017
【図１６】
2008192026.tif 000018
【図１７】
2008192026.tif 000019
【図１８】
2008192026.tif 000020
【図１９】
2008192026.tif 000021
【図２０】
2008192026.tif 000022
【図２１】
2008192026.tif 000023
【図２２】
2008192026.tif 000024
【図２３】
2008192026.tif 000025
【図２４】
2008192026.tif 000026