JP6964390B2 - 拡張データタイプのためのグラマー生成 - Google Patents

拡張データタイプのためのグラマー生成 Download PDF

Info

Publication number
JP6964390B2
JP6964390B2 JP2016014366A JP2016014366A JP6964390B2 JP 6964390 B2 JP6964390 B2 JP 6964390B2 JP 2016014366 A JP2016014366 A JP 2016014366A JP 2016014366 A JP2016014366 A JP 2016014366A JP 6964390 B2 JP6964390 B2 JP 6964390B2
Authority
JP
Japan
Prior art keywords
attribute
profile
glamor
elements
attribute profile
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016014366A
Other languages
English (en)
Other versions
JP2016162450A (ja
Inventor
卓己 上谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2016162450A publication Critical patent/JP2016162450A/ja
Application granted granted Critical
Publication of JP6964390B2 publication Critical patent/JP6964390B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/146Coding or compression of tree-structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/149Adaptation of the text data for streaming purposes, e.g. Efficient XML Interchange [EXI] format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Document Processing Apparatus (AREA)

Description

本願で説明される形態は、拡張データタイプ(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つ以上のプロセッサ)が、所定の機能又は一群の機能を実行することを引き起こす命令及びデータを含んでもよい。本件の対象事項は構造的特徴及び/又は方法的動作に特化した言葉で説明されるが、特許請求の範囲に規定される対象事項は、上述した具体的な特徴や動作に限定される必要はないことが理解されるべきである。むしろ上記の具体的な特徴及び動作は請求項を実施する際の実施形態として開示されている。
本願において、「モジュール」又は「コンポーネント」という用語は、コンピューティングシステムの汎用ハードウェア(例えば、コンピュータ読み取り可能な媒体、処理装置等)において保存及び/又は実行されるモジュール又はコンポーネント及び/又はソフトウェアオブジェクト又はソフトウェアルーチンの処理を実行するように構成される具体的なハードウェア手段を指してよい。一実施形態において、本願で言及される様々なコンポーネント、モジュール、エンジン及びサービスは、(例えば、個々のスレッドのような)コンピューティングシステムで実行されるオブジェクト又はプロセスとして実現されてもよい。本願で説明される何らかのシステム及び方法は概して(汎用ハードウェアに保存される及び/又はそこで実行される)ソフトウェアで実現されるように説明されるが、具体的なハードウェア手段又はソフトウェア及び具体的なハードウェア手段の組み合わせも可能でありそれらも想定されている。本説明において、「コンピューティングエンティティ」は、上述される任意のコンピューティングシステム、又は、コンピューティングシステムで動作する任意のモジュール又はモジュールの組み合わせであってよい。
本願で使用される全ての具体例及び条件付きの言葉は、当該技術分野における更なる進歩に発明者等が貢献した本発明及び概念を理解する上で読者を支援する教育的目的のために意図されており、そのような具体的に言及される具体例及び条件に限定することなく解釈がなされるべきである。本発明の実施形態が詳細に説明されてきたが、様々な変更、置換及び代替が本発明の精神及び範囲から逸脱することなくそれらになされることが可能である点が理解されるべきである。
上記の実施形態に関する付記を更に開示する。
(付記1)
データタイプを有する複数の要素を含む拡張可能マークアップ言語スキーマ定義(XSD)を受信する工程であって、前記複数の要素の各々は少なくとも1つの属性の存在又は不存在を規定する属性プロファイルを含み、前記複数の要素のうちの第1の2つ以上は特定の第1属性プロファイルを含む、工程;
前記XSDに基づいて第1グラマーを生成する工程であって、前記第1グラマーは、拡張可能マークアップ言語(XML)文書を、前記XSDに基づいて、効率的なXMLインターチェンジ(EXI)ストリームへ及びEXIストリームからエンコード及びデコードすることに関連付けられ、前記第1グラマーも前記特定の第1属性プロファイルに関連付けられる、工程;及び
前記複数の要素のうちの第1の2つ以上の各々を、前記第1グラマーに関連付ける工程;
を有する方法。
(付記2)
前記属性プロファイルの少なくとも1つの属性がタイパブル属性を含む、付記1に記載の方法。
(付記3)
前記属性プロファイルの少なくとも1つの属性がニラブル属性を含む、付記1に記載の方法。
(付記4)
前記複数の要素のうちの第2の2つ以上が、特定の第2属性プロファイルを含み、
当該方法は:
前記XSDに基づいて、前記特定の第2属性プロファイルに関連付けられる第2グラマーを生成する工程;及び
前記複数の要素のうちの第2の2つ以上の各々を、前記第2グラマーに関連付ける工程;
を更に有する付記1に記載の方法。
(付記5)
前記特定の第1属性プロファイルが、第1属性の不存在及び第2属性の不存在に関連し;
前記特定の第2属性プロファイルが、前記第1属性及び前記第2属性のうち少なくとも1つの存在に関連し;及び
前記第1グラマーは、前記複数の要素のデータタイプに関連付けられるプロトグラマーである;
付記4に記載の方法。
(付記6)
前記複数の要素のうちの第3の2つ以上が特定の第3属性プロファイルを含み;
当該方法は:
前記XSDに基づいて、前記特定の第3属性プロファイルに関連付けられる第3グラマーを生成する工程;及び
前記複数の要素のうちの第3の2つ以上の各々を、前記第3グラマーに関連付ける工程;
を更に有する付記4に記載の方法。
(付記7)
前記複数の要素のうちの第4の2つ以上が特定の第4属性プロファイルを含み;
当該方法は:
前記XSDに基づいて、前記特定の第4属性プロファイルに関連付けられる第4グラマーを生成する工程;及び
前記複数の要素のうちの第4の2つ以上の各々を、前記第4グラマーに関連付ける工程;
を更に有する付記6に記載の方法。
(付記8)
前記複数の要素各々の属性プロファイルは、第1属性の存否及び第2属性の存否を規定し;
前記特定の第1属性プロファイルは、前記第1属性の不存在及び前記第2属性の不存在に関連付けられ;
前記特定の第2属性プロファイルは、前記第1属性の不存在及び前記第2属性の存在に関連付けられ;
前記特定の第3属性プロファイルは、前記第1属性の存在及び前記第2属性の不存在に関連付けられ;及び
前記特定の第4属性プロファイルは、前記第1属性の存在及び前記第2属性の存在に関連付けられる;
付記7に記載の方法。
(付記9)
前記第1属性はタイパブル属性を含み;及び
前記第2属性はニラブル属性を含む;
付記8に記載の方法。
(付記10)
拡張可能マークアップ言語(XML)文書を、データタイプを有する複数の要素を含むXMLスキーマ定義(XSD)に基づいて受信する工程であって、前記複数の要素の各々は少なくとも1つの属性の存在又は不存在を規定する属性プロファイルを含み、前記複数の要素のうちの第1要素及び第2要素の各々は特定の第1属性プロファイルを含み、前記XML文書は:
前記第1要素及び前記特定の第1属性プロファイルに関連する第1キャラクタ;及び
前記第2要素及び前記特定の第1属性プロファイルに関連する第2キャラクタを含む、工程;並びに
前記XML文書を効率的なXMLインターチェンジ(EXI)ストリームとしてエンコードする工程であって:
第1グラマーに従って前記第1キャラクタをエンコードする工程;及び
前記第1グラマーに従って前記第2キャラクタをエンコードする工程;
を含む、工程;
を有する方法。
(付記11)
前記XML文書は、前記第1グラマーを含むノーマリゼーションに従ってEXIストリームとしてエンコードされる、付記10に記載の方法。
(付記12)
前記XSDは、前記複数の要素のうちそれぞれが特定の第2属性プロファイルを含む第3要素及び第4要素を更に含み;
前記XML文書は:
前記第3要素及び前記特定の第2属性プロファイルに関連付けられる第3キャラクタ;及び
前記第4要素及び前記特定の第2属性プロファイルに関連付けられる第4キャラクタ;
を更に含み;並びに
前記XML文書をEXIストリームとしてエンコードする工程は:
第2グラマーに従って前記第3キャラクタをエンコードする工程;及び
前記第2グラマーに従って前記第4キャラクタをエンコードする工程;
を更に含む、工程;
を有する付記10に記載の方法。
(付記13)
前記XSDは:
前記複数の要素のうち、それぞれが特定の第3属性プロファイルを含む第5要素及び第6要素;及び
前記複数の要素のうち、それぞれが特定の第4属性プロファイルを含む第7要素及び第8要素;
を更に含み;
前記XML文書は:
前記第5要素及び前記特定の第3属性プロファイルに関連する第5キャラクタ;
前記第6要素及び前記特定の第3属性プロファイルに関連する第6キャラクタ;
前記第7要素及び前記特定の第4属性プロファイルに関連する第7キャラクタ;
前記第8要素及び前記特定の第4属性プロファイルに関連する第8キャラクタ;
を更に含み;
前記XML文書をEXIストリームとしてエンコードする工程は:
第3グラマーに従って前記第5キャラクタをエンコードする工程;
前記第3グラマーに従って前記第6キャラクタをエンコードする工程;
第4グラマーに従って前記第7キャラクタをエンコードする工程;及び
前記第4グラマーに従って前記第8キャラクタをエンコードする工程;
を更に含む;
付記12に記載の方法。
(付記14)
前記複数の要素各々の属性プロファイルは、第1属性の存否及び第2属性の存否を規定し;
前記特定の第1属性プロファイルは、前記第1属性の不存在及び前記第2属性の不存在に関連付けられ;
前記特定の第2属性プロファイルは、前記第1属性の不存在及び前記第2属性の存在に関連付けられ;
前記特定の第3属性プロファイルは、前記第1属性の存在及び前記第2属性の不存在に関連付けられ;及び
前記特定の第4属性プロファイルは、前記第1属性の存在及び前記第2属性の存在に関連付けられる;
付記13に記載の方法。
(付記15)
前記第1属性はタイパブル属性を含み;及び
前記第2属性はニラブル属性を含む;
付記14に記載の方法。
(付記16)
効率的な拡張可能マークアップ言語インターチェンジ(EXI)ストリームを受信する工程であって、前記EXIストリームは:
特定の第1属性プロファイルを含む第1要素及びデータタイプに関連するエンコードされた第1キャラクタ;及び
前記特定の第1属性プロファイルを含む第2要素及び前記データタイプに関連するエンコードされた第2キャラクタ;
を含む、工程;
拡張可能マークアップ言語(XML)文書を形成するように前記EXIストリームをデコードする工程であって:
前記特定の第1属性プロファイルに関連する第1グラマーに少なくとも部分的に基づいて前記エンコードされた第1キャラクタをデコードする工程;及び
前記第1グラマーに少なくとも部分的に基づいて前記エンコードされた第2キャラクタをデコードする工程;
を含む、工程;
を有する方法。
(付記17)
前記EXIストリームは、前記第1グラマーを含むノーマリゼーションに従ってXML文書を形成するためにデコードされる、付記16に記載の方法。
(付記18)
前記EXIストリームは:
特定の第2属性プロファイルを含む第2要素及び前記データタイプに関連するエンコードされた第3キャラクタ;及び
前記特定の第2属性プロファイルを含む第3要素及び前記データタイプに関連するエンコードされた第4キャラクタ;
を含み;及び
前記XML文書を形成するように前記EXIストリームをデコードする工程は:
前記特定の第2属性プロファイルに関連する第2グラマーに少なくとも部分的に基づいて前記エンコードされた第3キャラクタをデコードする工程;及び
前記第2グラマーに少なくとも部分的に基づいて前記エンコードされた第4キャラクタをデコードする工程;
を更に含む;
付記16に記載の方法。
(付記19)
前記EXIストリームは:
特定の第3属性プロファイルを含む第5要素及び前記データタイプに関連するエンコードされた第5キャラクタ;
前記特定の第3属性プロファイルを含む第6要素及び前記データタイプに関連するエンコードされた第6キャラクタ;
特定の第4属性プロファイルを含む第7要素及び前記データタイプに関連するエンコードされた第7キャラクタ;
前記特定の第4属性プロファイルを含む第8要素及び前記データタイプに関連するエンコードされた第8キャラクタ;
を含み;
前記XML文書を形成するように前記EXIストリームをデコードする工程は:
前記特定の第3属性プロファイルに関連する第3グラマーに少なくとも部分的に基づいて前記エンコードされた第5キャラクタをデコードする工程;
前記第3グラマーに少なくとも部分的に基づいて前記エンコードされた第6キャラクタをデコードする工程;
前記特定の第4属性プロファイルに関連する第4グラマーに少なくとも部分的に基づいて前記エンコードされた第7キャラクタをデコードする工程;
前記第4グラマーに少なくとも部分的に基づいて前記エンコードされた第8キャラクタをデコードする工程;
を更に含む;
付記16に記載の方法。
(付記20)
複数の要素各々の属性プロファイルは、第1属性の存否及び第2属性の存否を規定し;
前記特定の第1属性プロファイルは、前記第1属性の不存在及び前記第2属性の不存在に関連付けられ;
前記特定の第2属性プロファイルは、前記第1属性の不存在及び前記第2属性の存在に関連付けられ;
前記特定の第3属性プロファイルは、前記第1属性の存在及び前記第2属性の不存在に関連付けられ;及び
前記特定の第4属性プロファイルは、前記第1属性の存在及び前記第2属性の存在に関連付けられる;
付記16に記載の方法。
(付記21)
処理を実行するためにプロセッサにより実行可能なエンコードされたプログラミングコードを有する非一時的なコンピュータ読み取り可能な媒体であって、前記処理は:
データタイプを有する複数の要素を含む拡張可能マークアップ言語スキーマ定義(XSD)を受信することであって、前記複数の要素の各々は少なくとも1つの属性の存在又は不存在を規定する属性プロファイルを含み、前記複数の要素のうちの第1の2つ以上は特定の第1属性プロファイルを含む、こと;
前記XSDに基づいて第1グラマーを生成することであって、前記第1グラマーは、拡張可能マークアップ言語(XML)文書を、前記XSDに基づいて、効率的なXMLインターチェンジ(EXI)ストリームへ及びEXIストリームからエンコード及びデコードすることに関連付けられ、前記第1グラマーは前記特定の第1属性プロファイルに関連付けられる、こと;及び
前記複数の要素のうちの前記第1の2つ以上の各々を、前記第1グラマーに関連付けること;
を含む、媒体。
100:EXI処理システム
102:XSD
104:ノーマリゼーションデバイス
103a:プロセッサ
105a:メモリ
106:ノーマリゼーション
110:XML文書
108:エンコーダ/デコーダ
103b:プロセッサ
105b:メモリ
112:EXIストリーム

Claims (21)

  1. グラマー生成プロセスについての1つ以上の動作を実行するよう構成されたコンピュータが実行する方法であって、
    データタイプを有する複数の要素を含む拡張可能マークアップ言語スキーマ定義(XSD)を受信する工程であって、前記複数の要素の各々は少なくとも1つの属性の存在又は不存在を規定する属性プロファイルを含み、前記複数の要素のうちの第1の2つ以上の要素は特定の第1属性プロファイルを含む、工程;
    前記XSDに基づいて第1グラマーを生成する工程であって、前記第1グラマーは、拡張可能マークアップ言語(XML)文書を、前記XSDに基づいて、効率的なXMLインターチェンジ(EXI)ストリームへ及びEXIストリームからエンコード及びデコードすることに関連付けられ、前記第1グラマーも前記特定の第1属性プロファイルに関連付けられる、工程;及び
    前記複数の要素のうちの第1の2つ以上の要素の各々を、前記第1グラマーに関連付ける工程;
    を有する方法。
  2. 前記属性プロファイルの少なくとも1つの属性がタイパブル属性を含む、請求項1に記載の方法。
  3. 前記属性プロファイルの少なくとも1つの属性がニラブル属性を含む、請求項1に記載の方法。
  4. 前記複数の要素のうちの第2の2つ以上の要素が、特定の第2属性プロファイルを含み、
    当該方法は:
    前記XSDに基づいて、前記特定の第2属性プロファイルに関連付けられる第2グラマーを生成する工程;及び
    前記複数の要素のうちの第2の2つ以上の要素の各々を、前記第2グラマーに関連付ける工程;
    を更に有する請求項1に記載の方法。
  5. 前記特定の第1属性プロファイルが、第1属性の不存在及び第2属性の不存在に関連し;
    前記特定の第2属性プロファイルが、前記第1属性及び前記第2属性のうち少なくとも1つの存在に関連し;及び
    前記第1グラマーは、前記複数の要素のデータタイプに関連付けられるプロトグラマーである;
    請求項4に記載の方法。
  6. 前記複数の要素のうちの第3の2つ以上の要素が特定の第3属性プロファイルを含み;
    当該方法は:
    前記XSDに基づいて、前記特定の第3属性プロファイルに関連付けられる第3グラマーを生成する工程;及び
    前記複数の要素のうちの第3の2つ以上の要素の各々を、前記第3グラマーに関連付ける工程;
    を更に有する請求項4に記載の方法。
  7. 前記複数の要素のうちの第4の2つ以上の要素が特定の第4属性プロファイルを含み;
    当該方法は:
    前記XSDに基づいて、前記特定の第4属性プロファイルに関連付けられる第4グラマーを生成する工程;及び
    前記複数の要素のうちの第4の2つ以上の要素の各々を、前記第4グラマーに関連付ける工程;
    を更に有する請求項6に記載の方法。
  8. 前記複数の要素各々の属性プロファイルは、第1属性の存否及び第2属性の存否を規定し;
    前記特定の第1属性プロファイルは、前記第1属性の不存在及び前記第2属性の不存在に関連付けられ;
    前記特定の第2属性プロファイルは、前記第1属性の不存在及び前記第2属性の存在に関連付けられ;
    前記特定の第3属性プロファイルは、前記第1属性の存在及び前記第2属性の不存在に関連付けられ;及び
    前記特定の第4属性プロファイルは、前記第1属性の存在及び前記第2属性の存在に関連付けられる;
    請求項7に記載の方法。
  9. 前記第1属性はタイパブル属性を含み;及び
    前記第2属性はニラブル属性を含む;
    請求項8に記載の方法。
  10. 拡張可能マークアップ言語(XML)文書を効率的なXMLインターチェンジ(EXI)ストリームとしてエンコードするよう構成されたコンピュータが実行する方法であって、
    前記XML文書を、データタイプを有する複数の要素を含むXMLスキーマ定義(XSD)に基づいて受信する工程であって、前記複数の要素の各々は少なくとも1つの属性の存在又は不存在を規定する属性プロファイルを含み、前記複数の要素のうちの第1要素及び第2要素の各々は特定の第1属性プロファイルを含み、前記XML文書は:
    前記第1要素及び前記特定の第1属性プロファイルに関連する第1キャラクタ;及び
    前記第2要素及び前記特定の第1属性プロファイルに関連する第2キャラクタを含む、工程;並びに
    前記XML文書を前記EXIストリームとしてエンコードする工程であって:
    前記第1属性プロファイルに関連する第1グラマーに従って前記第1キャラクタをエンコードする工程;及び
    前記第1グラマーに従って前記第2キャラクタをエンコードする工程;
    を含む、工程;
    を有する方法。
  11. 前記XML文書は、前記第1グラマーを含むノーマリゼーションに従ってEXIストリームとしてエンコードされる、請求項10に記載の方法。
  12. 前記XSDは、前記複数の要素のうちそれぞれが特定の第2属性プロファイルを含む第3要素及び第4要素を更に含み;
    前記XML文書は:
    前記第3要素及び前記特定の第2属性プロファイルに関連付けられる第3キャラクタ;及び
    前記第4要素及び前記特定の第2属性プロファイルに関連付けられる第4キャラクタ;
    を更に含み;並びに
    前記XML文書をEXIストリームとしてエンコードする工程は:
    前記第2属性プロファイルに関連する第2グラマーに従って前記第3キャラクタをエンコードする工程;及び
    前記第2グラマーに従って前記第4キャラクタをエンコードする工程;
    を更に含む、工程;
    を有する請求項10に記載の方法。
  13. 前記XSDは:
    前記複数の要素のうち、それぞれが特定の第3属性プロファイルを含む第5要素及び第6要素;及び
    前記複数の要素のうち、それぞれが特定の第4属性プロファイルを含む第7要素及び第8要素;
    を更に含み;
    前記XML文書は:
    前記第5要素及び前記特定の第3属性プロファイルに関連する第5キャラクタ;
    前記第6要素及び前記特定の第3属性プロファイルに関連する第6キャラクタ;
    前記第7要素及び前記特定の第4属性プロファイルに関連する第7キャラクタ;
    前記第8要素及び前記特定の第4属性プロファイルに関連する第8キャラクタ;
    を更に含み;
    前記XML文書をEXIストリームとしてエンコードする工程は:
    前記第3属性プロファイルに関連する第3グラマーに従って前記第5キャラクタをエンコードする工程;
    前記第3グラマーに従って前記第6キャラクタをエンコードする工程;
    前記第4属性プロファイルに関連する第4グラマーに従って前記第7キャラクタをエンコードする工程;及び
    前記第4グラマーに従って前記第8キャラクタをエンコードする工程;
    を更に含む;
    請求項12に記載の方法。
  14. 前記複数の要素各々の属性プロファイルは、第1属性の存否及び第2属性の存否を規定し;
    前記特定の第1属性プロファイルは、前記第1属性の不存在及び前記第2属性の不存在に関連付けられ;
    前記特定の第2属性プロファイルは、前記第1属性の不存在及び前記第2属性の存在に関連付けられ;
    前記特定の第3属性プロファイルは、前記第1属性の存在及び前記第2属性の不存在に関連付けられ;及び
    前記特定の第4属性プロファイルは、前記第1属性の存在及び前記第2属性の存在に関連付けられる;
    請求項13に記載の方法。
  15. 前記第1属性はタイパブル属性を含み;及び
    前記第2属性はニラブル属性を含む;
    請求項14に記載の方法。
  16. 効率的な拡張可能マークアップ言語インターチェンジ(EXI)ストリームを拡張可能マークアップ言語(XML)文書としてデコードするよう構成されたコンピュータが実行する方法であって、
    前記EXIストリームを受信する工程であって、前記EXIストリームは:
    特定の第1属性プロファイルとデータタイプとを含む第1要素に関連するエンコードされた第1キャラクタ;及び
    前記特定の第1属性プロファイルと前記データタイプとを含む第2要素に関連するエンコードされた第2キャラクタ;
    を含む、工程;
    前記XML文書を形成するように前記EXIストリームをデコードする工程であって:
    前記特定の第1属性プロファイルに関連する第1グラマーに基づいて前記エンコードされた第1キャラクタをデコードする工程;及び
    前記第1グラマーに基づいて前記エンコードされた第2キャラクタをデコードする工程;
    を含む、工程;
    を有する方法。
  17. 前記EXIストリームは、前記第1グラマーを含むノーマリゼーションに従ってXML文書を形成するためにデコードされる、請求項16に記載の方法。
  18. 前記EXIストリームは:
    特定の第2属性プロファイルと前記データタイプとを含む第2要素に関連するエンコードされた第3キャラクタ;及び
    前記特定の第2属性プロファイルと前記データタイプとを含む第3要素に関連するエンコードされた第4キャラクタ;
    を含み;及び
    前記XML文書を形成するように前記EXIストリームをデコードする工程は:
    前記特定の第2属性プロファイルに関連する第2グラマーに基づいて前記エンコードされた第3キャラクタをデコードする工程;及び
    前記第2グラマーに基づいて前記エンコードされた第4キャラクタをデコードする工程;
    を更に含む;
    請求項16に記載の方法。
  19. 前記EXIストリームは:
    特定の第3属性プロファイルと前記データタイプとを含む第5要素に関連するエンコードされた第5キャラクタ;
    前記特定の第3属性プロファイルと前記データタイプとを含む第6要素に関連するエンコードされた第6キャラクタ;
    特定の第4属性プロファイルと前記データタイプとを含む第7要素に関連するエンコードされた第7キャラクタ;
    前記特定の第4属性プロファイルと前記データタイプとを含む第8要素に関連するエンコードされた第8キャラクタ;
    を含み;
    前記XML文書を形成するように前記EXIストリームをデコードする工程は:
    前記特定の第3属性プロファイルに関連する第3グラマーに基づいて前記エンコードされた第5キャラクタをデコードする工程;
    前記第3グラマーに基づいて前記エンコードされた第6キャラクタをデコードする工程;
    前記特定の第4属性プロファイルに関連する第4グラマーに基づいて前記エンコードされた第7キャラクタをデコードする工程;
    前記第4グラマーに基づいて前記エンコードされた第8キャラクタをデコードする工程;
    を更に含む;
    請求項16に記載の方法。
  20. 複数の要素各々の属性プロファイルは、第1属性の存否及び第2属性の存否を規定し;
    前記特定の第1属性プロファイルは、前記第1属性の不存在及び前記第2属性の不存在に関連付けられ;
    前記特定の第2属性プロファイルは、前記第1属性の不存在及び前記第2属性の存在に関連付けられ;
    前記特定の第3属性プロファイルは、前記第1属性の存在及び前記第2属性の不存在に関連付けられ;及び
    前記特定の第4属性プロファイルは、前記第1属性の存在及び前記第2属性の存在に関連付けられる;
    請求項19に記載の方法。
  21. プロセッサにより実行される場合に、該プロセッサに、請求項1乃至9のうちいずれか一項に記載の方法を実行させるプログラム。
JP2016014366A 2015-03-05 2016-01-28 拡張データタイプのためのグラマー生成 Active JP6964390B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/639,820 2015-03-05
US14/639,820 US10311137B2 (en) 2015-03-05 2015-03-05 Grammar generation for augmented datatypes for efficient extensible markup language interchange

Publications (2)

Publication Number Publication Date
JP2016162450A JP2016162450A (ja) 2016-09-05
JP6964390B2 true JP6964390B2 (ja) 2021-11-10

Family

ID=55262759

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016014366A Active JP6964390B2 (ja) 2015-03-05 2016-01-28 拡張データタイプのためのグラマー生成

Country Status (3)

Country Link
US (1) US10311137B2 (ja)
EP (1) EP3065061B1 (ja)
JP (1) JP6964390B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10311137B2 (en) * 2015-03-05 2019-06-04 Fujitsu Limited Grammar generation for augmented datatypes for efficient extensible markup language interchange
US10282400B2 (en) * 2015-03-05 2019-05-07 Fujitsu Limited Grammar generation for simple datatypes

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020077823A1 (en) * 2000-10-13 2002-06-20 Andrew Fox Software development systems and methods
KR20040070894A (ko) * 2003-02-05 2004-08-11 삼성전자주식회사 Xml 데이터의 압축 방법 및 압축된 xml 데이터의복원 방법
US7565339B2 (en) * 2006-03-31 2009-07-21 Agiledelta, Inc. Knowledge based encoding of data
US8862759B2 (en) * 2006-04-05 2014-10-14 Agiledelta, Inc. Multiplexing binary encoding to facilitate compression
US8120515B2 (en) * 2006-09-29 2012-02-21 Agiledelta, Inc. Knowledge based encoding of data with multiplexing to facilitate compression
US20070150494A1 (en) * 2006-12-14 2007-06-28 Xerox Corporation Method for transformation of an extensible markup language vocabulary to a generic document structure format
JP4429329B2 (ja) * 2007-02-16 2010-03-10 キヤノン株式会社 符号化装置及びその制御方法、復号装置及びその制御方法、プログラム、記憶媒体
FR2919400A1 (fr) * 2007-07-23 2009-01-30 Canon Kk Procede et dispositif d'encodage d'un document structure et procede et dispositif de decodage d'un document ainsi encode.
FR2926378B1 (fr) * 2008-01-14 2013-07-05 Canon Kk Procede et dispositif de traitement pour l'encodage d'un document de donnees hierarchisees
FR2927712B1 (fr) * 2008-02-15 2013-09-20 Canon Kk Procede et dispositif d'acces a une production d'une grammaire pour le traitement d'un document de donnees hierarchisees.
US9014658B2 (en) * 2008-03-14 2015-04-21 William J. Johnson System and method for application context location based configuration suggestions
WO2009118664A1 (en) * 2008-03-27 2009-10-01 Canon Kabushiki Kaisha Optimized methods and devices for the analysis, processing and evaluation of expressions of the xpath type on data of the binary xml type
FR2931271B1 (fr) * 2008-05-15 2012-07-27 Canon Kk Procede et dispositif de codage d'un document structure et procede et dispositif de decodage d'un document ainsi code
US7853724B2 (en) * 2008-06-19 2010-12-14 Agiledelta, Inc. Automatic identification, negotiation, synchronization, and update of system interfaces
FR2933793B1 (fr) * 2008-07-11 2013-07-05 Canon Kk Procedes de codage et de decodage, par referencement, de valeurs dans un document structure, et systemes associes.
EP2161667A1 (en) 2008-09-08 2010-03-10 Thomson Licensing, Inc. Method and device for encoding elements
FR2936623B1 (fr) * 2008-09-30 2011-03-04 Canon Kk Procede de codage d'un document structure et de decodage, dispositifs correspondants
FR2939535B1 (fr) * 2008-12-10 2013-08-16 Canon Kk Procede et systeme de traitement pour la configuration d'un processseur exi
FR2945363B1 (fr) * 2009-05-05 2014-11-14 Canon Kk Procede et dispositif de codage d'un document structure
EP2278550B1 (en) * 2009-06-17 2013-08-14 Canon Kabushiki Kaisha Method of encoding and decoding a graphics path sequence into a layered scheme
JP5671320B2 (ja) * 2009-12-18 2015-02-18 キヤノン株式会社 情報処理装置及びその制御方法並びにプログラム
US8949207B2 (en) * 2010-12-09 2015-02-03 Canon Kabushiki Kaisha Method and apparatus for decoding encoded structured data from a bit-stream
JP5166565B2 (ja) * 2011-03-28 2013-03-21 株式会社東芝 Exiエンコーダおよびプログラム
JP5325921B2 (ja) * 2011-03-28 2013-10-23 株式会社東芝 デコーダコンパイラ、プログラムおよび通信機器
JP5325920B2 (ja) * 2011-03-28 2013-10-23 株式会社東芝 エンコーダコンパイラ、プログラムおよび通信機器
GB2490731A (en) 2011-05-13 2012-11-14 Canon Kk Method for encoding and decoding structured data using an associated schema
GB2492096B (en) * 2011-06-21 2014-02-19 Canon Kk Method for processing a structured document to render, and corresponding processor
US10228986B2 (en) * 2011-09-29 2019-03-12 Agiledelta, Inc. Interface-adaptive data exchange
JP2013089183A (ja) * 2011-10-21 2013-05-13 Toshiba Corp Exiデコーダおよびプログラム
JP5670859B2 (ja) * 2011-10-21 2015-02-18 株式会社東芝 記述方法、exiデコーダおよびプログラム
US10019418B2 (en) 2012-07-20 2018-07-10 Fujitsu Limited Efficient XML interchange profile stream decoding
US8698657B2 (en) * 2012-09-10 2014-04-15 Canon Kabushiki Kaisha Methods and systems for compressing and decompressing data
JP5665821B2 (ja) * 2012-09-18 2015-02-04 株式会社東芝 文書処理装置、及びプログラム
JP2014191613A (ja) * 2013-03-27 2014-10-06 Toshiba Corp エンコーダ、エンコード方法及びプログラム
US9519627B2 (en) 2013-06-18 2016-12-13 Fujitsu Limited Grammar generation for XML schema definitions
US9710243B2 (en) * 2013-11-07 2017-07-18 Eagle Legacy Modernization, LLC Parser that uses a reflection technique to build a program semantic tree
CN105302350B (zh) * 2014-07-25 2018-01-23 南京瀚宇彩欣科技有限责任公司 穿戴式智能装置及计算机执行的方法
US10311137B2 (en) * 2015-03-05 2019-06-04 Fujitsu Limited Grammar generation for augmented datatypes for efficient extensible markup language interchange
US10282400B2 (en) * 2015-03-05 2019-05-07 Fujitsu Limited Grammar generation for simple datatypes

Also Published As

Publication number Publication date
US10311137B2 (en) 2019-06-04
US20160259763A1 (en) 2016-09-08
EP3065061B1 (en) 2018-03-14
EP3065061A1 (en) 2016-09-07
JP2016162450A (ja) 2016-09-05

Similar Documents

Publication Publication Date Title
US20210303588A1 (en) Dynamic Field Data Translation to Support High Performance Stream Data Processing
JP6191297B2 (ja) Exiスキーマ・ドキュメント・エンコーディング
JP6699200B2 (ja) シンプルデータタイプに対するグラマー生成
US20160117410A1 (en) Exi format to represent json documents
JP4880191B2 (ja) ワードプロセッサドキュメントのネイティブxml内の非ネイティブxmlを支援するためのシステムおよび方法
CN105447099A (zh) 日志结构化信息提取方法及装置
CA2500422A1 (en) Annotated automaton encoding of xml schema for high performance schema validation
US8949207B2 (en) Method and apparatus for decoding encoded structured data from a bit-stream
US20130138597A1 (en) Tree structured data transform
JP6964390B2 (ja) 拡張データタイプのためのグラマー生成
US20080077856A1 (en) Method and system for xml multi-transform
US9519627B2 (en) Grammar generation for XML schema definitions
US10534855B2 (en) EXI grammars to represent JSON schemas
US10019418B2 (en) Efficient XML interchange profile stream decoding
JP2006519422A (ja) 構造化されたドキュメントのエンコーディング方法
CN107408104B (zh) 样式的声明级联重新排序
JP5201808B2 (ja) 電子文書処理装置及び電子文書処理方法
EP3255557A1 (en) Document encoding
KR100968083B1 (ko) 구조화된 문서들, 특히 xml 문서들을인코딩/디코딩하기 위한 방법 및 장치
US20170249288A1 (en) Grammar generation
US10643024B2 (en) Method for converting a binary data stream
US8291392B2 (en) Dynamic specialization of XML parsing
CN111738858A (zh) 一种区块链交易数据并行解码的方法及装置
WO2017005025A1 (zh) 一种恢复设备数据的方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181011

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190717

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20191217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200317

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20200317

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200325

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20200331

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20200515

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20200519

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20201110

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20210202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210402

C302 Record of communication

Free format text: JAPANESE INTERMEDIATE CODE: C302

Effective date: 20210610

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20210615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210624

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20210817

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20210921

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20210921

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211019

R150 Certificate of patent or registration of utility model

Ref document number: 6964390

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150