(57)【要約】【課題】データ構造化文書の利点であるデータ構造の視認性や柔軟性、拡張性を残し、更に複数のＸＭＬ言語の使用或はそれらの混在データを取り扱うことを可能とした上で、特定のＸＭＬ言語に依存しない省メモリなデータ構造を提供することができるとともに、解析処理、描画等の走査処理の高速化を図ることができる情報処理装置を提供すること。【解決手段】構造化文書を要素に分解する手段と、要素が含む可能性のある文字列を語彙として保持する手段と、各々の該要素について、該要素が含む文字列を該語彙から探し、その結果見つけた文字列へのポインタを使用したデータノードを生成する手段と、該データノードを、該構造化文書の構造を表わすデータ構造に集約して保持する手段と、該データ構造を走査する手段と、走査により、該構造化文書の内容に則した処理を行う手段と、を含んで情報処理装置を構成する。【選択図】図９
2006195676.tif 000002
【特許請求の範囲】
【請求項１】
構造化文書を要素に分解する手段と、
要素が含む可能性のある文字列を語彙として保持する手段と、
各々の該要素について、該要素が含む文字列を該語彙から探し、その結果見つけた文字列へのポインタを使用したデータノードを生成する手段と、
該データノードを、該構造化文書の構造を表わすデータ構造に集約して保持する手段と、
該データ構造を走査する手段と、
走査により、該構造化文書の内容に則した処理を行う手段と、
を有することを特徴とする情報処理装置。
【請求項２】
構造化文書の内容に則した処理を行う手段は、データノードの保持する文字列へのポインタを該語彙中の各文字列へのポインタと比較することにより、データノードの種類を判断することを特徴とする請求項１記載の情報処理装置。
【請求項３】
語彙を保持する手段は複数存在し、それぞれが異なる識別子に基づく特定の構造化言語の語彙のみを保持すること、
データノードを生成する手段は複数存在し、それぞれが異なる該特定の構造化言語の語彙のみを保持する手段と１対１に対応すること、
構造化文書の内容に則した処理を行う手段は複数存在し、それぞれが異なる該該特定の構造化言語の語彙のみを保持する手段と１対１に対応すること、
構造化文書を要素に分解する手段は、分解した要素を該識別子に基づいて該データノードを生成する手段に振り分けること、
データ構造を走査する手段は、各データノードを該識別子に基づいて該構造化文書の内容に則した処理を行う手段に振り分けること、
を特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
構造化言語データを解析する際、或は該データ構造を走査する際にコンテキストを保持する手段と、
構造化言語データ或は該データ構造中の要素を識別する際に、該コンテキストに適切な語彙のみと比較する手段と、
を備えることを特徴とする請求項１〜３の何れかに記載の情報処理装置。
【請求項５】
構造化文書はＸＭＬ文書であり、
要素が含む可能性のある文字列は、要素名、属性名、属性値の何れかを表わす文字列であり、
識別子はネームスペースであることを特徴とする請求項１〜４の何れかに記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構造化文書を処理する情報処理装置に関する。
【背景技術】
【０００２】
従来、特にインターネット上において文書やデータを記述する手段としてＸＭＬ（eXtensible Markup Language）が普及しつつあり、ＸＭＬを用いて定義されたＨＴＭＬであるＸＨＴＭＬ（eXtensible HyperText Markup Language）、ＸＭＬベースの２Ｄベクター画像記述言語ＳＶＧ（Scalable Vector Graphics）、ＨＴＢＬの持つフォーム機能を分離独立させ、更に強化することを意図したＸｆｏｒｍｓ等ＸＭＬを基にした様々な言語も展開されている。
【０００３】
ＸＭＬで記述されたデータは構造化文書の最たるものであり、全て文字列で構成されており、それ故にデータ構造について高い柔軟性、拡張性を有すると共に、高い視認性を有する。ＸＭＬ文書は、論理的には木構造となっており、その木構造をそのままメモリ上に展開し、ランダムアクセス可能なデータ構造としたものとしてＤＯＭ（Document Object Model ）ツリーが、そのＡＰＩとしてＤＯＭが知られている。
【０００４】
図１はＸＭＬ文書の一例を示す図である。
【０００５】
図のようにＸＭＬは全て文字列で構成されており、「＜」と「＞」で囲まれたタグにより構造化されている。図において、１０１はＳＶＧ文書片を表すｓｖｇ要素である。１０２〜１０４は矩形を表すｒｅｃｔ要素であり、ｓｖｇ要素１０１の子要素となる構造となっている。
【０００６】
図２は図１のＸＭＬ文書をメモリ上に展開したデータ構造であるＤＯＭツリーを表す概念図である。
【０００７】
図において、２０１は文書全体を代表するＤｏｃｕｍｅｎｔデータノードである。２０２は文書の最初の要素であるｓｖｇ要素１０１に対応するＥｌｅｍｅｎｔデータノードである。Ｅｌｅｍｅｎｔデータノード２０２は、データノードのタグ名を示す文字列であるＤＯＭＳｔｒｉｎｇ２０３を持っている。２０３は保持しているタグ名が「ｓｖｇ」であることを示している。同様に２０４，２０６，２０８はそれぞれｒｅｃｔ要素１０２，１０３，１０４に対応するＥｌｅｍｅｎｔデータノードで、データノードのタグ名を示す文字列であるＤＯＭＳｔｒｉｎｇ２０５，２０７，２０９を持っている。２０５，２０７，２０９はそれぞれタグ名「ｒｅｃｔ」を保持していることを示している。
【０００８】
このように、ＤＯＭツリーは全ての構成要素をメモリ上に持つために、メモリ消費量が非常に多くなることが良く知られている。この問題は、ＤＯＭツリーにおいてデータを文字列で持つことにより顕著となる。
【０００９】
この問題を解決するために、要素名や属性名をＩＤ番号等の数値に置き換えることにより、ＤＯＭツリーのメモリ使用量を削減し、処理速度の高速化を図ることが一般に行われている。
【００１０】
【特許文献１】特開２００２−１６３２４８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかし、構造化文書解析時に文字列を数値に変換して内部データとして保持すると、利用するＸＭＬ言語の語彙とＩＤとの対応をＤＯＭツリー内に保持することになるため、ＤＯＭツリー自体が特定のＸＭＬ言語に依存してしまう。そのため、他のＸＭＬ言語を追加する際には、システム全体を変更する必要があるという問題があった。又、データ構造化文書の利点であるデータ構造の視認性や柔軟性が失われるという問題もあった。
【００１２】
又、前記特許文献１「構造化文書圧縮装置および構造化文書復元装置並びに構造化文書処理システム」に開示された技術を適用した情報機器では、データ構造化文書の利点であるデータ構造の視認性や柔軟性、拡張性は残るものの、同一データ構造のＸＭＬ文書が複数ある場合以外では大きなデータ量削減は見込めないという問題があった。
【００１３】
本発明は上記問題に鑑みてなされたもので、その目的とする処は、データ構造化文書の利点であるデータ構造の視認性や柔軟性、拡張性を残し、更に複数のＸＭＬ言語の使用或はそれらの混在データを取り扱うことを可能とした上で、特定のＸＭＬ言語に依存しない省メモリなデータ構造を提供することができるとともに、解析処理、描画等の走査処理の高速化を図ることができる情報処理装置を提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本発明は、構造化文書を要素に分解する手段と、要素が含む可能性のある文字列を語彙として保持する手段と、各々の該要素について、該要素が含む文字列を該語彙から探し、その結果見つけた文字列へのポインタを使用したデータノードを生成する手段と、該データノードを、該構造化文書の構造を表わすデータ構造に集約して保持する手段と、該データ構造を走査する手段と、走査により、該構造化文書の内容に則した処理を行う手段と、を含んで情報処理装置を構成したことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、データ構造化文書の利点であるデータ構造の視認性や柔軟性、拡張性を残し、更に複数のＸＭＬ言語の使用或はそれらの混在データを取り扱うことを可能とした上で、特定のＸＭＬ言語に依存しない省メモリなデータ構造を提供することが可能となる。又、解析処理、描画等の走査処理の高速化が図れる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して本発明の好適な実施形態を詳細に説明する。
【００１７】
図３は本発明に係る情報処理装置のハードウェア構成の一例を示すブロック図である．
図３において、３００は本発明に係る情報処理装置全体である。３０１は全体の制御を司る中央演算装置（ＣＰＵ）である。３０２は制御プログラムやデータ等が入っているＲＯＭである。３０３は作業領域及びデータの保存領域として使用する主記憶（ＲＡＭ）である。３０４は電源を切っても保持すべき画像データ等のデータやプログラムを入れておくためのハードディスクドライブ等の記憶装置である。３０５は信号のやり取りを行うシステムバスである。３０６はデータを表示したり、設定を行ったりするためのディスプレイ等の表示装置であり、３０７はユーザが入力や指示を行なうためのキーボードやマウス等の入力装置である。３０８は外部とデータをやり取りするための通信インタフェースである。
【００１８】
図４は本発明に係る情報処理装置のソフトウェア構成の一例を示すブロック図である。
【００１９】
図において、４０１はＸＭＬ文書中の特定のデータのネームスペース記述に応じて、適切なＸＭＬ言語の解析部に該データを振り分ける共通データ解析部である。４０２はＸＭＬ文書のデータ構造を保持し、それに対するインタフェースを提供するためのＤＯＭである。４０３は該ＤＯＭを走査する際に、ＤＯＭに含まれる要素をネームスペースに応じて、適切なＸＭＬ言語の処理部に該要素を振り分けるＤＯＭ走査部である。
【００２０】
４１０，４２０はそれぞれＸＭＬ言語Ａ、ＸＭＬ言語Ｂのモジュールである。４１１，４２１はそれぞれＸＭＬ言語Ａ、ＸＭＬ言語Ｂの解析部である。ＸＭＬ文書を解析する際に、これらの解析部は各ＸＭＬ言語のコンテキストを理解するため、該コンテキストに適切な要素名や属性名を選択可能な語彙とすることが可能である。４１２，４２２はそれぞれＸＭＬ言語Ａ、ＸＭＬ言語Ｂの処理部である。ＤＯＭを走査する際に、これらの処理部は各ＸＭＬ言語のコンテキストを理解するため、該コンテキストに適切な要素名や属性名を選択可能な語彙とすることが可能である。ここでは２つのＸＭＬ言語モジュールを図示したが、本発明においてＸＭＬ言語モジュールは、同様に３つ以上のＸＭＬ言語モジュールが存在しても構わないし、ＸＭＬ言語モジュールは１つでも構わない。又、後から追加可能なように構成しても構わない。
【００２１】
＜実施の形態１＞
図５は本発明に係る特定のＸＭＬ言語モジュールにおける要素名の語彙を保持するデータ構造の一例を示す概念図である。
【００２２】
図５において、５０１〜５０４は特定のＸＭＬ言語における要素名へのポインタのテーブルの各エントリーを表す。図の上では省略されているが、該テーブルは該ＸＭＬ言語の全ての要素名を網羅しているものとする。５１１〜５１４はそれぞれ５０１〜５０４のエントリーの実際の文字列が格納されている領域を表し、それぞれ“ｉｍａｇｅ”，“ｒｅｃｔ”，“ｃｉｒｃｌｅ”，“ｐａｔｈ”という文字列を格納していることを表している。５１１〜５１４は図の上では各文字列は隣接しているが、連続した領域にある必要はない。
【００２３】
図６は本発明に係る特定のＸＭＬ言語モジュールにおける属性名の語彙を保持するデータ構造の一例を示す概念図である。
【００２４】
図において、６０１〜６０４は特定のＸＭＬ言語における属性名へのポインタのテーブルの各エントリーを表す。図の上では省略されているが、該テーブルは該ＸＭＬ言語のすべての属性名を網羅しているものとする。６１１〜６１４はそれぞれ６０１〜６０４のエントリーの実際の文字列が格納されている領域を表し、それぞれ“ｘ”，“ｙ”, “ｗｉｄｔｈ”，“ｈｅｉｇｈｔ”という文字列を格納していることを表している。図５同様に６１１〜６１４は図の上では各文字列は隣接しているが、連続した領域にある必要はない。図５及び図６が別個の図になっているように、要素名と属性名は概念的に独立した実体として存在するものとする。
【００２５】
図７は本発明に係る情報処理装置における属性を含む要素開始データの解析処理の一例を示すアクティビティ図である。尚、Ｓ７０１〜Ｓ７１０は各ステップを示す。
【００２６】
先ず、渡された要素開始データの要素名（ＸＭＬのタグ名）に一致する文字列を図５で示したテーブルから検索することにより、要素名へのポインタを得る（Ｓ７０１）。
【００２７】
次に、該要素情報から得た要素名文字列へのポインタを渡してＤＯＭのＥｌｅｍｅｎｔデータノードを生成し（Ｓ７０２）、該ＥｌｅｍｅｎｔデータノードをＤＯＭに追加する（Ｓ７０３）。それから、該要素が何らかの属性を有するか否かを判断し（Ｓ７０４）、該要素が属性を持っていない場合には処理を終了する。Ｓ７０４の判断の結果、該要素が属性を持っている場合には、最初の属性を現在の属性とし（Ｓ７０５）、現在の属性名に一致する文字列を図６で示したテーブルから検索することにより、属性名へのポインタを得る（Ｓ７０６）。
【００２８】
次に、属性値を保持する領域を確保し、該領域に渡された属性値をコピーし（Ｓ７０７）、Ｓ７０２で生成したＥｌｅｍｅｎｔデータノードにＳ７０６で得た属性名文字列へのポインタとＳ７０７で確保した領域へのポインタを渡すことにより、属性とその値を設定する（Ｓ７０８）。そして、次の属性が存在するか否かを判断し（Ｓ７０９）、次の属性が未だ存在する場合には、次の属性を現在の属性として（Ｓ７１０）、Ｓ７０６の処理に戻り、Ｓ７０９の判断の結果、次の属性がもう存在しない場合には、処理を終了する。
【００２９】
図８は本発明に係る情報処理装置において、図１のＸＭＬ文書をメモリ上に展開したデータ構造であるＤＯＭツリーを表す概念図である。
【００３０】
図において、８０１は文書全体を代表するＤｏｃｕｍｅｎｔデータノードである。８０２は文書の最初の要素であるｓｖｇ要素１０１に対応するＥｌｅｍｅｎｔデータノードである。Ｅｌｅｍｅｎｔデータ濃度８０２は、データノードのタグ名を示す文字列であるＤＯＭＳｔｒｉｎｇ８０３を持っている。８０３は保持しているタグ名が「ｓｖｇ」であることを示している。
【００３１】
同様に８０４，８０５，８０６はそれぞれｒｅｃｔ要素１０２，１０３，１０４に対応するＥｌｅｍｅｎｔデータノードで、データノードのタグ名を示す文字列であるＤＯＭＳｔｒｉｎｇ８０７を共通に持っている。８０７はタグ名「ｒｅｃｔ」を保持していることを示している。図２と比較して、同一のタグ名を持つＥｌｅｍｅｎｔであれば、同一の文字列を指すようになっている。
【００３２】
図９は本発明に係る情報処理装置におけるデータ構造を走査し処理を行う際の、Ｅｌｅｍｅｎｔデータノードの処理の一例を示すアクティビティ図である。尚、Ｓ９０１〜Ｓ９０５は各ステップを示す。
【００３３】
先ず、走査の過程で本処理に渡されたＥｌｅｍｅｎｔデータノードからタグ名へのポインタを得る（Ｓ９０１）。次に、図５で示した要素名へのポインタのテーブルの最初の要素名を着目している要素名とする（Ｓ９０２）。それから、該着目中の要素名へのポインタ値とＳ９０１で得たポインタ値を比較する（Ｓ９０３）。そして、両ポインタの指すアドレスが同一であるか否かを判断し（Ｓ９０４）、同一でなければ図５で示した要素名へのポインタのテーブルの、次の要素情報を着目している要素情報とし（Ｓ９０６）、Ｓ９０３の処理に戻る。Ｓ９０４の判断の結果、両ポインタの指すアドレスが同一であるならば、着目中の要素情報に対応した処理を行い（Ｓ９０５）、処理を終了する。
【００３４】
このように、本実施例で示した本発明により、以下のような効果が実現できる。
【００３５】
・ＤＯＭの各データノードのタグ名やその属性名は、同一な名称であれば同一の文字列が使用されるために、構造化文書のデータを保持する省メモリなデータ構造を実現することができる。
【００３６】
・各データノードの保持するタグ名や属性名を保持するための領域を確保するための処理が不要となるために、処理の高速化が図れる。
【００３７】
・データ構造を走査して描画等の処理を行う際に、要素の識別を文字列比較の代わりにポインタ比較で行うため、処理の高速化が図れる。
【００３８】
＜実施の形態２＞
図１０は本発明に係る情報処理装置がコンテキストとして使う、要素情報のデータ構造の一例を示す概念図である。
【００３９】
図において、１００１は要素名（ＸＭＬのタグ名）文字列へのポインタである。この文字列は、各ＸＭＬ言語モジュール毎にあり得る語彙が全て予め用意されており、領域の確保は不要となっている。１００２は該要素に付く可能性のある属性名文字列へのポインタのテーブルを指すポインタとなっており、１００２の指すテーブルは図６と同様の構造である。但し、属性名は要素情報が表す要素が取り得る属性名のみである。１００２により、該要素があった時に、属性名として取り得る全ての文字列を知ることが可能となる。１００３は該要素が子要素として取り得る要素情報へのポインタのテーブルを指すポインタとなっている。
【００４０】
図１１は本発明に係る情報処理装置における属性を含む要素開始データの解析処理の一例を示すアクティビティ図である。尚、Ｓ１１０１〜Ｓ１１１１は各ステップを示す。
【００４１】
先ず、渡された要素開始データの要素名（ＸＭＬのタグ名）から、該要素の要素情報へのポインタを得る（Ｓ１１０１）。この処理については図１２において詳述する。
【００４２】
次に、Ｓ１１０１で得られた要素情報へのポインタをスタックにプッシュする（Ｓ１１０２）。尚、この要素情報は要素終了データ解析時にスタックからポップされる。そして、該要素情報から得た要素名文字列へのポインタを渡してＤＯＭのＥｌｅｍｅｎｔデータノードを生成し（Ｓ１１０３）、該ＥｌｅｍｅｎｔデータノードをＤＯＭに追加する（Ｓ１１０４）。それから、該要素が何らかの属性を有するか否かを判断し（Ｓ１１０５）、該要素が属性を持っていない場合には処理を終了する。
【００４３】
Ｓ１１０５の判断の結果、該要素が属性を持っている場合には、最初の属性を現在の属性とし（Ｓ１１０６）、現在の属性名文字列へのポインタを得る（Ｓ１１０７）。この処理ついては図１３において詳述する。
【００４４】
次に、属性値を保持する領域を確保し、該領域に渡された属性値をコピーし（Ｓ１１０８），Ｓ１１０２で生成したＥｌｅｍｅｎｔデータノードにＳ１１０７で得た属性名文字列へのポインタとＳ１１０８で確保した領域へのポインタを渡すことにより、属性とその値を設定する（Ｓ１１０９）。そして、次の属性が存在するか否かを判断し（Ｓ１１１０）、次の属性が未だ存在する場合には、次の属性を現在の属性として（Ｓ１１１１）、Ｓ１１０７の処理に戻り、Ｓ１１１０の判断の結果、次の属性がもう存在しない場合には、処理を終了する。
【００４５】
図１２は本発明に係る情報処理装置における要素名（ＸＭＬのタグ名）へのポインタから要素情報へのポインタを得る処理の一例を示すアクティビティ図である。尚、Ｓ１２０１〜Ｓ１２０６は各ステップを示す。
【００４６】
先ず、要素情報のスタックの一番上にある現在の要素情報を得て、該要素の子要素として取り得る要素情報へのポインタのテーブルを得る（Ｓ１２０１）。次に、該テーブルの最初の要素情報を現在の要素情報とする（Ｓ１２０２）。そして、渡された要素名を現在の要素情報の要素名と比較し（Ｓ１２０３）、両要素名が一致するか否かを判断し（Ｓ１２０４）、一致しなければＳ１２０１で得た要素情報へのポインタのテーブルの、次の要素情報を現在の要素情報とし（Ｓ１２０６）、Ｓ１２０３の処理に戻る。Ｓ１２０４の判断の結果、両要素名が一致したならば、現在の要素情報へのポインタを返して（Ｓ１２０５）、処理を終了する。
【００４７】
図１３は本発明に係る情報処理装置における渡された属性名文字列へのポインタを得る処理の一例を示すアクティビティ図である。尚、Ｓ１３０１〜Ｓ１３０６は各ステップを示す。
【００４８】
先ず、要素情報のスタックの一番上にある現在の要素情報中の該要素が取り得る属性名へのポインタのテーブルを得る（Ｓ１３０１）。次に、該テーブルの最初の属性名を現在の属性名とする（Ｓ１３０２）。そして、渡された属性名を現在の属性名と比較し（Ｓ１３０３）、両属性名が一致するか否かを判断し（Ｓ１３０４）、一致しなければＳ１３０１で得た属性名へのポインタのテーブルの、次の属性名を現在の属性名とし（Ｓ１３０６）、Ｓ１３０３の処理に戻る。Ｓ１３０４の判断の結果、両属性名が一致したならば、現在の属性名へのポインタを返して（Ｓ１３０５）、処理を終了する。
【００４９】
本実施の形態では、実施の形態１において作成したデータ構造を走査する際の処理の従来との差異について説明する。
【００５０】
図１４は本発明に係る情報処理装置におけるデータ構造を走査し処理を行う際の、Ｅｌｅｍｅｎｔデータノードの処理の一例を示すアクティビティ図である。尚、Ｓ１４０１〜Ｓ１４０９は各ステップを示す。
【００５１】
先ず、走査の過程で本処理に渡されたＥｌｅｍｅｔデータノードのタグ名へのポインタを得る（Ｓ１４０１）。次に、要素情報のスタックの一番上にある現在の要素情報を得る（Ｓ１４０２）。そして、該現在の要素情報から該要素の子要素として取り得る要素情報へのポインタのテーブルを得て（Ｓ１４０３）、該テーブルの最初の要素情報を着目している要素情報とする（Ｓ１４０４）。それから、該着目中の要素名へのポインタ値とＳ１４０１で得たポインタ値を比較する。
【００５２】
そして、両ポインタの指すアドレスが同一であるか否かを判断し（Ｓ１４０６）、同一でなければＳ１４０３で得た要素情報へのポインタのテーブルの、次の要素情報を着目している要素情報とし（Ｓ１４０９）、Ｓ１４０５の処理に戻る。Ｓ１４０６の判断の結果、両ポインタの指すアドレスが同一であるならば、着目中の要素情報に対応した処理を行い（Ｓ１４０７）、着目中の要素情報へのポインタをスタックにプッシュして（Ｓ１４０８）、処理を終了する。該要素情報は該要素の全ての子要素を処理し終わった時点でスタックからポップされるものとする。
【００５３】
このように、本実施の形態で示した本発明は実施の形態１で説明した効果の他に以下のような効果がある。
【００５４】
・比較する要素名や属性名は、特定のＸＭＬ言語の使用する全ての要素名或は属性名ではなく、その時点でのコンテキストに沿ったものとのみ比較されるため、全ての要素名或は属性名と比較することに比べて処理の高速化が図れる。
【００５５】
＜その他の実施の形態＞
本発明に係る情報処理装置において、属性値として取り得る文字列が予め決まった範囲の文字列である場合には、該文字列を予め用意した上で属性名へのポインタを得る処理と同様の処理によって、該予め用意された属性値文字列へのポインタを使用するように構成しても構わない。これにより、更なる省メモリ及び高速化を図ることが可能となる。
【００５６】
又、本発明に係る情報処理装置において、要素名或は属性名として取り得る文字列が決まっていない場合には、該文字列を保持するための領域を確保した上で、そこに文字列をコピーして保持するように構成しても構わない。この場合には、領域を確保した文字列は全て覚えておき、不要となった際には、該領域を解放する。これにより、予め決めらていない要素名或は属性名を取るＸＭＬ言語にも対応可能となる。
【図面の簡単な説明】
【００５７】
【図１】ＸＭＬ文書の一例を示す図である。
【図２】図１のＸＭＬ文書をメモリ上に展開したデータ構造であるＤＯＭツリーを表す概念図である。
【図３】本発明に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
【図４】本発明に係る情報処理装置のソフトウェアモジュール構成の一例を示すブロック図である。
【図５】本発明に係る特定のＸＭＬ言語モジュールにおける要素名の語彙を保持するデータ構造の一例を示す概念図である。
【図６】本発明に係る特定のＸＭＬ言語モジュールにおける属性名の語彙を保持するデータ構造の一例を示す概念図である。
【図７】本発明に係る情報処理装置における属性を含む要素開始データの解析処理の一例を示すアクティビティ図である。
【図８】本発明に係る情報処理装置において、図１のＸＭＬ文書をメモリ上に展開したデータ構造であるＤＯＭツリーを表す概念図である。
【図９】本発明に係る情報処理装置におけるデータ構造を走査し処理を行う際の、Ｅｌｅｍｅｎｔデータノードの処理の一例を示すアクティビティ図である。
【図１０】本発明に係る情報処理装置がコンテキストとして使う要素情報のデータ構造の一例を示す概念図である。
【図１１】本発明に係る情報処理装置における属性を含む要素開始データの解析処理の一例を示すアクティビティ図である。
【図１２】本発明に係る情報処理装置における要素名（ＸＭＬのタグ名）へのポインタから要素情報へのポインタを得る処理の一例を示すアクティビティ図である。
【図１３】本発明に係る情報処理装置における渡された属性名文字列へのポインタを得る処理の一例を示すアクティビティ図である。
【図１４】本発明に係る情報処理装置におけるデータ構造を走査し処理を行う際のＥｌｅｍｅｎｔデータノードの処理の一例を示すアクティビティ図である。
【符号の説明】
【００５８】
２０１    文書全体を代表するＤｏｃｕｍｅｎｔデータノード
２０２    ｓｖｇ要素に対応するＥｌｅｍｅｎｔデータノード
２０３    Ｅｌｅｍｅｎｔデータノードのタグ名を保持する文字列
２０４    ｒｅｃｔ要素に対応するＥｌｅｍｅｎｔデータノード
２０５    Ｅｌｅｍｅｎｔデータノードのタグ名を保持する文字列
２０６    ｒｅｃｔ要素に対応するＥｌｅｍｅｎｔデータノード
２０７    Ｅｌｅｍｅｎｔデータノードのタグ名を保持する文字列
２０８    ｒｅｃｔ要素に対応するＥｌｅｍｅｎｔデータノード
２０９    Ｅｌｅｍｅｎｔデータノードのタグ名を保持する文字列
４０１    共通データ解析部
４０２    ＤＯＭ
４０３    ＤＯＭ走査部
４１０    ＸＭＬ言語Ａモジュール
４２０    ＸＭＬ言語Ｂモジュール
４１１    ＸＭＬ言語Ａ解析部
４１２    ＸＭＬ言語Ａ処理部
４２１    ＸＭＬ言語Ｂ解析部
４２２    ＸＭＬ言語Ｂ処理部
８０１    文書全体を代表するＤｏｃｕｍｅｎｔデータノード
８０２    ｓｖｇ要素に対応するＥｌｅｍｅｎｔデータノード
８０３    Ｅｌｅｍｅｎｔデータノードのタグ名を保持する文字列
８０４    ｒｅｃｔ要素に対応するＥｌｅｍｅｎｔデータノード
８０５    ｒｅｃｔ要素に対応するＥｌｅｍｅｎｔデータノード
８０６    ｒｅｃｔ要素に対応するＥｌｅｍｅｎｔデータノード
８０７    Ｅｌｅｍｅｎｔデータノードのタグ名を保持する文字列
【図１】
2006195676.tif 000003
【図２】
2006195676.tif 000004
【図３】
2006195676.tif 000005
【図４】
2006195676.tif 000006
【図５】
2006195676.tif 000007
【図６】
2006195676.tif 000008
【図７】
2006195676.tif 000009
【図８】
2006195676.tif 000010
【図９】
2006195676.tif 000011
【図１０】
2006195676.tif 000012
【図１１】
2006195676.tif 000013
【図１２】
2006195676.tif 000014
【図１３】
2006195676.tif 000015
【図１４】
2006195676.tif 000016