(57)【要約】【課題】誤った情報によるＸＭＬアプリケーションの誤りを未然に防止するＸＭＬアプリケーションが相対的に低性能のプロセッサと小さいメモリとを有したエンベッディドディバイスにて動作する場合、ＸＭＬ文書の有効性を検証できる装置及び方法を提供する。【解決手段】ＸＭＬ受信部、外部ＸＭＬ有効性検証装置呼出し部、ＤＯＭ／ＳＡＸツリー生成部を含み、前記外部ＸＭＬ有効性検証装置はスキーマ／ＤＴＤ受信部、ＸＭＬバリデータ、ＸＭＬ有効性検証結果送信部を含む。【選択図】　図２
2004030651.tif 000002
【特許請求の範囲】
【請求項１】
外部ＸＭＬ有効性検証装置を利用するＸＭＬパージング装置において、
ＸＭＬアプリケーションからＸＭＬ文書を受信するＸＭＬ受信部と、
前記外部ＸＭＬ有効性検証装置に前記ＸＭＬ文書の有効性検証に関する要請を行い、前記要請に対する応答を受ける外部ＸＭＬ有効性検証装置呼出し部と、
前記外部有効性検証装置呼出し部が前記ＸＭＬ文書が有効であると応答を受けた場合、前記ＸＭＬ文書からＤＯＭ／ＳＡＸツリーを生成して前記ＸＭＬアプリケーションに送信するＤＯＭ／ＳＡＸツリー生成部と
を含むことを特徴とする外部ＸＭＬ有効性検証装置を利用するＸＭＬパージング装置。
【請求項２】
前記ＤＯＭ／ＳＡＸツリー生成部は、前記有効性検証装置呼出し部が前記ＸＭＬ文書が有効ではないと応答を受けた場合、前記ＸＭＬアプリケーションにエラーメッセージを送信することを特徴とする請求項１に記載の外部ＸＭＬ有効性検証装置を利用するＸＭＬパージング装置。
【請求項３】
前記外部ＸＭＬ有効性検証装置呼出し部は、前記受信されたＸＭＬ文書から前記外部ＸＭＬ有効性検証装置の位置を把握し、前記位置が把握された外部ＸＭＬ有効性検証装置に前記ＸＭＬ文書の有効性検証に関して要請を行い、前記要請に対する応答を受けることを特徴とする請求項１に記載の外部ＸＭＬ有効性検証装置を利用するＸＭＬパージング装置。
【請求項４】
前記外部ＸＭＬ有効性検証装置呼出し部は、前記外部ＸＭＬ有効性検証装置に前記ＸＭＬパージング装置を備える装置のＯＳバージョンと前記ＸＭＬ文書とを送信して前記ＸＭＬ文書の有効性検証に関する要請を行い、前記要請に対する応答を受けることを特徴とする請求項１に記載の外部ＸＭＬ有効性検証装置を利用するＸＭＬパージング装置。
【請求項５】
任意のＸＭＬパージング装置に任意のＸＭＬ文書の有効性検証機能を提供する外部ＸＭＬ有効性検証装置において、
前記ＸＭＬパージング装置から前記ＸＭＬ文書の有効性検証に関する要請を受けた場合、スキーマ／ＤＴＤデータベースから前記ＸＭＬ文書に対応するスキーマまたはＤＴＤを受信するスキーマ／ＤＴＤ受信部と、
前記ＸＭＬ文書を前記受信されたスキーマまたはＤＴＤに適用して前記ＸＭＬ文書の有効性を検証するＸＭＬバリデータと、
前記検証の結果を前記ＸＭＬパージング装置に送信するＸＭＬ有効性検証結果送信部と
を含むことを特徴とする外部ＸＭＬ有効性検証装置。
【請求項６】
前記スキーマ／ＤＴＤ受信部は、前記ＸＭＬパージング装置から前記ＸＭＬパージング装置を備える装置のＯＳバージョンと前記ＸＭＬ文書とを受信してＸＭＬ文書の有効性検証に関する要請を受けた場合において、前記ＸＭＬパージング装置を備える装置のＯＳバージョンが外部ＸＭＬ有効性検証装置を必要とする場合、スキーマ／ＤＴＤデータベースから前記ＸＭＬ文書に対応するスキーマまたはＤＴＤを受信することを特徴とする請求項５に記載の外部ＸＭＬ有効性検証装置。
【請求項７】
前記スキーマ／ＤＴＤ受信部は、前記ＸＭＬパージング装置から前記ＸＭＬ文書の有効性検証に関する要請を受けた場合、前記ＸＭＬ文書から前記スキーマ／ＤＴＤデータベースの位置を把握し、前記位置が把握されたスキーマ／ＤＴＤデータベースから前記ＸＭＬ文書に対応するスキーマまたはＤＴＤを受信することを特徴とする請求項５に記載の外部ＸＭＬ有効性検証装置。
【請求項８】
外部ＸＭＬ有効性検証装置を利用するＸＭＬパージング装置と外部ＸＭＬ有効性検証装置とにおいて、
ＸＭＬアプリケーションからＸＭＬ文書を受信し、前記外部ＸＭＬ有効性検証装置に前記ＸＭＬ文書の有効性検証に関して要請を行い、前記ＸＭＬ文書が有効であると応答を受けた場合、前記ＸＭＬ文書からＤＯＭ／ＳＡＸツリーを生成して前記ＸＭＬアプリケーションに送信する外部ＸＭＬ有効性検証装置を利用するＸＭＬパージング装置と、
前記ＸＭＬパージング装置から前記ＸＭＬ文書の有効性検証に関する要請を受けた場合、スキーマ／ＤＴＤデータベースから前記ＸＭＬ文書に対応するスキーマ／ＤＴＤを受信し、前記ＸＭＬ文書を前記受信されたスキーマ／ＤＴＤに適用して前記ＸＭＬ文書の有効性を検証し、前記検証の結果を前記ＸＭＬパージング装置に送信する外部ＸＭＬ有効性検証装置と
を含むことを特徴とする外部ＸＭＬ有効性検証装置とそれを利用するＸＭＬパージング装置。
【請求項９】
ＸＭＬアプリケーションからＸＭＬ文書を受信し、前記外部ＸＭＬ有効性検証装置に前記ＸＭＬ文書の有効性検証に関して要請を行い、前記ＸＭＬ文書が有効ではないと応答を受けた場合、エラーメッセージを前記ＸＭＬアプリケーションに送信することを特徴とする請求項８に記載の外部ＸＭＬ有効性検証装置とそれを利用するＸＭＬパージング装置。
【請求項１０】
（ａ）ＸＭＬアプリケーションからＸＭＬ文書を受信する段階と、
（ｂ）前記ＸＭＬ文書の有効性検証に関する要請を行い、前記要請に対する応答を受ける段階と、
（ｃ）前記ＸＭＬ文書が有効であると応答を受けた場合、前記ＸＭＬ文書からＤＯＭ／ＳＡＸツリーを生成して送信する段階と
を含むことを特徴とする外部ＸＭＬ有効性検証装置を利用するＸＭＬパージング方法。
【請求項１１】
前記（ｃ）段階は、前記ＸＭＬ文書が有効ではないと応答を受けた場合、エラーメッセージを送信することを特徴とする請求項１０に記載の外部ＸＭＬ有効性検証装置を利用するＸＭＬパージング方法。
【請求項１２】
前記（ｂ）段階は、前記受信されたＸＭＬ文書から前記外部ＸＭＬ有効性検証装置の位置を把握し、前記位置が把握された外部ＸＭＬ有効性検証装置に前記ＸＭＬ文書の有効性検証に関して要請を行い、前記要請に対する応答を受けることを特徴とする請求項１０に記載の外部ＸＭＬ有効性検証装置を利用するＸＭＬパージング方法。
【請求項１３】
前記（ｂ）段階は、前記外部ＸＭＬ有効性検証装置に前記ＸＭＬパージング方法を行う装置のＯＳバージョンと前記ＸＭＬ文書とを送信して前記ＸＭＬ文書の有効性検証に関する要請を行い、前記要請に対する応答を受けることを特徴とする請求項１０に記載の外部ＸＭＬ有効性検証装置を利用するＸＭＬパージング方法。
【請求項１４】
（ａ）ＸＭＬ文書の有効性検証に関する要請を受けた場合、前記ＸＭＬ文書に対応するスキーマまたはＤＴＤを受信する段階と、
（ｂ）前記ＸＭＬ文書を前記受信されたスキーマまたはＤＴＤに適用して前記ＸＭＬ文書の有効性を検証する段階と、
（ｃ）前記検証の結果を送信する段階と
を含むことを特徴とする外部ＸＭＬ有効性検証方法。
【請求項１５】
前記（ａ）段階は、ＸＭＬパージング方法を行う装置のＯＳバージョンと前記ＸＭＬ文書とを受信してＸＭＬ文書の有効性検証に関する要請を受けた場合において、前記ＸＭＬパージング方法を行う装置のＯＳバージョンが外部ＸＭＬ有効性検証装置を必要とする場合、スキーマ／ＤＴＤデータベースから前記ＸＭＬ文書に対応するスキーマまたはＤＴＤを受信することを特徴とする請求項１４に記載の外部ＸＭＬ有効性検証方法。
【請求項１６】
前記（ａ）段階は、前記ＸＭＬ文書の有効性検証に関する要請を受けた場合、前記ＸＭＬ文書から前記スキーマ／ＤＴＤデータベースの位置を把握し、前記位置が把握されたスキーマ／ＤＴＤデータベースから前記ＸＭＬ文書に対応するスキーマまたはＤＴＤを受信することを特徴とする請求項１４に記載の外部ＸＭＬ有効性検証方法。
【請求項１７】
（ａ）ＸＭＬ文書を受信し、前記ＸＭＬ文書の有効性検証に関して要請する段階と、
（ｂ）前記ＸＭＬ文書の有効性検証に関する要請を受けた場合、前記ＸＭＬ文書に対応するスキーマ／ＤＴＤを受信し、前記ＸＭＬ文書を前記受信されたスキーマ／ＤＴＤに適用して前記ＸＭＬ文書の有効性を検証し、前記検証の応答を送信する段階と、
（ｃ）前記ＸＭＬ文書が有効であると応答を受けた場合、前記ＸＭＬ文書からＤＯＭ／ＳＡＸツリーを生成して送信する段階と
を含むことを特徴とする外部ＸＭＬ有効性検証方法とそれを利用するＸＭＬパージング方法。
【請求項１８】
前記（ｃ）段階は、前記ＸＭＬ文書が有効ではないと応答を受けた場合、エラーメッセージを送信することを特徴とする請求項１７に記載の外部ＸＭＬ有効性検証方法とそれを利用するＸＭＬパージング方法。
【請求項１９】
請求項１０ないし１８のうちいずれか１項の方法をコンピュータにて実行するためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
電子文書の標準として広く使用されているＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）文書を前記ＸＭＬ文書の文法を記述したスキーマまたはＤＴＤ（Ｄｏｃｕｍｅｎｔ　Ｔｙｐｅ　Ｄｅｆｉｎｉｔｉｏｎ）資料構造を利用して前記ＸＭＬ文書の有効性を検証する装置及び方法に係り、特に相対的に低性能のプロセッサと小さいメモリとを有したエンベッディドディバイスにてシステム仕様の制約により一般的なスキーマまたはＤＴＤ資料構造を利用した有効性検証を支援できないエンベッディド用パーザの問題点を解決するための装置及び方法に関する。
【０００２】
【従来の技術】
従来技術を利用してＸＭＬ文書を利用するＸＭＬアプリケーションにて外部エンティティを利用して作成されたＸＭＬ文書の有効性を検証するためには外部に保存されているスキーマまたはＤＴＤを読み、それにより定義された文法に関する資料構造を生成させ、上記の通りに生成された文法構造を利用し、検証を所望のＸＭＬ文書の誤りを検査するバリデータモジュールより構成されたＸＭＬパーザを利用した。ところで、相対的に低性能のプロセッサと小さいメモリとを有したエンベッディドディバイス（例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ　Ｄｉｇｉｔａｌ　Ａｓｓｉｓｔａｎｔ）や携帯電話など）にて動作するＸＭＬアプリケーションを支援できるＸＭＬ文書の有効性検証は限定的である。大部分のエンベッディドシステムにて支援されるＸＭＬパーザは、スキーマまたはＤＴＤを介したＸＭＬ文書の検証過程による負荷を減らすために前記有効性検証機能を支援しなかったり、制限されたスキーマまたはＤＴＤ文法だけを検証できるように必要により一部分だけを拡張したパーザを支援している。それにより、一般的ではない有効性検証パーザが各システムに必要なスキーマまたはＤＴＤだけを認識できるように具現されており、そのように具現されたパーザを他のシステムに適用する場合、使用できない問題点があった。
【０００３】
また、ＸＭＬ文書により外部エンティティとして使われるスキーマまたはＤＴＤを公布したスキーマ／ＤＴＤパブリッシャが必要により新しい具現文法を追加する場合、既存スキーマ／ＤＴＤを使用していたＸＭＬ文書は既存では誤りがなかった文書であったが、それ以上検証された文書ではなくなる。従って、外部エンティティとして公布されたスキーマまたはＤＴＤを使用するＸＭＬ文書は、スキーマまたはＤＴＤ文法の変化により新しく具現されるべきであるという問題点もあった。
【０００４】
【発明が解決しようとする課題】
本発明がなそうとする技術的課題は、ディバイスの情報を記述したり、ビジネス文書の標準を記述するのに使われるＸＭＬ文書を利用するＸＭＬアプリケーションが相対的に低性能のプロセッサと小さいメモリとを有したエンベッディドディバイスにて動作する場合、ＸＭＬ文書の有効性を検証できる装置及び方法を提供するところにある。
【０００５】
【課題を解決するための手段】
前記問題点を解決するための本発明による外部ＸＭＬ有効性検証装置を利用するＸＭＬパージング装置は、ＸＭＬアプリケーションからＸＭＬ文書を受信するＸＭＬ受信部、前記外部ＸＭＬ有効性検証装置に前記ＸＭＬ文書の有効性検証に関する要請を行い、前記要請に対する応答を受ける外部ＸＭＬ有効性検証装置呼出し部、前記外部有効性検証装置呼出し部が前記ＸＭＬ文書が有効であると応答を受けた場合、前記ＸＭＬ文書からＤＯＭ（Ｄｏｃｕｍｅｎｔ　Ｏｂｊｅｃｔ　Ｍｏｄｅｌ）／ＳＡＸ（Ｓｍｉｐｌｅ　ＡＰＩ　ｆｏｒ　Ｘｍｌ）ツリーを生成して前記ＸＭＬアプリケーションに送信するＤＯＭ／ＳＡＸツリー生成部を含む。本発明による前記外部ＸＭＬ有効性検証装置は、前記ＸＭＬパージング装置から前記ＸＭＬ文書の有効性検証に関する要請を受けた場合、スキーマ／ＤＴＤデータベースから前記ＸＭＬ文書に対応するスキーマまたはＤＴＤを受信するスキーマ／ＤＴＤ受信部、前記ＸＭＬ文書を前記受信されたスキーマまたはＤＴＤに適用して前記ＸＭＬ文書の有効性を検証するＸＭＬバリデータ、前記検証の結果を前記ＸＭＬパージング装置に送信するＸＭＬ有効性検証結果送信部を含む。
【０００６】
【発明の実施の形態】
以下に、図面を参照して本発明の望ましい実施形態を詳細に説明する。
図１は従来のＸＭＬパーザ（パージング装置）の構成図である。
従来のＸＭＬパーザが搭載された装置１・１１は、ＸＭＬパーザ１１１、ＸＭＬアプリケーション１１２、及びそれ以外に装置１を構成する要素（ＣＰＵ、メモリなど）より構成される。装置２は、スキーマ／ＤＴＤデータベース１２１とそれ以外に装置１を構成する要素（ＣＰＵ、メモリなど）より構成される。前記ＸＭＬパーザ１１１はＸＭＬ受信部１１１１、スキーマ／ＤＴＤ受信部１１１２、ＸＭＬバリデータ１１１３、及びＤＯＭ／ＳＡＸツリー生成部１１１４より構成される。前記以外の装置１を構成する要素と装置２を構成する要素とは、本発明と関係がないので、図１において省略した。
【０００７】
前記ＸＭＬアプリケーション１１２はユーザがさまざまなツールを使用してＸＭＬ文書を作業できる空間を通称する言葉である。前記ＸＭＬ受信部１１１１は前記ＸＭＬアプリケーション１１２からＸＭＬ文書を受信するところである。前記スキーマ／ＤＴＤ受信部１１１２は、装置２・１２のスキーマ／ＤＴＤデータベース１２１からスキーマ／ＤＴＤデータを受信する。前記ＤＴＤはＤＩ（Ｄｏｃｕｍｅｎｔ　Ｉｎｓｔａｎｃｅ）形態の明細であり、文書の規則を知りうる。すなわち、ＤＩの作成規則を定義する部分である。ＸＭＬ文書のＤＩはＸＭＬ文書の実体であってユーザが作成する本文に該当し、ＤＴＤにて定義した規則により作成される。プログラミング言語と比較すると、前記ＤＴＤは言語の定義と同じである。従って、文書の構造を定義すれば、ＤＴＤの定義によりＤＩが作成されてこそ有効な文書となる。前記ＤＴＤの構成には、要素、属性予約語、個体があるが、要素は最も上位要素からいくつかの要素に関する属性を定義するものであっていくつかの属性が定義されうる。個体は、普通プログラミング言語にて使われるマクロ機能と似ている。定義と参照される形態により、一般個体と媒介変数個体とに分けられるが、一般個体はＤＴＤにて定義されてＤＩにて参照され、媒介変数個体はＤＴＤにて定義されてＤＴＤにて参照される。それ以外に、選択された部分と処理命令とがあるが、選択された部分は文書の一部選択された部分を特別に処理する時に使われ、処理命令は文書にて外部プログラムを使用して処理できるようにする。かような構成を有するＤＴＤをパージングするためにはＤＴＤの文法を検査し、文書の構造的な情報を利用してＤＩ文書規則を生成しなければならない。この過程にて生成される文書構造をＢＮＦ（Ｂａｃｋｕｓ−Ｎａｕｒ　Ｆｏｒｍ）形態の文法に生成してパーザ生成器の入力として使用する場合には、文法に関する誤りと模倣性とが発生しうるために、誤りと模倣性とを排除するためにツリー形態にてＤＩ文書規則を検査せねばならない。前記スキーマはＸＭＬ文書の構造とコンテンツとを定義するファイルを指す一般的な用語である。前記ＤＴＤも前記スキーマの一種であるが、多くの問題点を有していた。前記ＤＴＤとの最も大きい差異点は、ＤＴＤはＥＢＮＦ（Ｅｘｔｅｎｄｅｄ　Ｂａｃｋｕｓ−Ｎａｕｒ　Ｆｏｒｍ）表記法を使用して複雑で見慣れない言語で記述しなければならないが、ＸＭＬスキーマはＸＭＬを使用して記述するということである。また、ＤＴＤにて表現できなかった各種データタイプとエレメント再使用などがＸＭＬスキーマでは基本的に可能である。すなわち、ＸＭＬスキーマはＤＴＤを大幅拡張したモデルであり、ＸＭＬ文書が有しうるエレメントタイプ、エレメント間の関係、各エレメントが有しうるタイプについて詳細に定義できる。
【０００８】
前記スキーマ／ＤＴＤ受信部１１１２は、前記装置１・１１にて動作する前記ＸＭＬアプリケーション１１２が処理しなければならないＸＭＬ文書が前記装置１２のスキーマ／ＤＴＤデータベース１２１に保存されているスキーマ／ＤＴＤに定義された文法による場合、次の前記装置１・１１のＸＭＬ文書の例と同じ方式で装置２・１２からスキーマ／ＤＴＤ文書を有線または無線通信網（一般的に、ネットワーク網）を介して受信する。
【０００９】
前記装置１・１１のＸＭＬ文書例
＜？ｘｍｌ　ｖｅｒｓｉｏｎ＝“１．０”？＞
＜Ｉｎｖｏｉｃｅ　ｘｍｌｎｓ＝“ｈｔｔｐ：／／ｗｗｗ．ｉｎｖｏｉｃｅ．ｏｒｇ”
ｘｍｌｎｓ：ｘｓｉ＝“ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／２０００／１０／ＸＭＬＳｃｈｅｍａ−ｉｎｓｔａｎｃｅ”
ｘｓｉ：ｓｃｈｅｍａＬｏｃａｔｉｏｎ＝“ｈｔｔｐ：／／ｗｗｗ．ｉｎｖｏｉｃｅ．ｏｒｇ／Ｉｎｖｏｉｃｅ．ｘｓｄ”＞
＜ＰａｙｍｅｎｔＤｕｅ　Ｃｕｒｒｅｎｃｙ＝“ＵＳＤ”＞１９９．００＜／ＰａｙｍｅｎｔＤｕｅ＞
＜／Ｉｎｖｏｉｃｅ＞
【００１０】
前記ｘｓｉ：ｓｃｈｅｍａＬｏｃａｔｉｏｎ＝“ｈｔｔｐ：／／ｗｗｗ．ｉｎｖｏｉｃｅ．ｏｒｇ／Ｉｎｖｏｉｃｅ．ｘｓｄ”がスキーマ／ＤＴＤデータベースがある装置２・１２のＵＲＬ（Ｕｎｉｆｏｒｍ　リソース　Ｌｏｃａｔｏｒ）に関する情報である。すなわち、前記装置１・１１に内蔵されたＸＭＬパーザ１１１は＜ｓｃｈｅｍａＬｏｃａｔｉｏｎ＞タグの値により前記スキーマ／ＤＴＤデータベースの位置情報を見出す。
【００１１】
前記ＸＭＬバリデータ１１１３は、前記ＸＭＬ文書の誤りを検証する装置であり、まずスキーマ／ＤＴＤに定義されたＸＭＬ文書構成に関する規約を解析してスキーマ／ＤＴＤ文法構造体を生成する。次に、前記ＸＭＬ文書を前記生成されたスキーマ／ＤＴＤ文法構造体に適用してＸＭＬ文書の誤りを検証する。
【００１２】
前記ＤＯＭ／ＳＡＸツリー生成部１１１４は、前記検証結果、ＸＭＬ文書に誤りがないと判断された場合にＤＯＭ／ＳＡＸツリーを生成し、生成された前記ＤＯＭ／ＳＡＸツリーを前記ＸＭＬアプリケーション１１２に送信する。前記ＤＯＭはパージングした資料をツリー構造で分析、保存して特定エレメントに対する接近を許すモデルを言う。前記ＤＯＭによれば、ＸＭＬ文書は最上位エレメントがルートノードになって階層的なツリー構造で文書を分析する。ツリー構造により表現されるために、特定ノードに対する接近が自由となって　Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｐｒｏｔｏｃｏｌとも呼ばれる。前記ＳＡＸはＤＯＭと類似した標準であってＤＯＭと相互補完的な性格の標準である。ＤＯＭの場合、あらゆるＸＭＬ文書をパージングしてツリー構造のデータ構造に変換すると前述した。この方法は大変柔軟であって強力な方法であるが、一方ではかなりシステムリソースを使用する過程でもある。特に、ＸＭＬ文書のうち特定フィールド値一つにだけ関心がある場合にも、全体文書を全て読んで分析せねばならないというのはかなり負担になる作業になりうる。このような短所を補完するために登場したのがＳＡＸである。ＳＡＸは全体文書をツリー構造でメモリに上げるのではなく、順次一つのエレメントをパージングして渡してそれをツリー形態に構成する過程は省略する。従って、ＤＯＭを　Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｐｒｏｔｏｃｏｌと言い、ＳＡＸを　Ｓｅｒｉａｌ　Ａｃｃｅｓｓ　Ｐｒｏｔｏｃｏｌと言う。ＳＡＸはＥｖｅｎｔ−ｄｒｉｖｅｎ　Ｐｒｏｔｏｃｏｌとも呼ばれるが、それはＸＭＬハンドラがＳＡＸパーザに自体を登録して新しいＸＭＬタグが発見されるたびにＳＡＸパーザが　Ｃａｌｌ−ｂａｃｋ関数を通じてＸＭＬハンドラに知らせる方法を使っている。
【００１３】
図２は、本発明の外部ＸＭＬ有効性検証装置を利用するＸＭＬパージング装置（パーザ）と外部ＸＭＬ有効性検証装置の構成図である。
前記外部ＸＭＬ有効性検証装置を利用するＸＭＬパージング装置が搭載された装置１は、ＸＭＬパーザ２１１、ＸＭＬアプリケーション２１２、及びそれ以外に装置１を構成する要素（ＣＰＵ、メモリなど）より構成される。装置２はスキーマ／ＤＴＤデータベース２２１とそれ以外に装置１を構成する要素（ＣＰＵ、メモリなど）より構成される。前記外部ＸＭＬ有効性検証装置の装置３・２３はスキーマ／ＤＴＤ受信部２３３、ＸＭＬバリデータ２３２、及びＸＭＬ有効性検証結果送信部２３１より構成される。前記ＸＭＬパーザはＸＭＬ受信部２１１１、外部ＸＭＬ有効性検証装置呼出し部２１１２、及びＤＯＭ／ＳＡＸツリー生成部２１１３より構成される。
【００１４】
前記ＸＭＬ受信部２１１１はＸＭＬアプリケーションからＸＭＬ文書を受信する。
前記外部ＸＭＬ有効性検証装置呼出し部２１１２は前記外部ＸＭＬ有効性検証装置２３に前記ＸＭＬ文書の有効性検証に関する要請を行い、前記要請に対する応答を受ける。この時、前記外部ＸＭＬ有効性検証装置呼出し部２１１２は、前記受信されたＸＭＬ文書から前記外部ＸＭＬ有効性検証装置の位置を把握する。すなわち、次の前記装置１・１１のＸＭＬ文書の例のような方式で前記外部ＸＭＬ有効性検証装置２３を有線または無線通信網を介して呼び出す。
前記装置１　２１のＸＭＬ文書例
【００１５】
＜？ｘｍｌｖｅｒｓｉｏｎ＝“１．０”？＞
＜Ｉｎｖｏｉｃｅｘｍｌｎｓ＝“ｈｔｔｐ：／／ｗｗｗ．ｉｎｖｏｉｃｅ．ｏｒｇ”
ｘｍｌｎｓ：ｘｓｉ＝“ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／２０００／１０／ＸＭＬＳｃｈｅｍａ−ｉｎｓｔａｎｃｅ”
ｘｓｉ：ｓｃｈｅｍａＬｏｃａｔｉｏｎ＝“ｈｔｔｐ：／／ｗｗｗ．ｉｎｖｏｉｃｅ．ｏｒｇ／Ｉｎｖｏｉｃｅ．ｘｓｄ”
ｘｓｉ：ｖａｌｉｄａｔｏｒＬｏｃａｔｉｏｎ＝“ｈｔｔｐ：／／ｗｗｗ．ｓａｍｓｕｎｇ．ｃｏｍ／ＤｅｖｉｃｅＡｎａｌｙｚｅｒ”＞
＜ＰａｙｍｅｎｔＤｕｅ　Ｃｕｒｒｅｎｃｙ＝“ＵＳＤ”＞１９９．００＜／ＰａｙｍｅｎｔＤｕｅ＞
＜／Ｉｎｖｏｉｃｅ＞
【００１６】
前記　ｘｓｉ：ｖａｌｉｄａｔｏｒＬｏｃａｔｉｏｎ＝“ｈｔｔｐ：／／ｗｗｗ．ｓａｍｓｕｎｇ．ｃｏｍ／ＤｅｖｉｃｅＡｎａｌｙｚｅｒ”が前記外部ＸＭＬ有効性検証装置２３のＵＲＬに関する情報である。すなわち、前記装置１・２１に内蔵されたＸＭＬパーザ２１１は＜ｖａｌｉｄａｔｏｒＬｏｃａｔｉｏｎ＞タグの値により前記外部ＸＭＬ有効性検証装置２３の位置情報を見出す。
【００１７】
前記外部ＸＭＬ有効性検証装置呼出し部２１１２は前記ＸＭＬ文書の有効性検証に関する要請を行う時、前記外部ＸＭＬ有効性検証装置２３のＵＲＬに存在する前記外部ＸＭＬ有効性検証装置２３に前記ＸＭＬパージング装置を備える装置のＯＳバージョンと前記ＸＭＬ文書とを有線または無線通信網を介して送信する。
【００１８】
前記ＤＯＭ／ＳＡＸツリー生成部２１１３は前記外部有効性検証装置呼出し部２１１２が前記ＸＭＬ文書が有効であると応答を受けた場合、前記ＸＭＬ文書からＤＯＭ／ＳＡＸツリーを生成して前記ＸＭＬアプリケーション２１２に送信する。もし、前記有効性検証装置呼出し部２１１２が前記ＸＭＬ文書が有効ではないと応答を受けた場合、前記ＸＭＬアプリケーションにエラーメッセージを送信する。
【００１９】
前記スキーマ／ＤＴＤ受信部２３３は前記ＸＭＬパージング装置から前記ＸＭＬ文書の有効性検証に関する要請を受けた場合、スキーマ／ＤＴＤデータベースから前記ＸＭＬ文書に対応するスキーマまたはＤＴＤを有線または無線通信網を介して受信する。ただし、前記スキーマ／ＤＴＤ受信部２３３は前記ＸＭＬパージング装置２１１から前記ＸＭＬパージング装置を備える装置２１のＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）バージョンと前記ＸＭＬ文書とを受信してＸＭＬ文書の有効性検証に関する要請を受けた場合において、前記ＸＭＬパージング装置を備える装置２１のＯＳバージョンが外部ＸＭＬ有効性検証装置２３を必要とする場合、スキーマ／ＤＴＤデータベースから前記ＸＭＬ文書に対応するスキーマまたはＤＴＤを受信する。すなわち、前記ＸＭＬパージング装置を備える装置が相対的に低性能のプロセッサと小さいメモリとを有したエンベッディドディバイス（例えば、ＰＤＡや携帯電話など）ではない場合には、自主的に完壁に前記ＸＭＬ文書の有効性検証をできる装置を内部に備えているために、前記のような外部ＸＭＬ有効性検証装置２３を必要としない。前記スキーマ／ＤＴＤ受信部２３３がスキーマ／ＤＴＤデータベースから前記ＸＭＬ文書に対応するスキーマまたはＤＴＤを受信しようとするなら、前記ＸＭＬ文書から前記スキーマ／ＤＴＤデータベース２２１の位置、すなわちＵＲＬを把握せねばならないが、その方式は次の通りである。前記装置１・２１のＸＭＬ文書例に記載された前記　ｘｓｉ：ｓｃｈｅｍａＬｏｃａｔｉｏｎ＝“ｈｔｔｐ：／／ｗｗｗ．ｉｎｖｏｉｃｅ．ｏｒｇ／Ｉｎｖｏｉｃｅ．ｘｓｄ”ＵＲＬに存在するスキーマ／ＤＴＤデータベースから前記スキーマまたはＤＴＤを受信する。すなわち、前記装置１・２１から伝達された前記ＸＭＬ文書を入力として前記外部ＸＭＬ有効性検証装置２３は＜ｓｃｈｅｍａＬｏｃａｔｉｏｎ＞タグに存在する該当ＳｃｈｅｍａまたはＤＴＤ文書を受信して前記ＸＭＬ文書の有効性を検証する。
【００２０】
前記ＸＭＬバリデータ２３２は前記ＸＭＬ文書を前記受信されたスキーマまたはＤＴＤに適用して前記ＸＭＬ文書の有効性を検証する。まず、スキーマ／ＤＴＤに定義されたＸＭＬ文書構成に関する規約を解析してスキーマ／ＤＴＤ文法構造体を生成する。次に、前記ＸＭＬ文書を前記生成されたスキーマ／ＤＴＤ文法構造体に適用してＸＭＬ文書の誤りを検証する。この時、前記ＸＭＬ文書のバージョン情報により異なるスキーマまたはＤＴＤを適用してスキーマまたはＤＴＤのバージョン変更など修正により発生可能なあらゆる場合を解決する。
【００２１】
前記ＸＭＬ有効性検証結果送信部２３１は前記検証の結果を前記ＸＭＬパージング装置に有線または無線通信網を介して送信する。前記検証結果は、次の通り三つに区分される。最初の場合は、前記装置２１が相対的に低性能のプロセッサと小さいメモリとを有したエンベッディドディバイスではないケースに該当し、“ＮＯＮＥ”メッセージが生成されて伝えられる。第二の場合は、前記ＸＭＬ文書の誤りがないケースに該当し、“ＯＫ”メッセージが生成されて伝えられる。第三の場合は、前記ＸＭＬ文書に誤りが発生した場合であり、“Ｅｒｒｏｒ＋ｌｉｎｅ　ｎｕｍｂｅｒ＋ｒｅａｓｏｎ”情報を含んだメッセージが生成されて伝えられる。前記装置１・２１に“ＯＫ”メッセージが生成されて伝えられた場合は、ＤＯＭ／ＳＡＸツリーが生成されて前記ＸＭＬアプリケーション２１２に送信され、前記装置１・２１に“ＮＯＮＥ”または、“Ｅｒｒｏｒ＋ｌｉｎｅｎｕｍｂｅｒ＋ｒｅａｓｏｎ”メッセージが生成されて伝えられた場合は、そのまま前記メッセージが前記ＸＭＬアプリケーション２１２に有線または無線通信網を介して送信される。
【００２２】
図３は本発明の外部ＸＭＬ有効性検証装置を利用するＸＭＬパージング方法のフローチャートである。
ＸＭＬアプリケーションからＸＭＬ文書を受信し（３１）、前記外部ＸＭＬ有効性検証装置に前記ＸＭＬ文書の有効性検証に関する要請を行い、前記外部ＸＭＬ有効性検証装置から前記要請に対する応答を受け（３２）、もし前記ＸＭＬ文書が有効であると応答を受けた場合（３３）、前記ＸＭＬ文書からＤＯＭ／ＳＡＸツリーを生成して前記ＸＭＬアプリケーションに有線または無線通信網を介して送信する（３４）。もし、前記ＸＭＬ文書が有効ではないと応答を受けた場合（３４）、前記ＸＭＬアプリケーションにエラーメッセージを有線または無線通信網を介して送信する（３５）。前記ＸＭＬ文書の有効性検証に関する要請を行うためには前記受信されたＸＭＬ文書から前記外部ＸＭＬ有効性検証装置の位置を把握し、前記位置が把握された外部ＸＭＬ有効性検証装置に前記ＸＭＬ文書の有効性検証に関して要請する。また、前記ＸＭＬ文書の有効性検証に関する要請を行う時、前記外部ＸＭＬ有効性検証装置に前記ＸＭＬパージング方法を行う装置のＯＳバージョンと前記ＸＭＬ文書とを送信する。
【００２３】
図４は本発明の外部ＸＭＬ有効性検証方法のフローチャートである。
前記外部有効性検証装置を利用するＸＭＬパージング装置からＸＭＬ文書の有効性検証に関する要請を受けた場合、前記スキーマ／ＤＴＤデータベースから有線または無線通信網を介して前記ＸＭＬ文書に対応するスキーマまたはＤＴＤを受信し（４１）、前記ＸＭＬ文書を前記受信されたスキーマまたはＤＴＤに適用して前記ＸＭＬ文書の有効性を検証し（４２）、前記検証の結果を前記外部有効性検証装置を利用するＸＭＬパージング装置に有線または無線通信網を介して送信する（４３）。ただし、前記ＸＭＬパージング方法を行う装置のＯＳバージョンと前記ＸＭＬ文書とを受信してＸＭＬ文書の有効性検証に関する要請を受けた場合において、前記ＸＭＬパージング方法を行う装置のＯＳバージョンが外部ＸＭＬ有効性検証装置を必要とする場合にだけ、スキーマ／ＤＴＤデータベースから前記ＸＭＬ文書に対応するスキーマまたはＤＴＤを受信する。前記ＸＭＬ文書の有効性検証に関する要請を受けた場合、前記ＸＭＬ文書に対応するスキーマまたはＤＴＤを受信するためには前記ＸＭＬ文書から前記スキーマ／ＤＴＤデータベースの位置を把握せねばならず、前記位置が把握されたスキーマ／ＤＴＤデータベースから前記ＸＭＬ文書に対応するスキーマまたはＤＴＤを受信する。
【００２４】
図５は本発明の外部ＸＭＬ有効性検証方法とそれを利用するＸＭＬパージング方法のフローチャートである。
ＸＭＬ文書を受信し、前記ＸＭＬ文書の有効性検証に関して要請を行い（５１）、前記ＸＭＬ文書の有効性検証に関する要請を受けた場合、前記ＸＭＬ文書に対応するスキーマ／ＤＴＤを受信し、前記ＸＭＬ文書を前記受信されたスキーマ／ＤＴＤに適用して前記ＸＭＬ文書の有効性を検証し、前記検証の応答を送信し（５２）、前記ＸＭＬ文書が有効であると応答を受けた場合、前記ＸＭＬ文書からＤＯＭ／ＳＡＸツリーを生成して送信する（５４）。もし、前記ＸＭＬ文書が有効ではないと応答を受けた場合には、エラーメッセージを送信する（５５）。
【００２５】
一方、前述本発明の実施形態はコンピュータにて実行できるプログラムにより作成可能であり、コンピュータで読み込める記録媒体を利用して前記プログラムを動作させる汎用ディジタルコンピュータにて具現できる。
前記コンピュータで読み込める記録媒体は、磁気記録媒体（例えば、ＲＯＭ、フロッピー（登録商標）ディスク、ハードディスクなど）、光学的記録媒体（例えば、ＣＤＲＯＭ、ＤＶＤなど）及びキャリアウエーブ（例えば、インターネットを通した伝送）のような貯蔵媒体を含む。
【００２６】
これまで本発明についてその望ましい実施形態を中心に説明した。本発明が属する技術分野にて当業者は本発明が本発明の本質的な特性から外れない範囲にて変形された形態で具現できることを理解するであろう。従って、開示された実施形態は限定的な観点ではなく説明的な観点で考慮されねばならない。本発明の範囲は前述した説明ではなく、特許請求の範囲に示されており、それと同等な範囲内にあるあらゆる差異点は本発明に含まれたものと解釈するべきである。
【００２７】
【発明の効果】
本発明によれば、相対的に低性能のプロセッサと小さいメモリとを有したエンベッディドディバイス（例えば、ＰＤＡや携帯電話など）の資源利用を最小化した状態において、外部ＸＭＬ有効性検証装置を呼び出することにより既存パーザの拡張なくして正確なＸＭＬ文書をＸＭＬアプリケーションに伝達できる効果がある。また、前記外部ＸＭＬ有効性検証装置においてＸＭＬ文書のバージョンによる誤り（外部スキーマ／ＤＴＤの変化によるＸＭＬ文書誤り）を解決するために以前のバージョンと以後のバージョンのスキーマまたはＤＴＤに関して同時に検証することにより既存に検証された文書に関する誤りを防止できる効果もある。
【図面の簡単な説明】
【図１】従来のＸＭＬパージング装置の構成図である。
【図２】本発明の外部ＸＭＬ有効性検証装置を利用するＸＭＬパージング装置と外部ＸＭＬ有効性検証装置の構成図である。
【図３】本発明の外部ＸＭＬ有効性検証装置を利用するＸＭＬパージング方法のフローチャートである。
【図４】本発明の外部ＸＭＬ有効性検証方法のフローチャートである。
【図５】本発明の外部ＸＭＬ有効性検証方法とそれを利用するＸＭＬパージング方法のフローチャートである。
【符号の説明】
２１…装置１
２２…装置２
２３…外部ＸＭＬ有効性検証装置
２１１…ＸＭＬパーザ
２１２…ＸＭＬアプリケーション
２２１…スキーマ／ＤＴＤデータベース
２３１…ＸＭＬ有効性検証結果送信部
２３２…ＸＭＬバリデータ
２３３…スキーマ／ＤＴＤ受信部
２１１１…ＸＭＬ受信部
２１１２…外部ＸＭＬ有効性検証装置呼出し部
２１１３…ＤＯＭ／ＳＡＸツリー生成部
【図１】
2004030651.tif 000003
【図２】
2004030651.tif 000004
【図３】
2004030651.tif 000005
【図４】
2004030651.tif 000006
【図５】
2004030651.tif 000007