JP6191297B2 - Exiスキーマ・ドキュメント・エンコーディング - Google Patents

Exiスキーマ・ドキュメント・エンコーディング Download PDF

Info

Publication number
JP6191297B2
JP6191297B2 JP2013149681A JP2013149681A JP6191297B2 JP 6191297 B2 JP6191297 B2 JP 6191297B2 JP 2013149681 A JP2013149681 A JP 2013149681A JP 2013149681 A JP2013149681 A JP 2013149681A JP 6191297 B2 JP6191297 B2 JP 6191297B2
Authority
JP
Japan
Prior art keywords
document
field
simple type
exi
type
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.)
Expired - Fee Related
Application number
JP2013149681A
Other languages
English (en)
Other versions
JP2014021990A (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 JP2014021990A publication Critical patent/JP2014021990A/ja
Application granted granted Critical
Publication of JP6191297B2 publication Critical patent/JP6191297B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/123Storage facilities
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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]

Landscapes

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

Description

本願における実施形態は、EXI(Efficient XML(Extensible Markup Language) Interchange)スキーマドキュメントのエンコーディングに関する。
XML(Extensible Markup Language)は、ドキュメントを、人間及び機械可読のプレーンテキストにエンコードする規則の集合を定義するマークアップ言語である。XMLの1つのバージョンが、W3C(World Wide Web Consortium)により2008年11月26日に制定されたXML1.0規格に定義されている。この規格の開示を引用することにより、その全てが本明細書に組み込まれる。XML1.0規格は、XMLドキュメントをテキストとして文法的に正しくかつ有効に定義している。
XMLスキーマは、XMLドキュメントのタイプを記述したものであり、具体的には、XML1.0規格による基本的な制約に追加する形で、そのタイプのドキュメントの構造及びコンテンツの制約に関する記述がなされている。これらの制約は、要素の順番を規定する文法的規則、コンテンツに関連するブール属性、要素及びアトリビュートのコンテンツを規定するデータタイプ、並びに特殊性(uniqueness)及び参照整合性制約(referential integrity constraints)の組合せによって規定される。よく普及しているスキーマ言語の1つの例として、XSD1.0規格として定義されているXSD(XMLスキーマ定義:XML Schema Definition)がある。この規格は、2012年4月5日にW3Cが制定している。この規格は、本明細書に参照により組み込まれる。
XMLドキュメントがXSDドキュメントに適合しているかをチェックするプロセスは、バリデーション(validation)と呼ばれる。これは、シンタクスとして文法的に正しいかについてのXMLのコアコンセプトとは異なるものである。全てのXMLドキュメントは、文法的に正しく定義されている。しかしながら、XMLプロセッサが「バリデーション」するとき、すなわち有効性のチェックをするときは、XMLドキュメントは、対応するXSDドキュメントに適合しているかがチェックされる。対応するXSDドキュメントの規定を満足する場合にのみ、XMLドキュメントは、正しいと判断される。
XMLおよびXSDドキュメントにおいて、人間が読むことができるというプレーンテキストの側面は、多くの場面において有用である。しかしながら、このような、人間が読めるという側面によって、XMLおよびXSDドキュメントは、サイズが大きくなり、しかも、メモリ又はストレージ容量に制限があるデバイスに適さない。したがって、XMLおよびXSDドキュメントのサイズを低減させる努力は、このような人間が読むことができるプレーンテキストの側面を犠牲にし、よりコンパクトな二進の表現が好まれることとなる
EXI(Efficient XML(Extensible Markup Language) Interchange)は、二進のXMLフォーマットである。EXIは、XMLドキュメントを、プレーンテキストではなく、バイナリにエンコードする、これは、バイナリXMLの努力のうちで、最も著名なものの1つである。一般的に、バイナリXMLフォーマットは、XMLドキュメントのサイズを低下させ、XMLドキュメントをパーシングする際の時間と労力の観点からのコストを低減させる。EXIは、2011年3月10日にW3Cが制定したEXIフォーマット1.0規格として正式に定義されている。この規格は、参照することにより、その全てはこの明細書に組み込まれる。XMLドキュメントは、別個のEXIドキュメントとして、EXIフォーマットにエンコードすることができる。XSDドキュメントは、別個のEXIスキーマドキュメントにエンコードすることができる。
XSDドキュメントは、EXIスキーマドキュメントにエンコードされ、このEXIスキーマドキュメントは、一般的に、バリデーションのタスクにおいて、様々なエンコードされたデータフィールドに含まれる。なお、このような様々なエンコードされたフィールドを有することによって、EXIスキーマドキュメントが、比較的大きなサイズになってしまう点が挙げられる。このように、比較的大きなサイズとなることによって、EXIスキーマドキュメントが、メモリ又はストレージ容量の制限があるデバイスに存在するEXIプロセッサに転送される際に問題が発生する。
本願の請求項に係る発明は、例えば、上述の環境においてのみ動作する場合における欠点を解決するための、本明細書の実施形態に限定されるものではない。むしろ、この背景は、本明細書に記載された幾つかの実施形態の技術分野の1つの例を単に示すために提供されるものである。
実施形態の一側面において、EXIスキーマドキュメントにおける単純型要素(simpleType element)のサイズを減少させる方法は、各単純型要素から、1つ以上のファセットを削除することによって、XSD(XMLスキーマ定義:XML Schema Definition)ドキュメントの単純型要素を修正するステップを有してもよい。本方法は、開始および終了タグで、XSD単純型要素から、エンコードされたビットのシーケンスとして表されたEXI単純型要素に、XSDドキュメントの各修正された単純型要素を変換することによって、XSDドキュメントをEXIスキーマドキュメントにエンコードするステップを有してもよい。
本実施形態の目的及び有利な効果は、少なくとも、請求項に記載された要素、特徴、及び実施形態によって実現される。
上述の一般的記述及び以下の詳細な説明は、例示的及び説明的記載であり、請求項に係る発明を限定するためのものではない点に留意すべきである。
例示的な実施形態は、添付の図面を参照しながら、追加的な特殊性及び詳細な説明によって記載され説明される。
EXI処理システムの例を示すブロック図である。
少なくとも幾つかの実施形態に従った例示的なEXIスキーマ単純型を示す図である。
EXIスキーマ単純型データタイプの従来例を示す図である。
図2のEXIスキーマデータタイプにおける付加的フィールドの例示的レイアウトを示す図である。
EXIスキーマドキュメントの単純型要素のサイズを減少させる例示的方法を示すフローチャートである。
図5Aの例示的方法の1ブロックの例の拡張されたフローチャートである。
XSDドキュメントの例を示す図である。
図2のEXIスキーマデータタイプの例に従ってエンコードされた図6のXSDドキュメントのアトミックブール単純型要素の例を示す図である。
図2のEXIスキーマデータタイプの例に従ってエンコードされた図6のXSDドキュメントのアトミック整数単純型要素の例を示す図である。
図2のEXIスキーマデータタイプの例に従ってエンコードされた図6のXSDドキュメントのアトミック文字列単純型要素の例を示す図である。
図3の従来のEXIスキーマデータタイプの例に従ってエンコードされた図6のXSDドキュメントのアトミック文字列要素の例を示す図である。 図3の従来のEXIスキーマデータタイプの例に従ってエンコードされた図6のXSDドキュメントのアトミック文字列要素の例を示す図である。 図3の従来のEXIスキーマデータタイプの例に従ってエンコードされた図6のXSDドキュメントのアトミック文字列要素の例を示す図である。
本明細書における幾つかの実施形態は、EXIスキーマドキュメントの単純型要素のサイズを減少させる方法を含む。例えば、本明細書における幾つかの実施形態は、バリデーションでない(non-validation)タスクにターゲットをあてたEXIスキーマドキュメントにおけるEXIスキーマドキュメントの単純型要素のサイズを減少させる方法を含む。バリデーションタスクは、バリデーション特有の単純型要素のデータフィールドを採用しているため、EXIスキーマドキュメントタイプ要素のサイズは、これらのバリデーション特有のデータフィールドを削除することによって、減少させることができる。
本明細書において「ドキュメント」とは、いかなる電子的ドキュメント、ストリーム、又はファイルをも意味する。したがって、本明細書において「EXIスキーマドキュメント」は、「EXIスキーマストリーム」又は「EXIスキーマファイル」と同義である。
本発明の実施形態について、図面を参照しながら説明する。
図1は、EXI処理システム100の例を示すブロック図である。EXI処理システム100は、EXIスキーマエンコーダ102及びEXIプロセッサ104を含む。EXIスキーマエンコーダの例、及びEXIプロセッサの例は、SourceForge.netが主催するOpenEXIプロジェクトに含まれている。本願の出願時におけるOpenEXIプロジェクトのソースコード及びドキュメントを引用することにより、その全てが本明細書に組み込まれる。EXIスキーマエンコーダ102は、XSDドキュメント106を入力として受け取るよう構成されており、かつ、XSDドキュメント106をEXIスキーマドキュメント108にエンコードする。例えば、OpenEXIのEXISchemaFactoryプロジェクトは、EXIスキーマエンコーダ102として採用することができる。EXIスキーマドキュメント108は、EXIプロセッサ104の入力として受け取られる。そして、これは、関連するXMLドキュメント110とその対応するEXIドキュメント112との間の変換に用いられる。このEXIプロセッサ104は、制限されたメモリ又はストレージを有するデバイスにおいて用いられてもよい。
図2は、本明細書における幾つかの実施形態に従ったEXIスキーマ単純型のデータタイプ200の例を示している。EXIスキーマデータタイプ200は、XSDドキュメント106をEXIスキーマドキュメント108にエンコードするときに、図1のEXIスキーマエンコーダ102によって用いられ得る。図示した実施形態において、EXIスキーマデータタイプ200は、8つのフィールドを有する。フィールドの各々は、メモリにおいて4バイトを占める。したがって、EXIスキーマデータタイプ200は、幾つかの実施形態において、メモリ上で32ビットを占める(すなわち、8フィールド×4バイト=32バイト)。EXIスキーマデータタイプ200の例における具体的なフィールドの数は、図2に示す他の実施形態の数とは異なり得る点に留意すべきである。更に、EXIスキーマデータタイプ200の例において、各フィールドが占めるメモリのバイトの数は、図2に示す他の実施形態の数とは異なり得る点に留意すべきである。
図3は、従来技術のEXIスキーマ単純型のデータタイプ300を示している。この従来技術のEXIスキーマ単純型のデータタイプ300は、23フィールドを含み、その各々は、メモリ上で4バイトを占める。したがって、従来技術のスキーマ単純型のデータタイプ300は、メモリ上で92バイトを占めることになる(すなわち、23フィールド×4バイト=92バイト)。したがって、EXIスキーマ単純型のデータタイプ200の例は、従来技術のEXIスキーマ単純型のデータタイプ300の例よりも65%メモリを少なく占有することとなる(すなわち、100%−32バイト/92バイト=65%)。EXIスキーマ単純型のデータタイプ200の例による低減は、エンコードされたEXIスキーマにおける単純型要素のサイズを減少させる。このメモリの量の減少は、もっぱら各単純型要素から、様々なバリデーション特有のファセットを削除することによって達成される。本明細書において「ファセット」の語は、EXIフォーマット1.0規格で定義されたファセットを意味する。
例えば、EXIスキーマ単純型のデータタイプ200の例と、従来技術のEXIスキーマ単純型のデータタイプ300との比較をすれば、XSDドキュメントの各単純型要素から、様々なファセットが削除できることが分かる。そして、XSDドキュメントがEXIスキーマドキュメントにエンコードされた場合、これらのファセットの以前の削除によって、EXIスキーマドキュメントの各シングルタイプ要素のサイズの削減が達成される。エンコードされたEXIスキーマドキュメントは、XMLバリデーション以外のタスクに利用することができる。バリデーションでないタスクの例としては、これに限られるものではないが、XMLドキュメントをEXIドキュメントにエンコードすること、XMLドキュメントをEXIドキュメントからデコードすること、XMLドキュメントをカンマスペース値(CSV)ドキュメント、フラットファイルドキュメント、又はJavaScript(登録商標)オブジェクトノーテーション(JSON)ドキュメントにエンコードすること、及びXMLドキュメントをCSVドキュメントに、CSVドキュメント、フラットファイルドキュメント、又はJSONドキュメントからデコードすることが含まれる。
EXIスキーマ単純型のデータタイプ200の例と、従来技術のEXIスキーマ単純型のデータタイプ300との比較で述べたように、削除されたファセットは、文字数(length)、最小長(minLenght)、最大長(maxLenght)、正規表現(pattern)、値を含む最大値(maxInclusive)、値を含まない最大値(maxExclusive)、値を含まない最小値(minExclusive)、桁数の最大値(totalDigits)及び少数部の桁数の最大値(fractionDigits)が含まれる。加えて、削除されたファセットは、更に、境界型整数である整数アトミックの種類である単純型要素以外の各単純型要素に対する値を含む最小値(minInclusive)が更に含まれる。更に、削除されたファセットは、文字列アトミックの種類である単純型要素以外の各単純型要素に対するホワイトスペース(whitespace)を含む。
特定のファセットを完全に削除する代わりに、むしろファセットのサイズを減少させ、かつ、コンポジット付加的フィールド(composite auxiliary field)に他のファセットと結合させることができる。これによって、ファセットの部分を維持し、対応する単純型要素のサイズを全体的に減少させる目的を達成することができる。図4は、EXIスキーマ単純型のデータタイプ200の例におけるSIMPLE_TYPE_AUXフィールドのレイアウト400の例を示している。レイアウト400の例示は、32ビットを含んでおり、単純型要素の種類に従って、対応するデータ値にエンコードする様々なデータフィールドとして利用される。例えば、レイアウト400の例のデータフィールドは、少なくとも様々なファセット値の少なくとも一部をエンコードするために用いられる。これによって、全てのファセット値は格納しないことによって、使用されるメモリの量を減少させることができる。
例えば、レイアウト400の例は、全ての単純型要素の種類(varieties)に対して、2ビットの様々なフィールドを含む。この例としては、リスト、ユニオン、及びアトミックの種類を含む。単純型要素が、アトミックのいずれかの種類である場合、レイアウト400の例は、1ビットの一覧存在フィールド(enumeration presence field)と5ビットの祖先識別フィールド(ancestry identifier field)単純型要素が、ブールアトミックの種類である場合、レイアウト400の例は、1ビットのパターン存在フィールド(pattern presence field)を更に含む。単純型要素が、文字列アトミックの種類である場合、レイアウト400の例は、2ビットのホワイトスペースフィールド(whitespace field)及び8ビットの制限された文字列フィールド(restricted characters field)を含む。単純型要素が、整数アトミックの種類である場合、レイアウト400の例は、8ビットの整数幅フィールド(integer width field)及び16ビットの値を含む最小値ポインタフィールド(minInclusive pointer field)を更に含むレイアウト400の例における各フィールドの具体的なビットの数は、図4に示す数とは異なってもよい。
図5Aは、本明細書に記載された少なくとも幾つかの実施形態に従って構成された、EXIスキーマドキュメントにおける単純型要素のサイズを減少させる方法500の例のフローチャートを示している。幾つかの実施形態において、図1のEXI処理システム100等のEXI処理システムによって、方法500はインプリメントされ得る。例えば、図1のEXI処理システム100のEXIスキーマエンコーダ102は、コンピュータ命令を実行するよう構成することができる。この命令によって、単純型要素のサイズを、XSDドキュメント106から減少させる。この処理は、単純型要素をEXIスキーマドキュメント108にエンコードする際に行われる。この処理は、方法500のブロック502、504、506、及び/又は、550の1つ以上のブロックによって示されている。この図では、別個のブロックとして記載されているが、様々なブロックは、追加的なブロックに分割され得る。また、これらは、より少ないブロックに統合され得る。また、削除されてもよい。なお、この点は、方法のインプリメンテーションに依存する。図5A及び図1を参照しながら、方法500を説明する。
方法500は、ブロック502から開始される。ここで、XSDドキュメントにおける単純型要素が特定される。例えば、EXIスキーマエンコーダ102は、XSDドキュメント106をパーシングし、XSDドキュメント106における各単純型要素を特定する。
オプショナルブロック504において、XSDドキュメントの各単純型要素は、XSDドキュメントの各単純型要素から1つ以上のファセットを削除することによって修正される。例えば、EXIスキーマエンコーダ102は、XSDドキュメントの各単純型要素から1つ以上のファセットを削除することができる。上述のように、少なくとも幾つかの実施形態において、これらの削除されたファセットは、各単純型要素からのバリデーション特有のファセットを含む。これについては、既にその例をリストとして示した。
ブロック506で、XSDドキュメントの各修正された単純型要素は、XSD単純型要素から、エンコードされたEXI単純型要素に変換される。例えば、EXIスキーマエンコーダ102は、XSDドキュメント106のスタート及びエンドタグで各修正された単純型要素を、エンコードされたEXIスキーマドキュメント108のビットのシーケンスとして、エンコードされたEXI単純型要素に変換する。
オプショナルブロック550で、XSDドキュメントの各単純型要素の1つ以上のフィールドは、エンコードされたEXI単純型要素の1つの固定長付加フィールド(auxiliary field)にエンコードされる。例えば、EXIスキーマエンコーダ102は、XSDドキュメント106の各単純型要素の1つ以上のフィールドを、エンコードされたEXIスキーマドキュメント108の対応するエンコードされたEXI単純型要素の固定長付加フィールドにエンコードすることができる。固定長付加フィールドは、図4のレイアウト400の例のSIMPLE_TYPE_AUXフィールドである。
図5Bは、図5Aの方法500の例のブロック550の例示的方法(以下、「方法550」と言う)の拡張されたフローチャートである。方法550は、図5B、図1、及び図4を参照しながら以下に説明する。
方法550は、ブロック552から開始する。ここにおいて、単純型要素の種々の値が保存される。例えば、EXIスキーマエンコーダ102は、XSDドキュメント106の単純型要素の種々の値を保存することができる。これは、EXIスキーマドキュメント108のレイアウト400の例の2ビットの種類のフィールドに格納される。
判断ブロック554で、単純型要素が、ユニオン、リスト、又はアトミックの種類であるかが判断される。単純型要素が、ユニオン又はリストの種類(判断ブロック504における「ユニオン又はリスト」)である場合、方法500は終了する。単純型要素が、アトミックの種類(判断ブロック504における「アトミック」)である場合、方法550は、ブロック556に進む。例えば、EXIスキーマエンコーダ102は、XSDドキュメント106の単純型要素の種類を検査し、これによって、単純型要素が、ユニオン、リスト、又はアトミックの種類であるか否かを判断する。
ブロック556で、単純型要素の一覧存在値(enumeration presence value)及び祖先識別値(ancestry identifier value)が保存される。例えば、EXIスキーマエンコーダ102は、単純型要素の一覧存在値を、EXIスキーマドキュメント108のレイアウト400の例の、1ビット一覧存在フィールドに保存し、単純型要素の祖先識別値を、5ビット祖先識別フィールドに保存する。
判断ブロック558において、単純型要素がブールアトミックの種類であるか否かが判断される。例えば、EXIスキーマエンコーダ102は、XSDドキュメント106の単純型要素の種類を検査し、これによって、単純型要素がブールアトミックの種類であるか否かを判断する。これが肯定的である場合(判断ブロック558で「はい」)、方法550は、ブロック560に進む、ここで、パターン存在値(pattern presence value)が保存される。例えば、EXIスキーマエンコーダ102は、単純型要素のこのパターン存在値を、EXIスキーマドキュメント108のレイアウト400の例の1ビットのパターン存在フィールドに保存することができる。これが否定的である場合(判断ブロック558で「いいえ」)、方法550は、判断ブロック562に進む。
判断ブロック562において、単純型要素が文字列アトミックの種類であるか否かが判断される。例えば、EXIスキーマエンコーダ102は、XSDドキュメント106の単純型要素の種類を検査し、これによって、単純型要素が文字列アトミックの種類であるか否かが判断される。これが肯定的である場合(判断ブロック562で、「はい」)、方法550は、ブロック564に進む。ここで、ホワイトスペース値及び制限された文字列の値が保存される。例えば、EXIスキーマエンコーダ102は、EXIスキーマドキュメント108のレイアウト400の例の、2ビットのホワイトスペースフィールドに、単純型要素のホワイトスペース値を格納し、8ビットの制限された文字列フィールドに、単純型要素の制限された文字列の値を保存する。これが否定的である場合(判断ブロック562で、「いいえ」)、方法550は、判断ブロック566に進む。
判断ブロック566で、単純型要素が整数アトミックの種類であるか否かが判断される。例えば、EXIスキーマエンコーダ102は、XSDドキュメント106の単純型要素の種類を検査することができる。これによって、単純型要素が整数アトミックの種類であるか否かが判断される。これが肯定的である場合(判断ブロック566で、「はい」)、方法550は、ブロック568に進む。ここで、整数幅の値及び値を含む最小値(minInclusive)ポインタ値が保存される。例えば、EXIスキーマエンコーダ102は、単純型要素の整数幅の値を、EXIスキーマドキュメント108のレイアウト400の例の、8ビットのフィールドに保存し、単純型要素の値を含む最小値(minInclusive)ポインタ値を、16ビットの制限された文字列フィールドに保存する。もし否定的であれば(判断ブロック566で、「いいえ」)、方法550は、終了する。
図6は、XMLスキーマ定義(XSD)ドキュメント600を示している。XSDドキュメント600の例は、アトミックブール単純型要素602、アトミック整数単純型要素604、及びアトミック文字列単純型要素606を定義している。単純型要素602、604、及び606の各々は、開始終了「xsd:simpleType」タグを含んでいる。このXSDドキュメント600は、ASCIIテキストのプレーンテキストで人間が読めるドキュメントである。ここで、ASCIIキャラクタは、メモリにおいて1バイトを占める。したがって、図1のEXIスキーマドキュメント108等の、EXIスキーマドキュメントがエンコードされる前に、XSDドキュメント600は、メモリにおいて650バイトを占めている。これに含まれる単純型要素602、604、及び606の各々は、160バイト以上をメモリにおいて占有している。
図7は、図6のXSDドキュメント600のアトミックブール単純型要素602の例を示している。これは、図2のEXIスキーマデータタイプ200の例に従ってエンコードされた単純型要素700として示されている。図8は、図6のXSDドキュメント600のアトミック整数単純型要素604の例を示している。これは、図2のEXIスキーマデータタイプ200の例に従ってエンコードされた単純型要素800として示されている。図9は、図6のXSDドキュメント600のアトミック文字列単純型要素606の例を示している。これは、図2のEXIスキーマデータタイプ200の例に従ってエンコードされた単純型要素900として示されている。
図7、8、及び9に示されるように、図1の例えばEXIスキーマドキュメント108のように、EXIスキーマドキュメントにエンコードされると、エンコードされた単純型要素700、800、及び900は、わずか32ビットを占める。したがって、図6のXSDドキュメント600のエンコードされていない単純型要素602、604、及び606(上述のようにこれらは、メモリにおいて、それぞれ160バイト以上を占める)と比較して、エンコードされた単純型要素700、800、及び900の各々は、メモリ上で80%少ないスペースしか占めない(すなわち、100%−32バイト/160バイト=80%)。
図10Aないし図10Cは、図3の従来技術のEXIスキーマデータタイプに従って、エンコードされた単純型要素1000として、図6のXSDドキュメントのアトミック文字列単純型要素606の例を示している。図10Aないし図10Cに示されるように、EXIスキーマドキュメントにエンコードされると、エンコードされた単純型要素1000は、88バイトを占めることとなる。したがって、例示的実施形態に従ってエンコードされた図9のエンコードされた単純型要素900と比して、従来技術の図10Aないし図10Cのエンコードされた単純型要素1000は、2.75倍のスペースをメモリ上で占めることとなる。
したがって、本明細書において開示された実施形態は、EXIスキーマドキュメントがバリデーションでないタスクをターゲットにしたEXIスキーマドキュメントにおける単純型要素のサイズを減少させる方法を含んでいる。バリデーションタスクは、単純型要素のバリデーション特有のデータフィールドを導入しているため、EXIスキーマドキュメントがバリデーションでないタスクをターゲットにしている場合、バリデーション特有のデータフィールドを削除することによって、EXIスキーマドキュメントにおける単純型要素のサイズを減少させることができる。したがって、本明細書に開示された実施形態は、より効率的なスキーマ情報の交換を行うことができる。これは、特にメモリ又はストレージ容量が限られたデバイスに対して効果をもたらす。
本明細書において開示された実施形態は、専用又は汎用のコンピュータを含む。例えば、以下に詳述する様々なコンピュータハードウエア又はソフトウエアモジュールが含まれる。
本明細書に記載された実施形態は、コンピュータが実行可能な命令又はデータ構造を格納するコンピュータ可読の媒体にインプリメントすることができる。このようなコンピュータ可読の媒体は、汎用的又は特定用途のコンピュータがアクセスできるいかなる利用可能な媒体であってもよい。非制限的な例を示せば以下の通りである。コンピュータ可読の媒体としては、RAM、ROM、EEPROM、CD−ROM、又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気ストレージデバイス、又はその他のストレージ媒体を含む、非一時的なコンピュータ可読のストレージ媒体が含まれる。この媒体は、目的のプログラムコードをコンピュータ可読命令又はデータ構造の形式で保存し、汎用又は専用コンピュータによりアクセスできるよう用いられるストレージ媒体のいかなるものもこれらに含まれる。上述の媒体の複合も、コンピュータ可読媒体の範囲に包含される。
コンピュータが実行可能な命令は、例えば、汎用コンピュータ又は専用コンピュータ、専用処理デバイスを特定の機能または機能のグループを実行させる命令を含む。発明の主題は、構造の特徴、及び/又は、方法の手順によって明記したが、添付の請求項に係る発明の技術的範囲は、上述の特定の特徴又は手順に限定されるものでない点に留意すべきである。むしろ、上述の特定の特徴及び手順は、請求項をインプリメントする形態の例を示したものである。
ここで用いられているように、「モジュール」又は「コンポーネント」は、コンピューティングシステムを実行させるソフトウエアオブジェクト又はルーチンを示すものである。ここに記載されている異なるコンポーネント、モジュール、エンジン、及びサービスは、コンピューティングシステムを実行させるオブジェクト又はプロセスとして(例えば、異なるスレッドとして)インプリメントすることができる。ここに記載されているシステム及び方法は、好ましくはソフトウエアによってインプリメントされ得るが、ハードウエアによるインプリメンテーション、又はソフトウエアとハードウエアとの組合せによるインプリメンテーションも、もちろん可能であり、そのようにしてもよい。本記述において、「コンピューティングエンティティ」は、本明細書において定義された、いかなるコンピューティングシステムであってもよい。また、コンピュータシステムにおいて実行される、いかなるモジュール、又はモジュールの組合せであってもよい。
本明細書における、全ての実施形態、及び限定的な表現は、説明を目的とするものであり、この明細書を読む者に対して発明及び発明者が技術を発展させるためにもたらされたコンセプトの理解を助けるためのものである。しかも、このような実施形態及び条件は、限定することを目的とするものと解してはならない。以上のように、実施形態を詳述したが、これらに対して、発明の技術的範囲及び精神を逸脱しない範囲で、変形、置換、及び変更がなされ得ることを理解すべきである。

Claims (20)

  1. コンピュータが、EXI(Efficient XML(Extensible Markup Language) Interchange)スキーマドキュメントにおける単純型要素(simpleType element)のサイズを減少させる方法であって:
    各単純型要素から、1つ以上のバリデーション特有のファセットを削除することによって、XSD(XML Schema Definition)ドキュメントの各単純型要素を修正するステップと;
    開始および終了タグで、XSD単純型要素から、エンコードされたビットのシーケンスとして表されたEXI単純型要素に、前記XSDドキュメントの各修正された単純型要素を変換することによって、XSDドキュメントをEXIスキーマドキュメントにエンコードするステップと;
    を有し、
    前記1つ以上のバリデーション特有のファセットの各々は、前記XSDにドキュメントが適合していることをバリデーションするように導入されたファセットを含む、
    方法。
  2. XMLバリデーション以外のタスクにおいて、前記エンコードされたEXIスキーマドキュメントを用いるステップ、を更に有する請求項1記載の方法。
  3. XMLドキュメントをEXIドキュメントにエンコードするタスクにおいて、エンコードされたEXIスキーマドキュメントを利用するステップ、を更に有する、請求項1記載の方法。
  4. XMLドキュメントをEXIドキュメントからデコードするタスクにおいて、エンコードされたEXIスキーマドキュメントを利用するステップ、を更に有する請求項1記載の方法。
  5. XMLドキュメントを、カンマ分離値(CSV)ドキュメント、フラットファイルドキュメント、又はJavaScriptオブジェクトノーテーション(JSON)ドキュメント、にエンコードするタスクにおいて、エンコードされたEXIスキーマドキュメントを利用するステップ、を更に有する請求項1記載の方法。
  6. XMLドキュメントを、カンマ分離値(CSV)ドキュメント、フラットファイルドキュメント、又はJavaScriptオブジェクトノーテーション(JSON)ドキュメント、からデコードするタスクに、エンコードされたEXIスキーマドキュメントを、利用するステップ、を更に有する請求項1記載の方法。
  7. 前記削除された1つ以上のバリデーション特有のファセットは、全ての種類の単純型要素に対する、文字数(length)、最小長(minLenghth)、最大長(maxLenght)、正規表現(pattern)、値を含む最大値(maxInclusive)、値を含まない最大値(maxExclusive)、値を含まない最小値(minExclusive)、桁数の最大値(totalDigits)、及び少数部の桁数の最大値(fractionDigits)を含み、
    前記削除された1つ以上のバリデーション特有のファセットは、境界型整数である単純型要素の整数アトミックの種類以外の各単純型要素に対する、値を含む最小値(minInclusive)を更に含み、
    前記削除された1つ以上のバリデーション特有のファセットは、単純型要素の文字列アトミックの種類以外の各単純型要素に対するホワイトスペースを更に含む、
    請求項1記載の方法。
  8. 請求項1記載の方法を、コンピュータに実行させるプログラム。
  9. コンピュータが、EXI(Efficient XML(Extensible Markup Language) Interchange)スキーマドキュメントにおける単純型要素(simpleType element)のサイズを減少させる方法であって:
    XSD(XML Schema Definition)ドキュメントの各単純型要素を特定するステップと;
    開始および終了タグで、XSD単純型要素から、エンコードされたビットのシーケンスとして表されたEXI単純型要素に、XSDドキュメントの各特定された単純型要素を変換することによって、XSDドキュメントをEXIスキーマドキュメントにエンコードするステップであって、前記エンコードするステップは、各特定された単純型要素に対して:
    ユニオン又はリストの種類の単純型要素に対する種類フィールド;
    ブールアトミックの種類の単純型要素に対する、種類フィールド、一覧存在フィールド、祖先識別フィールド、及びパターン存在フィールド;
    文字列アトミックの種類の単純型要素に対する、種類フィールド、一覧存在フィールド、祖先識別フィールド、ホワイトスペースフィールド、及び制限された文字列フィールド;
    整数アトミックの種類の単純型要素に対する、種類フィールド、一覧存在フィールド、祖先識別フィールド、整数幅フィールド、及び値を含む最小値(minInclusive)ポインタフィールド;又は
    その他のアトミックの種類の単純型要素に対する、種類フィールド、一覧存在フィールド、及び祖先識別フィールド;
    を単一の固定長付加フィールドにエンコードする、ステップと;
    を有する方法。
  10. 前記単一の固定長付加フィールドの長さは、4バイトである、請求項9記載の方法。
  11. 各種類フィールド及び各ホワイトスペースフィールドは、2ビットの長さを有し;
    各一覧存在フィールド及び各パターン存在フィールドは、1ビットの長さを有し;
    各祖先識別フィールドは、5ビットの長さを有し;
    各制限された文字列フィールドは、8ビットの長さを有し;
    各整数幅フィールドは、8ビットの長さを有し;
    各値を含む最小値(minInclusive)ポインタフィールドは、16ビットの長さを有する;
    請求項10記載の方法。
  12. 前記エンコードされたEXIスキーマドキュメントを、XMLバリデーション以外のタスクにおいて利用するステップ、を更に有する請求項9記載の方法。
  13. XMLドキュメントを、EXIドキュメント、カンマ分離値(CSV)ドキュメント、フラットファイルドキュメント、又はJavaScriptオブジェクトノーテーション(JSON)ドキュメント、にエンコードするタスクにおいて、前記エンコードされたEXIスキーマドキュメントを利用するステップ、を更に有する請求項12記載の方法。
  14. XMLドキュメントを、EXIドキュメント、カンマ分離値(CSV)ドキュメント、フラットファイルドキュメント、又はJavaScriptオブジェクトノーテーション(JSON)ドキュメント、からデコードするタスクに、前記エンコードされたEXIスキーマを利用するステップ、を更に有する請求項12記載の方法。
  15. 前記XSDドキュメントをEXIスキーマドキュメントにエンコードする前に、前記XSDドキュメントの各特定された単純型要素から、1つ以上のファセットを削除するステップ、を更に有する請求項12記載の方法。
  16. 削除された1つ以上のファセットは、全ての種類の単純型要素に対する、文字数(length)、最小長(minLenghth)、最大長(maxLenght)、正規表現(pattern)、値を含む最大値(maxInclusive)、値を含まない最大値(maxExclusive)、値を含まない最小値(minExclusive)、桁数の最大値(totalDigits)、及び少数部の桁数の最大値(fractionDigits)を含み、
    前記削除された1つ以上のファセットは、境界型整数である整数アトミックの種類の単純型要素以外の各単純型要素に対する値を含む最小値(minInclusive)を更に含み、
    前記削除された1つ以上のファセットは、文字列アトミックの種類の単純型要素以外の各単純型要素に対するホワイトスペースを更に含む、
    請求項14記載の方法。
  17. 請求項9記載の方法を、コンピュータに実行させるプログラム。
  18. EXI(Efficient XML(Extensible Markup Language) Interchange)スキーマドキュメントにおける単純型要素(simpleType element)のサイズを減少させる方法をコンピュータに実行させるプログラムを実行するプロセッサを含むEXIエンコーダを含むシステムであって、前記方法は、:
    各単純型要素から、1つ以上のファセットを削除することによって、XSD(XML Schema Definition)ドキュメントの各単純型要素を修正するステップと;
    開始および終了タグで、XSD単純型要素から、エンコードされたビットのシーケンスとして表されたEXI単純型要素に、前記XSDドキュメントの各修正された単純型要素を変換することによって、XSDドキュメントをEXIスキーマドキュメントにエンコードするステップであって、前記エンコードするステップは、各修正された単純型要素に対して:
    ユニオン又はリストの種類の単純型要素に対する種類フィールド;
    ブールアトミックの種類の単純型要素に対する、種類フィールド、一覧存在フィールド、祖先識別フィールド、及びパターン存在フィールド;
    文字列アトミックの種類の単純型要素に対する、種類フィールド、一覧存在フィールド、祖先識別フィールド、ホワイトスペースフィールド、及び制限された文字列フィールド;
    整数アトミックの種類の単純型要素に対する、種類フィールド、一覧存在フィールド、祖先識別フィールド、整数幅フィールド、及び値を含む最小値(minInclusive)ポインタフィールド;又は
    その他のアトミックの種類の単純型要素に対する、種類フィールド、一覧存在フィールド、及び祖先識別フィールド;
    を単一の固定長付加フィールドにエンコードする、ステップと;
    を有する、
    システム。
  19. 削除された1つ以上のファセットは、全ての種類の単純型要素に対する、文字数(length)、最小長(minLenghth)、最大長(maxLenght)、正規表現(pattern)、値を含む最大値(maxInclusive)、値を含まない最大値(maxExclusive)、値を含まない最小値(minExclusive)、桁数の最大値(totalDigits)、及び少数部の桁数の最大値(fractionDigits)を含み、
    前記削除された1つ以上のファセットは、境界型整数である整数アトミックの種類の単純型要素以外の各単純型要素に対する値を含む最小値(minInclusive)を更に含み、
    前記削除された1つ以上のファセットは、文字列アトミックの種類の単純型要素以外の各単純型要素に対するホワイトスペースを更に含む、
    請求項18記載のシステム。
  20. 前記付加フィールドは、4バイトの長さを含み:
    ユニオン又はリストの種類の単純型要素に対する2ビット種類フィールド;
    ブールアトミックの種類の単純型要素に対する、2ビット種類フィールド、1ビット一覧存在フィールド、5ビット祖先識別フィールド、及び1ビットパターン存在フィールド;
    文字列アトミックの種類の単純型要素に対する、2ビット種類フィールド、1ビット一覧存在フィールド、5ビット祖先識別フィールド、2ビットホワイトスペースフィールド、及び8ビットの制限された文字列フィールド;
    整数アトミックの種類の単純型要素に対する、2ビット種類フィールド、1ビット一覧存在フィールド、5ビット祖先識別フィールド、8ビット整数幅フィールド、及び16ビットの値を含む最小値(minInclusive)ポインタフィールド;又は
    その他の種類の単純型要素に対する、2ビット種類フィールド、1ビット一覧存在フィールド、及び5ビット祖先識別フィールド;
    を有する、請求項18記載のシステム。
JP2013149681A 2012-07-20 2013-07-18 Exiスキーマ・ドキュメント・エンコーディング Expired - Fee Related JP6191297B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/554,862 US9128912B2 (en) 2012-07-20 2012-07-20 Efficient XML interchange schema document encoding
US13/554,862 2012-07-20

Publications (2)

Publication Number Publication Date
JP2014021990A JP2014021990A (ja) 2014-02-03
JP6191297B2 true JP6191297B2 (ja) 2017-09-06

Family

ID=49947621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013149681A Expired - Fee Related JP6191297B2 (ja) 2012-07-20 2013-07-18 Exiスキーマ・ドキュメント・エンコーディング

Country Status (2)

Country Link
US (1) US9128912B2 (ja)
JP (1) JP6191297B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012128830A2 (en) * 2011-03-24 2012-09-27 Okeefe Kevin J System and mehtod for information exchange and processing
US9128912B2 (en) * 2012-07-20 2015-09-08 Fujitsu Limited Efficient XML interchange schema document encoding
US9639631B2 (en) * 2013-02-27 2017-05-02 Cellco Partnership Converting XML to JSON with configurable output
US10306490B2 (en) * 2016-01-20 2019-05-28 Netscout Systems Texas, Llc Multi KPI correlation in wireless protocols
JP6147387B1 (ja) * 2016-03-30 2017-06-14 株式会社リクルートライフスタイル 音声翻訳システム、その制御方法および音声翻訳プログラム
US10606891B2 (en) * 2017-02-28 2020-03-31 Fujitsu Limited JSON data validation
US10977221B2 (en) * 2017-10-20 2021-04-13 Hewlett Packard Enterprise Development Lp Encoding of data formatted in human-readable text according to schema into binary
US11379497B2 (en) 2018-06-21 2022-07-05 At&T Intellectual Property I, L.P. Data model database

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7798417B2 (en) * 2000-01-03 2010-09-21 Snyder David M Method for data interchange
US7111076B2 (en) * 2000-04-13 2006-09-19 Intel Corporation System using transform template and XML document type definition for transforming message and its reply
US7500017B2 (en) * 2001-04-19 2009-03-03 Microsoft Corporation Method and system for providing an XML binary format
US8181164B1 (en) * 2001-06-29 2012-05-15 Versata Development Group, Inc. Method and apparatus for extensibility of user interface binding definitions
US7165239B2 (en) * 2001-07-10 2007-01-16 Microsoft Corporation Application program interface for network software platform
CA2432658C (en) * 2003-06-17 2008-04-01 Ibm Canada Limited - Ibm Canada Limitee Simple types in xml schema complex types
US7581177B1 (en) * 2003-08-01 2009-08-25 Microsoft Corporation Conversion of structured documents
US7587667B2 (en) * 2003-09-04 2009-09-08 Oracle International Corporation Techniques for streaming validation-based XML processing directions
US20050091346A1 (en) * 2003-10-23 2005-04-28 Brijesh Krishnaswami Settings management infrastructure
US7313756B2 (en) * 2003-12-15 2007-12-25 Microsoft Corporation Schema editor extensions
US7603654B2 (en) * 2004-03-01 2009-10-13 Microsoft Corporation Determining XML schema type equivalence
US20060059169A1 (en) * 2004-08-13 2006-03-16 Sergey Armishev Method and system for extensible automated data testing using scriptlets
US7475093B2 (en) * 2004-10-15 2009-01-06 Microsoft Corporation Memory cache management in XML/relational data mapping
US8458467B2 (en) * 2005-06-21 2013-06-04 Cisco Technology, Inc. Method and apparatus for adaptive application message payload content transformation in a network infrastructure element
US7500184B2 (en) * 2005-02-11 2009-03-03 Fujitsu Limited Determining an acceptance status during document parsing
US8996991B2 (en) * 2005-02-11 2015-03-31 Fujitsu Limited System and method for displaying an acceptance status
US20060212799A1 (en) * 2005-02-11 2006-09-21 Fujitsu Limited Method and system for compiling schema
US7735001B2 (en) * 2005-02-11 2010-06-08 Fujitsu Limited Method and system for decoding encoded documents
US7509574B2 (en) * 2005-02-11 2009-03-24 Fujitsu Limited Method and system for reducing delimiters
US20060184547A1 (en) * 2005-02-11 2006-08-17 Fujitsu Limited Method and system for fast encoding of data documents
US8024353B2 (en) * 2005-02-11 2011-09-20 Fujitsu Limited Method and system for sequentially accessing compiled schema
US7630997B2 (en) * 2005-03-23 2009-12-08 Microsoft Corporation Systems and methods for efficiently compressing and decompressing markup language
US7606781B2 (en) * 2005-03-30 2009-10-20 Primal Fusion Inc. System, method and computer program for facet analysis
US20070061706A1 (en) * 2005-09-14 2007-03-15 Microsoft Corporation Mapping property hierarchies to schemas
US20070143664A1 (en) * 2005-12-21 2007-06-21 Motorola, Inc. A compressed schema representation object and method for metadata processing
US7933928B2 (en) * 2005-12-22 2011-04-26 Oracle International Corporation Method and mechanism for loading XML documents into memory
US7593949B2 (en) * 2006-01-09 2009-09-22 Microsoft Corporation Compression of structured documents
US7992081B2 (en) * 2006-04-19 2011-08-02 Oracle International Corporation Streaming validation of XML documents
US20080104579A1 (en) * 2006-10-31 2008-05-01 Sap Ag Systems and methods of transforming XML schemas
US8909599B2 (en) * 2006-11-16 2014-12-09 Oracle International Corporation Efficient migration of binary XML across databases
US7886223B2 (en) * 2006-11-17 2011-02-08 International Business Machines Corporation Generating a statistical tree for encoding/decoding an XML document
US8341514B2 (en) * 2007-01-31 2012-12-25 Microsoft Corporation Using static data in a markup language
JP4429329B2 (ja) * 2007-02-16 2010-03-10 キヤノン株式会社 符号化装置及びその制御方法、復号装置及びその制御方法、プログラム、記憶媒体
US7747558B2 (en) * 2007-06-07 2010-06-29 Motorola, Inc. Method and apparatus to bind media with metadata using standard metadata headers
US8250062B2 (en) * 2007-11-09 2012-08-21 Oracle International Corporation Optimized streaming evaluation of XML queries
JP5379372B2 (ja) * 2007-11-15 2013-12-25 キヤノン株式会社 データ圧縮装置、データ伸長装置およびデータ圧縮方法
US8185565B2 (en) * 2007-11-16 2012-05-22 Canon Kabushiki Kaisha Information processing apparatus, control method, and storage medium
JP2009128945A (ja) * 2007-11-19 2009-06-11 Canon Inc データ処理装置及び方法並びにプログラム
US9842090B2 (en) * 2007-12-05 2017-12-12 Oracle International Corporation Efficient streaming evaluation of XPaths on binary-encoded XML schema-based documents
US20090198722A1 (en) * 2008-01-31 2009-08-06 Stephen Michael Hanson System and method for deriving the minimum number of bytes required to represent numeric data with different physical representations
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.
US8850309B2 (en) * 2008-03-27 2014-09-30 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
FR2930660A1 (fr) * 2008-04-25 2009-10-30 Canon Kk Procede d'acces a une partie ou de modification d'une partie d'un document xml binaire, dispositifs associes.
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
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.
US8606806B2 (en) * 2008-07-25 2013-12-10 Microsoft Corporation Static typing of xquery expressions in lax validation content
US9122669B2 (en) * 2008-08-29 2015-09-01 Sap Se Flat schema integrated document oriented templates
US8806357B2 (en) * 2008-08-29 2014-08-12 Sap Ag Plug-ins for editing templates in a business management system
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
DE102009015734A1 (de) * 2009-03-31 2010-10-07 Siemens Aktiengesellschaft Komprimierungsverfahren, Dekomprimierungsverfahren, Komprimierungseinheit, Dekomprimierungseinheit sowie komprimiertes Dokument
US9253020B2 (en) * 2009-06-11 2016-02-02 International Business Machines Corporation Web service interaction in a dynamically extensible business application
US8713426B2 (en) * 2009-06-25 2014-04-29 Oracle International Corporation Technique for skipping irrelevant portions of documents during streaming XPath evaluation
US8156213B1 (en) * 2009-07-27 2012-04-10 Juniper Networks, Inc. Merging network device configuration schemas
JP5671320B2 (ja) * 2009-12-18 2015-02-18 キヤノン株式会社 情報処理装置及びその制御方法並びにプログラム
EP2646935B1 (en) * 2010-11-30 2015-08-05 Nokia Technologies Oy Method and apparatus for coordinating information request messages over an ad-hoc mesh network
US8949207B2 (en) * 2010-12-09 2015-02-03 Canon Kabushiki Kaisha Method and apparatus for decoding encoded structured data from a bit-stream
US20120159306A1 (en) * 2010-12-15 2012-06-21 Wal-Mart Stores, Inc. System And Method For Processing XML Documents
US9075493B2 (en) * 2011-03-07 2015-07-07 Sas Institute, Inc. Techniques to present hierarchical information using orthographic projections
JP5166565B2 (ja) * 2011-03-28 2013-03-21 株式会社東芝 Exiエンコーダおよびプログラム
US8732212B2 (en) * 2011-07-12 2014-05-20 International Business Machines Corporation System for simplifying an XML-based schema
KR20130030681A (ko) * 2011-09-19 2013-03-27 한국전자통신연구원 구조화된 데이터의 부호화 및 복호화 방법과 그 장치
JP2013089183A (ja) * 2011-10-21 2013-05-13 Toshiba Corp Exiデコーダおよびプログラム
JP5670859B2 (ja) * 2011-10-21 2015-02-18 株式会社東芝 記述方法、exiデコーダおよびプログラム
US8706884B2 (en) * 2012-06-19 2014-04-22 Canon Kabushiki Kaisha Method and system for generating and using an augmented bloom filter
US9128912B2 (en) * 2012-07-20 2015-09-08 Fujitsu Limited Efficient XML interchange schema document encoding
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
JP2014182461A (ja) * 2013-03-18 2014-09-29 Toshiba Corp 通信装置、通信方法、通信システム、およびプログラム
JP2014191613A (ja) * 2013-03-27 2014-10-06 Toshiba Corp エンコーダ、エンコード方法及びプログラム

Also Published As

Publication number Publication date
US20140026029A1 (en) 2014-01-23
JP2014021990A (ja) 2014-02-03
US9128912B2 (en) 2015-09-08

Similar Documents

Publication Publication Date Title
JP6191297B2 (ja) Exiスキーマ・ドキュメント・エンコーディング
US7716577B2 (en) Method and apparatus for hardware XML acceleration
US7665015B2 (en) Hardware unit for parsing an XML document
US7596745B2 (en) Programmable hardware finite state machine for facilitating tokenization of an XML document
US7665016B2 (en) Method and apparatus for virtualized XML parsing
KR100614677B1 (ko) 구조화된 문서를 압축/복원하기 위한 방법
US20170124166A1 (en) Dynamic Field Data Translation to Support High Performance Stream Data Processing
US20150116136A1 (en) Method and Apparatus for Regular Expression Processing with Parallel Bit Streams
US8849726B2 (en) Information processing apparatus and control method for the same
JP6699200B2 (ja) シンプルデータタイプに対するグラマー生成
US10606891B2 (en) JSON data validation
US9519627B2 (en) Grammar generation for XML schema definitions
US20090055728A1 (en) Decompressing electronic documents
JP6964390B2 (ja) 拡張データタイプのためのグラマー生成
US10019418B2 (en) Efficient XML interchange profile stream decoding
US10534855B2 (en) EXI grammars to represent JSON schemas
EP3255557A1 (en) Document encoding
US20170249288A1 (en) Grammar generation
CN120849671B (zh) 基于键值存储的图数据库十进制索引编码和解码方法
CN115293105A (zh) 字符编译方法及装置、设备及介质
JP2014167723A (ja) 構造化電文処理方法
JP2009251688A (ja) 構造化データ処理装置、方法及びプログラム
van den Bos Lightweight runtime reverse engineering of binary file format variants

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170316

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170711

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170724

R150 Certificate of patent or registration of utility model

Ref document number: 6191297

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees