(57)【要約】【課題】  値として複雑なデータ構造をとる属性を多く含む構造化文書を、より高速に処理する為の技術を提供すること。【解決手段】  文字列として値を扱う属性を含む第１の要素と、この属性の値の変更を定義する第２の要素と、を含む構造化文書を取得する（Ｓ６０１）。第１の要素からこの属性を取り出し、取り出した属性を第１の要素の子要素に変換する（Ｓ６０７）。第２の要素を、子要素に変換された属性の値の変更を定義する第３の要素に変換する（Ｓ６０８）。上記変換によって更新された構造化文書を出力用構造化文書として出力する。【選択図】  図１
2010267034.tif 000002
【特許請求の範囲】
【請求項１】
文字列として値を扱う属性を含む第１の要素と、当該属性の値の変更を定義する第２の要素と、を含む構造化文書を取得する取得手段と、
前記第１の要素から前記属性を取り出し、取り出した前記属性を前記第１の要素の子要素に変換する第１の変換手段と、
前記第２の要素を、前記子要素に変換された前記属性の値の変更を定義する第３の要素に変換する第２の変換手段と、
前記第１の変換手段、前記第２の変換手段による変換によって更新された前記構造化文書を、出力用構造化文書として出力する出力手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記属性は、描画コマンドと座標情報のセットを複数、含み、
前記第１の変換手段は、それぞれのセットを前記第１の要素から取り出し、前記第１の要素の子要素に変換することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２の要素は、それぞれの描画コマンドに対応する座標情報の推移を定義しており、
前記第２の変換手段は、時系列に変化している座標情報に対応する描画コマンドを前記第２の要素から特定し、特定した描画コマンドを含むセットを、当該セットについて前記第１の変換手段が変換した子要素の更に子要素として、前記第３の要素に変換することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記第１の変換手段、第２の変換手段は、時系列に変化している座標情報に対応する描画コマンドの数が閾値以上でない場合に変換を行うことを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記第１の変換手段、前記第２の変換手段は、前記第２の要素による属性の値の変更に応じて生じる前記第１の要素に基づく描画領域の変更サイズが閾値以上であれば変換を行うことを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項６】
前記第３の要素は、前記第１の変換手段により変換された子要素の子要素であることを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記構造化文書は、ＸＭＬ若しくはＳＶＧの形式の構造化文書であることを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記出力手段は、前記出力用構造化文書をバイナリＸＭＬの形式に変換してから出力することを特徴とする請求項１乃至７の何れか１項に記載の情報処理装置。
【請求項９】
前記取得手段は、取得した構造化文書を、ＤＯＭ形式で保持していることを特徴とする請求項１乃至８の何れか１項に記載の情報処理装置。
【請求項１０】
文字列として値を扱う属性を含む第１の要素と、当該属性の値の変更を定義する第２の要素と、を含む構造化文書を取得する取得工程と、
前記第１の要素から前記属性を取り出し、取り出した前記属性を前記第１の要素の子要素に変換する第１の変換工程と、
前記第２の要素を、前記子要素に変換された前記属性の値の変更を定義する第３の要素に変換する第２の変換工程と、
前記第１の変換工程、前記第２の変換工程による変換によって更新された前記構造化文書を、出力用構造化文書として出力する出力工程と
を備えることを特徴とする情報処理方法。
【請求項１１】
コンピュータを請求項１乃至９の何れか１項に記載の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構造化文書を処理する技術に関するものである。
【背景技術】
【０００２】
近年、携帯電話やデジタルカメラなどの小型機器で構造化文書を扱うケースが増えてきている。また、扱う構造化文書のデータ量も増えてきており、メモリや記憶装置の容量が限られる、あるいはＣＰＵの処理スピードが貧弱な環境で構造化文書を高速に処理する要望が高まっている。
【０００３】
構造化文書であるＸＭＬは、文書内にタグを埋め込んで階層化された木構造のデータ構造をとることができる。しかし、階層が深くなると、これを保持するためのメモリの容量を多く必要とし、且つデータアクセスも悪くなるため、これを高速に解析処理することができないという問題があった。そこで、木構造の階層を浅くするために、親要素の要素名に子要素の要素名をつなげて新たな要素に置き換える方法が提案されている（特許文献１）。
【０００４】
しかし上記の方法では、リソースの少ない機器で処理するためにはサイズ削減、高速化の効果は不十分であった。データをＸＭＬ言語でエンコーディングする場合、属性値や要素内容として記述されるデータが整数や小数などであっても文字としてエンコーディングしなければならなかった。このとき、バイナリ表現でエンコーディングするよりもデータサイズが大きくなり、デコード処理に時間がかかるという問題があった。
【０００５】
これに対し、ＩＳＯで策定されたＦａｓｔ Ｉｎｆｏｓｅｔ（ＩＳＯ／ＩＥＣ  ２４８２４−１）仕様に代表されるバイナリＸＭＬと呼ばれる技術がある。このバイナリＸＭＬでは、属性値や要素内容を整数や小数など本来のデータ型に適したバイナリ形式でエンコーディングできるため、データサイズを削減でき、デコード処理をより高速に行うことができた。
【０００６】
しかし、属性値や要素内容が複雑なデータ構造の値として記述された場合は、汎用的にデータ構造を認識してエンコーディングするのは難しいため、テキストＸＭＬのように一連の文字列としてエンコーディングするしかなかった。例えば、ベクトルグラフィックスフォーマットであるＳＶＧでは、属性値として描画コマンドと座標情報が組み合わさった複雑な値をとりうる。文書データの大部分がこうした値で占められる場合は、バイナリＸＭＬによるデータサイズの縮小や解析処理の高速化といった効果がほとんど得られないことになる。また、こうした属性値が時間の経過によって値を変更する指示が文書データ内に記述されている場合は、文字列のまま扱うデータが多くなるため、さらにバイナリＸＭＬの効果が低下する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−２９７５６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
複雑なデータ構造の値をとる属性が構造化文書内に多く含まれる場合には、符号化によるデータサイズの縮小や解析処理の高速化が十分に得られない。
【０００９】
本発明は、以上の問題に鑑みてなされたものであり、値として複雑なデータ構造をとる属性を多く含む構造化文書を、より高速に処理する為の技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。即ち、文字列として値を扱う属性を含む第１の要素と、当該属性の値の変更を定義する第２の要素と、を含む構造化文書を取得する取得手段と、前記第１の要素から前記属性を取り出し、取り出した前記属性を前記第１の要素の子要素に変換する第１の変換手段と、前記第２の要素を、前記子要素に変換された前記属性の値の変更を定義する第３の要素に変換する第２の変換手段と、前記第１の変換手段、前記第２の変換手段による変換によって更新された前記構造化文書を、出力用構造化文書として出力する出力手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明の構成によれば、値として複雑なデータ構造をとる属性を多く含む構造化文書を、より高速に処理することができる。
【図面の簡単な説明】
【００１２】
【図１】情報処理装置のハードウェア構成例を示すブロック図。
【図２】情報処理装置の機能構成例を示すブロック図。
【図３】ＳＶＧのｐａｔｈ要素の記述の一例を示した図。
【図４】ＳＶＧのｐａｔｈ要素の記述の一例を示した図。
【図５】ＳＶＧのｐａｔｈ要素のｄ属性をアニメーションさせる記述の一例を示した図。
【図６】情報処理装置が行う処理のフローチャート。
【図７】ＳＶＧデータの変換を説明する図。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１４】
以下に説明する実施形態では、構造化文書を処理する情報処理装置について説明する。先ず、本実施形態に係る情報処理装置のハードウェア構成例について図１を用いて説明する。
【００１５】
ＣＰＵ１０１は、ＲＯＭ１０２やＲＡＭ１０３に格納されているコンピュータプログラムやデータを用いて情報処理装置１００全体の制御を行うと共に、情報処理装置１００が行うものとして後述する各処理を実行する。ＲＯＭ１０２は、コンピュータ読み取り可能な記憶媒体の一例であり、情報処理装置１００の設定データやブートプログラムなどを格納する。
【００１６】
ＲＡＭ１０３は、コンピュータ読み取り可能な記憶媒体の一例であり、情報処理装置１００が行うものとして後述する各処理をＣＰＵ１０１に実行させるためのコンピュータプログラムやデータを一時的に記憶するためのエリアを有する。また、ＲＡＭ１０３は、ＣＰＵ１０１が各種の処理を実行する際に用いるワークエリアも有する。即ち、ＲＡＭ１０３は、各種のエリアを適宜提供することができる。
【００１７】
入力部１０４は、ユーザが入力デバイス１０７を操作することで入力した指示情報をＣＰＵ１０１に通知する。入力デバイス１０７は、キーボードやマウスなどのデバイスであって、ユーザが入力操作を行うことができるデバイスであれば、如何なるデバイスを用いても良い。
【００１８】
出力部１０５は、情報処理装置１００が処理した結果としての情報をモニタ１０８に出力する。もちろん、情報の出力先についてはモニタ１０８に限定するものではなく、ＬＡＮやインターネット等のネットワークであっても良いし、プリンタなどの印刷装置であっても良い。モニタ１０８は、ＣＲＴや液晶画面などにより構成されており、出力部１０５より出力された情報に基づいた表示を行う。
【００１９】
ＣＰＵ１０１、入力部１０４、出力部１０５、ＲＯＭ１０２、ＲＡＭ１０３はそれぞれ、バス１０６に接続されている。なお、情報処理装置１００のハードウェア構成についてはこれに限定するものではなく、例えば、コンピュータプログラムやデータを記憶保持するための外部記憶装置を更に情報処理装置１００に接続するようにしても良い。この外部記憶装置としては、フレキシブルディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、メモリカード、ＤＶＤ等の記憶媒体に記録された情報を読み取る装置や、ハードディスクドライブ装置を適用することができる。
【００２０】
次に、情報処理装置１００の機能構成例について、図２を用いて説明する。なお、本実施形態では、図２に示されている構造化文書解析部２０２、変換候補検出部２０３、変換属性検出部２０４、変換部２０５、変換要素置換部２０６、についてはコンピュータプログラムの形態でもってＲＡＭ１０３に格納されているものとする。しかし、これら各部のうち一部若しくは全部をハードウェアで構成しても、以下の説明の本質は変わらない。
【００２１】
外部記憶装置やネットワーク、ユーザからの入力などによって情報処理装置１００に入力された構造化文書２０１は、構造化文書解析部２０２が取得することになる。構造化文書解析部２０２は、取得した構造化文書２０１を解析し、その解析結果を後段の変換候補検出部２０３、変換属性検出部２０４に送出する。
【００２２】
変換候補検出部２０３は、構造化文書解析部２０２による解析結果を用いて、数値列（値）を文字列として扱う属性を含む要素（第１の要素）を変換候補として、構造化文書２０１から検出する。
【００２３】
変換属性検出部２０４は、構造化文書解析部２０２による解析結果を用いて、変換候補検出部２０３が検出した変換候補としての要素の属性値の推移を規定する要素（第２の要素）を変換属性として、構造化文書２０１から検出する。
【００２４】
変換部２０５は、変換属性検出部２０４が検出した変換属性に基づいて、変換候補検出部２０３が検出した変換候補に含まれている「数値列（値）を文字列として扱う属性」を、この変換候補の子要素にするか否かを判断する。そして変換部２０５は、変換すると判断した場合には、構造化文書２０１において、「数値列（値）を文字列として扱う属性」を変換候補の子要素に変換した出力用構造化文書を作成する。出力用構造化文書は、構造化文書２０１に対して上書きしたものであっても良いし、構造化文書２０１とは別個に生成した構造化文書であっても良い。
【００２５】
変更要素置換部２０６は、変換部２０５が変換した子要素の更なる子要素として、この子要素に対応する変換属性に基づく属性を追加することで、出力用構造化文書を更新する。出力部１０５は、変更要素置換部２０６により更新された出力用構造化文書をそのまま出力しても良いし、符号化することで出力しても良い。
【００２６】
以下では、図２に示した各部の動作について、より詳細に説明するために、具体例を挙げて説明する。然るに、図２に示した各部の動作は、以下に示す具体例における動作に限定するものではなく、あくまで一例であることに注意されたい。
【００２７】
以下の説明では、構造化文書２０１をＳＶＧとして説明する。当業者であれば周知の如く、ＳＶＧにはｐａｔｈ要素と呼ばれる、描画要素（図形）の外形線を規定する要素が含まれている。ｐａｔｈ要素には更にｄ属性が含まれており、このｄ属性は、描画要素を規定する座標情報（座標成分毎の座標値）や、座標情報を用いた描画を指示する描画コマンド、から成る。具体的には、ｄ属性は、直線や曲線、始点、終点、を表す描画コマンドと、この描画コマンドと共に描画のために用いられる座標情報と、を書き連ねた複雑なデータ構成で表わされる。そのため、ｄ属性の値（属性値）は文字列として扱われる。
【００２８】
ＳＶＧのｐａｔｈ要素の記述の一例について、図３（ａ）を用いて説明する。上記の通り、ｐａｔｈ要素にはｄ属性が含まれており、このｄ属性におけるＭコマンドは開始座標を表し、Ｑコマンドは２次ベジェ曲線、Ｌコマンドは直線、Ｚコマンドは終点を始点とを結ぶことを示している。このようなＳＶＧを解析して描画すると、図３（ｂ）に示すような図形が描画される。
【００２９】
また、制御点を多く取ることで複雑な図形を表したｐａｔｈ要素の記述の一例について、図４（ａ）を用いて説明する。この例では描画コマンドとしてＭ、Ｌ、Ｚだけを使用しているが、表現する図形が複雑になるほどｄ属性として扱う値やコマンド数も増加する。図４（ａ）に示したＳＶＧを解析して描画すると、図４（ｂ）に示すような図形が描画される。
【００３０】
次に、ｐａｔｈ要素のｄ属性の値（１以上の座標成分における座標値）を、時間の経過に伴って変更させるようなＳＶＧの記述の一例について、図５を用いて説明する。図５（ａ）に示したＳＶＧは、図３（ａ）に示したｐａｔｈ要素の子要素に、ｄ属性の値をアニメーションさせるａｎｉｍａｔｅ要素５０１を追加している。
【００３１】
ａｎｉｍａｔｅ要素５０１のｖａｌｕｅｓ属性の値は、描画図形を規定する各頂点の各描画時における座標位置を、セミコロンを区切りにして示している。即ち、ｖａｌｕｅｓ属性とは、ａｎｉｍａｔｅ要素５０１の子要素であり、ｄ属性の値の時系列変化を規定する要素である。ａｎｉｍａｔｅ要素５０１は、最初に図形を描画してから２秒後から３秒間の間に、ｄ属性の値をｖａｌｕｅｓ属性で示した形状を経由してアニメーションさせることを表している。
【００３２】
図３（ｂ）の左側には、最初に図形を描画してから２秒後の図形を示しており、右側には、最初に図形を描画してから５秒後の図形を示している。ｖａｌｕｅｓ属性もｄ属性と同様、属性値として複雑なデータ構造をもっているため、属性値を文字として扱わなければならない。
【００３３】
図５で示した例は、単純なｐａｔｈ要素が示す形状をアニメーションさせているが、高い表現力を得ようとすれば図形の形状は複雑化するので、ｄ属性の値もｖａｌｕｅｓ属性の値も複雑になる。特にｖａｌｕｅｓ属性の値は時間によって変更される座標が少ないほど、冗長かつ重複する文字列が多くなる。そのため、ＳＶＧをバイナリＸＭＬのようにサイズ圧縮、処理の高速化を目的として符号化しても、その効果は得にくくなる。
【００３４】
そこで本実施形態では、このＳＶＧのデータサイズの縮小化、及びデータ内容の記述におけるネストの深さの軽減化を行うことを目的として、このＳＶＧを処理する。係る処理について、図６を用いて説明する。
【００３５】
なお、図６に示したフローチャートに従った処理をＣＰＵ１０１に実行させるためのコンピュータプログラムやデータは、ＲＡＭ１０３に格納されている。係るコンピュータプログラムには、構造化文書解析部２０２、変換候補検出部２０３、変換属性検出部２０４、変換部２０５、変更要素置換部２０６、の各部に対応する機能をＣＰＵ１０１に実現させるためのコンピュータプログラムが含まれている。そしてＣＰＵ１０１が係るコンピュータプログラムを用いて処理を実行することで、情報処理装置１００は以下に説明する各処理を実行することになる。
【００３６】
先ず、ステップＳ６０１では、入力デバイス１０７やその他の手段でもって本装置に入力された構造化文書２０１としてのＳＶＧデータを、ＲＡＭ１０３に取得する。ここでは図５に示した形式のＳＶＧデータを取得したものとする。
【００３７】
次に、ステップＳ６０２では、この取得したＳＶＧデータを解析し、解析した結果をＤｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ Ｍｏｄｅｌ（ＤＯＭ）形式を有するデータとしてＲＡＭ１０３に格納する。なお、ここでは一例としてＤＯＭ形式に変換しているが、以下の処理を実現できるのであれば、他の形式に変換しても良い。
【００３８】
次に、ステップＳ６０３では、ＳＶＧデータに含まれている全てのｐａｔｈ要素を処理したか否かを判断する。係る判断の結果、全てのｐａｔｈ要素を処理したのであれば本処理は終了するし、未だ処理していないｐａｔｈ要素があれば、処理をステップＳ６０４に進める。
【００３９】
なお、本実施形態では、説明を簡単にするために、ｐａｔｈ要素に限定して処理を行うが、複雑なデータ構造の属性を持つ要素であれば、ｐａｔｈ要素に限定されないことは言うまでもない。本実施形態のようにユーザがあらかじめ、処理の対象となる要素や属性を指定してもよいが、解析結果のＤＯＭをもとに値として複雑なデータ構造となる属性を持つ要素を抽出して処理の対象としてもよい。
【００４０】
そしてステップＳ６０４では、未だ処理対象となっていないｐａｔｈ要素を特定する。一般的には、ＳＶＧデータを先頭から参照し、未だ処理対象となっていないｐａｔｈ要素を特定する。
【００４１】
次に、ステップＳ６０５では、ステップＳ６０４で特定したｐａｔｈ要素を参照し、ｐａｔｈ要素の子要素中に、ｄ属性の値を変更する子要素があるか否かを判断する。本実施形態では、ｄ属性の値を変更する子要素として、ａｎｉｍａｔｅ要素を例に取り説明する。しかし、ｄ属性の値を変更する要素であれば、ａｎｉｍａｔｅ要素以外の他の要素であっても良い。
【００４２】
そして、係る判断の結果、ｐａｔｈ要素の子要素中に、ｄ属性の値を変更する子要素がある場合には処理をステップＳ６０６に進め、無い場合には処理をステップＳ６０３に戻す。
【００４３】
次に、ステップＳ６０６では、ａｎｉｍａｔｅ要素のｖａｌｕｅｓ属性において、座標値を変更する描画コマンドが複数あるか否かを判断する。ここでは、セミコロン毎に各描画コマンドの座標値に変更があるか否かを確認する。
【００４４】
座標値に変更のある描画コマンドの数を判別基準にした理由として、座標値に変更のある描画コマンドが多いほど、子要素に変換する要素数も増える点を挙げる。変換後の要素の属性値は単純な数値、もしくは変換前の属性値より短い文字列に変換されるため、バイナリＸＭＬなどの符号化に適した形式にはなる。しかし、内部形式としてＤＯＭツリーを辿って処理すべき要素数も増加することになり、たとえ符号化に適した形式に変換されても処理の高速化が望めなくなるためである。
【００４５】
本実施形態では、ステップＳ６０６において、座標値に変更のある描画コマンドが複数あるか否かを判別しているが、座標値に変更のある描画コマンドの数に閾値を設け、座標値に変更のある描画コマンドの数が閾値以上であれば変更しないとしても良い。
【００４６】
さらに、ａｎｉｍａｔｅ要素によってｄ属性の値が変更されることで生じるｐａｔｈ要素の描画領域の変更サイズを取得し、取得した変更サイズが閾値以上であれば変換する、としても良い。描画結果の変更領域で判別することによって、子要素に変換した場合、フレーム間で変更のない要素に関しては描画処理を省略できるため、全体の処理が高速化される。
【００４７】
さらに、ステップＳ６０６において、変更した場合に生成されるであろうＤＯＭノードの数を算出し、そのＤＯＭノード数が予め設けた閾値以上であれば変更しないとしても良い。変更後のＤＯＭノード数を判断基準とした理由としては、前述のとおり内部形式としてＤＯＭツリーを辿って処理すべき要素数が増加することになり、たとえ符号化に適した形式に変換されても処理の高速化が望めなくなるためである。
【００４８】
次に、ステップＳ６０７では、ｐａｔｈ要素中のｄ属性をｐａｔｈ要素の子要素として変換する（第１の変換）。係る処理について、図７（ａ）を用いて説明する。先ず、図５においてｐａｔｈ要素中のｄ属性を解析し、ｄ属性を＜描画コマンド、座標情報＞のセットに分解する（描画コマンドＺについては座標情報無し）。図５の場合には＜Ｍ  ２０  １１０＞、＜Ｑ  ２０  ３００  ２２０  １１０＞、＜Ｌ  １２０  １０＞、＜Ｚ＞の各セットに分解する。次に、ｐａｔｈ要素の属性からｄ属性を削除すると共に、ｐａｔｈ要素の子要素として新たにｄ属性を追加する。そしてこのｄ属性の子要素として、上記分解した各セットを、元の記述順に追加する。即ち、図５の場合には、Ｍ要素、Ｑ要素、Ｌ要素、Ｚ要素の順に追加される。
【００４９】
図７（ａ）の枠７０１内には、図５のＳＶＧデータのｐａｔｈ要素に対してステップＳ６０７における処理を行った場合に得られる結果が示されている。なお、図７（ａ）は、ステップＳ６０７における処理の結果を説明するためのものであるので、それ以外の要素については図示を省略している。
【００５０】
次に、ステップＳ６０８では、ｐａｔｈ要素の子要素であるａｎｉｍａｔｅ要素を、「ステップＳ６０７で子要素に変換された属性」の値の変更を定義する要素（第３の要素）に変換する（第２の変換）。
【００５１】
係る処理では先ず、ＳＶＧデータからａｎｉｍａｔｅ要素を削除する。そして、ステップＳ６０２での解析結果をもとに、ｖａｌｕｅｓ属性から、時系列に変化している座標値に対応する描画コマンドを特定する（図５の場合、Ｑ）。そして、特定した描画コマンドについてステップＳ６０７で変換した子要素の属性値を変更するためのａｎｉｍａｔｅ要素を、この「時系列に変化している座標値」を用いて作成し、子要素として追加する。
【００５２】
例えば、図５の場合、Ｑ要素の座標成分ｘ１における座標値が動的に変化している。この場合、Ｑ要素の子要素８０１として、Ｑ要素の座標成分ｘ１を動的に変化させるためのａｎｉｍａｔｅ要素を、図７（ｂ）に示す如く、作成する。
【００５３】
そして、図６のフローチャートに従った処理が完了すれば、上記各種の変換処理によってＳＶＧデータは編集され、その編集結果として出力用構造化文書が生成されることになるので、ＣＰＵ１０１はこれをモニタ１０８などの出力先に対して出力する。
【００５４】
以上の説明により、本実施形態によれば、長い文字列として扱っていたｐａｔｈ要素のｄ属性およびその子要素であるａｎｉｍａｔｅ要素のｖａｌｕｅｓ属性の値が符号化に適した形式に変換される。図７（ｂ）の場合、変換後はＱ要素の子要素であるａｎｉｍａｔｅ要素のｖａｌｕｅｓ属性のみ文字列で扱うことになる。ｐａｔｈ要素のｄ属性に関するａｎｉｍａｔｅ要素と異なり、Ｑ要素のｘ１属性に関するａｎｉｍａｔｅ要素の方が、ｖａｌｕｅｓ属性の値が大幅に短くなるため、符号化によるサイズ圧縮の効率は上がる。また、各属性の値が長い文字列から単純な数値、もしくは短い文字列に変換されるため、バイナリＸＭＬなどで符号化される際に高い圧縮率と処理の高速化が実現できる。
【図１】
2010267034.tif 000003
【図２】
2010267034.tif 000004
【図６】
2010267034.tif 000005
【図７】
2010267034.tif 000006
【図３】
2010267034.tif 000007
【図４】
2010267034.tif 000008
【図５】
2010267034.tif 000009