図面 (/)

技術 シンプルデータタイプに対するグラマー生成

出願人 富士通株式会社
発明者 上谷卓己
出願日 2016年1月27日 (4年9ヶ月経過) 出願番号 2016-013096
公開日 2016年9月5日 (4年2ヶ月経過) 公開番号 2016-162449
状態 特許登録済
技術分野 機械翻訳 検索装置
主要キーワード 終了要素 対象事項 ソリッドステートメモリデバイス 開始要素 参照整合性 バリディティ XMLスキーマ定義 コンピューティングエンティティ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年9月5日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (5)

課題

シンプルデータタイプのための文法生成方法を提供すること。

解決手段

本方法は、第1シンプルデータタイプを有する第1要素、及び、第1シンプルデータタイプとは異なる第2シンプルデータタイプを有する第2要素を含む拡張可能マークアップ言語スキーマ定義(XSD)を受信することを含む。XSDに基づいてグラマーが生成される。グラマーは、拡張可能マークアップ言語(XML)文書を、XSDに基づいて、効率的なXMLインターチェンジ(EXI)ストリームに及びEXIストリームからエンコード及びデコードすることに関連する。グラマーは第1シンプルデータタイプ及び第2シンプルデータタイプに関連する。

概要

背景

拡張可能マークアップ言語(XML)は、人間が読み取ることが可能でありかつマシン読み取り可能なプレインテキストフォーマット文書エンコードするための一群規則を規定するマークアップ言語である。或るバージョンのXMLは、2008年11月26日のワールドワイドウェブコンソーシアム(W3C)により提供されるXML1.0標準仕様で規定され、その内容全体は本願のリファレンス組み入れられる。XML1.0標準仕様は、整形(well-formed)であって有効なテキストとしてXML文書を規定する。

XMLスキーマは、XML文書のタイプについての記述であり、典型的には、XML1.0標準仕様それ自体により課される基本的な文法制約を超える上位の、そのタイプの文書の構造及び内容に関する制約の観点から表現される。これらの制約は、一般に、要素の順序を支配するルール、内容に関する論理述語(boolean predicates)、要素及び属性の内容を支配するデータタイプ一意性及び参照整合性の制約等のような更に特殊なルール等の何らかの組み合わせを用いて表現される。

XML文書がXMLスキーマに従っているか否かを確認するプロセスはバリデーションと呼ばれ、文法的整形式(syntactic well-formedness)のXMLの概念とは別個のものである。全てのXML文書は整形式であってよいが、XML文書はバリディティに関して検査され、XML文書は関連するスキーマとの適合性について検査される。

プレインテキストのXML文書の人間による読み取り可能な形態は、多くの状況で便利であるが、この人間により読み取り可能な形態は大きなサイズの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文書を形成するようにデコードされる。

1つ又は一群のXML文書は、関連するXMLスキーマ定義(XML schema definition:XSD)を含む。XSDは、一般に、XML文書に関連するXMLスキーマを記述する。

本願で請求される対象事項は、上述したような状況でしか動作しない又は何れの欠点をも解決する形態には限定されない。むしろこの「背景技術」は本願で説明される形態が実施されてよい技術分野の一例を示すに過ぎない。

概要

シンプルデータタイプのための文法生成方法を提供すること。本方法は、第1シンプルデータタイプを有する第1要素、及び、第1シンプルデータタイプとは異なる第2シンプルデータタイプを有する第2要素を含む拡張可能マークアップ言語スキーマ定義(XSD)を受信することを含む。XSDに基づいてグラマーが生成される。グラマーは、拡張可能マークアップ言語(XML)文書を、XSDに基づいて、効率的なXMLインターチェンジ(EXI)ストリームに及びEXIストリームからエンコード及びデコードすることに関連する。グラマーは第1シンプルデータタイプ及び第2シンプルデータタイプに関連する。1

目的

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

第1シンプルデータタイプを有する第1要素、及び、前記第1シンプルデータタイプとは異なる第2シンプルデータタイプを有する第2要素を含む拡張可能マークアップ言語スキーマ定義(XSD)を受信する工程;及び前記XSDに基づいてグラマーを生成する工程であって、前記グラマーは、拡張可能マークアップ言語(XML)文書を、前記XSDに基づいて、効率的なXMLインターチェンジ(EXI)ストリームに及びEXIストリームからエンコード及びデコードすることに関連し、前記グラマーは前記第1シンプルデータタイプ及び前記第2シンプルデータタイプに関連する、工程;を有する方法。

請求項2

前記グラマーは、更に、前記第1シンプルデータタイプに基づいて生成される、請求項1に記載の方法。

請求項3

前記グラマーは、前記第1シンプルデータタイプ及び前記第2シンプルデータタイプとは独立している、請求項1に記載の方法。

請求項4

前記XSDは、更に、第1シンプルデータタイプとは異なり及び前記第2シンプルデータタイプとは異なる第3シンプルデータタイプを有する第3要素を含み;及び前記グラマーは前記第3シンプルデータタイプに関連する;請求項1に記載の方法。

請求項5

前記グラマーは、前記XSDの何れかのシンプルデータタイプに関連するグラマーのみである、請求項1に記載の方法。

請求項6

前記XSDに関連するノーマリゼーションを生成する工程を更に有し、前記ノーマリゼーションは前記グラマーを含む、請求項1に記載の方法。

請求項7

前記XSDに基づいて前記XML文書から第1EXIストリームをエンコードする工程を更に有する請求項6に記載の方法。

請求項8

第1シンプルデータタイプを有する第1要素、及び、前記第1シンプルデータタイプとは異なる第2シンプルデータタイプを有する第2要素を含むXMLスキーマ定義(XSD)に基づいて、拡張可能マークアップ言語(XML)文書を受信する工程であって、前記XML文書は:前記第1要素及び前記第1シンプルデータタイプに関連する第1キャラクタ;及び前記第2要素及び前記第2シンプルデータタイプに関連する第2キャラクタ;を含む、工程;並びに前記XML文書を効率的なXMLインターチェンジ(EXI)ストリームとしてエンコードする工程であって:グラマーに従って前記第1キャラクタをエンコードする工程;及び前記グラマーに従って前記第2キャラクタをエンコードする工程;を含む工程;を有する方法。

請求項9

前記XML文書は、前記グラマーを含むノーマリゼーションに従ってEXIストリームとしてエンコードされる、請求項8に記載の方法。

請求項10

前記ノーマリゼーションの前記グラマーは、前記XSDの全てのシンプルデータタイプに関連している、請求項9に記載の方法。

請求項11

第1イベントタイプ識別子がエンコードされた第1キャラクタに関連するように、前記EXIストリームのスタックに前記第1イベントタイプ識別子を付加する工程を更に有し、前記第1イベントタイプ識別子は、前記第1要素及び前記第1シンプルデータタイプに関連している、請求項8に記載の方法。

請求項12

第2イベントタイプ識別子がエンコードされた第2キャラクタに関連するように、前記スタックに前記第2イベントタイプ識別子を付加する工程を更に有し、前記第2イベントタイプ識別子は、前記第2要素及び前記第2シンプルデータタイプに関連している、請求項11に記載の方法。

請求項13

前記XSDは、更に、第1シンプルデータタイプとは異なり及び前記第2シンプルデータタイプとは異なる第3シンプルデータタイプを有する第3要素を含み;前記XML文書は、更に、前記第3要素及び前記第3シンプルデータタイプに関連する第3キャラクタを含み;前記XML文書を前記EXIストリームとしてエンコードすることは、前記グラマーに従って前記第3キャラクタをエンコードすることを更に含む;請求項8に記載の方法。

請求項14

第1イベントタイプ識別子がエンコードされた第1キャラクタに関連するように、前記EXIストリームのスタックに前記第1イベントタイプ識別子を付加する工程であって、前記第1イベントタイプ識別子は前記第1要素及び前記第1シンプルデータタイプに関連している、工程;第2イベントタイプ識別子がエンコードされた第2キャラクタに関連するように、前記スタックに前記第2イベントタイプ識別子を付加する工程であって、前記第2イベントタイプ識別子は前記第2要素及び前記第2シンプルデータタイプに関連している、工程;及び第3イベントタイプ識別子がエンコードされた第3キャラクタに関連するように、前記スタックに前記第3イベントタイプ識別子を付加する工程であって、前記第3イベントタイプ識別子は前記第3要素及び前記第3シンプルデータタイプに関連している、工程;を更に有する請求項13に記載の方法。

請求項15

効率的な拡張可能マークアップ言語インターチェンジ(EXI)ストリームを受信する工程であって、前記EXIストリームは:第1シンプルデータタイプに関連する第1のエンコードされたキャラクタ;及び前記第1シンプルデータタイプとは異なる第2シンプルデータタイプに関連する第2のエンコードされたキャラクタ;を含む、工程;並びに拡張可能マークアップ言語(XML)文書を形成するために前記EXIストリームをデコードする工程であって:前記EXIストリームに関連するグラマーに少なくとも部分的に基づいて前記第1のエンコードされたキャラクタをデコードする工程;及び前記グラマーに少なくとも部分的に基づいて前記第2のエンコードされたキャラクタをデコードする工程;を含む、工程;を有する方法。

請求項16

前記EXIストリームのスタックから第1イベントタイプ識別子をデコードする工程であって、前記第1イベントタイプ識別子は、前記第1シンプルデータタイプ及び前記第1のエンコードされたキャラクタに関連する、工程を更に有し、前記第1のエンコードされたキャラクタをデコードすることは、前記第1シンプルデータタイプに関連する第1コーデックに少なくとも部分的に基づく、請求項15に記載の方法。

請求項17

前記スタックから第2イベントタイプ識別子をデコードする工程であって、前記第2イベントタイプ識別子は、前記第2シンプルデータタイプ及び前記第2のエンコードされたキャラクタに関連する、工程を更に有し、前記第2のエンコードされたキャラクタをデコードすることは、前記第2シンプルデータタイプに関連する第2コーデックに少なくとも部分的に基づく、請求項16に記載の方法。

請求項18

前記EXIストリームは、前記グラマーを含むノーマリゼーションに従って前記XML文書を形成するようにデコードされる、請求項15に記載の方法。

請求項19

前記ノーマリゼーションの前記グラマーは、前記EXIストリームの何れかのシンプルデータタイプに関連するグラマーのみである、請求項18に記載の方法。

請求項20

前記EXIストリームは、第1シンプルデータタイプとは異なり及び前記第2シンプルデータタイプとは異なる第3シンプルデータタイプに関連する第3のエンコードされたキャラクタを含み;及び前記XML文書を形成するように前記EXIストリームをデコードすることは、前記グラマーに少なくとも部分的に基づいて前記第3のエンコードされたキャラクタをデコードすることを含む;請求項15に記載の方法。

技術分野

0001

本願で説明される形態は、シンプルデータタイプ(simple datatype)のためのグラマー生成に関連する。

背景技術

0002

拡張可能マークアップ言語(XML)は、人間が読み取ることが可能でありかつマシン読み取り可能なプレインテキストフォーマット文書エンコードするための一群規則を規定するマークアップ言語である。或るバージョンのXMLは、2008年11月26日のワールドワイドウェブコンソーシアム(W3C)により提供されるXML1.0標準仕様で規定され、その内容全体は本願のリファレンス組み入れられる。XML1.0標準仕様は、整形(well-formed)であって有効なテキストとしてXML文書を規定する。

0003

XMLスキーマは、XML文書のタイプについての記述であり、典型的には、XML1.0標準仕様それ自体により課される基本的な文法制約を超える上位の、そのタイプの文書の構造及び内容に関する制約の観点から表現される。これらの制約は、一般に、要素の順序を支配するルール、内容に関する論理述語(boolean predicates)、要素及び属性の内容を支配するデータタイプ、一意性及び参照整合性の制約等のような更に特殊なルール等の何らかの組み合わせを用いて表現される。

0004

XML文書がXMLスキーマに従っているか否かを確認するプロセスはバリデーションと呼ばれ、文法的整形式(syntactic well-formedness)のXMLの概念とは別個のものである。全てのXML文書は整形式であってよいが、XML文書はバリディティに関して検査され、XML文書は関連するスキーマとの適合性について検査される。

0005

プレインテキストのXML文書の人間による読み取り可能な形態は、多くの状況で便利であるが、この人間により読み取り可能な形態は大きなサイズのXML文書を招き、従って、限られたメモリ又は保存容量しか有しないデバイスにとって利用可能ではない。XML文書のサイズを減らす努力は、しばしば、よりコンパクトな文書を支援してプレインテキストの人間による読み取り可能な側面を排除する。

0006

効率的な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文書を形成するようにデコードされる。

0007

1つ又は一群のXML文書は、関連するXMLスキーマ定義(XML schema definition:XSD)を含む。XSDは、一般に、XML文書に関連するXMLスキーマを記述する。

0008

本願で請求される対象事項は、上述したような状況でしか動作しない又は何れの欠点をも解決する形態には限定されない。むしろこの「背景技術」は本願で説明される形態が実施されてよい技術分野の一例を示すに過ぎない。

0009

一実施形態によれば、本方法は、第1シンプルデータタイプを有する第1要素、及び、第1シンプルデータタイプとは異なる第2シンプルデータイプを有する第2要素を含む拡張マークアップ言語スキーマ定義(XSD)を受信することを含む。XSDに基づいてグラマー(grammar)が生成される。グラマーは、効率的なXMLインターチェンジ(EXI)スキーマへ及び当該EXIスキーマから、XSDに基づいて拡張可能マークアップ言語(XML)文書をエンコード及びデコードすることに関連する。グラマーは、第1シンプルデータタイプ及び第2シンプルデータタイプに関連する。

0010

実施形態の目的及び効果は特に特許請求の範囲に記載されるエレメント、特徴及びその組み合わせにより少なくとも実現及び達成される。
上記の一般的な記述及び以下の詳細な記述の双方は例示的な説明であり、特許請求の範囲に記載される本発明についての限定ではないことが理解されるべきである。

図面の簡単な説明

0011

添付図面を利用して更なる具体例及び詳細事項とともに実施例が記述及び説明される。
図1は例示的な効率的な拡張可能マークアップ言語インターチェンジ(EXI)処理システムブロック図である。
図2は拡張可能マークアップ言語スキーマ定義(XSD)から完全なEXIグラマーを生成するプロセス例のフローチャートである。
図3は例示的なXSDの一部分を示す。
図4は、図3のXSDに基づく例示的な拡張可能マークアップ言語(XML)文書の一部分を示す。

実施例

0012

XML文書をEXIストリームにエンコードすること又はEXIストリームをXML文書にデコードすることの前に、文書の関連するXSDがグラマーにノーマライズ又は正規化される。グラマーは、XML文書の特定のシーケンス予測するために使用されるルールである。XSDのグラマーを生成するアルゴリズムは、EXIフォーマット1.0標準仕様に含まれる。本願で使用されるように、EXIフォーマット1.0標準仕様に含まれるアルゴリズムは、標準グラマーアルゴリズムとして言及される。

0013

以下、本発明の実施形態が添付図面に関連して説明される。

0014

図1は、例示的な拡張可能マークアップ言語(EXI)処理システム100のブロック図である。EXI処理システム100はノーマリゼーションデバイス104を含む。ノーマリゼーションデバイス104は、拡張可能マークアップ言語スキーマ定義(XSD)102を受信し、ノーマリゼーション(normalization)106を出力するように構成される。XSDのノーマリゼーション106は、例えば、EXI文書をエンコード及び/又はデコードする際に使用される。

0015

ノーマリゼーションデバイス104は、本願で開示されるようなグラマー生成アルゴリズムについての1つ以上の形態を含んでよい。一実施形態において、ノーマリゼーション106は、本願で説明されるような複数のシンプルデータタイプとともに使用するための1つのグラマーを含んでもよい。

0016

ノーマリゼーション106は、エンコーダ/デコーダ108に伝達される。具体例のエンコーダ/デコーダ108は、ソースフォージドットネット(SourceForge.net)でホストされるオープンEXI(OpenEXI)プロジェクトに含まれていてもよい。2014年7月28日付けのOpenEXIプロジェクトについてのソースコード及びドキュメンテーションは、全体的に本願のリファレンスに組み入れられる。エンコーダ/デコーダ108は、拡張可能マークアップ言語(XML)文書110を受信し、XML文書110をEXIストリーム112としてエンコードするように構成される。代替的又は追加的に、EXIストリーム112は、エンコーダ/デコーダ108により受信され、XML文書110としてデコードされる。オリジナルのXML文書110及びエンコーダ/デコーダ108により生成されるXML文書110は、実質的に同じXMLデータを含む。しかしながら、ホワイトスペースコメント、及び/又は、処理命令などのような人間により読み取ることが可能な或る種の情報は、エンコーダ/デコーダ108についての関連する保存設定に依存して、エンコーダ/デコーダ108により保存されないかもしれない。

0017

ノーマリゼーションデバイス104はプロセッサ103a及びメモリ105aを含む。エンコーダ/デコーダ108はプロセッサ103b及びメモリ105bを含む。メモリ105a及びメモリ105bは、非一時的なコンピュータ読み取り可能な媒体を含んでよい。プロセッサ103a及びプロセッサ103bにより実行可能なプログラミングコードのような命令は、それぞれメモリ105a及びメモリ105b内にエンコードされてもよい。命令がプロセッサ103a及び/又はプロセッサ103bにより実行される場合に、ノーマリゼーションデバイス104及び/又はエンコーダ/デコーダ108は、本願で説明される処理に関連する及び/又はそれを含む動作を実行する。

0018

ノーマリゼーションデバイス104及び/又はエンコーダ/デコーダ108は、メモリ容量が限られているデバイス及び/又は内蔵デバイスに組み込まれてもよい。メモリ容量が限られているデバイス及び/又は内蔵デバイスの具体例は、例えば、センサマイクロコントローラ、及び、機器(例えば、エネルギ管理コントローラ自動車マイクロコントローラ、スマートメータ)等であるがこれらに限定されない。

0019

図2はXSD202から完全なEXIグラマー(full-fledged EXI grammars)を生成するプロセス例200のフローチャートである。一実施形態において、プロセス200は図1のノーマリゼーションデバイス104により実行されてもよい。

0020

プロセス200はXSD202とともに始まる。ブロック204において、XSD202から、一群のEXIプロトグラマー(EXI proto-grammars)206が生成される。本願で説明される1つ以上の実施形態はブロック204において生じてもよい。

0021

一実施形態において、プロトグラマーの生成204は、現在のバージョンのセクション8.5.4.1.3.1を除くEXIフォーマット1.0標準仕様のセクション8.5.4.1に対応していてもよい。一実施形態において、セクション8.5.4.1.3.1は本願で説明される1つ以上の形態で置換されてもよい。

0022

現在のバージョンのEXIフォーマット1.0標準仕様のセクション8.5.4.1.3.1で規定されるシンタックスは、以下の内容を含む:
Typei,0 :
CH [schema-typed value] Typei,1
Typei,1 :
EE
ここで、CHはキャラクタイベントを表現し、EEは終了要素イベントを表現し、iは0ないしnの間の各々の値を表現し、nはシンプルデータタイプ(simple datatype)の数である。従って、現在のバージョンで規定されるシンタックスを利用すると、慣例的に、シンプルデータタイプの各々について異なるグラマーが使用される。

0023

本願で説明されるように、一実施形態では、複数の異なるシンプルデータタイプについて単独のグラマーが使用されてよい。複数の異なるシンプルデータタイプについて単独のグラマーを使用することは、グラマーのコンパクトセット(小さな一群のグラマー)を促進する。例えば、単独のグラマーが、XML文書内の全てのシンプルデータタイプについて使用されてもよい。よりコンパクトなグラマー群は、保存及び/又は通信に対して相対的に少ないリソースを使用し、従って、センサ及びマイクロコントローラのような小メモリ装置にそれらを配備することを促す。

0024

一例として、現在のバージョンのセクション8.5.4.1.3.1の上記の部分は、以下のように置換されてもよい:
Type0 :
CH [schema-typed value] Type1
Type1 :
EE
ここで、現在のバージョンによるiは省略される。

0025

この場合において、EXIプロトグラマー206はブロック208において拡張され、完全なEXIグラマー210を形成する。EXIプロトグラマー206を拡張すること(augmenting)は、追加的な属性、プロパティ等を挿入することを含んでよい。

0026

図3は例示的なXSDの一部分300を示す。XSD300は要素302a-302e(まとめて「要素302」と言及される)を含み、要素はそれぞれシンプルデータタイプ304a-304e(まとめて「シンプルデータタイプ304」と言及される)を有する。シンプルデータタイプ304は、EXI規格、XMLスキーマ定義、及び/又は、ユーザにより定義されてもよい。シンプルデータタイプ304は、対応する要素302に関連するキャラクタに対する1つ以上の受け入れ可能なフォーマット及び/又は値に関連してよい。

0027

図4は図3のXSD300に基づく例示的な拡張可能マークアップ言語(XML)文書の一部分400を示す。XML文書400は、それぞれキャラクタ404a-404e(まとめて「キャラクタ404」と言及される)が続く開始要素402a-402e(まとめて「開始要素402」と言及される)と、終了要素406a-406e(まとめて「終了要素406」と言及される)とを含む。

0028

EXIフォーマット1.0標準仕様では、キャラクタ404の各々が、対応するシンプルデータタイプ304に関連する特定のグラマーに従ってエンコードされる。従って、従来では、XSDのうちの異なるシンプルデータタイプの各々について異なるグラマーが使用される。例えば、XSDは45個のビルトインシンプルデータタイプ(built-in simple datatype)に加えて、追加的なユーザ定義のシンプルデータタイプを含み得る。

0029

EXIストリームで使用される各々のシンプルデータタイプグラマに関し、以下の第1状態及び第2状態が生成されてよい。

0030

第1状態:



1


第2状態:





各々のグラマー定義は幾らかのバイト数を使用してよい。一例として、上記の第1状態及び第2状態は143バイトを占めてもよい。仮に、単独のデータタイプの各々について異なるグラマーが使用される場合、全てのグラマーの定義により占められる総バイト数(total size)は、以下の数式により与えられる:
total size = (x+α)(y+n)
ここで、xはグラマーを規定するためのバイト数を表し、αはシンプルデータタイプを識別するのに使用されるバイト数を表現し、yは内蔵シンプルデータタイプのバイト数を表現し、nはユーザ定義によるシンプルデータタイプのバイト数を表現する。xが143であり、yが45である場合、グラマー定義は少なくとも6435バイトに及ぶ空間を占める。

0031

しかしながら、複数のシンプルデータタイプについて単独のグラマーが使用される実施形態では、シンプルデータタイプのグラマー定義は、より少ない空間を消費する。例えば、143バイトがグラマーを定義するのに使用される例において、単独のシンプルデータタイプのグラマーがシンプルデータタイプの各々について使用される場合、シンプルデータタイプのグラマー定義は143バイトの空間を消費する。

0032

一実施形態において、複数の異なるシンプルデータタイプについて使用される単独のグラマーは、XMLスキーマの1つのデータタイプに基づいて選択されてもよい。例えば、グラマーは、プロトグラマー生成の最中に遭遇する最初のシンプルデータタイプに基づいて選択されてもよい。代替的に、グラマーは、XMLスキーマとは独立に選択されてもよい。例えば、XMLスキーマのシンプルデータタイプによらず、複数のシンプルデータタイプについて、単独のグラマーが予め選択され使用されてもよい。

0033

一実施形態において、図4のXML文書400のようなXML文書は、EXIストリームとしてエンコードされてもよい。XML文書は、図3のXSD300のようなXSDに基づいてもよい。関連するノーマリゼーションは、複数の異なるシンプルデータタイプ(おそらくは、全てのシンプルデータタイプ)について1つのグラマーを含んでもよい。例えば、図3及び図4をまとめて参照する場合において、文字列(string)のシンプルデータタイプ304aを有するセンサ(sensor)要素302aのキャラクタ404a、日時のシンプルデータタイプ304bを有する開始(begin)要素302bのキャラクタ404b、及び、ショートシンプルデータタイプ304cを有する降水量(precipitation)要素302cのキャラクタ404c等々をエンコードするために、単独のグラマーが使用されてもよい。従って、“Oak St Creek Rd SW,” “2003-02-17T14:17:03,” “137,” “22.22,” 及び “PT4H12M”というキャラクタ404が、単独のグラマーに従ってエンコードされる。

0034

一形態において、EXIストリームとしてXML文書400をエンコードすることは、イベントタイプ識別子をスタック(stack)に追加することを更に含んでもよい。イベントタイプ識別子の各々は、エレメント及び関連するキャラクタに関連付けられてよい。例えば、ビットシーケンス「001」により表現されるイベントタイプ識別子は、センサ要素302aに関連付けられ、かつ、「001」のイベントタイプ識別子が「Oak St Creek Rd SW」というキャラクタ404aを表現するEXIストリームのエンコードされたキャラクタに関連付けられるように、イベントタイプのスタックに追加されてもよい。ビットシーケンス「010」により表現されるイベントタイプ識別子は、開始要素302bに関連付けられ、かつ、「010」イベントタイプ識別子が「2003-02-17T14:17:03」というキャラクタ404bに関連付けられるように、スタックに追加されてもよい。追加的なビットシーケンスのような追加的なイベントタイプ識別子は、他の要素302及びそれらの関連付けられるキャラクタ404を表現するエンコードされるキャラクタに関連付けられてもよい。

0035

一実施形態において、イベントタイプ識別子は、EXIストリームがデコードされる場合に、スタックから引き出される又はデコードされてもよい。選択的に、イベントタイプ識別子は、イベントタイプ識別子がスタックに追加された順番により確保される順番でデコードされてもよい。イベントタイプ識別子は、イベントタイプ識別子に関連するエンコードされたキャラクタを解釈するために使用されるコードを識別及び/又は呼び出すために使用されてもよい。例えば、デコーダは、スタックからビットシーケンス「010」を引き出し、エンコードされた日時キャラクタ「2003-02-17T14:17:03」を解釈するためにコーデックを呼び出し、このキャラクタは、全てシンプルデータタイプに使用されるグラマーに従ってエンコードされている。デコーダは、スタックからビットシーケンス「001」を引き出し、エンコードされた文字列キャラクタ「Oak St Creek Rd SW」を解釈するためにコーデックを呼び出し、このキャラクタは、全てシンプルデータタイプに使用されるグラマーに従ってエンコードされている。

0036

本願で説明される形態は、本願で詳細に説明されるような様々なハードウェア又はソフトウェアモジュールを含む特定用途又は汎用コンピュータを利用することを含んでよい。

0037

本願で説明される形態は、コンピュータで読み取ることが可能な媒体を用いて実現されてもよく、その媒体は、コンピュータで実行することが可能な命令又は媒体に保存されるデータ構造を搬送又は有する。そのようなコンピュータ読み取り可能な媒体は、汎用又は特定用途のコンピュータによりアクセスされる任意の利用可能な媒体であってよい。限定ではない一例として、そのようなコンピュータ読み取り可能な媒体は、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的に消去可能でプログラム可能なリードオンリメモリ(EEPROM)、コンパクトディスクリードオンリメモリ(CD-ROM)又はその他の光ディスクストレージ磁気ディスクストレージ又はその他の磁気ストレージデバイス、フラッシュメモリデバイス(例えば、ソリッドステートメモリデバイス)、或いは、他の任意のストレージ媒体等を含む非一時的なコンピュータ読み取り可能な記憶媒体を含んでもよく、他の任意のストレージ媒体は、コンピュータで実行可能な命令及びデータ構造の形式で所望のプログラムコードを搬送又は保存するために使用され、及び、汎用又は特定用途のコンピュータによりアクセスされてよい。上記に列挙したものの組み合わせもコンピュータ読み取り可能な媒体の範囲内に含まれてよい。

0038

コンピュータ実行可能な命令は、例えば、汎用コンピュータ、特定用途コンピュータ又は特定用途処理装置(例えば、1つ以上のプロセッサ)が、所定の機能又は一群の機能を実行することを引き起こす命令及びデータを含んでもよい。本件の対象事項は構造的特徴及び/又は方法的動作に特化した言葉で説明されるが、特許請求の範囲に規定される対象事項は、上述した具体的な特徴や動作に限定される必要はないことが理解されるべきである。むしろ上記の具体的な特徴及び動作は請求項を実施する際の実施形態として開示されている。

0039

本願において、「モジュール」又は「コンポーネント」という用語は、コンピューティングシステムの汎用ハードウェア(例えば、コンピュータ読み取り可能な媒体、処理装置等)において保存及び/又は実行されるモジュール又はコンポーネント及び/又はソフトウェアオブジェクト又はソフトウェアルーチンの処理を実行するように構成される具体的なハードウェア手段を指してよい。一実施形態において、本願で言及される様々なコンポーネント、モジュール、エンジン及びサービスは、(例えば、個々のスレッドのような)コンピューティングシステムで動作するオブジェクト又はプロセスとして実行されてもよい。本願で説明される何らかのシステム及び方法は概して(汎用ハードウェアに保存される及び/又はそこで実行される)ソフトウェアで実現されるように説明されるが、具体的なハードウェア手段又はソフトウェア及び具体的なハードウェア手段の組み合わせも可能でありそれらも想定されている。本説明において、「コンピューティングエンティティ」は、上述される任意のコンピューティングシステム、又は、コンピューティングシステムで動作する任意のモジュール又はモジュールの組み合わせであってよい。

0040

本願で使用される全ての具体例及び条件付きの言葉は、当該技術分野における更なる進歩に発明者等が貢献した本発明及び概念を理解する上で読者を支援する教育的目的のために意図されており、そのような具体的に言及される具体例及び条件に限定することなく解釈がなされるべきである。本発明の実施形態が詳細に説明されてきたが、様々な変更、置換及び代替が本発明の精神及び範囲から逸脱することなくそれらになされることが可能である点が理解されるべきである。

0041

上記の実施形態に関する付記を更に開示する。

0042

(付記1)
第1シンプルデータタイプを有する第1要素、及び、前記第1シンプルデータタイプとは異なる第2シンプルデータタイプを有する第2要素を含む拡張可能マークアップ言語スキーマ定義(XSD)を受信する工程;及び
前記XSDに基づいてグラマーを生成する工程であって、前記グラマーは、拡張可能マークアップ言語(XML)文書を、前記XSDに基づいて、効率的なXMLインターチェンジ(EXI)ストリームに及びEXIストリームからエンコード及びデコードすることに関連し、前記グラマーは前記第1シンプルデータタイプ及び前記第2シンプルデータタイプに関連する、工程;
を有する方法。

0043

(付記2)
前記グラマーは、更に、前記第1シンプルデータタイプに基づいて生成される、付記1に記載の方法。

0044

(付記3)
前記グラマーは、前記第1シンプルデータタイプ及び前記第2シンプルデータタイプとは独立している、付記1に記載の方法。

0045

(付記4)
前記XSDは、更に、第1シンプルデータタイプとは異なり及び前記第2シンプルデータタイプとは異なる第3シンプルデータタイプを有する第3要素を含み;及び
前記グラマーは前記第3シンプルデータタイプに関連する;
付記1に記載の方法。

0046

(付記5)
前記グラマーは、前記XSDの何れかのシンプルデータタイプに関連するグラマーのみである、付記1に記載の方法。

0047

(付記6)
前記XSDに関連するノーマリゼーションを生成する工程を更に有し、前記ノーマリゼーションは前記グラマーを含む、付記1に記載の方法。

0048

(付記7)
前記XSDに基づいて前記XML文書から第1EXIストリームをエンコードする工程を更に有する付記6に記載の方法。

0049

(付記8)
第1シンプルデータタイプを有する第1要素、及び、前記第1シンプルデータタイプとは異なる第2シンプルデータタイプを有する第2要素を含むXMLスキーマ定義(XSD)に基づいて、拡張可能マークアップ言語(XML)文書を受信する工程であって、前記XML文書は:
前記第1要素及び前記第1シンプルデータタイプに関連する第1キャラクタ;及び
前記第2要素及び前記第2シンプルデータタイプに関連する第2キャラクタ;
を含む、工程;並びに
前記XML文書を効率的なXMLインターチェンジ(EXI)ストリームとしてエンコードする工程であって:
グラマーに従って前記第1キャラクタをエンコードする工程;及び
前記グラマーに従って前記第2キャラクタをエンコードする工程;
を含む工程;
を有する方法。

0050

(付記9)
前記XML文書は、前記グラマーを含むノーマリゼーションに従ってEXIストリームとしてエンコードされる、付記8に記載の方法。

0051

(付記10)
前記ノーマリゼーションの前記グラマーは、前記XSDの全てのシンプルデータタイプに関連している、付記9に記載の方法。

0052

(付記11)
第1イベントタイプ識別子がエンコードされた第1キャラクタに関連するように、前記EXIストリームのスタックに前記第1イベントタイプ識別子を付加する工程を更に有し、前記第1イベントタイプ識別子は、前記第1要素及び前記第1シンプルデータタイプに関連している、付記8に記載の方法。

0053

(付記12)
第2イベントタイプ識別子がエンコードされた第2キャラクタに関連するように、前記スタックに前記第2イベントタイプ識別子を付加する工程を更に有し、前記第2イベントタイプ識別子は、前記第2要素及び前記第2シンプルデータタイプに関連している、付記11に記載の方法。

0054

(付記13)
前記XSDは、更に、第1シンプルデータタイプとは異なり及び前記第2シンプルデータタイプとは異なる第3シンプルデータタイプを有する第3要素を含み;
前記XML文書は、更に、前記第3要素及び前記第3シンプルデータタイプに関連する第3キャラクタを含み;
前記XML文書を前記EXIストリームとしてエンコードすることは、前記グラマーに従って前記第3キャラクタをエンコードすることを更に含む;
付記8に記載の方法。

0055

(付記14)
第1イベントタイプ識別子がエンコードされた第1キャラクタに関連するように、前記EXIストリームのスタックに前記第1イベントタイプ識別子を付加する工程であって、前記第1イベントタイプ識別子は前記第1要素及び前記第1シンプルデータタイプに関連している、工程;
第2イベントタイプ識別子がエンコードされた第2キャラクタに関連するように、前記スタックに前記第2イベントタイプ識別子を付加する工程であって、前記第2イベントタイプ識別子は前記第2要素及び前記第2シンプルデータタイプに関連している、工程;及び
第3イベントタイプ識別子がエンコードされた第3キャラクタに関連するように、前記スタックに前記第3イベントタイプ識別子を付加する工程であって、前記第3イベントタイプ識別子は前記第3要素及び前記第3シンプルデータタイプに関連している、工程;
を更に有する付記13に記載の方法。

0056

(付記15)
効率的な拡張可能マークアップ言語インターチェンジ(EXI)ストリームを受信する工程であって、前記EXIストリームは:
第1シンプルデータタイプに関連する第1のエンコードされたキャラクタ;及び
前記第1シンプルデータタイプとは異なる第2シンプルデータタイプに関連する第2のエンコードされたキャラクタ;
を含む、工程;並びに
拡張可能マークアップ言語(XML)文書を形成するために前記EXIストリームをデコードする工程であって:
前記EXIストリームに関連するグラマーに少なくとも部分的に基づいて前記第1のエンコードされたキャラクタをデコードする工程;及び
前記グラマーに少なくとも部分的に基づいて前記第2のエンコードされたキャラクタをデコードする工程;
を含む、工程;
を有する方法。

0057

(付記16)
前記EXIストリームのスタックから第1イベントタイプ識別子をデコードする工程であって、前記第1イベントタイプ識別子は、前記第1シンプルデータタイプ及び前記第1のエンコードされたキャラクタに関連する、工程を更に有し、
前記第1のエンコードされたキャラクタをデコードすることは、前記第1シンプルデータタイプに関連する第1コーデックに少なくとも部分的に基づく、
付記15に記載の方法。

0058

(付記17)
前記スタックから第2イベントタイプ識別子をデコードする工程であって、前記第2イベントタイプ識別子は、前記第2シンプルデータタイプ及び前記第2のエンコードされたキャラクタに関連する、工程を更に有し、
前記第2のエンコードされたキャラクタをデコードすることは、前記第2シンプルデータタイプに関連する第2コーデックに少なくとも部分的に基づく、
付記16に記載の方法。

0059

(付記18)
前記EXIストリームは、前記グラマーを含むノーマリゼーションに従って前記XML文書を形成するようにデコードされる、付記15に記載の方法。

0060

(付記19)
前記ノーマリゼーションの前記グラマーは、前記EXIストリームの何れかのシンプルデータタイプに関連するグラマーのみである、付記18に記載の方法。

0061

(付記20)
前記EXIストリームは、第1シンプルデータタイプとは異なり及び前記第2シンプルデータタイプとは異なる第3シンプルデータタイプに関連する第3のエンコードされたキャラクタを含み;及び
前記XML文書を形成するように前記EXIストリームをデコードすることは、前記グラマーに少なくとも部分的に基づいて前記第3のエンコードされたキャラクタをデコードすることを含む;
付記15に記載の方法。

0062

100:EXI処理システム
102:XSD
104:ノーマリゼーションデバイス
103a:プロセッサ
105a:メモリ
106:ノーマリゼーション
110:XML文書
108:エンコーダ/デコーダ
103b:プロセッサ
105b:メモリ
112:EXIストリーム

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 富士ゼロックス株式会社の「 データ管理システム」が 公開されました。( 2020/09/24)

    【課題】階層構造になっている管理システムにおいて、管理対象データの実体を最上位の装置が全て管理する場合と比較して、管理対象データがユーザの意図しない装置に提供されないシステムを提供する。【解決手段】管... 詳細

  • ソニー株式会社の「 情報処理装置、情報処理方法、およびプログラム」が 公開されました。( 2020/09/24)

    【課題・解決手段】本技術は、複数人のユーザが皆満足できる空間を提供することができるようにする情報処理装置、情報処理方法、およびプログラムに関する。分析部は、複数人のユーザが存在する環境におけるセンシン... 詳細

  • アルテリックス インコーポレイテッドの「 並列処理を使用したハッシュ結合の実行」が 公開されました。( 2020/09/24)

    【課題・解決手段】データレコードは、コンピュータを使用して結合される。第1の複数のデータレコードおよび第2の複数のデータレコード内のデータレコードがハッシュされる。第1の複数のデータレコードおよび第2... 詳細

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ