(57)【要約】【課題】拡張データタイプのためのグラマー生成方法を提供すること。【解決手段】本方法は、データタイプを有する複数の要素を含む拡張可能マークアップ言語スキーマ定義(XSD)を受信することを含む。複数の要素の各々は少なくとも1つの属性の存否を規定する属性プロファイルを含む。複数の要素のうちの第1の2つ以上は特定の第1属性プロファイルを含む。本方法は、XSDに基づいて第1グラマーを生成することを更に含む。第1グラマーは、拡張可能マークアップ言語(XML)文書を、XSDに基づいて、効率的なXMLインターチェンジ(EXI)ストリームへ及びEXIストリームからエンコード及びデコードすることに関連付けられる。第1グラマーも特定の第1属性プロファイルに関連付けられる。本方法は、複数の要素のうちの第1の2つ以上の各々を第1グラマーに関連付けることを更に含む。【選択図】図1
2016162450.tif 000002
【特許請求の範囲】
【請求項１】
データタイプを有する複数の要素を含む拡張可能マークアップ言語スキーマ定義（ＸＳＤ）を受信する工程であって、前記複数の要素の各々は少なくとも１つの属性の存在又は不存在を規定する属性プロファイルを含み、前記複数の要素のうちの第１の２つ以上は特定の第１属性プロファイルを含む、工程；
前記ＸＳＤに基づいて第１グラマーを生成する工程であって、前記第１グラマーは、拡張可能マークアップ言語（ＸＭＬ）文書を、前記ＸＳＤに基づいて、効率的なＸＭＬインターチェンジ（ＥＸＩ）ストリームへ及びＥＸＩストリームからエンコード及びデコードすることに関連付けられ、前記第１グラマーも前記特定の第１属性プロファイルに関連付けられる、工程；及び
前記複数の要素のうちの第１の２つ以上の各々を、前記第１グラマーに関連付ける工程；
を有する方法。
【請求項２】
前記属性プロファイルの少なくとも１つの属性がタイパブル属性を含む、請求項１に記載の方法。
【請求項３】
前記属性プロファイルの少なくとも１つの属性がニラブル属性を含む、請求項１に記載の方法。
【請求項４】
前記複数の要素のうちの第２の２つ以上が、特定の第２属性プロファイルを含み、
当該方法は：
前記ＸＳＤに基づいて、前記特定の第２属性プロファイルに関連付けられる第２グラマーを生成する工程；及び
前記複数の要素のうちの第２の２つ以上の各々を、前記第２グラマーに関連付ける工程；
を更に有する請求項１に記載の方法。
【請求項５】
前記特定の第１属性プロファイルが、第１属性の不存在及び第２属性の不存在に関連し；
前記特定の第２属性プロファイルが、前記第１属性及び前記第２属性のうち少なくとも１つの存在に関連し；及び
前記第１グラマーは、前記複数の要素のデータタイプに関連付けられるプロトグラマーである；
請求項４に記載の方法。
【請求項６】
前記複数の要素のうちの第３の２つ以上が特定の第３属性プロファイルを含み；
当該方法は：
前記ＸＳＤに基づいて、前記特定の第３属性プロファイルに関連付けられる第３グラマーを生成する工程；及び
前記複数の要素のうちの第３の２つ以上の各々を、前記第３グラマーに関連付ける工程；
を更に有する請求項４に記載の方法。
【請求項７】
前記複数の要素のうちの第４の２つ以上が特定の第４属性プロファイルを含み；
当該方法は：
前記ＸＳＤに基づいて、前記特定の第４属性プロファイルに関連付けられる第４グラマーを生成する工程；及び
前記複数の要素のうちの第４の２つ以上の各々を、前記第４グラマーに関連付ける工程；
を更に有する請求項６に記載の方法。
【請求項８】
前記複数の要素各々の属性プロファイルは、第１属性の存否及び第２属性の存否を規定し；
前記特定の第１属性プロファイルは、前記第１属性の不存在及び前記第２属性の不存在に関連付けられ；
前記特定の第２属性プロファイルは、前記第１属性の不存在及び前記第２属性の存在に関連付けられ；
前記特定の第３属性プロファイルは、前記第１属性の存在及び前記第２属性の不存在に関連付けられ；及び
前記特定の第４属性プロファイルは、前記第１属性の存在及び前記第２属性の存在に関連付けられる；
請求項７に記載の方法。
【請求項９】
前記第１属性はタイパブル属性を含み；及び
前記第２属性はニラブル属性を含む；
請求項８に記載の方法。
【請求項１０】
拡張可能マークアップ言語（ＸＭＬ）文書を、データタイプを有する複数の要素を含むＸＭＬスキーマ定義（ＸＳＤ）に基づいて受信する工程であって、前記複数の要素の各々は少なくとも１つの属性の存在又は不存在を規定する属性プロファイルを含み、前記複数の要素のうちの第１要素及び第２要素の各々は特定の第１属性プロファイルを含み、前記ＸＭＬ文書は：
前記第１要素及び前記特定の第１属性プロファイルに関連する第１キャラクタ；及び
前記第２要素及び前記特定の第１属性プロファイルに関連する第２キャラクタを含む、工程；並びに
前記ＸＭＬ文書を効率的なＸＭＬインターチェンジ（ＥＸＩ）ストリームとしてエンコードする工程であって：
第１グラマーに従って前記第１キャラクタをエンコードする工程；及び
前記第１グラマーに従って前記第２キャラクタをエンコードする工程；
を含む、工程；
を有する方法。
【請求項１１】
前記ＸＭＬ文書は、前記第１グラマーを含むノーマリゼーションに従ってＥＸＩストリームとしてエンコードされる、請求項１０に記載の方法。
【請求項１２】
前記ＸＳＤは、前記複数の要素のうちそれぞれが特定の第２属性プロファイルを含む第３要素及び第４要素を更に含み；
前記ＸＭＬ文書は：
前記第３要素及び前記特定の第２属性プロファイルに関連付けられる第３キャラクタ；及び
前記第４要素及び前記特定の第２属性プロファイルに関連付けられる第４キャラクタ；
を更に含み；並びに
前記ＸＭＬ文書をＥＸＩストリームとしてエンコードする工程は：
第２グラマーに従って前記第３キャラクタをエンコードする工程；及び
前記第２グラマーに従って前記第４キャラクタをエンコードする工程；
を更に含む、工程；
を有する請求項１０に記載の方法。
【請求項１３】
前記ＸＳＤは：
前記複数の要素のうち、それぞれが特定の第３属性プロファイルを含む第５要素及び第６要素；及び
前記複数の要素のうち、それぞれが特定の第４属性プロファイルを含む第７要素及び第８要素；
を更に含み；
前記ＸＭＬ文書は：
前記第５要素及び前記特定の第３属性プロファイルに関連する第５キャラクタ；
前記第６要素及び前記特定の第３属性プロファイルに関連する第６キャラクタ；
前記第７要素及び前記特定の第４属性プロファイルに関連する第７キャラクタ；
前記第８要素及び前記特定の第４属性プロファイルに関連する第８キャラクタ；
を更に含み；
前記ＸＭＬ文書をＥＸＩストリームとしてエンコードする工程は：
第３グラマーに従って前記第５キャラクタをエンコードする工程；
前記第３グラマーに従って前記第６キャラクタをエンコードする工程；
第４グラマーに従って前記第７キャラクタをエンコードする工程；及び
前記第４グラマーに従って前記第８キャラクタをエンコードする工程；
を更に含む；
請求項１２に記載の方法。
【請求項１４】
前記複数の要素各々の属性プロファイルは、第１属性の存否及び第２属性の存否を規定し；
前記特定の第１属性プロファイルは、前記第１属性の不存在及び前記第２属性の不存在に関連付けられ；
前記特定の第２属性プロファイルは、前記第１属性の不存在及び前記第２属性の存在に関連付けられ；
前記特定の第３属性プロファイルは、前記第１属性の存在及び前記第２属性の不存在に関連付けられ；及び
前記特定の第４属性プロファイルは、前記第１属性の存在及び前記第２属性の存在に関連付けられる；
請求項１３に記載の方法。
【請求項１５】
前記第１属性はタイパブル属性を含み；及び
前記第２属性はニラブル属性を含む；
請求項１４に記載の方法。
【請求項１６】
効率的な拡張可能マークアップ言語インターチェンジ（ＥＸＩ）ストリームを受信する工程であって、前記ＥＸＩストリームは：
特定の第１属性プロファイルを含む第１要素及びデータタイプに関連するエンコードされた第１キャラクタ；及び
前記特定の第１属性プロファイルを含む第２要素及び前記データタイプに関連するエンコードされた第２キャラクタ；
を含む、工程；
拡張可能マークアップ言語（ＸＭＬ）文書を形成するように前記ＥＸＩストリームをデコードする工程であって：
前記特定の第１属性プロファイルに関連する第１グラマーに少なくとも部分的に基づいて前記エンコードされた第１キャラクタをデコードする工程；及び
前記第１グラマーに少なくとも部分的に基づいて前記エンコードされた第２キャラクタをデコードする工程；
を含む、工程；
を有する方法。
【請求項１７】
前記ＥＸＩストリームは、前記第１グラマーを含むノーマリゼーションに従ってＸＭＬ文書を形成するためにデコードされる、請求項１６に記載の方法。
【請求項１８】
前記ＥＸＩストリームは：
特定の第２属性プロファイルを含む第２要素及び前記データタイプに関連するエンコードされた第３キャラクタ；及び
前記特定の第２属性プロファイルを含む第３要素及び前記データタイプに関連するエンコードされた第４キャラクタ；
を含み；及び
前記ＸＭＬ文書を形成するように前記ＥＸＩストリームをデコードする工程は：
前記特定の第２属性プロファイルに関連する第２グラマーに少なくとも部分的に基づいて前記エンコードされた第３キャラクタをデコードする工程；及び
前記第２グラマーに少なくとも部分的に基づいて前記エンコードされた第４キャラクタをデコードする工程；
を更に含む；
請求項１６に記載の方法。
【請求項１９】
前記ＥＸＩストリームは：
特定の第３属性プロファイルを含む第５要素及び前記データタイプに関連するエンコードされた第５キャラクタ；
前記特定の第３属性プロファイルを含む第６要素及び前記データタイプに関連するエンコードされた第６キャラクタ；
特定の第４属性プロファイルを含む第７要素及び前記データタイプに関連するエンコードされた第７キャラクタ；
前記特定の第４属性プロファイルを含む第８要素及び前記データタイプに関連するエンコードされた第８キャラクタ；
を含み；
前記ＸＭＬ文書を形成するように前記ＥＸＩストリームをデコードする工程は：
前記特定の第３属性プロファイルに関連する第３グラマーに少なくとも部分的に基づいて前記エンコードされた第５キャラクタをデコードする工程；
前記第３グラマーに少なくとも部分的に基づいて前記エンコードされた第６キャラクタをデコードする工程；
前記特定の第４属性プロファイルに関連する第４グラマーに少なくとも部分的に基づいて前記エンコードされた第７キャラクタをデコードする工程；
前記第４グラマーに少なくとも部分的に基づいて前記エンコードされた第８キャラクタをデコードする工程；
を更に含む；
請求項１６に記載の方法。
【請求項２０】
複数の要素各々の属性プロファイルは、第１属性の存否及び第２属性の存否を規定し；
前記特定の第１属性プロファイルは、前記第１属性の不存在及び前記第２属性の不存在に関連付けられ；
前記特定の第２属性プロファイルは、前記第１属性の不存在及び前記第２属性の存在に関連付けられ；
前記特定の第３属性プロファイルは、前記第１属性の存在及び前記第２属性の不存在に関連付けられ；及び
前記特定の第４属性プロファイルは、前記第１属性の存在及び前記第２属性の存在に関連付けられる；
請求項１６に記載の方法。
【請求項２１】
処理を実行するためにプロセッサにより実行可能なエンコードされたプログラミングコードを有する非一時的なコンピュータ読み取り可能な媒体であって、前記処理は：
データタイプを有する複数の要素を含む拡張可能マークアップ言語スキーマ定義（ＸＳＤ）を受信することであって、前記複数の要素の各々は少なくとも１つの属性の存在又は不存在を規定する属性プロファイルを含み、前記複数の要素のうちの第１の２つ以上は特定の第１属性プロファイルを含む、こと；
前記ＸＳＤに基づいて第１グラマーを生成することであって、前記第１グラマーは、拡張可能マークアップ言語（ＸＭＬ）文書を、前記ＸＳＤに基づいて、効率的なＸＭＬインターチェンジ（ＥＸＩ）ストリームへ及びＥＸＩストリームからエンコード及びデコードすることに関連付けられ、前記第１グラマーは前記特定の第１属性プロファイルに関連付けられる、こと；及び
前記複数の要素のうちの前記第１の２つ以上の各々を、前記第１グラマーに関連付けること；
を含む、媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願で説明される形態は、拡張データタイプ(augmented  datatypes)のためのグラマー生成に関連する。
【背景技術】
【０００２】
拡張可能マークアップ言語(XML)は、人間が読み取ることが可能でありかつマシン読み取り可能なプレインテキストフォーマットで文書をエンコードするための一群の規則を規定するマークアップ言語である。或るバージョンのXMLは、2008年11月26日のワールドワイドウェブコンソーシアム(W3C)により提供されるXML1.0標準仕様で規定され、その内容全体は本願のリファレンスに組み入れられる。XML1.0標準仕様は、整形(well-formed)であって有効なテキストとしてXML文書を規定する。
【０００３】
XMLスキーマは、XML文書のタイプについての記述であり、典型的には、XML1.0標準仕様それ自体により課される基本的な文法制約を超える上位の、そのタイプの文書の構造及び内容に関する制約の観点から表現される。これらの制約は、一般に、要素の順序を支配するルール、内容に関する論理述語(boolean  predicates)、要素及び属性の内容を支配するデータタイプ、一意性及び参照整合性の制約等のような更に特殊なルール等の何らかの組み合わせを用いて表現される。1つ又は一群のXML文書は、関連するXMLスキーマ定義(XML  schema  definition：XSD)を含む。XSDは、一般に、XML文書に関連するXMLスキーマを記述する。
【０００４】
効率的なXMLインターチェンジ(Efficient  XML  interchange：EXI)は、XML文書がプレインテキストではなくバイナリデータフォーマットでエンコードされるバイナリXMLフォーマットである。一般に、EXIフォーマットの利用は、XML文書のサイズ及び冗長性(verbosity)を減らし、XML文書を解析するために費やされる時間及び労力を減らす。EXIの正式な定義はW3Cにより提供される2014年2月11日付けのEXIフォーマット1.0標準仕様に記載されており、その内容全体は本願のリファレンスに組み入れられる。XML文書は、EXIストリームとしてEXIフォーマットでエンコードされる。更に、EXIストリームは、オリジナルのXML文書に類似する又は同一のXML文書を形成するようにデコードされる。
【０００５】
本願で請求される対象事項は、上述したような状況でしか動作しない又は何れの欠点をも解決する形態には限定されない。むしろこの「背景技術」は本願で説明される形態が実施されてよい技術分野の一例を示すに過ぎない。
【発明の概要】
【０００６】
一形態によれば、本方法は、あるデータタイプを有する複数の要素を含む拡張可能マークアップ言語スキーマ定義(extensible  markup  language  schema  definition：XSD)を受信することを含む。複数の要素の各々は、少なくとも1つの属性の存在又は不存在を規定する属性プロファイルを含んでもよい。複数の要素のうち第1の2つ以上の要素は、第1の特定の属性パラメータを含んでもよい。本方法は、XSDに基づいて第1グラマーを生成することを更に含んでもよい。第1グラマーは、XSDに基づいてEXI文書をエンコード及びデコードすることに関連してもよい。第1グラマーは、第1の特定の属性プロファイルに関連してもよい。本方法は、複数の要素のうちの第1の2つ以上の各々を第1グラマーに関連付けることを更に含んでもよい。
【０００７】
実施形態の目的及び効果は特に特許請求の範囲に記載されるエレメント、特徴及びその組み合わせにより少なくとも実現及び達成される。
【０００８】
上記の一般的な記述及び以下の詳細な記述の双方は例示的な説明であり、特許請求の範囲に記載される本発明についての限定ではないことが理解されるべきである。
【図面の簡単な説明】
【０００９】
添付図面を利用して更なる具体例及び詳細事項とともに実施例が記述及び説明される。
【図１】図1は例示的な効率的な拡張可能マークアップ言語インターチェンジ(EXI)処理システムのブロック図である。
【図２】図2は拡張可能マークアップ言語スキーマ定義(XSD)から完全なEXIグラマーを生成するプロセス例のフローチャートである。
【図３】図3は例示的なXSDの一部分を示す。
【図４】図4は、図3のXSDに基づく例示的な拡張可能マークアップ言語(XML)文書の一部分を示す。
【図５】図5はグラマー(grammar)を生成するプロセス例のフローチャートである。
【発明を実施するための形態】
【００１０】
拡張可能マークアップ言語(XML)文書を効率的なXMLインターチェンジ(EXI)ストリームにエンコードすること又はEXIストリームをXML文書にデコードすることの前に、関連するXMLスキーマ定義(XSD)がグラマーにノーマライズ又は正規化される。グラマーは、XML文書の特定のシーケンスを予測するために使用されるルールである。XSDのグラマーを生成するアルゴリズムは、EXIフォーマット1.0標準仕様に含まれる。
【００１１】
本願で説明される実施形態によれば、特定の同じ属性プロファイルを有する(複数の)エレメントは、生成される同じグラマーの指定(又は割り振り)を受ける。すなわち、一例では、複数の要素は生成される少数のグラマーに帰結し、グラマーの定義により占められるメモリ空間をかなり減らすことが可能になる。
【００１２】
以下、本発明の実施形態が添付図面に関連して説明される。
【００１３】
図1は、例示的なEXI処理システム100のブロック図である。EXI処理システム100はノーマリゼーションデバイス104を含む。ノーマリゼーションデバイス104は、XSD102を受信し、ノーマリゼーション(normalization)106を出力するように構成される。XSDのノーマリゼーション106は、例えば、XML文書をエンコード及び/又はデコードする際に使用される。
【００１４】
ノーマリゼーションデバイス104は、グラマー生成プロセスについての1つ以上の動作を実行するように構成されてよい。本願で説明される一形態によれば、ノーマリゼーションデバイス104は、グラマーを生成し、特定の同じ属性プロファイルを有しかつ同じタイプを利用する複数の要素(element)に、生成されたグラマーを指定する(割り当てる)。従って、一例では、複数の要素を含むXSD102は、XSD102の要素数より少ない生成されたグラマーを含むノーマリゼーションをもたらす結果となり、グラマー定義を保存するのに使用されるメモリ量を減らすことが可能になる。
【００１５】
ノーマリゼーション106は、エンコーダ/デコーダ108に伝達される。具体例のエンコーダ/デコーダ108は、ソースフォージドットネット(SourceForge.net)でホストされるオープンEXI(OpenEXI)プロジェクトに含まれていてもよい。本願の出願日以前のOpenEXIプロジェクトについてのソースコード及びドキュメンテーションは、全体的に本願のリファレンスに組み入れられる。エンコーダ/デコーダ108は、XML文書110を受信し、XML文書110をEXIストリーム112としてエンコードするように構成される。代替的又は追加的に、EXIストリーム112は、エンコーダ/デコーダ108により受信され、XML文書110としてデコードされる。オリジナルのXML文書110及びエンコーダ/デコーダ108により生成されるXML文書110は、実質的に同じXMLデータを含む。しかしながら、ホワイトスペース、コメント、及び/又は、処理命令などのような人間により読み取ることが可能な或る種の情報は、エンコーダ/デコーダ108についての関連する保存設定に依存して、エンコーダ/デコーダ108により保存されないかもしれない。
【００１６】
ノーマリゼーションデバイス104はプロセッサ103a及びメモリ105aを含む。エンコーダ/デコーダ108はプロセッサ103b及びメモリ105bを含む。メモリ105a及びメモリ105bは、非一時的なコンピュータ読み取り可能な媒体を含んでよい。プロセッサ103a及びプロセッサ103bにより実行可能なプログラミングコードのような命令は、それぞれメモリ105a及びメモリ105b内にエンコードされてもよい。命令がプロセッサ103a及び/又はプロセッサ103bにより実行される場合に、ノーマリゼーションデバイス104及び/又はエンコーダ/デコーダ108は、本願で説明される処理に関連する及び/又はそれを含む動作を実行する。
【００１７】
ノーマリゼーションデバイス104及び/又はエンコーダ/デコーダ108は、メモリ容量が限られているデバイス及び/又は内蔵デバイスに組み込まれてもよい。メモリ容量が限られているデバイス及び/又は内蔵デバイスの具体例は、例えば、センサ、マイクロコントローラ、及び、機器(例えば、エネルギ管理コントローラ、自動車マイクロコントローラ、スマートメータ)等であるがこれらに限定されない。
【００１８】
図2はXSD202から完全なEXIグラマー(full-fledged  EXI  grammars)を生成するプロセス例200のフローチャートである。一実施形態において、プロセス200は図1のノーマリゼーションデバイス104により実行されてもよい。
【００１９】
プロセス200はXSD202とともに始まる。ブロック204において、XSD202から、一群のEXIプロトグラマー(EXI  proto-grammars)206が生成される。
【００２０】
一実施形態において、プロトグラマーの生成204はEXIフォーマット1.0標準仕様のセクション8.5.4.1に対応してもよい。代替的に、プロトグラマーの生成204は、異なる又は修正された方法で実行されてもよい。
【００２１】
EXIプロトグラマー206はブロック208において拡張され、完全なEXIグラマー210を形成する。EXIプロトグラマー206を拡張すること(augmenting)は、追加的な属性、プロパティ等を挿入することを含んでよい。本願で説明される1つ以上の形態はブロック306において行われてもよい。
【００２２】
図3は例示的なXSDの一部分300を示す。XSD300は、関連するデータタイプ304を有する要素A(302a)ないし要素H(302h)(まとめて「要素302」と言及される)を含む。データタイプ304は文字列(string)データタイプとして示されているが、他のデータタイプが代替的又は追加的に使用されてよい。データタイプ304は、EXI標準仕様、XML標準仕様、及び/又は、ユーザの定義により規定されてもよい。データタイプ304は、対応する要素302に関連するキャラクタについての1つ以上の受け入れることが可能なフォーマット及び/又は値に関連付けられてよい。
【００２３】
図4は図3のXSD300に基づく例示的なXML文書の一部分400を示す。XML文書400は、それぞれ図3の要素302に対応する要素a-h(まとめて「要素401」と言及される)を含む。各々の要素401は、キャラクタ404a-404h(まとめて「キャラクタ404」と言及される)が続く開始要素402a-402h(まとめて「開始要素402」と言及される)と、終了要素406a-406h(まとめて「終了要素406」と言及される)とを含む。キャラクタ404の各々は、本願で説明される実施形態により生成されるグラマーに従ってエンコードされる。
【００２４】
図3に関し、各々の要素302は、関連する属性プロファイルを有する。一形態において、属性プロファイルは、1つ以上の属性の存在又は不存在を規定してもよい。代替的又は追加的に、属性プロファイルは、1つ以上の属性の値、1つ以上の属性の範囲などを規定してもよい。
【００２５】
属性は、要素302について黙示的に規定されてもよい。例えば、デフォルトにより、属性が要素302に別段の仕方で割り振られない限り、各々の要素302は属性に関連付けられなくてもよい。一実施形態において、要素302は、要素302のキャラクタに基づく属性の指定を受けてもよい。例えば、要素302bがXSD300で使用される仕方を考慮することにより、要素302bのような要素は、XSD300の解釈に基づいて特定の属性に割り振られてもよい。一実施形態において、XSD300の解釈に基づく属性は、XSD300のコンパイルの際に決定されてもよい。代替的又は追加的に、要素302の属性は明示的に規定されてもよい。例えば、要素A(302a)及び要素E(302e)は、XSDの属性1(attribute1)(306)として指定される特定の属性に明示的に割り当てられてもよい。
【００２６】
一形態において、各々の要素302は、ニラブル(nillable)及び/又は動的にタイパブル(typable)の属性に関連付けられてよい。代替的又は追加的に、要素302は他の属性に関連付けられてもよい。
【００２７】
ニラブル属性に関連付けられる要素は、ヌル値が与えられてもよい。逆に、ニラブル属性に関連付けられない要素には、ヌル値は与えられない。
【００２８】
タイパブル属性に関連付けられる要素は、導出される(又は派生する)タイプを有する要素に関連付けられる。例えば、要素302aが子要素(図示せず)を有する場合、要素302aはタイパブル属性に関連付けられる。或いは、要素302aが子要素を有しない場合、要素302aはタイパブル属性に関連付けられない。
【００２９】
要素302に対する属性プロファイルは、タイパブル属性の存在(すなわち、要素は「タイパブル」である)、又は、タイパブル属性の不存在(すなわち、要素は「タイパブルでない」)、及び、ニラブル属性の存在(すなわち、要素は「ニラブル」である)、又は、ニラブル属性の不存在(すなわち、要素は「ニラブルでない」)を規定してもよい。
【００３０】
本願で説明される実施形態によれば、特定の同じ属性プロファイルを有する要素は、生成される同じグラマーの指定を受けてよい。例えば、10個全ての要素について、単独の第1状態及び単独の第2状態が生成されてもよい。一例として、タイパブル及び非ニラブルの特定の属性プロファイル及び「文字列」データタイプの双方を有する要素を含むXSDの場合、以下の第1状態のうちの何れか及び以下の第2状態のうちの何れかが生成されてよい：
第1状態：
<Grammar>
<Productions>
<CharactersTyped/>
<Grammar>1</Grammar>
<XsiType/>
</Productions>
</Grammar>
第2状態：
<Grammar>
<Productions>
<EndElement/>
</Productions>
</Grammar>
【００３１】
一例として、上記の第1状態は94バイトを占め、上記の第2状態は59バイトを占める。この形態において、この例の単独のグラマーの定義により占有される合計バイトは153バイトである。
【００３２】
比較例として、例えば現在のEXIフォーマット1.0標準仕様における何らかのフォーマットにおいて、要素の各々について個々のグラマーが生成され、この方法は比較的多くのバイト数を占有する。一例として、上記の形態のようにタイパブルでありかつ非ニラブルである特定の属性プロファイル及び「文字列」データタイプを有する10個の要素を含むXSDに関し、10個の上記第1状態及び1つの上記第2状態が生成されるとする。この例の場合、グラマーの定義により占められる総バイトは、999バイトとなる(94×10+59×1=999)。
【００３３】
一実施形態では、単独のグラマーが特定の属性ファイルの各々について生成される。一例としてニラブル及びタイパブルの属性を利用して、要素302は、4つの特定の属性プロファイルのうちの何れかを有する：1)非ニラブル及び非タイパブル、2)非ニラブル及びタイパブル、3)ニラブル及び非タイパブル及び4)ニラブル及びタイパブル。「非ニラブル及び非タイパブル」の要素について第1グラマーが生成され、「非ニラブル及びタイパブル」の要素について第2グラマーが生成され、「ニラブル及び非タイパブル」の要素について第3グラマーが生成され、及び、「ニラブル及びタイパブル」の要素について第4グラマーが生成されてもよい。従って、一例では、複数の要素に関し、4つ以下のグラマーが生成され、グラマー定義により占められるバイト数を大幅に削減することが可能になる。
【００３４】
一実施形態において、図4のXML文書400のようなXML文書がEXIストリームとしてエンコードされてもよい。関連するノーマリゼーションは、特定の同じ属性プロファイルを有する複数の要素をエンコードするための単独のグラマーを含む。
【００３５】
例えば、図3及び図4を組み合わせて参照する場合において、要素A(401a)及び要素E(401e)はともに第1の特定の属性プロファイルを含み、要素B(401b)及び要素F(401f)はともに第2の特定の属性プロファイルを含み、要素C(401c)及び要素G(401g)はともに第3の特定の属性プロファイルを含み、要素D(401d)及び要素H(401h)はともに第4の特定の属性プロファイルを含んでもよい。第1の特定の属性プロファイルについて第1グラマーが生成され、第2の特定の属性プロファイルについて第2グラマーが生成され、第3の特定の属性プロファイルについて第3グラマーが生成され、第4の特定の属性プロファイルについて第4グラマーが生成されてもよい。
【００３６】
従って、EXIストリームとしてXML文書400をエンコードすることは、第1グラマーに従ってキャラクタ404a及びキャラクタ404eをエンコードすること、第2グラマーに従ってキャラクタ404b及びキャラクタ404fをエンコードすること、第3グラマーに従ってキャラクタ404c及びキャラクタ404gをエンコードすること、第4グラマーに従ってキャラクタ404d及びキャラクタ404hをエンコードすることを含んでもよい。結果のEXIストリームをデコードすることは、関連する第1、第2、第3又は第4グラマーに従って、エンコードされたキャラクタをデコードすることによって実行されてよい。
【００３７】
図5は要素に対するグラマーを生成するプロセス例500のフローチャートである。一例として、プロセス500は、タイパブル属性及びニラブル属性の存否を規定する属性プロファイルを有する要素に関連して説明される。しかしながら、他の属性が代替的又は追加的に使用されてよい。一形態において、プロセス500は、図1のEXI処理システム100のプロセッサ103aにより実行されてもよい。
【００３８】
一形態において、プロセス500は、関連するXSDで使用される各々のデータタイプについて個別的に実行されてもよい。代替的に、プロセス500は複数のデータタイプにつき一度実行されてもよい。例えば、単独のプロトグラマーが複数のデータタイプについて生成される場合に、プロセス500は複数のデータタイプにつき一度実行されてもよい。
【００３９】
プロセス500はブロック502において始まり、そこでは或る要素が考察される。要素は図3のXSD300のようなXSDの一部であってもよい。
【００４０】
ブロック504において、プロセス500は、要素が非タイパブル及び非ニラブルであるか否かを判断する。要素が非タイパブル及び非ニラブルである場合、プロセス500はブロック506に続く。そうでない場合、プロセス500はブロック508に続く。
【００４１】
ブロック506において、グラマーGが特定の属性プロファイル「非タイパブル及び非ニラブル」に関連付けられるように、グラマーGがその要素について使用される。例えば、図1のEXI処理システム100のノーマリゼーション106のようなノーマリゼーションの中で、グラマーGが要素に関連付けられる。一形態において、グラマーGは、要素に関連するプロトグラマーであってもよい。例えば、グラマーGは、図2のプロセス200のブロック204で生成されるプロトグラマーであってもよく、要素に関連付けられてもよい。
【００４２】
ブロック508において、プロセス500は、要素が非タイパブル及びニラブルであるか否かを判断する。要素が非タイパブル及びニラブルである場合、プロセス500はブロック510に続く。そうでない場合、プロセス500はブロック516に続く。
【００４３】
ブロック510において、プロセスは、グラマーG[0]が利用可能であるか否かを判断する。グラマーG[0]は、特定の属性プロファイル「非タイパブル及びニラブル」に関連するグラマーGの拡張されたコピー(augmented  copy)であってもよい。グラマーG[0]が利用可能である場合、プロセス500はブロック514に続く。
【００４４】
グラマーG[0]が利用可能でない場合、ブロック514に進む前に、ブロック512においてグラマーG[0]が生成され保存される。一形態において、グラマーG[0]は、EXIフォーマット1.0標準仕様のセクション8.5.4.4.2で規定されるプロセスにより生成されてもよい。一例として、グラマーG[0]は、図1のEXI処理システム100のメモリ105aに保存されてもよい。
【００４５】
ブロック514において、グラマーG[0]が要素に対して使用される。例えば、グラマーG[0]は、ノーマリゼーション内の要素に関連してもよい。
【００４６】
ブロック516において、プロセス500は、要素がタイパブル及び非ニラブルであるか否かを判断する。要素がタイパブル及び非ニラブルである場合、プロセス500はブロック518に続く。そうでない場合、プロセス500はブロック524に続く。
【００４７】
ブロック518において、プロセスは、グラマーG[1]が利用可能であるか否かを判断する。グラマーG[1]は、特定の属性プロファイル「タイパブル及び非ニラブル」に関連するグラマーGの拡張されたコピーであってもよい。グラマーG[1]が利用可能である場合、プロセス500はブロック522に続く。
【００４８】
グラマーG[1]が利用可能でない場合、ブロック522に進む前に、ブロック520においてグラマーG[1]が生成され保存される。一形態において、グラマーG[1]は、EXIフォーマット1.0標準仕様のセクション8.5.4.4.2で規定されるプロセスにより生成されてもよい。一例として、グラマーG[1]は、図1のEXI処理システム100のメモリ105aに保存されてもよい。
【００４９】
ブロック522において、グラマーG[1]が要素に対して使用される。例えば、グラマーG[1]は、ノーマリゼーション内の要素に関連してもよい。
【００５０】
ブロック524では、その要素は「タイパブル及びニラブル」という特定の属性プロファイルを有することが判明しており、プロセスはグラマーG[2]が利用可能であるか否かを判断する。グラマーG[2]は、特定の属性プロファイル「タイパブル及びニラブル」に関連するグラマーGの拡張されたコピーであってもよい。グラマーG[2]が利用可能である場合、プロセス500はブロック528に続く。
【００５１】
グラマーG[2]が利用可能でない場合、ブロック528に進む前に、ブロック526においてグラマーG[2]が生成され保存される。一形態において、グラマーG[2]は、EXIフォーマット1.0標準仕様のセクション8.5.4.4.2で規定されるプロセスにより生成されてもよい。一例として、グラマーG[2]は、図1のEXI処理システム100のメモリ105aに保存されてもよい。
【００５２】
ブロック528において、グラマーG[2]が要素に対して使用される。例えば、グラマーG[2]は、ノーマリゼーション内の要素に関連してもよい。
【００５３】
G、G[0]、G[2]又はG[2]が要素に関連付けられた後、プロセス500はブロック502に戻り、新たな要素とともに再開する。
【００５４】
本願で説明される形態は、本願で詳細に説明されるような様々なハードウェア又はソフトウェアモジュールを含む特定用途又は汎用のコンピュータを利用することを含んでよい。
【００５５】
本願で説明される形態は、コンピュータで読み取ることが可能な媒体を用いて実現されてもよく、その媒体は、コンピュータで実行することが可能な命令又は媒体に保存されるデータ構造を搬送又は有する。そのようなコンピュータ読み取り可能な媒体は、汎用又は特定用途のコンピュータによりアクセスされる任意の利用可能な媒体であってよい。限定ではない一例として、そのようなコンピュータ読み取り可能な媒体は、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的に消去可能でプログラム可能なリードオンリメモリ(EEPROM)、コンパクトディスクリードオンリメモリ(CD-ROM)又はその他の光ディスクストレージ、磁気ディスクストレージ又はその他の磁気ストレージデバイス、フラッシュメモリデバイス(例えば、ソリッドステートメモリデバイス)、或いは、他の任意のストレージ媒体等を含む非一時的なコンピュータ読み取り可能な記憶媒体を含んでもよく、他の任意のストレージ媒体は、コンピュータで実行可能な命令及びデータ構造の形式で所望のプログラムコードを搬送又は保存するために使用され、及び、汎用又は特定用途のコンピュータによりアクセスされてよい。上記に列挙したものの組み合わせもコンピュータ読み取り可能な媒体の範囲内に含まれてよい。
【００５６】
コンピュータ実行可能な命令は、例えば、汎用コンピュータ、特定用途コンピュータ又は特定用途処理装置(例えば、1つ以上のプロセッサ)が、所定の機能又は一群の機能を実行することを引き起こす命令及びデータを含んでもよい。本件の対象事項は構造的特徴及び/又は方法的動作に特化した言葉で説明されるが、特許請求の範囲に規定される対象事項は、上述した具体的な特徴や動作に限定される必要はないことが理解されるべきである。むしろ上記の具体的な特徴及び動作は請求項を実施する際の実施形態として開示されている。
【００５７】
本願において、「モジュール」又は「コンポーネント」という用語は、コンピューティングシステムの汎用ハードウェア(例えば、コンピュータ読み取り可能な媒体、処理装置等)において保存及び/又は実行されるモジュール又はコンポーネント及び/又はソフトウェアオブジェクト又はソフトウェアルーチンの処理を実行するように構成される具体的なハードウェア手段を指してよい。一実施形態において、本願で言及される様々なコンポーネント、モジュール、エンジン及びサービスは、(例えば、個々のスレッドのような)コンピューティングシステムで実行されるオブジェクト又はプロセスとして実現されてもよい。本願で説明される何らかのシステム及び方法は概して(汎用ハードウェアに保存される及び/又はそこで実行される)ソフトウェアで実現されるように説明されるが、具体的なハードウェア手段又はソフトウェア及び具体的なハードウェア手段の組み合わせも可能でありそれらも想定されている。本説明において、「コンピューティングエンティティ」は、上述される任意のコンピューティングシステム、又は、コンピューティングシステムで動作する任意のモジュール又はモジュールの組み合わせであってよい。
【００５８】
本願で使用される全ての具体例及び条件付きの言葉は、当該技術分野における更なる進歩に発明者等が貢献した本発明及び概念を理解する上で読者を支援する教育的目的のために意図されており、そのような具体的に言及される具体例及び条件に限定することなく解釈がなされるべきである。本発明の実施形態が詳細に説明されてきたが、様々な変更、置換及び代替が本発明の精神及び範囲から逸脱することなくそれらになされることが可能である点が理解されるべきである。
【００５９】
上記の実施形態に関する付記を更に開示する。
【００６０】
（付記１）
データタイプを有する複数の要素を含む拡張可能マークアップ言語スキーマ定義（ＸＳＤ）を受信する工程であって、前記複数の要素の各々は少なくとも１つの属性の存在又は不存在を規定する属性プロファイルを含み、前記複数の要素のうちの第１の２つ以上は特定の第１属性プロファイルを含む、工程；
前記ＸＳＤに基づいて第１グラマーを生成する工程であって、前記第１グラマーは、拡張可能マークアップ言語（ＸＭＬ）文書を、前記ＸＳＤに基づいて、効率的なＸＭＬインターチェンジ（ＥＸＩ）ストリームへ及びＥＸＩストリームからエンコード及びデコードすることに関連付けられ、前記第１グラマーも前記特定の第１属性プロファイルに関連付けられる、工程；及び
前記複数の要素のうちの第１の２つ以上の各々を、前記第１グラマーに関連付ける工程；
を有する方法。
【００６１】
（付記２）
前記属性プロファイルの少なくとも１つの属性がタイパブル属性を含む、付記１に記載の方法。
【００６２】
（付記３）
前記属性プロファイルの少なくとも１つの属性がニラブル属性を含む、付記１に記載の方法。
【００６３】
（付記４）
前記複数の要素のうちの第２の２つ以上が、特定の第２属性プロファイルを含み、
当該方法は：
前記ＸＳＤに基づいて、前記特定の第２属性プロファイルに関連付けられる第２グラマーを生成する工程；及び
前記複数の要素のうちの第２の２つ以上の各々を、前記第２グラマーに関連付ける工程；
を更に有する付記１に記載の方法。
【００６４】
（付記５）
前記特定の第１属性プロファイルが、第１属性の不存在及び第２属性の不存在に関連し；
前記特定の第２属性プロファイルが、前記第１属性及び前記第２属性のうち少なくとも１つの存在に関連し；及び
前記第１グラマーは、前記複数の要素のデータタイプに関連付けられるプロトグラマーである；
付記４に記載の方法。
【００６５】
（付記６）
前記複数の要素のうちの第３の２つ以上が特定の第３属性プロファイルを含み；
当該方法は：
前記ＸＳＤに基づいて、前記特定の第３属性プロファイルに関連付けられる第３グラマーを生成する工程；及び
前記複数の要素のうちの第３の２つ以上の各々を、前記第３グラマーに関連付ける工程；
を更に有する付記４に記載の方法。
【００６６】
（付記７）
前記複数の要素のうちの第４の２つ以上が特定の第４属性プロファイルを含み；
当該方法は：
前記ＸＳＤに基づいて、前記特定の第４属性プロファイルに関連付けられる第４グラマーを生成する工程；及び
前記複数の要素のうちの第４の２つ以上の各々を、前記第４グラマーに関連付ける工程；
を更に有する付記６に記載の方法。
【００６７】
（付記８）
前記複数の要素各々の属性プロファイルは、第１属性の存否及び第２属性の存否を規定し；
前記特定の第１属性プロファイルは、前記第１属性の不存在及び前記第２属性の不存在に関連付けられ；
前記特定の第２属性プロファイルは、前記第１属性の不存在及び前記第２属性の存在に関連付けられ；
前記特定の第３属性プロファイルは、前記第１属性の存在及び前記第２属性の不存在に関連付けられ；及び
前記特定の第４属性プロファイルは、前記第１属性の存在及び前記第２属性の存在に関連付けられる；
付記７に記載の方法。
【００６８】
（付記９）
前記第１属性はタイパブル属性を含み；及び
前記第２属性はニラブル属性を含む；
付記８に記載の方法。
【００６９】
（付記１０）
拡張可能マークアップ言語（ＸＭＬ）文書を、データタイプを有する複数の要素を含むＸＭＬスキーマ定義（ＸＳＤ）に基づいて受信する工程であって、前記複数の要素の各々は少なくとも１つの属性の存在又は不存在を規定する属性プロファイルを含み、前記複数の要素のうちの第１要素及び第２要素の各々は特定の第１属性プロファイルを含み、前記ＸＭＬ文書は：
前記第１要素及び前記特定の第１属性プロファイルに関連する第１キャラクタ；及び
前記第２要素及び前記特定の第１属性プロファイルに関連する第２キャラクタを含む、工程；並びに
前記ＸＭＬ文書を効率的なＸＭＬインターチェンジ（ＥＸＩ）ストリームとしてエンコードする工程であって：
第１グラマーに従って前記第１キャラクタをエンコードする工程；及び
前記第１グラマーに従って前記第２キャラクタをエンコードする工程；
を含む、工程；
を有する方法。
【００７０】
（付記１１）
前記ＸＭＬ文書は、前記第１グラマーを含むノーマリゼーションに従ってＥＸＩストリームとしてエンコードされる、付記１０に記載の方法。
【００７１】
（付記１２）
前記ＸＳＤは、前記複数の要素のうちそれぞれが特定の第２属性プロファイルを含む第３要素及び第４要素を更に含み；
前記ＸＭＬ文書は：
前記第３要素及び前記特定の第２属性プロファイルに関連付けられる第３キャラクタ；及び
前記第４要素及び前記特定の第２属性プロファイルに関連付けられる第４キャラクタ；
を更に含み；並びに
前記ＸＭＬ文書をＥＸＩストリームとしてエンコードする工程は：
第２グラマーに従って前記第３キャラクタをエンコードする工程；及び
前記第２グラマーに従って前記第４キャラクタをエンコードする工程；
を更に含む、工程；
を有する付記１０に記載の方法。
【００７２】
（付記１３）
前記ＸＳＤは：
前記複数の要素のうち、それぞれが特定の第３属性プロファイルを含む第５要素及び第６要素；及び
前記複数の要素のうち、それぞれが特定の第４属性プロファイルを含む第７要素及び第８要素；
を更に含み；
前記ＸＭＬ文書は：
前記第５要素及び前記特定の第３属性プロファイルに関連する第５キャラクタ；
前記第６要素及び前記特定の第３属性プロファイルに関連する第６キャラクタ；
前記第７要素及び前記特定の第４属性プロファイルに関連する第７キャラクタ；
前記第８要素及び前記特定の第４属性プロファイルに関連する第８キャラクタ；
を更に含み；
前記ＸＭＬ文書をＥＸＩストリームとしてエンコードする工程は：
第３グラマーに従って前記第５キャラクタをエンコードする工程；
前記第３グラマーに従って前記第６キャラクタをエンコードする工程；
第４グラマーに従って前記第７キャラクタをエンコードする工程；及び
前記第４グラマーに従って前記第８キャラクタをエンコードする工程；
を更に含む；
付記１２に記載の方法。
【００７３】
（付記１４）
前記複数の要素各々の属性プロファイルは、第１属性の存否及び第２属性の存否を規定し；
前記特定の第１属性プロファイルは、前記第１属性の不存在及び前記第２属性の不存在に関連付けられ；
前記特定の第２属性プロファイルは、前記第１属性の不存在及び前記第２属性の存在に関連付けられ；
前記特定の第３属性プロファイルは、前記第１属性の存在及び前記第２属性の不存在に関連付けられ；及び
前記特定の第４属性プロファイルは、前記第１属性の存在及び前記第２属性の存在に関連付けられる；
付記１３に記載の方法。
【００７４】
（付記１５）
前記第１属性はタイパブル属性を含み；及び
前記第２属性はニラブル属性を含む；
付記１４に記載の方法。
【００７５】
（付記１６）
効率的な拡張可能マークアップ言語インターチェンジ（ＥＸＩ）ストリームを受信する工程であって、前記ＥＸＩストリームは：
特定の第１属性プロファイルを含む第１要素及びデータタイプに関連するエンコードされた第１キャラクタ；及び
前記特定の第１属性プロファイルを含む第２要素及び前記データタイプに関連するエンコードされた第２キャラクタ；
を含む、工程；
拡張可能マークアップ言語（ＸＭＬ）文書を形成するように前記ＥＸＩストリームをデコードする工程であって：
前記特定の第１属性プロファイルに関連する第１グラマーに少なくとも部分的に基づいて前記エンコードされた第１キャラクタをデコードする工程；及び
前記第１グラマーに少なくとも部分的に基づいて前記エンコードされた第２キャラクタをデコードする工程；
を含む、工程；
を有する方法。
【００７６】
（付記１７）
前記ＥＸＩストリームは、前記第１グラマーを含むノーマリゼーションに従ってＸＭＬ文書を形成するためにデコードされる、付記１６に記載の方法。
【００７７】
（付記１８）
前記ＥＸＩストリームは：
特定の第２属性プロファイルを含む第２要素及び前記データタイプに関連するエンコードされた第３キャラクタ；及び
前記特定の第２属性プロファイルを含む第３要素及び前記データタイプに関連するエンコードされた第４キャラクタ；
を含み；及び
前記ＸＭＬ文書を形成するように前記ＥＸＩストリームをデコードする工程は：
前記特定の第２属性プロファイルに関連する第２グラマーに少なくとも部分的に基づいて前記エンコードされた第３キャラクタをデコードする工程；及び
前記第２グラマーに少なくとも部分的に基づいて前記エンコードされた第４キャラクタをデコードする工程；
を更に含む；
付記１６に記載の方法。
【００７８】
（付記１９）
前記ＥＸＩストリームは：
特定の第３属性プロファイルを含む第５要素及び前記データタイプに関連するエンコードされた第５キャラクタ；
前記特定の第３属性プロファイルを含む第６要素及び前記データタイプに関連するエンコードされた第６キャラクタ；
特定の第４属性プロファイルを含む第７要素及び前記データタイプに関連するエンコードされた第７キャラクタ；
前記特定の第４属性プロファイルを含む第８要素及び前記データタイプに関連するエンコードされた第８キャラクタ；
を含み；
前記ＸＭＬ文書を形成するように前記ＥＸＩストリームをデコードする工程は：
前記特定の第３属性プロファイルに関連する第３グラマーに少なくとも部分的に基づいて前記エンコードされた第５キャラクタをデコードする工程；
前記第３グラマーに少なくとも部分的に基づいて前記エンコードされた第６キャラクタをデコードする工程；
前記特定の第４属性プロファイルに関連する第４グラマーに少なくとも部分的に基づいて前記エンコードされた第７キャラクタをデコードする工程；
前記第４グラマーに少なくとも部分的に基づいて前記エンコードされた第８キャラクタをデコードする工程；
を更に含む；
付記１６に記載の方法。
【００７９】
（付記２０）
複数の要素各々の属性プロファイルは、第１属性の存否及び第２属性の存否を規定し；
前記特定の第１属性プロファイルは、前記第１属性の不存在及び前記第２属性の不存在に関連付けられ；
前記特定の第２属性プロファイルは、前記第１属性の不存在及び前記第２属性の存在に関連付けられ；
前記特定の第３属性プロファイルは、前記第１属性の存在及び前記第２属性の不存在に関連付けられ；及び
前記特定の第４属性プロファイルは、前記第１属性の存在及び前記第２属性の存在に関連付けられる；
付記１６に記載の方法。
【００８０】
（付記２１）
処理を実行するためにプロセッサにより実行可能なエンコードされたプログラミングコードを有する非一時的なコンピュータ読み取り可能な媒体であって、前記処理は：
データタイプを有する複数の要素を含む拡張可能マークアップ言語スキーマ定義（ＸＳＤ）を受信することであって、前記複数の要素の各々は少なくとも１つの属性の存在又は不存在を規定する属性プロファイルを含み、前記複数の要素のうちの第１の２つ以上は特定の第１属性プロファイルを含む、こと；
前記ＸＳＤに基づいて第１グラマーを生成することであって、前記第１グラマーは、拡張可能マークアップ言語（ＸＭＬ）文書を、前記ＸＳＤに基づいて、効率的なＸＭＬインターチェンジ（ＥＸＩ）ストリームへ及びＥＸＩストリームからエンコード及びデコードすることに関連付けられ、前記第１グラマーは前記特定の第１属性プロファイルに関連付けられる、こと；及び
前記複数の要素のうちの前記第１の２つ以上の各々を、前記第１グラマーに関連付けること；
を含む、媒体。
【符号の説明】
【００８１】
１００：ＥＸＩ処理システム
１０２：ＸＳＤ
１０４：ノーマリゼーションデバイス
１０３ａ：プロセッサ
１０５ａ：メモリ
１０６：ノーマリゼーション
１１０：ＸＭＬ文書
１０８：エンコーダ／デコーダ
１０３ｂ：プロセッサ
１０５ｂ：メモリ
１１２：ＥＸＩストリーム
【図１】
2016162450.tif 000003
【図２】
2016162450.tif 000004
【図３】
2016162450.tif 000005
【図４】
2016162450.tif 000006
【図５】
2016162450.tif 000007