(57)【要約】【課題】非同期的なＸＭＬ入力に対しても既存のＸＭＬ処理言語によって処理方法を記述することのできるＸＭＬ処理装置を提供する。【解決手段】ＸＭＬ処理装置１は、外部から非同期的に入力されるＸＭＬを所定のルール３１に従って変換して出力するＸＭＬ処理装置であって、入力されたＸＭＬをルールに従ってＸＭＬの変換を行うＸＭＬ変換手段２２と、変換されたＸＭＬに記述された出力先を解釈する出力先解釈手段２５と、出力先解釈手段によって解釈された出力先にＸＭＬを出力させる出力分配手段２４とを有することを特徴とする。【選択図】図１
2009139245.tif 000002
【特許請求の範囲】
【請求項１】
外部から非同期的に入力されるＸＭＬをルールに従って変換して出力するＸＭＬ処理装置であって、
入力された前記ＸＭＬを前記ルールに従って変換するＸＭＬ変換手段と、
変換された前記ＸＭＬに記述された出力先を解釈する出力先解釈手段と、
前記出力先解釈手段によって解釈された出力先に前記ＸＭＬを出力させる出力分配手段とを有することを特徴とするＸＭＬ処理装置。
【請求項２】
前記出力先解釈手段によって解釈される出力先のうち少なくとも一つが、前記ＸＭＬを一時的に保存するキャッシュメモリであることを特徴とする、請求項１に記載のＸＭＬ処理装置。
【請求項３】
前記ルールが記載されているＸＳＬＴを記憶する記憶部を有することを特徴とする、請求項２に記載のＸＭＬ処理装置。
【請求項４】
前記ＸＭＬ変換手段が前記ルールに従って前記キャッシュメモリを参照することが可能なキャッシュ参照手段を有することを特徴とする、請求項２に記載のＸＭＬ処理装置。
【請求項５】
前記出力分配手段からの出力に従って前記キャッシュメモリへのＸＭＬの追加および削除を行うキャッシュ更新手段を有することを特徴とする、請求項２に記載のＸＭＬ処理装置。
【請求項６】
前記キャッシュメモリを複数有し、
前記ＸＭＬに記述された出力先と前記複数個のキャッシュメモリとを対応づける名前付きキャッシュ参照手段を有することを特徴とする、請求項２に記載のＸＭＬ処理装置。
【請求項７】
前記キャッシュメモリを複数有し、
前記出力分配手段からの出力に記述された出力先と前記複数個のキャッシュメモリとを対応づけて前記複数個のキャッシュメモリへのＸＭＬの追加および削除を行う名前付きキャッシュ更新手段を有することを特徴とする、請求項２に記載のＸＭＬ処理装置。
【請求項８】
前記ＸＭＬ変換手段を直列に接続し、
前記直列接続のＸＭＬ変換手段に対して共有され、前記各ＸＭＬ変換手段による変換結果を一時的に保存するキャッシュメモリを有し、
前記出力先解釈手段及び前記出力分配手段を、前記直列接続のＸＭＬ変換手段に対応させて多段に設けた請求項１に記載のＸＭＬ処理装置。
【請求項９】
外部から非同期的に入力されるＸＭＬを所定のルールに従って変換して出力するＸＭＬ処理方法であって、
入力された前記ＸＭＬを前記ルールに従って変換し、
次に変換された前記ＸＭＬに記述された出力先を解釈し、
その後に前記解釈された出力先に前記ＸＭＬを出力する
ことを特徴とするＸＭＬ処理方法。
【請求項１０】
外部から非同期的に入力されるＸＭＬを所定のルールに従って変換して出力するＸＭＬ処理装置を制御するコンピュータに、
入力された前記ＸＭＬを前記ルールに従って変換するＸＭＬ変換処理と、
変換された前記ＸＭＬに記述された出力先を解釈する出力先解釈処理と、
前記出力先解釈処理によって解釈された出力先に前記ＸＭＬを出力させる出力分配処理と
を実行させることを特徴とするＸＭＬ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＸＭＬ処理装置、ＸＭＬ処理方法およびＸＭＬ処理プログラムに関する。
【背景技術】
【０００２】
ＸＭＬ文書のフォーマットの変換などについて、次のような技術文書がある。特許文献１には、クライアントから送信されるＸＭＬをサーバがフォーマットを変換してキャッシュメモリに記憶するという装置が記載されている。特許文献２には、ファイルとして既に存在するＸＭＬのフォーマットを、ＸＳＬＴによる定義に基づいて変換するという装置が記載されている。【０００３】
特許文献３には、ＸＳＬＴ管理サーバから取得したＸＳＬＴに基づいてＸＭＬのフォーマットを変換してネットワークを介して出力するという装置が記載されている。特許文献４には、ＸＭＬのフィルタリング処理で、共有化バッファと外部とにＸＰａｔｈ式によって出力を切り替えることのできる処理装置が記載されている。特許文献５には、メモリ内に完全なオブジェクトツリーを構築しないＸＭＬのストリーミング変換を行うという装置が記載されている。【０００４】
【特許文献１】特開２００３−２７１４４１号公報
【特許文献２】特開２００６−０１８４４９号公報
【特許文献３】特開２００７−０１８０２９号公報
【特許文献４】特開２００７−０３４７６３号公報
【特許文献５】特表２００５−５３５９８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１〜５に記載した技術はいずれも、ＸＭＬのフォーマットを同期的に変換するものである。同期的とは、一つのＸＭＬ入力があったときに、そのＸＭＬ入力に対して変換を行い、一つのＸＭＬを出力するものをいう。同期的なフォーマット変換では、入力と出力が必ず一対一に対応し、入力が行われたタイミングで必ず変換と出力が行われる。ちなみに特許文献５のフォーマット変換はストリーミング的ではあるが、入力と出力が一対一に対応しているので、同期的であることには変わりはない。【０００６】
しかしながら最近は、ＸＭＬのフォーマットを同期的に変換するのみでなく、たとえばセンサから出力される温度、湿度、ＲＦＩＤなどのように、非同期的に出力されるデータをＸＭＬとしてＸＭＬ処理装置に入力し、それを所定のルールおよびフォーマットで出力したいという用途も出てきている。より具体的には、ＸＭＬ文書として入力される温度が２０度以上の場合に測定された過去３回分の温度値を出力する、もしくは異なるタイミングでＸＭＬ文書として入力される温度と湿度の両方が所定の範囲である場合に温度と湿度をＸＭＬ文書として同時に出力する、などのような場合である。【０００７】
特許文献１〜５に記載されている技術では、そのような非同期的なデータに対して対応することはできない。そのため、非同期的なデータを処理するために、専用のプログラムを記述する必要があった。これではＸＳＬＴによって容易に処理方法を記述することができるというＸＭＬの汎用性を損なうことになり、またプログラミングにコストがかかることにもなる。【０００８】
本発明の目的は、非同期的なＸＭＬ入力に対しても既存のＸＭＬ処理言語によって処理方法を記述することのできるＸＭＬ処理装置、ＸＭＬ処理方法およびＸＭＬ処理プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明に係るＸＭＬ処理装置は、外部から非同期的に入力されるＸＭＬを所定のルールに従って変換して出力するＸＭＬ処理装置であって、入力されたＸＭＬをルールに従って変換するＸＭＬ変換手段と、変換されたＸＭＬに記述された出力先を解釈する出力先解釈手段と、出力先解釈手段によって解釈された出力先にＸＭＬを出力させる出力分配手段とを有することを特徴とする。【００１０】
上記目的を達成するため、本発明に係る別のＸＭＬ処理装置は、外部から非同期に入力される第１および第２のＸＭＬを所定のルールに従って変換して出力するＸＭＬ処理装置であって、入力された第１のＸＭＬをルールに従って変換する第１のＸＭＬ変換手段と、入力された第２のＸＭＬをルールに従って変換する第２のＸＭＬ変換手段と、変換された第１および第２のＸＭＬに記述された出力先を解釈する第１の出力先解釈手段と、第１の出力先解釈手段によって解釈された出力先にＸＭＬを出力させる第１の出力分配手段と、変換された第１および第２のＸＭＬをさらにルールに従って変換する第３のＸＭＬ変換手段と、変換された第３のＸＭＬに記述された出力先を解釈する第２の出力先解釈手段と、第２の出力先解釈手段によって解釈された出力先にＸＭＬを出力させる第２の出力分配手段とを有することを特徴とする。【００１１】
上記目的を達成するため、本発明に係るＸＭＬ処理方法は、外部から非同期的に入力されるＸＭＬを所定のルールに従って変換して出力するＸＭＬ処理方法であって入力されたＸＭＬをルールに従って変換し、次に変換されたＸＭＬに記述された出力先を解釈し、その後に解釈された出力先にＸＭＬを出力することを特徴とする。【００１２】
上記目的を達成するため、本発明に係るＸＭＬ処理プログラムは、外部から非同期的に入力されるＸＭＬを所定のルールに従って変換して出力するＸＭＬ処理装置を制御するコンピュータに、入力されたＸＭＬをルールに従って変換するＸＭＬ変換処理と、変換されたＸＭＬに記述された出力先を解釈する出力先解釈処理と、出力先解釈処理によって解釈された出力先にＸＭＬを出力させる出力分配処理とを実行させることを特徴とする。
【発明の効果】
【００１３】
本発明は、ＸＭＬに記述された出力先に変換されたＸＭＬを出力できるように構成したので、条件に応じて異なる処理を行う出力先にＸＭＬを出力することができる。これによって、非同期的なＸＭＬ入力に対しても既存のＸＭＬ処理言語によって処理方法を記述することができるという、従来にない優れたＸＭＬ処理装置、ＸＭＬ処理方法およびＸＭＬ処理プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態を図に基づいて詳細に説明する。
［第１の実施の形態］
図１は、本発明の第１の実施の形態に係るＸＭＬ処理装置１の構成を示すブロック図である。ＸＭＬ処理装置１は、制御部１１、記憶部１２、入出力部１３、およびキャッシュメモリ１４によって構成されるコンピュータ装置である。制御部１１はＣＰＵ、ＲＡＭ、ＯＳなどによって構成され、アプリケーションソフトを実行するコンピュータの中枢である。記憶部１２は磁気ディスク装置や光学ディスク装置などの外部記憶装置である。【００１５】
入出力部１３はＸＭＬ処理装置１に接続された外部の各装置とのデータのやりとりを行う。図１に示した例では、入力装置として温度センサ１５、出力装置としてディスプレイ１６が入出力部１３に接続されているが、もちろん入力装置および出力装置はこの例に限定されるものではない。キャッシュメモリ１４は、制御部１１が処理するデータを一時的に記憶しておく手段である。【００１６】
制御部１１は、ＸＭＬ受信手段２１、ＸＭＬ変換手段２２、キャッシュ参照手段２３、出力分配手段２４、出力先解釈手段２５、キャッシュ更新手段２６、およびＸＭＬ送信手段２７を有している。なお、図１の例では、制御部１１の、ＸＭＬ受信手段２１、ＸＭＬ変換手段２２、キャッシュ参照手段２３、出力分配手段２４、出力先解釈手段２５、キャッシュ更新手段２６、およびＸＭＬ送信手段２７は、ＣＰＵにＸＭＬ処理プログラムを実行させることにより、ソフトウェア上で実現しているが、これらをハードウェアとして構築してもよいものである。
記憶部１２には、変換ルール３１、および出力先解決テーブル３２が記憶されている。【００１７】
ＸＭＬ受信手段２１は、外部から入出力部１３を介してＨＴＴＰなどのプロトコルによってＸＭＬを受信する。ＸＭＬ変換手段２２は、ＸＳＬＴやＸＱｕｅｒｙなどのＸＭＬ処理言語で記述された変換ルール３１を記憶部１２から読み出し、これに基づいて、ＸＭＬ受信手段２１が受信したＸＭＬを変換する。【００１８】
キャッシュ参照手段２３は、ＸＭＬ変換手段２２の指示に基づいてキャッシュメモリ１４からＸＭＬを取得する。この指示にはＸＭＬ処理言語による関数記述と、ＸＰａｔｈが使用される。出力分配手段２４は、ＸＭＬ変換手段２２による変換結果をキャッシュ更新手段２６またはＸＭＬ送信手段２７に分配する。出力先解釈手段２５は、ＸＭＬ変換手段２２による変換結果と出力先解決テーブル３２を参照して出力先を決定し、出力分配手段２４に出力先を指示する。【００１９】
図２は、図１で示した出力先解決テーブル３２のデータ例を示す概念図である。出力先解決テーブル３２は、ＸＭＬ中で指定される識別子と、実際の出力先との対応関係を表の形で保持している。識別子には、出力先解決テーブル３２の中で一意であれば任意の文字列を使用できる。出力先はキャッシュメモリ１４またはＸＭＬ送信手段２７のいずれかである。【００２０】
図１に戻って、キャッシュ更新手段２６は、キャッシュメモリ１４へのＸＭＬの追加、およびキャッシュメモリ１４からのＸＭＬの削除を行う。キャッシュメモリ１４は、出力結果をＸＭＬの形で一時的に保持する。ＸＭＬ送信手段２７は、ＨＴＴＰなどのプロトコルを使用して、入出力部１３を介してディスプレイ１６などのような外部の出力装置にＸＭＬを送信する。【００２１】
キャッシュメモリ１４の記憶内容は全体として一つのＸＭＬになっており、ルート要素は＜ｃａｃｈｅ＞とする。キャッシュメモリ１４にＸＭＬが追加されると、追加されるＸＭＬ文書のルート要素が＜ｃａｃｈｅ＞要素の子要素になる形で要素が追加される。その子要素の名前および内容は、ＸＭＬ変換手段２２による変換結果がそのまま使用されるため、ルールや入力ＸＭＬによって自由に決めることができる。またキャッシュメモリ１４からの削除はＸＰａｔｈの指定によって行うことができる。キャッシュメモリ１４からは指定されたＸＰａｔｈにマッチした要素が削除される。【００２２】
図３は、図１で示したＸＭＬ処理装置１が実行する処理を表すフローチャートである。まず、ＸＭＬ受信手段２１が外部からＨＴＴＰなどのプロトコルを使用してＸＭＬを受信し、ＸＭＬ変換手段２２に渡す（ステップＳ１０１）。ＸＭＬ変換手段２２は、記憶部１２から変換ルール３１を読み出し、変換ルール３１中でのキャッシュ参照をキャッシュ参照手段２３に問い合わせる。変換ルール中のキャッシュ参照記述はＸＰａｔｈの関数呼び出しの形で記述されている。キャッシュ参照手段２３は、キャッシュを読み出してＸＭＬ要素をＸＭＬ変換手段２２に返すことにより、キャッシュ参照を解決する（ステップＳ１０２）。【００２３】
たとえばキャッシュに＜ｓｅｎｓｏｒ＞＜ｔｅｍｐｅｒａｔｕｒｅ＞２０＜／ｔｅｍｐｅｒａｔｕｒｅ＞＜／ｓｅｎｓｏｒ＞というデータがあった場合、ｃａｃｈｅ（）／ｓｅｎｓｏｒ／ｔｅｍｐｅｒａｔｕｒｅ［１］／ｔｅｘｔ（）という記述によって、最初の＜ｔｅｍｐｅｒａｔｕｒｅ＞要素の内容である「２０」を参照できる。【００２４】
続いてＸＭＬ変換手段２２は、記憶部１２から読み出した変換ルール３１に基づいて、ＸＭＬ受信手段２１から受信したＸＭＬを変換して、変換後のＸＭＬを出力分配手段２４に渡す（ステップＳ１０３）。変換ルール３１はＸＳＬＴやＸＱｕｅｒｙなどのＸＭＬ処理言語で記述されている。【００２５】
出力分配手段２４は、ＸＭＬ変換手段２２から渡されたＸＭＬを出力先解釈手段２５に渡して出力先を問い合わせる。出力先解釈手段２５は以下の手順でＸＭＬから出力先を抽出する。変換されたＸＭＬはたとえば、＜ｒｅｓｕｌｔ＞＜ｏｕｔｐｕｔ  ｔｏ＝”ｃａｃｈｅ”＞＜ａｐｐｅｎｄ＞（中略）＜／ａｐｐｅｎｄ＞＜／ｏｕｔｐｕｔ＞＜ｏｕｔｐｕｔ  ｔｏ＝”ｈｔｔｐ”＞（中略）＜／ｏｕｔｐｕｔ＞＜／ｒｅｓｕｌｔ＞のような形式である。【００２６】
出力先解釈手段２５はまず、ＸＭＬから＜ｏｕｔｐｕｔ＞要素を検索する（ステップＳ１０４）。次にｔｏ属性の内容を確認し、その内容によってＸＭＬの出力先がキャッシュ更新手段２６とするか、ＸＭＬ送信手段２７とするかを決定する（ステップＳ１０５）。この決定は、出力先解決テーブル３２を参照して行う。出力先解決テーブル３２は、図２に示したように、ＸＭＬ中で指定される識別子と、実際の出力先との対応関係を表の形で保持している。【００２７】
この結果、出力先がキャッシュ更新手段２６であれば、＜ｏｕｔｐｕｔ＞要素の子要素の内容に従ってキャッシュメモリ１４を更新する（ステップＳ１０６）。子要素が＜ａｐｐｅｎｄ＞であれば、そのさらに子要素の内容をキャッシュメモリ１４に追加する。子要素が＜ｒｅｍｏｖｅ＞であれば、ｒｅｍｏｖｅ要素のｓｅｌｅｃｔ属性で指定された要素をキャッシュメモリ１４から削除する。  出力先がＸＭＬ送信手段２７であれば、＜ｏｕｔｐｕｔ＞要素の子要素の内容をＨＴＴＰなどのプロトコルを使用して外部に出力する（ステップＳ１０７）。【００２８】
以後、ステップＳ１０４〜１０７に示した処理を全てのＸＭＬ要素に対して繰り返し、処理が完了していないＸＭＬ要素がなくなれば動作を終了する（ステップＳ１０８）。【００２９】
図４は、図１で示した変換ルール３１の一例を示す概念図である。変換ルール３１はＸＳＬＴで記述されている。ここで、ＸＭＬ受信手段２１が温度センサ１５から、たとえば「摂氏２０度」という温度測定データを＜ｓｅｎｓｏｒ＞＜ｔｅｍｐｅｒａｔｕｒｅ＞２０＜／ｔｅｍｐｅｒａｔｕｒｅ＞＜／ｓｅｎｓｏｒ＞というＸＭＬ形式で受信するものとする。以後、温度の単位は全て摂氏であり、たとえば「摂氏２０度」という温度を単に「２０度」というように表記する。【００３０】
また、キャッシュメモリ１４は＜ｃａｃｈｅ＞＜ｔｅｍｐｅｒａｔｕｒｅ＞１７＜／ｔｅｍｐｅｒａｔｕｒｅ＞＜ｔｅｍｐｅｒａｔｕｒｅ＞１９＜／ｔｅｍｐｅｒａｔｕｒｅ＞＜／ｃａｃｈｅ＞という形式で、温度センサ１５から送信された前回と前々回の温度測定データ（前々回は「１７度」、前回は「１９度」）を記憶しているものとする。【００３１】
変換ルール３１は、受信した温度情報が２０度以上のとき、過去３回分の受信情報を送信する、という動作を意図している。より具体的には、５〜１１行目のｘｓｌ：ｉｆ文２０１で、「センサが関知した温度が２０度以上であれば、キャッシュメモリ１４に保存されている温度と、現在のセンサが関知した温度とを、＜ｏｕｔｐｕｔ＞要素「ｈｔｔｐ」に出力する」という動作を意図している。【００３２】
また、１３〜１７行目のｏｕｔｐｕｔ文２０２で「現在のセンサが関知した温度を、＜ｏｕｔｐｕｔ＞要素「ｃａｃｈｅ」に出力する」という動作を、１８〜２０行目のｏｕｔｐｕｔ文２０３で「＜ｏｕｔｐｕｔ＞要素「ｃａｃｈｅ」の、３回以上前の記憶データを削除する（過去２回分のデータのみを残す）」という動作をそれぞれ意図している。【００３３】
ＸＭＬ受信手段２１がステップＳ１０１で＜ｓｅｎｓｏｒ＞＜ｔｅｍｐｅｒａｔｕｒｅ＞２０＜／ｔｅｍｐｅｒａｔｕｒｅ＞＜／ｓｅｎｓｏｒ＞というＸＭＬを温度センサ１５から受信すると、ＸＭＬ変換手段２２は変換ルール３１とキャッシュメモリ１４の内容を使用して、ステップＳ１０３でＸＭＬを変換して出力する。【００３４】
図５は、図４で示した変換ルール３１に基づいて、図３のステップＳ１０３でＸＭＬ変換手段２２が出力するＸＭＬの例を示す概念図である。受信したＸＭＬの温度情報（ｔｅｍｐｅｒａｔｕｒｅ要素の内容）が２０以上であるため、ＸＳＬＴのｘｓｌ：ｉｆ命令の判定に従って、２〜８行目のｏｕｔｐｕｔ文２５１で、＜ｏｕｔｐｕｔ＞要素「ｈｔｔｐ」に対して、キャッシュメモリ１４に保存されている過去２回分の温度と現在のセンサが関知した温度、つまり過去３回分の温度（前々回、前回、今回の順に１７度、１９度、２０度）が出力される。【００３５】
また、９〜１３行目のｏｕｔｐｕｔ文２５２では現在の温度「２０度」が＜ｏｕｔｐｕｔ＞要素「ｃａｃｈｅ」に出力され、１４〜１６行目のｏｕｔｐｕｔ文２５３で＜ｏｕｔｐｕｔ＞要素「ｃａｃｈｅ」の３回以上前の記憶データが削除される。つまりキャッシュメモリ１４には前々回の温度「１９度」、前回の温度「２０度」が記憶されることになる。【００３６】
ステップＳ１０４で、出力先解釈手段２５はＸＭＬ変換手段２２が変換して出力したＸＭＬを参照し、最初の＜ｏｕｔｐｕｔ＞要素の内容である、＜ｓｅｎｓｏｒ＞＜ｔｅｍｐｅｒａｔｕｒｅ＞１７＜／ｔｅｍｐｅｒａｔｕｒｅ＞＜ｔｅｍｐｅｒａｔｕｒｅ＞１９＜／ｔｅｍｐｅｒａｔｕｒｅ＞＜ｔｅｍｐｅｒａｔｕｒｅ＞２０＜／ｔｅｍｐｅｒａｔｕｒｅ＞＜／ｓｅｎｓｏｒ＞をＸＭＬ送信手段２７に出力するように指示する。ＸＭＬ送信手段２７はこの内容を外部に出力する。【００３７】
出力先解釈手段２５は、次の＜ｏｕｔｐｕｔ＞要素の内容である＜ａｐｐｅｎｄ＞＜ｔｅｍｐｅｒａｔｕｒｅ＞２０＜／ｔｅｍｐｅｒａｔｕｒｅ＞＜／ａｐｐｅｎｄ＞をキャッシュ更新手段２６に出力するように指示する。この結果、キャッシュ更新手段２６によってキャッシュメモリ１４に新たな＜ｔｅｍｐｅｒａｔｕｒｅ＞要素が追加される。【００３８】
出力先解釈手段２５は、さらに、次の＜ｏｕｔｐｕｔ＞要素の内容である＜ｒｅｍｏｖｅ  ｓｅｌｅｃｔ＝”／ｃａｃｈｅ／ｔｅｍｐｅｒａｔｕｒｅ［ｐｏｓｉｔｉｏｎ（）  ＆ｌｔ；＝  ｌａｓｔ（）  −  ２］”  ／＞をキャッシュ更新手段２６に出力するように指示する。ｓｅｌｅｃｔの属性の中身のＸＰａｔｈは、＜ｃａｃｈｅ＞要素の子要素のうちで最後の２つを除いた＜ｔｅｍｐｅｒａｔｕｒｅ＞要素にマッチするので、最後の２つの＜ｔｅｍｐｅｒａｔｕｒｅ＞要素を残してキャッシュメモリ１４の内容を削除する。ＸＰａｔｈをＸＭＬの中で表現するため、小なり記号（「＜」）は＆ｌｔ；に置き換えられている。キャッシュメモリ１４の内容は次にＸＭＬ受信手段２１がＸＭＬを受信したときに使用される。【００３９】
なお、ここまでで示した実施の形態で使用したＸＭＬの要素名や属性名は、一意に識別できれば任意の名称を使用することができる。図に示したｏｕｔｐｕｔ、ｒｅｓｕｌｔ、ａｐｐｅｎｄ、ｒｅｍｏｖｅなどの名称は、一例に過ぎないものである。【００４０】
本実施の形態では、ＸＭＬを記憶するキャッシュメモリを有し、ＸＳＬＴに記載されたルールからキャッシュ参照手段によってキャッシュメモリの参照および更新を可能にしている。そのため、非同期的なＸＭＬに対するフォーマット変換の処理を、ＸＳＬＴによって記述することができる。ユーザは特別な学習をすることなく、既存のＸＳＬＴでルールを記述し、状態を持つＸＭＬ処理機構を設計できる。ＸＳＬＴで記述されるルールでは、一つのＸＰａｔｈによってキャッシュメモリの参照および削除を容易に記述できる。【００４１】
温度における特定の状態を示すＸＭＬ送信手段２７からの出力は、別の装置が受け取って、たとえばディスプレイ１６に警報を出す、ブザーや電子メールなどによって警報を出す、データベースにその旨のデータを記録する、温度制御機構にフィードバックを出して温度調整を行わせるなどのような処置を行うことができる。温度の他には、湿度、ＲＦＩＤ、衝撃などをＸＭＬで非同期的に出力する装置などに対しても、本実施の形態を適用することができる。【００４２】
［第２の実施の形態］
図６は、本発明の第２の実施の形態に係るＸＭＬ処理装置３０１の構成を示すブロック図である。ＸＭＬ処理装置３０１のハードウェア構成は第１の実施の形態に係るＸＭＬ処理装置１と同一であるので説明を省略する。ただし、入出力部１３には複数の入力装置である温度センサ３１５ａおよび湿度センサ３１５ｂが接続されている。【００４３】
図６に示す実施形態２では、ＸＭＬ変換手段３２２ａ，３２２ｂを直列に接続し、前記直列接続のＸＭＬ変換手段３２２ａ，３２２ｂに対して共有され、かつ前記各ＸＭＬ変換手段３２２ａ，３２２ｂによる変換結果を一時的に保存するキャッシュメモリ１４を有し、出力先解釈手段３２５ａ，３２５ｂ及び出力分配手段３２４ａ、３２４ｂを、前記直列接続のＸＭＬ変換手段３２２ａ，３２２ｂに対応させて多段に設けたものである。以下、具体的に説明する。【００４４】
制御部１１は、温度センサ３１５ａおよび湿度センサ３１５ｂの各々に対応するＸＭＬ受信手段３２１ａおよび３２１ｂ、ＸＭＬ変換手段３２２ａおよび３２２ｂ、変換ルール３３１ａおよび３３１ｂを有する。ＸＭＬ変換手段３２２ａおよび３２２ｂによる変換後のＸＭＬは出力分配手段３２４ａに出力される。出力分配手段３２４ａは出力先解釈手段３２５ａ、出力先解決テーブル３３２ａを有する。そして出力分配手段３２４ａの後段に、ＸＭＬ変換手段３２２ｃ、変換ルール３３１ｃ、出力分配手段３２４ｂ、出力先解釈手段３２５ｂ、出力先解決テーブル３３２ｂが接続される。【００４５】
各々の機能部は、基本的に第１の実施の形態に係るＸＭＬ処理装置１に含まれる同一名称の機能部と同一の機能を有する。そのため、ここではその相違点のみを説明し、それ以外については説明を省略する。また、出力先解決テーブル３３２ａおよび３３２ｂは、図２で示した出力先解決テーブル３２と、特に記述のない限りはそれぞれ同一であるものとする。【００４６】
図７は、図６で示したＸＭＬ処理装置３０１が実行する処理を表すフローチャートである。ＸＭＬ受信手段３２１ａ−ＸＭＬ変換手段３２２ａ−変換ルール３３１ａと、ＸＭＬ受信手段３２１ｂ−ＸＭＬ変換手段３２２ａ−変換ルール３３１ａの、２つのデータ処理系統は、どちらか一方ＸＭＬを受信した側の系統だけが、図３のステップＳ１０１〜１０６および１０８に示したものと同一の動作を行う。図３に示した第１の実施の形態における動作との相違点は、ステップＳ１０５における出力分配手段３２４ａからのＸＭＬの出力先がキャッシュ更新手段２６ではない場合に、ＸＭＬ変換手段３２２ｃとなることから始まる。【００４７】
出力分配手段３２４ａからのＸＭＬの出力を受けたＸＭＬ変換手段３２２ｃは、変換ルール３３１ｃを参照してステップＳ１０２と同様にキャッシュ参照を解決したのち（ステップＳ４０１）、ステップＳ１０３と同様にＸＭＬ変換を行う（ステップＳ４０２）。変換されたＸＭＬは、出力分配手段３２４ｂおよび出力先解釈手段３２５ｂによって解釈され、出力先の記述を検索し（ステップＳ４０３）、出力先を判断する（ステップＳ４０４）。【００４８】
その結果出力先がキャッシュであればキャッシュメモリ１４を更新し（ステップＳ４０５）、そうでなければＸＭＬ送信手段２７から外部にＸＭＬを出力する（ステップＳ４０６）。以上、ＸＭＬ変換手段３２２ｃに渡された２回目の変換結果においても、全てのＸＭＬ要素に対して繰り返す（ステップＳ４０７）。【００４９】
図８〜９は、図６で示した変換ルール３３１ａ〜ｃの一例を示す概念図である。ここで、ＸＭＬ受信手段３２１ａが温度センサ３１５ａから、たとえば「１９度」という温度測定データを＜ｓｅｎｓｏｒ＞＜ｔｅｍｐｅｒａｔｕｒｅ＞１９＜／ｔｅｍｐｅｒａｔｕｒｅ＞＜／ｓｅｎｓｏｒ＞というＸＭＬ形式で受信するものとする。また、ＸＭＬ受信手段３２１ｂが湿度センサ３１５ｂから、たとえば「３０％」という湿度測定データを＜ｓｅｎｓｏｒ＞＜ｈｕｍｉｄｉｔｙ＞３０＜／ｈｕｍｉｄｉｔｙ＞＜／ｓｅｎｓｏｒ＞いうＸＭＬ形式で受信するものとする。以後、湿度の単位は全て％である。【００５０】
これらの温度および湿度の２つの情報が非同期にそれぞれ受信され、２つの情報が揃った段階で温度と湿度をまとめて一つのＸＭＬとして送信するということをここでは考える。また初期状態ではキャッシュメモリ１４に記憶されている情報は無いとする。【００５１】
図８（ａ）に示すＸＭＬ変換手段３２２ａに対する変換ルール３３１ａは、ＸＭＬの出力先がＸＭＬ変換手段３２２ｃである場合には＜ｏｕｔｐｕｔ＞要素「ｈｅｎｋａｎ３」に出力することが指定される。まず５〜７行目のｏｕｔｐｕｔ文５０１で＜ｏｕｔｐｕｔ＞要素「ｈｅｎｋａｎ３」に「ｄｕｍｍｙ」を出力し、８〜１０行目のｏｕｔｐｕｔ文５０２で＜ｏｕｔｐｕｔ＞要素「ｃａｃｈｅ」のデータを削除して、１１〜１５行目のｏｕｔｐｕｔ文５０３で現在のセンサが関知した温度を＜ｏｕｔｐｕｔ＞要素「ｃａｃｈｅ」に出力するという動作を、それぞれ意図している。【００５２】
図８（ｂ）に示すＸＭＬ変換手段３２２ｂに対する変換ルール３３１ｂもやはり、ＸＭＬの出力先がＸＭＬ変換手段３２２ｃである場合には＜ｏｕｔｐｕｔ＞要素「ｈｅｎｋａｎ３」に出力することが指定される。まず５〜７行目のｏｕｔｐｕｔ文５１１で＜ｏｕｔｐｕｔ＞要素「ｈｅｎｋａｎ３」に「ｄｕｍｍｙ」を出力し、８〜１０行目のｏｕｔｐｕｔ文５１２で＜ｏｕｔｐｕｔ＞要素「ｃａｃｈｅ」のデータを削除して、１１〜１５行目のｏｕｔｐｕｔ文５１３で現在のセンサが関知した湿度を＜ｏｕｔｐｕｔ＞要素「ｃａｃｈｅ」に出力するという動作を、それぞれ意図している。【００５３】
図９（ｃ）に示すＸＭＬ変換手段３２２ｃに対する変換ルール３３１ｃは、ＸＭＬ変換手段３２２ａおよびｂから「ｄｕｍｍｙ」の出力を受けると動作し、まず５〜１５行目のｘｓｌ：ｉｆ文５２１で、「キャッシュメモリ１４に温度および湿度の両方のデータがあればそれらの温度および湿度を出力し、キャッシュメモリ１４を消去する」という動作を意図している。より具体的には、６〜１１行目のｏｕｔｐｕｔ文５２２でキャッシュメモリ１４の温度および湿度データを＜ｏｕｔｐｕｔ＞要素「ｈｔｔｐ」に出力し、１２〜１４行目のｏｕｔｐｕｔ文５２３でキャッシュメモリ１４を消去している。【００５４】
図１０は、図８〜９で示した変換ルール３３１ａ〜ｃに基づいて、図７の各ステップでＸＭＬ変換手段３２２ａ〜ｃが出力するＸＭＬの例を示す概念図である。まず、ＸＭＬ受信手段３２１ａが＜ｓｅｎｓｏｒ＞＜ｔｅｍｐｅｒａｔｕｒｅ＞１９＜／ｔｅｍｐｅｒａｔｕｒｅ＞＜／ｓｅｎｓｏｒ＞という温度情報を受信したとする。これはＸＭＬ変換手段３２２ａによって変換され、図１０（ａ）に示すようなＸＭＬがＸＭＬ変換手段３２２ｃに対して出力される。【００５５】
この結果、キャッシュメモリ１４には、＜ｃａｃｈｅ＞＜ｔｅｍｐｅｒａｔｕｒｅ＞１９＜／ｔｅｍｐｅｒａｔｕｒｅ＞＜／ｃａｃｈｅ＞という内容が記憶される。ＸＭＬ変換手段３２２ｃは＜ｄｕｍｍｙ  ／＞というＸＭＬを受け取り、これを契機に変換処理を行おうとするが、キャッシュメモリ１４にはｈｕｍｉｄｉｔｙが含まれていないため、図８（ｃ）の変換ルール３３１ｃにあるｘｓｌ：ｉｆ文５２１の処理は実行されず、出力分配手段３２４ｂには空のｒｅｓｕｌｔ要素が出力される。出力分配手段３２４ｂは何もしない。【００５６】
次に、ＸＭＬ受信手段３２１ｂが＜ｓｅｎｓｏｒ＞＜ｈｕｍｉｄｉｔｙ＞３０＜／ｈｕｍｉｄｉｔｙ＞＜／ｓｅｎｓｏｒ＞という湿度情報を受信したとする。これはＸＭＬ変換手段３２２ｂによって変換され、図１０（ｂ）に示すようなＸＭＬがＸＭＬ変換手段３２２ｃに対して出力される。【００５７】
この結果、キャッシュメモリ１４の内容は＜ｃａｃｈｅ＞＜ｔｅｍｐｅｒａｔｕｒｅ＞１９＜／ｔｅｍｐｅｒａｔｕｒｅ＞＜ｈｕｍｉｄｉｔｙ＞３０＜／ｈｕｍｉｄｉｔｙ＞＜／ｃａｃｈｅ＞となる。ＸＭＬ変換手段３２２ｃは＜ｄｕｍｍｙ  ／＞というＸＭＬを受け取り、これを契機に変換処理を行う。キャッシュメモリ１４にはｔｅｍｐｅｒａｔｕｒｅとｈｕｍｉｄｉｔｙの両方が含まれているため、ＸＭＬ変換手段３２２ｃは変換ルール３３１ｃにあるｘｓｌ：ｉｆ文５２１の処理を実行して図１０（ｃ）に示すＸＭＬを出力し、それを受けた出力分配手段３２４ｂはＸＭＬ送信手段２７とキャッシュ更新手段２６の両方にそれぞれ出力を行う。【００５８】
ＸＭＬ送信手段２７には＜ｓｅｎｓｏｒ＞＜ｔｅｍｐｅｒａｔｕｒｅ＞１９＜／ｔｅｍｐｅｒａｔｕｒｅ＞＜ｈｕｍｉｄｉｔｙ＞３０＜／ｈｕｍｉｄｉｔｙ＞＜／ｓｅｎｓｏｒ＞が出力され、温度情報と湿度情報が結合したＸＭＬが送信されることとなる。また、キャッシュ更新手段２６には＜ｒｅｍｏｖｅ  ｓｅｌｅｃｔ＝”／ｃａｃｈｅ／＊”  ／＞が出力され、キャッシュメモリ１４がクリアされる。【００５９】
本実施の形態は、ＸＭＬ変換手段を多段の構成にすることで、非同期入力された情報をすべてキャッシュに出力するため、それをさらにＸＭＬ変換することができる。これによって、非同期入力された情報に対する変換ルールを容易に記述することができる。温度と湿度という２つの入力情報がある場合の例について説明したが、温度と湿度以外にさらに多くの入力がある場合にも、同じ方法を容易に拡張して適用することができる。【００６０】
［第３の実施の形態］
図１１は、本発明の第３の実施の形態に係るＸＭＬ処理装置６０１の構成を示すブロック図である。ＸＭＬ処理装置６０１のハードウェア構成は、２つのキャッシュメモリ６１４ａおよび６１４ｂを持つ以外は同一である。【００６１】
また制御部１１は、図１にある第１の実施の形態に係るＸＭＬ処理装置１にある各機能部と比較して、キャッシュ参照手段２３の代わりに名前付きキャッシュ参照手段６２８を、キャッシュ更新手段２６の代わりに名前付きキャッシュ更新手段６２９を、それぞれ実行する。記憶部１２は、ＸＭＬ処理装置１にある各データに加えて、キャッシュ名テーブル６３３を記憶する。また変換ルール３１に代わって、後述の変換ルール６３１が記憶されている。これらの点以外の要素は、第１の実施の形態に係るＸＭＬ処理装置１と同一であるので、同一の要素には同一の参照番号と名称を付けて説明を省略する。【００６２】
図１２は、図１１で示したキャッシュ名テーブル６３３のデータ例を示す概念図である。キャッシュメモリ６１４ａおよび６１４ｂは、それぞれ１つずつのＸＭＬ文書を保持することができるキャッシュメモリであり、各々＜ｏｕｔｐｕｔ＞要素「ｔｅｍｐ１」および「ｔｅｍｐ２」として指定することができる。また、名前付きキャッシュ参照手段６２８は、キャッシュ名テーブル６３３を参照して、識別子「ｔｅｍｐ１」が指定された場合にはキャッシュメモリ６１４ａを、識別子「ｔｅｍｐ２」が指定された場合にはキャッシュメモリ６１４ｂを、それぞれ参照する。名前付きキャッシュ更新手段６２９は、これと同様にキャッシュメモリ６１４ａおよび６１４ｂの記憶内容をそれぞれ更新する。【００６３】
図１３は、図１１で示したＸＭＬ処理装置６０１が実行する処理を表すフローチャートである。実行される処理は概ね図３のステップＳ１０１〜１０８に示したものと同一の動作であるが、本実施の形態では、ＸＭＬ処理言語で記述された変換ルールの中にキャッシュ名が記述されており、ステップＳ１０１でＸＭＬ受信手段２１がＸＭＬを受信した後で、名前付きキャッシュ参照手段６２８がキャッシュ名テーブル６３３を参照して、キャッシュメモリ６１４ａおよび６１４ｂのうちのどちらを参照するかを決定して（ステップＳ７０１）、決定された方のキャッシュメモリを参照してステップＳ１０２の処理を行う。【００６４】
そして、ステップＳ１０５でＸＭＬの出力先がキャッシュメモリである場合にも、名前付きキャッシュ更新手段６２９がキャッシュ名テーブル６３３を参照して、キャッシュメモリ６１４ａおよび６１４ｂのうちのどちらを更新するかを決定して（ステップＳ７０２）、決定された方のキャッシュメモリに対してステップＳ１０６の処理を行う。他は図３の処理と同一であるので説明を省略する。【００６５】
図１４は、図１１で示した変換ルール６３１の一例を示す概念図である。ＸＭＬ受信手段２１が温度センサ１５から、たとえば「２０度」という温度測定データを＜ｓｅｎｓｏｒ＞＜ｔｅｍｐｅｒａｔｕｒｅ＞２０＜／ｔｅｍｐｅｒａｔｕｒｅ＞＜／ｓｅｎｓｏｒ＞というＸＭＬ形式で受信するものとする。変換ルール６３１は、温度情報を入力として受け取り、２０度以上の入力が３回、もしくは５度以下の入力が３回連続した場合にその３回分の温度情報を出力することを意図したものである。キャッシュメモリ６１４ａには２０度以上の温度情報が連続した場合の履歴情報を、キャッシュメモリ６１４ｂには５度以下の温度情報が連続した場合の履歴情報をそれぞれ保存する。【００６６】
変換ルール６３１では、まず５〜４５行目のｘｓｌ：ｃｈｏｏｓｅ文８０１で、受信した温度情報によって場合分けを行う。２０度以上の場合は６〜２０行目の処理を、５度以下の場合は２１〜３５行目の処理を、２０度以上でも５度以下でもない場合は３６〜４４行目の処理をそれぞれ実行する。【００６７】
２０度以上の場合の６〜２０行目の処理は、まず７〜１４行目のｘｓｌ：ｉｆ文８０２で「キャッシュメモリ６１４ａに記憶されているデータの個数が２以上であれば、キャッシュメモリ６１４ａに保存されている温度と、現在のセンサが関知した温度とを、＜ｏｕｔｐｕｔ＞要素「ｈｔｔｐ」に出力する」ことを意図している。その後、キャッシュメモリ６１４ａに記憶されているデータの個数に関係なく、１５〜１９行目のｏｕｔｐｕｔ文８０３で「現在のセンサが関知した温度を、＜ｏｕｔｐｕｔ＞要素「ｔｅｍｐ１」（キャッシュメモリ６１４ａ）に出力する」という動作を意図している。【００６８】
５度以下の場合の２１〜３５行目の処理は、まず２２〜２９行目のｘｓｌ：ｉｆ文８１１で「キャッシュメモリ６１４ａに記憶されているデータの個数が２以上であれば、キャッシュメモリ６１４ｂに保存されている温度と、現在のセンサが関知した温度とを、＜ｏｕｔｐｕｔ＞要素「ｈｔｔｐ」に出力する」ことを意図している。その後、キャッシュメモリ６１４ｂに記憶されているデータの個数に関係なく、３０〜３４行目のｏｕｔｐｕｔ文８１２で「現在のセンサが関知した温度を、＜ｏｕｔｐｕｔ＞要素「ｔｅｍｐ２」（キャッシュメモリ６１４ｂ）に出力する」という動作を意図している。【００６９】
２０度以上でも５度以下でもない場合の３６〜４４行目の処理は、３７〜３９行目のｏｕｔｐｕｔ文８２１でキャッシュメモリ６１４ａを消去し、４０〜４２行目のｏｕｔｐｕｔ文８２２でキャッシュメモリ６１４ｂを消去している。【００７０】
今、キャッシュメモリ６１４ａが保持するＸＭＬが空（＜ｃａｃｈｅ／＞）で、キャッシュメモリ６１４ｂが保持するＸＭＬが＜ｃａｃｈｅ＞＜ｔｅｍｐｅｒａｔｕｒｅ＞３＜／ｔｅｍｐｅｒａｔｕｒｅ＞＜ｔｅｍｐｅｒａｔｕｒｅ＞４＜／ｔｅｍｐｅｒａｔｕｒｅ＞＜／ｃａｃｈｅ＞となっていたとする。これは、５度以下の温度情報を２回連続して受信した後のキャッシュ状態である。ここでＸＭＬ受信手段２１が温度センサ１５から、＜ｓｅｎｓｏｒ＞＜ｔｅｍｐｅｒａｔｕｒｅ＞−３＜／ｔｅｍｐｅｒａｔｕｒｅ＞＜／ｓｅｎｓｏｒ＞というＸＭＬを受信した。【００７１】
図１５は、図１４で示した変換ルール６３１に基づいて、図１３のステップＳ１０３でＸＭＬ変換手段２２が出力するＸＭＬの例を示す概念図である。キャッシュメモリ６１４ｂの持つ＜ｔｅｍｐｅｒａｔｕｒｅ＞要素がちょうど２つであるため、ＸＭＬ変換手段２２はｘｓｌ：ｉｆ文８１１に従って、キャッシュメモリ６１４ｂに保存されている温度と、現在のセンサが関知した温度とを＜ｏｕｔｐｕｔ＞要素「ｈｔｔｐ」に対して出力する。そしてｏｕｔｐｕｔ文８１２で、＜ｏｕｔｐｕｔ＞要素「ｔｅｍｐ２」に対して現在のセンサが関知した温度を出力する。【００７２】
ｃａｃｈｅ関数に渡されている引数「ｔｅｍｐ２」は、名前付きキャッシュ参照手段６２８によって解釈され、キャッシュ名テーブル６３３を参照することでアクセス先としてキャッシュメモリ６１４ｂを得る。そしてｏｕｔｐｕｔ文８１２の持つ属性値ｔｅｍｐ２は、名前付きキャッシュ更新手段６２９によって解釈され、キャッシュ名テーブル６３３を参照することでアクセス先としてキャッシュメモリ６１４ｂを得る。この結果キャッシュメモリ６１４ｂにｔｅｍｐｅｒａｔｕｒｅ要素が追加される。【００７３】
ＸＭＬ受信手段２１が温度センサ１５から２０度以上の温度情報を受信した場合も、上記で説明したものと同一の動作が、キャッシュメモリ６１４ａ（＜ｏｕｔｐｕｔ＞要素「ｔｅｍｐ１」、引数「ｔｅｍｐ１」）に対して行われる。そして、２０度以上でも５度以下でもない温度情報を受信した場合には、キャッシュメモリ６１４ａおよび６１４ｂはいずれも消去される。【００７４】
本実施の形態は、複数のキャッシュメモリに状態を格納することができる。これによって、５度以下、または２０度以上、といった異なる目的を持つ複数の情報を生成することができる。本実施の形態では２つのキャッシュメモリがある場合の例について説明したが、キャッシュメモリが３つ以上の場合にも同じ方法を容易に拡張して適用することができる。【００７５】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることは言うまでもないことである。【００７６】
この出願は２００８年５月１３日に出願された日本出願特願２００８−１２６５１５を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【００７７】
ＸＭＬのフォーマットを非同期的に変換することが必要な装置において利用できる。
【図面の簡単な説明】
【００７８】
【図１】本発明の第１の実施の形態に係るＸＭＬ処理装置の構成を示すブロック図である。
【図２】図１で示した出力先解決テーブルのデータ例を示す概念図である。
【図３】図１で示したＸＭＬ処理装置が実行する処理を表すフローチャートである。
【図４】図１で示した変換ルールの一例を示す概念図である。
【図５】図４で示した変換ルールに基づいて、図３のステップＳ１０３でＸＭＬ変換手段が出力するＸＭＬの例を示す概念図である。
【図６】本発明の第２の実施の形態に係るＸＭＬ処理装置の構成を示すブロック図である。
【図７】図６で示したＸＭＬ処理装置が実行する処理を表すフローチャートである。
【図８】図６で示した変換ルールの一例を示す概念図である。
【図９】図８の続きである。
【図１０】図８〜９で示した変換ルールに基づいて、図７の各ステップでＸＭＬ変換手段が出力するＸＭＬの例を示す概念図である。
【図１１】本発明の第３の実施の形態に係るＸＭＬ処理装置の構成を示すブロック図である。
【図１２】図１１で示したキャッシュ名テーブルのデータ例を示す概念図である。
【図１３】図１１で示したＸＭＬ処理装置が実行する処理を表すフローチャートである。
【図１４】図１１で示した変換ルールの一例を示す概念図である。
【図１５】図１４で示した変換ルールに基づいて、図１３のステップＳ１０３でＸＭＬ変換手段が出力するＸＭＬの例を示す概念図である。
【符号の説明】
【００７９】
１，３０１，６０１  ＸＭＬ処理装置
１１  制御部
１２  記憶部
１３  入出力部
１４，６１４ａ，６１４ｂ  キャッシュメモリ
１５，３１５ａ  温度センサ
１６  ディスプレイ
２１，３２１ａ，３２１ｂ  ＸＭＬ受信手段
２２，３２２ａ，３２２ｂ，３２２ｃ  ＸＭＬ変換手段
２３  キャッシュ参照手段
２４，３２４ａ，３２４ｂ  出力分配手段
２５，３２５ａ，３２５ｂ  出力先解釈手段
２６  キャッシュ更新手段
２７  ＸＭＬ送信手段
３１，３３１ａ，３３１ｂ，３３１ｃ，６３１  変換ルール
３２，３３２ａ，３３２ｂ  出力先解決テーブル
３１５ｂ  湿度センサ
６２８  名前付きキャッシュ参照手段
６２９  名前付きキャッシュ更新手段
６３３  キャッシュ名テーブル
【図１】
2009139245.tif 000003
【図２】
2009139245.tif 000004
【図３】
2009139245.tif 000005
【図４】
2009139245.tif 000006
【図５】
2009139245.tif 000007
【図６】
2009139245.tif 000008
【図７】
2009139245.tif 000009
【図８】
2009139245.tif 000010
【図９】
2009139245.tif 000011
【図１０】
2009139245.tif 000012
【図１１】
2009139245.tif 000013
【図１２】
2009139245.tif 000014
【図１３】
2009139245.tif 000015
【図１４】
2009139245.tif 000016
【図１５】
2009139245.tif 000017
【手続補正書】
【提出日】平成22年1月15日(2010.1.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
外部から非同期的に入力されるＸＭＬをルールに従って変換して出力するＸＭＬ処理装置であって、
あらかじめＸＭＬ処理言語で記述された前記ルールおよび前記ＸＭＬの出力先を定義する出力先解決テーブルを記憶する記憶部と、
入力された前記ＸＭＬを前記ルールに従って変換するＸＭＬ変換手段と、
変換された前記ＸＭＬの属性または要素に記述された出力先を前記出力先解決テーブルによって定義された内容に基づいて解釈する出力先解釈手段と、
前記出力先解釈手段によって解釈された出力先に前記ＸＭＬを出力させる出力分配手段とを有することを特徴とするＸＭＬ処理装置。
【請求項２】
前記出力先解釈手段によって解釈される出力先のうち少なくとも一つが、前記ＸＭＬを一時的に保存するキャッシュメモリであることを特徴とする、請求項１に記載のＸＭＬ処理装置。
【請求項３】
（削除）
【請求項４】
前記ＸＭＬ変換手段が前記ルールに従って前記キャッシュメモリを参照することが可能なキャッシュ参照手段を有することを特徴とする、請求項２に記載のＸＭＬ処理装置。
【請求項５】
前記出力分配手段からの出力に従って前記キャッシュメモリへのＸＭＬの追加および削除を行うキャッシュ更新手段を有することを特徴とする、請求項２に記載のＸＭＬ処理装置。
【請求項６】
前記キャッシュメモリを複数有し、
前記ＸＭＬに記述された出力先と前記複数個のキャッシュメモリとを対応づける名前付きキャッシュ参照手段を有することを特徴とする、請求項２に記載のＸＭＬ処理装置。
【請求項７】
前記キャッシュメモリを複数有し、
前記出力分配手段からの出力に記述された出力先と前記複数個のキャッシュメモリとを対応づけて前記複数個のキャッシュメモリへのＸＭＬの追加および削除を行う名前付きキャッシュ更新手段を有することを特徴とする、請求項２に記載のＸＭＬ処理装置。
【請求項８】
前記ＸＭＬ変換手段を直列に接続し、
前記直列接続のＸＭＬ変換手段に対して共有され、前記各ＸＭＬ変換手段による変換結果を一時的に保存するキャッシュメモリを有し、
前記出力先解釈手段及び前記出力分配手段を、前記直列接続のＸＭＬ変換手段に対応させて多段に設けた請求項１に記載のＸＭＬ処理装置。
【請求項９】
外部から非同期的に入力されるＸＭＬを所定のルールに従って変換して出力するＸＭＬ処理方法であって、
ＸＭＬ処理言語で記述された前記ルールおよび前記ＸＭＬの出力先を定義する出力先解決テーブルをあらかじめ記憶し、
入力された前記ＸＭＬを前記ルールに従って変換し、
次に変換された前記ＸＭＬの属性または要素に記述された出力先を前記出力先解決テーブルによって定義された内容に基づいて解釈し、
その後に前記解釈された出力先に前記ＸＭＬを出力する
ことを特徴とするＸＭＬ処理方法。
【請求項１０】
外部から非同期的に入力されるＸＭＬを所定のルールに従って変換して出力するＸＭＬ処理装置を制御するコンピュータに、
ＸＭＬ処理言語で記述された前記ルールおよび前記ＸＭＬの出力先を定義する出力先解決テーブルをあらかじめ記憶する出力先解決テーブル記憶処理と、
入力された前記ＸＭＬを前記ルールに従って変換するＸＭＬ変換処理と、
変換された前記ＸＭＬの属性または要素に記述された出力先を前記出力先解決テーブルによって定義された内容に基づいて解釈する出力先解釈処理と、
前記出力先解釈処理によって解釈された出力先に前記ＸＭＬを出力させる出力分配処理と
を実行させることを特徴とするＸＭＬ処理プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
的に変換するものである。同期的とは、一つのＸＭＬ入力があったときに、そのＸＭＬ入力に対して変換を行い、一つのＸＭＬを出力するものをいう。同期的なフォーマット変換では、入力と出力が必ず一対一に対応し、入力が行われたタイミングで必ず変換と出力が行われる。ちなみに特許文献５のフォーマット変換はストリーミング的ではあるが、入力と出力が一対一に対応しているので、同期的であることには変わりはない。
［０００６］
しかしながら最近は、ＸＭＬのフォーマットを同期的に変換するのみでなく、たとえばセンサから出力される温度、湿度、ＲＦＩＤなどのように、非同期的に出力されるデータをＸＭＬとしてＸＭＬ処理装置に入力し、それを所定のルールおよびフォーマットで出力したいという用途も出てきている。より具体的には、ＸＭＬ文書として入力される温度が２０度以上の場合に測定された過去３回分の温度値を出力する、もしくは異なるタイミングでＸＭＬ文書として入力される温度と湿度の両方が所定の範囲である場合に温度と湿度をＸＭＬ文書として同時に出力する、などのような場合である。
［０００７］
特許文献１〜５に記載されている技術では、そのような非同期的なデータに対して対応することはできない。そのため、非同期的なデータを処理するために、専用のプログラムを記述する必要があった。これではＸＳＬＴによって容易に処理方法を記述することができるというＸＭＬの汎用性を損なうことになり、またプログラミングにコストがかかることにもなる。
［０００８］
本発明の目的は、非同期的なＸＭＬ入力に対しても既存のＸＭＬ処理言語によって処理方法を記述することのできるＸＭＬ処理装置、ＸＭＬ処理方法およびＸＭＬ処理プログラムを提供することにある。
課題を解決するための手段
［０００９］
上記目的を達成するため、本発明に係るＸＭＬ処理装置は、外部から非同期的に入力されるＸＭＬをルールに従って変換して出力するＸＭＬ処理装置であって、あらかじめＸＭＬ処理言語で記述されたルールおよびＸＭＬの出力先を定義する出力先解決テーブルを記憶する記憶部と、入力されたＸＭＬをルールに従って変換するＸＭＬ変換手段と、変換されたＸＭＬの属性また
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
は要素に記述された出力先を出力先解決テーブルによって定義された内容に基づいて解釈する出力先解釈手段と、出力先解釈手段によって解釈された出力先にＸＭＬを出力させる出力分配手段とを有することを特徴とする。
［００１０］
［００１１］
上記目的を達成するため、本発明に係るＸＭＬ処理方法は、外部から非同期的に入力されるＸＭＬを所定のルールに従って変換して出力するＸＭＬ処理方法であって、ＸＭＬ処理言語で記述されたルールおよびＸＭＬの出力先を定義する出力先解決テーブルをあらかじめ記憶し、入力されたＸＭＬをルールに従って変換し、次に変換されたＸＭＬの属性または要素に記述された出力先を出力先解決テーブルによって定義された内容に基づいて解釈し、その後に解釈された出力先にＸＭＬを出力することを特徴とする。
［００１２］
上記目的を達成するため、本発明に係るＸＭＬ処理プログラムは、外部から非同期的に入力されるＸＭＬを所定のルールに従って変換して出力するＸＭＬ処理装置を制御するコンピュータに、ＸＭＬ処理言語で記述されたルールおよびＸＭＬの出力先を定義する出力先解決テーブルをあらかじめ記憶する出力先解決テーブル記憶処理と、入力されたＸＭＬをルールに従って変換するＸＭＬ変換処理と、変換されたＸＭＬの属性または要素に記述された出力先を出力先解決テーブルによって定義された内容に基づいて解釈する出力先解釈処理と、出力先解釈処理によって解釈された出力先にＸＭＬを出力させる出力分配処理とを実行させることを特徴とする。
発明の効果
［００１３］
本発明は、ＸＭＬに記述された出力先に変換されたＸＭＬを出力できるように構成したので、条件に応じて異なる処理を行う出力先にＸＭＬを出力することができる。これによって、非同期的なＸＭＬ入力に対しても既存のＸ
【手続補正書】
【提出日】平成22年8月2日(2010.8.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
外部から入力されるＸＭＬを変換ルールに従って変換して出力するＸＭＬ処理装置であって、
ＸＭＬ処理言語で記述された前記変換ルールおよび前記ＸＭＬの出力先を定義する出力先解決テーブルを記憶する記憶部と、
ＸＭＬを一時的に記憶するキャッシュメモリと、
前記キャッシュメモリからＸＭＬを取得するキャッシュ参照手段と、
前記キャッシュメモリへのＸＭＬの追加、及び前記キャッシュメモリからのＸＭＬの削除を行うキャッシュ更新手段と、
前記ＸＭＬが入力された際、前記キャッシュ参照手段により前記キャッシュメモリのＸＭＬを参照して、前記ＸＭＬを前記記憶部から読み出した前記変換ルールに従って変換するＸＭＬ変換手段と、
前記ＸＭＬ変換手段で変換された前記ＸＭＬの属性または要素に記述された出力先を前記出力先解決テーブルによって定義された内容に基づいて解釈する出力先解釈手段と、
前記変換後のＸＭＬの出力先が前記出力先解決テーブルで定義された前記キャッシュ更新手段である場合、前記変換後のＸＭＬを前記キャッシュ更新手段に出力し、前記変換後のＸＭＬの出力先がＸＭＬ送信手段である場合に、前記変換後のＸＭＬを前記ＸＭＬ送信手段に出力する出力分配手段とを有することを特徴とするＸＭＬ処理装置。
【請求項２】
（削除）
【請求項３】
（削徐）
【請求項４】
（削除）
【請求項５】
（削除）
【請求項６】
前記キャッシュメモリを複数有し、
前記ＸＭＬに記述された出力先と前記複数個のキャッシュメモリとを対応づける名前付きキャッシュ参照手段を有することを特徴とする、請求項２に記載のＸＭＬ処理装置。
【請求項７】
前記キャッシュメモリを複数有し、
前記出力分配手段からの出力に記述された出力先と前記複数個のキャッシュメモリとを対応づけて前記複数個のキャッシュメモリへのＸＭＬの追加および削除を行う名前付きキャッシュ更新手段を有することを特徴とする、請求項２に記載のＸＭＬ処理装置。
【請求項８】
前記ＸＭＬ変換手段を直列に接続し、
前記直列接続のＸＭＬ変換手段に対して共有され、前記各ＸＭＬ変換手段による変換結果を一時的に保存するキャッシュメモリを有し、
前記出力先解釈手段及び前記出力分配手段を、前記直列接続のＸＭＬ変換手段に対応させて多段に設けた請求項１に記載のＸＭＬ処理装置。
【請求項９】
外部から入力されるＸＭＬを所定のルールに従って変換して出力するＸＭＬ処理方法であって、
ＸＭＬ処理言語で記述された前記変換ルールおよび前記ＸＭＬの出力先を定義する出力先解決テーブルを記憶部に記憶させると共に、前記ＸＭＬをキャッシュメモリに一時的に記憶させ、
前記ＸＭＬが入力された際、前記キャッシュメモリのＸＭＬを参照して、前記ＸＭＬを前記記憶部から読み出した前記変換ルールに従って変換し、
前記変換された前記ＸＭＬの属性または要素に記述された出力先を前記出力先解決テーブルによって定義された内容に基づいて解釈し、
前記変換後のＸＭＬの出力先が前記出力先解決テーブルで定義された前記キャッシュメモリである場合、前記変換後のＸＭＬを前記キャッシュメモリに出力して追加、削除し、
前記変換後のＸＭＬの出力先がＸＭＬ送信手段である場合に、前記変換後のＸＭＬを前記ＸＭＬ送信手段に出力することを特徴とするＸＭＬ処理方法。
【請求項１０】
外部から入力されるＸＭＬを所定のルールに従って変換して出力するＸＭＬ処理装置を制御するコンピュータに、
ＸＭＬ処理言語で記述された前記変換ルールおよび前記ＸＭＬの出力先を定義する出力先解決テーブルを記憶部に記憶させると共に、前記ＸＭＬをキャッシュメモリに一時的に記憶させる機能と、
前記ＸＭＬが入力された際、前記キャッシュメモリのＸＭＬを参照して、前記ＸＭＬを前記記憶部から読み出した前記変換ルールに従って変換する機能と、
前記変換された前記ＸＭＬの属性または要素に記述された出力先を前記出力先解決テーブルによって定義された内容に基づいて解釈する機能と、
前記変換後のＸＭＬの出力先が前記出力先解決テーブルで定義された前記キャッシュメモリである場合、前記変換後のＸＭＬを前記キャッシュメモリに出力して追加、削除する機能と、
前記変換後のＸＭＬの出力先がＸＭＬ送信手段である場合に、前記変換後のＸＭＬを前記ＸＭＬ送信手段に出力する機能とを実行させることを特徴とするＸＭＬ処理プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
的に変換するものである。同期的とは、一つのＸＭＬ入力があったときに、そのＸＭＬ入力に対して変換を行い、一つのＸＭＬを出力するものをいう。同期的なフォーマット変換では、入力と出力が必ず一対一に対応し、入力が行われたタイミングで必ず変換と出力が行われる。ちなみに特許文献５のフォーマット変換はストリーミング的ではあるが、入力と出力が一対一に対応しているので、同期的であることには変わりはない。
［０００６］
しかしながら最近は、ＸＭＬのフォーマットを同期的に変換するのみでなく、たとえばセンサから出力される温度、湿度、ＲＦＩＤなどのように、非同期的に出力されるデータをＸＭＬとしてＸＭＬ処理装置に入力し、それを所定のルールおよびフォーマットで出力したいという用途も出てきている。より具体的には、ＸＭＬ文書として入力される温度が２０度以上の場合に測定された過去３回分の温度値を出力する、もしくは異なるタイミングでＸＭＬ文書として入力される温度と湿度の両方が所定の範囲である場合に温度と湿度をＸＭＬ文書として同時に出力する、などのような場合である。
［０００７］
特許文献１〜５に記載されている技術では、そのような非同期的なデータに対して対応することはできない。そのため、非同期的なデータを処理するために、専用のプログラムを記述する必要があった。これではＸＳＬＴによって容易に処理方法を記述することができるというＸＭＬの汎用性を損なうことになり、またプログラミングにコストがかかることにもなる。
［０００８］
本発明の目的は、非同期的なＸＭＬ入力に対しても既存のＸＭＬ処理言語によって処理方法を記述することのできるＸＭＬ処理装置、ＸＭＬ処理方法およびＸＭＬ処理プログラムを提供することにある。
課題を解決するための手段
［０００９］
上記目的を達成するため、本発明に係るＸＭＬ処理装置は、外部から入力されるＸＭＬを変換ルールに従って変換して出力するＸＭＬ処理装置であって、
ＸＭＬ処理言語で記述された前記変換ルールおよび前記ＸＭＬの出力先を定義する出力先解決テーブルを記憶する記憶部と、
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
ＸＭＬを一時的に記憶するキャッシュメモリと、
前記キャッシュメモリからＸＭＬを取得するキャッシュ参照手段と、
前記キャッシュメモリへのＸＭＬの追加、及び前記キャッシュメモリからのＸＭＬの削除を行うキャッシュ更新手段と、
前記ＸＭＬが入力された際、前記キャッシュ参照手段により前記キャッシュメモリのＸＭＬを参照して、前記ＸＭＬを前記記憶部から読み出した前記変換ルールに従って変換するＸＭＬ変換手段と、
前記ＸＭＬ変換手段で変換された前記ＸＭＬの属性または要素に記述された出力先を前記出力先解決テーブルによって定義された内容に基づいて解釈する出力先解釈手段と、
前記変換後のＸＭＬの出力先が前記出力先解決テーブルで定義された前記キャッシュ更新手段である場合、前記変換後のＸＭＬを前記キャッシュ更新手段に出力し、前記変換後のＸＭＬの出力先がＸＭＬ送信手段である場合に、前記変換後のＸＭＬを前記ＸＭＬ送信手段に出力する出力分配手段とを有することを特徴とするものである。
［００１０］
［００１１］
上記目的を達成するため、本発明に係るＸＭＬ処理方法は、外部から入力されるＸＭＬを所定のルールに従って変換して出力するＸＭＬ処理方法であって、
ＸＭＬ処理言語で記述された前記変換ルールおよび前記ＸＭＬの出力先を定義する出力先解決テーブルを記憶部に記憶させると共に、前記ＸＭＬをキャッシュメモリに一時的に記憶させ、
前記ＸＭＬが入力された際、前記キャッシュメモリのＸＭＬを参照して、前記ＸＭＬを前記記憶部から読み出した前記変換ルールに従って変換し、
前記変換された前記ＸＭＬの属性または要素に記述された出力先を前記出力先解決テーブルによって定義された内容に基づいて解釈し、
前記変換後のＸＭＬの出力先が前記出力先解決テーブルで定義された前記キャッシュメモリである場合、前記変換後のＸＭＬを前記キャッシュメモリに出力して追加、削除し、
前記変換後のＸＭＬの出力先がＸＭＬ送信手段である場合に、前記変換後のＸＭＬを前記ＸＭＬ送信手段に出力することを特徴とするものである。
［００１２］
上記目的を達成するため、本発明に係るＸＭＬ処理プログラムは、外部から入力されるＸＭＬを所定のルールに従って変換して出力するＸＭＬ処理装置を制御するコンピュータに、
ＸＭＬ処理言語で記述された前記変換ルールおよび前記ＸＭＬの出力先を定義する出力先解決テーブルを記憶部に記憶させると共に、前記ＸＭＬをキャッシュメモリに一時的に記憶させる機能と、
前記ＸＭＬが入力された際、前記キャッシュメモリのＸＭＬを参照して、前記ＸＭＬを前記記憶部から読み出した前記変換ルールに従って変換する機能と、
前記変換された前記ＸＭＬの属性または要素に記述された出力先を前記出力先解決テーブルによって定義された内容に基づいて解釈する機能と、
前記変換後のＸＭＬの出力先が前記出力先解決テーブルで定義された前記キャッシュメモリである場合、前記変換後のＸＭＬを前記キャッシュメモリに出力して追加、削除する機能と、
前記変換後のＸＭＬの出力先がＸＭＬ送信手段である場合に、前記変換後のＸＭＬを前記ＸＭＬ送信手段に出力する機能とを実行させることを特徴とするものである。
発明の効果
［００１３］
本発明は、ＸＭＬに記述された出力先に変換されたＸＭＬを出力できるように構成したので、条件に応じて異なる処理を行う出力先にＸＭＬを出力することができる。これによって、非同期的なＸＭＬ入力に対しても既存のＸ
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
応するＸＭＬ受信手段３２１ａおよび３２１ｂ、ＸＭＬ変換手段３２２ａおよび３２２ｂ、変換ルール３３１ａおよび３３１ｂを有する。ＸＭＬ変換手段３２２ａおよび３２２ｂによる変換後のＸＭＬは出力分配手段３２４ａに出力される。出力分配手段３２４ａは出力先解釈手段３２５ａ、出力先解決テーブル３３２ａを有する。そして出力分配手段３２４ａの後段に、ＸＭＬ変換手段３２２ｃ、変換ルール３３１ｃ、出力分配手段３２４ｂ、出力先解釈手段３２５ｂ、出力先解決テーブル３３２ｂが接続される。
［００４５］
各々の機能部は、基本的に第１の実施の形態に係るＸＭＬ処理装置１に含まれる同一名称の機能部と同一の機能を有する。そのため、ここではその相違点のみを説明し、それ以外については説明を省略する。また、出力先解決テーブル３３２ａおよび３３２ｂは、図２で示した出力先解決テーブル３２と、特に記述のない限りはそれぞれ同一であるものとする。
［００４６］
図７は、図６で示したＸＭＬ処理装置３０１が実行する処理を表すフローチャートである。ＸＭＬ受信手段３２１ａ−ＸＭＬ変換手段３２２ａ−変換ルール３３１ａと、ＸＭＬ受信手段３２１ｂ−ＸＭＬ変換手段３２２ｂ−変換ルール３３１ｂの、２つのデータ処理系統は、どちらか一方ＸＭＬを受信した側の系統だけが、図３のステップＳ１０１〜１０６および１０８に示したものと同一の動作を行う。図３に示した第１の実施の形態における動作との相違点は、ステップＳ１０５における出力分配手段３２４ａからのＸＭＬの出力先がキャッシュ更新手段２６ではない場合に、ＸＭＬ変換手段３２２ｃとなることから始まる。
［００４７］
出力分配手段３２４ａからのＸＭＬの出力を受けたＸＭＬ変換手段３２２ｃは、変換ルール３３１ｃを参照してステップＳ１０２と同様にキャッシュ参照を解決したのち（ステップＳ４０１）、ステップＳ１０３と同様にＸＭＬ変換を行う（ステップＳ４０２）。変換されたＸＭＬは、出力分配手段３２４ｂおよび出力先解釈手段３２５ｂによって解釈され、出力先の記述を検索し（ステップＳ４０３）、出力先を判断する（ステップＳ４０４）。
［００４８］
その結果出力先がキャッシュであればキャッシュメモリ１４を更新し（ス
【国際調査報告】
2009139245.tif 000018
2009139245.tif 000019