JP2009087285A - XML構文解析システム、XML構文解析方法、XML構文解析プログラム、電子機器及びWebサービス - Google Patents
XML構文解析システム、XML構文解析方法、XML構文解析プログラム、電子機器及びWebサービス Download PDFInfo
- Publication number
- JP2009087285A JP2009087285A JP2007259489A JP2007259489A JP2009087285A JP 2009087285 A JP2009087285 A JP 2009087285A JP 2007259489 A JP2007259489 A JP 2007259489A JP 2007259489 A JP2007259489 A JP 2007259489A JP 2009087285 A JP2009087285 A JP 2009087285A
- Authority
- JP
- Japan
- Prior art keywords
- analysis
- xml
- instruction
- data
- information acquisition
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 30
- 238000004458 analytical method Methods 0.000 claims abstract description 138
- 239000000344 soap Substances 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 claims description 24
- 238000000547 structure data Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
Abstract
【課題】省メモリでDOMと同等のXML構文解析機能を実現し、リソース制限によりDOMを搭載できない組み込みシステムへ搭載する。
【解決手段】外部から入力されたXMLデータ(SOAPデータSD)の構文を解析し、XMLデータ(SOAPデータSD)を構成する各要素のポインタを取得する要素解析部(SOAPパーサ62)と、ポインタ毎に逐次、ポインタが指し示すXMLデータの要素の情報を取得する逐次情報取得部(イベント駆動パーサ63)と、を含むXML構文解析システム60。
【選択図】図1
【解決手段】外部から入力されたXMLデータ(SOAPデータSD)の構文を解析し、XMLデータ(SOAPデータSD)を構成する各要素のポインタを取得する要素解析部(SOAPパーサ62)と、ポインタ毎に逐次、ポインタが指し示すXMLデータの要素の情報を取得する逐次情報取得部(イベント駆動パーサ63)と、を含むXML構文解析システム60。
【選択図】図1
Description
本発明は、組み込みプログラム向けのXML構文解析システム、XML構文解析方法、XML構文解析プログラム、電子機器及びWebサービスに関する。
近年、Webサービスなどの普及により、ネットワーク上のクライアント、サーバ間での通信手段としてXML(eXtensible Markup Language)データを用いた通信が主流となっている。ネットワーク対応のプリンタやスキャナなどのデバイスに関しても例外でなく、PCなどのクライアントからの要求をXMLデータで受け、その要求に対するレスポンスをXMLデータで行うという通信が普及している。
また、Webサービス同士の連携を図るためのメッセージ交換やリモートプロシージャの呼び出しをXMLベースで行うためのSOAP(Simple Object Access Protocol)というプロトコル仕様が提案されている。SOAPは、ネットワーク上のアプリケーション間(オブジェクト間)の情報を交換し合うための単純で軽量なプロトコルの仕様である。
デバイスは、クライアントから送られてくるSOAPデータからクライアントの要求がどういった内容であるのかを確認するために、SOAPデータを構成するXML構文を解析し処理を行う必要がある。それを解決する仕組みとして、DOM(Document Object Model)があるが、DOMはシステムに大きなプログラムサイズとRAMサイズを要求する。プリンタやスキャナなどのデバイスは、プログラムサイズやRAMサイズ(デバイス起動時使用できるメモリサイズ)に制限があるため、なるべく省プログラムサイズ、省メモリで動作する仕組みでなくてはならないため、DOMを適用できないケースが多い。
この問題を解決するために、例えば特許文献1には、パース処理と妥当性検証とを同時に行うことにより高速化を実現する方法が記載されている。
しかしながら、従来の方法では、プログラムサイズは減らせるがRAMサイズは大きいままという課題がある。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
[適用例1]
上位アプリケーションと、要素解析部と、逐次情報取得部と、を含み、前記上位アプリケーションは、外部から入力されたXMLデータの解析指示を前記要素解析部に送信し、前記要素解析部から前記解析指示に対する解析結果を受信し、前記解析結果に基づいて所定の処理を行い、前記要素解析部は、前記上位アプリケーションから前記解析指示を受信して前記逐次情報取得部に解析を指示し、前記上位アプリケーションからの前記解析指示に対する前記解析結果を得るまで解析の指示を繰り返し、前記逐次情報取得部は、前記要素解析部からの前記解析指示を受信して前記XMLデータを解析し、前記解析結果を前記要素解析部に送信する、ことを特徴とするXML構文解析システム。
上位アプリケーションと、要素解析部と、逐次情報取得部と、を含み、前記上位アプリケーションは、外部から入力されたXMLデータの解析指示を前記要素解析部に送信し、前記要素解析部から前記解析指示に対する解析結果を受信し、前記解析結果に基づいて所定の処理を行い、前記要素解析部は、前記上位アプリケーションから前記解析指示を受信して前記逐次情報取得部に解析を指示し、前記上位アプリケーションからの前記解析指示に対する前記解析結果を得るまで解析の指示を繰り返し、前記逐次情報取得部は、前記要素解析部からの前記解析指示を受信して前記XMLデータを解析し、前記解析結果を前記要素解析部に送信する、ことを特徴とするXML構文解析システム。
この構成によれば、省メモリでDOMと同等のXML構文解析機能を実現できるため、リソース制限によりDOMを搭載できない組み込みシステムへ搭載することでXML構文解析機能を実現できる。
[適用例2]
上記に記載のXML構文解析システムにおいて、前記XML構文解析システムは、前記上位アプリケーションの前記解析結果に基づき前記XMLデータを構成する要素同士の階層構造を記録した階層構造データを生成し、前記要素解析部は、前記逐次情報取得部へ送信した前記要素が前記上位アプリケーションから要求された要素より前方にあるかどうか前記階層構造データに基づいて判断し、前方にあると判断した場合には、前記逐次情報取得部に対して前記XMLデータの先頭から処理をする指示を送る、ことを特徴とするXML構文解析システム。
上記に記載のXML構文解析システムにおいて、前記XML構文解析システムは、前記上位アプリケーションの前記解析結果に基づき前記XMLデータを構成する要素同士の階層構造を記録した階層構造データを生成し、前記要素解析部は、前記逐次情報取得部へ送信した前記要素が前記上位アプリケーションから要求された要素より前方にあるかどうか前記階層構造データに基づいて判断し、前方にあると判断した場合には、前記逐次情報取得部に対して前記XMLデータの先頭から処理をする指示を送る、ことを特徴とするXML構文解析システム。
この構成によれば、階層構造データによりXMLデータにおける現在の要素の位置関係を把握できるので、従来、XMLデータの途中の要素にポインタがあった場合、その上の要素にたどり着くためには、XMLデータの最後までポインタを移動後、先頭に戻っていたために費やしていた時間を大幅に節約することができる。
[適用例3]
上位アプリケーション工程と、要素解析工程と、逐次情報取得工程と、を含み、前記上位アプリケーション工程は、外部から入力されたXMLデータの解析指示を前記要素解析工程に送り、前記要素解析工程から前記解析指示に対する解析結果を受け取り、前記解析結果に基づいて所定の処理を行い、前記要素解析工程は、前記上位アプリケーション工程から前記解析指示を受け取って前記逐次情報取得工程に解析を指示し、前記上位アプリケーション工程からの前記解析指示に対する前記解析結果を得るまで解析の指示を繰り返し、前記逐次情報取得工程は、前記要素解析工程からの前記解析指示を受信して前記XMLデータを解析し、前記解析結果を前記要素解析工程に送る、ことを特徴とするXML構文解析方法。
上位アプリケーション工程と、要素解析工程と、逐次情報取得工程と、を含み、前記上位アプリケーション工程は、外部から入力されたXMLデータの解析指示を前記要素解析工程に送り、前記要素解析工程から前記解析指示に対する解析結果を受け取り、前記解析結果に基づいて所定の処理を行い、前記要素解析工程は、前記上位アプリケーション工程から前記解析指示を受け取って前記逐次情報取得工程に解析を指示し、前記上位アプリケーション工程からの前記解析指示に対する前記解析結果を得るまで解析の指示を繰り返し、前記逐次情報取得工程は、前記要素解析工程からの前記解析指示を受信して前記XMLデータを解析し、前記解析結果を前記要素解析工程に送る、ことを特徴とするXML構文解析方法。
[適用例4]
上位アプリケーションステップと、要素解析ステップと、逐次情報取得ステップと、を含み、前記上位アプリケーションステップは、外部から入力されたXMLデータの解析指示を前記要素解析ステップに送り、前記要素解析ステップから前記解析指示に対する解析結果を受け取り、前記解析結果に基づいて所定の処理を行い、前記要素解析ステップは、前記上位アプリケーションステップから前記解析指示を受け取って前記逐次情報取得ステップに解析を指示し、前記上位アプリケーションステップからの前記解析指示に対する前記解析結果を得るまで解析の指示を繰り返し、前記逐次情報取得ステップは、前記要素解析ステップからの前記解析指示を受信して前記XMLデータを解析し、前記解析結果を前記要素解析ステップに送る、ことを特徴とするXML構文解析プログラム。
上位アプリケーションステップと、要素解析ステップと、逐次情報取得ステップと、を含み、前記上位アプリケーションステップは、外部から入力されたXMLデータの解析指示を前記要素解析ステップに送り、前記要素解析ステップから前記解析指示に対する解析結果を受け取り、前記解析結果に基づいて所定の処理を行い、前記要素解析ステップは、前記上位アプリケーションステップから前記解析指示を受け取って前記逐次情報取得ステップに解析を指示し、前記上位アプリケーションステップからの前記解析指示に対する前記解析結果を得るまで解析の指示を繰り返し、前記逐次情報取得ステップは、前記要素解析ステップからの前記解析指示を受信して前記XMLデータを解析し、前記解析結果を前記要素解析ステップに送る、ことを特徴とするXML構文解析プログラム。
この構成によれば、省メモリでDOMと同等のXML構文解析機能を実現できるため、リソース制限によりDOMを搭載できない組み込みシステムへ搭載することでXML構文解析機能を実現できる。
[適用例5]
適用例1または2に記載のXML構文解析システムまたは適用例4に記載のXML構文解析プログラムを含むことを特徴とする電子機器。
適用例1または2に記載のXML構文解析システムまたは適用例4に記載のXML構文解析プログラムを含むことを特徴とする電子機器。
この構成によれば、省メモリでDOMと同等のXML構文解析機能を実現できるため、リソース制限によりDOMを搭載できない組み込みシステムへ搭載することでXML構文解析機能を実現できる。
[適用例6]
上記に記載の電子機器を複数含み構成されていることを特徴とするWebサービス。
上記に記載の電子機器を複数含み構成されていることを特徴とするWebサービス。
[適用例7]
上記に記載のWebサービスにおいて、前記Webサービスは、前記XMLデータをベースとしたSOAPにより情報交換を行うことを特徴とするWebサービス。
上記に記載のWebサービスにおいて、前記Webサービスは、前記XMLデータをベースとしたSOAPにより情報交換を行うことを特徴とするWebサービス。
この構成によれば、様々なプロトコルにバインディングして使用できるSOAPを使うことにより、環境に依存しないアプリケーションの作成ができる。
以下、XML構文解析システムの実施形態について図面に従って説明する。
(第1実施形態)
<XML構文解析システムの構成>
先ず、第1実施形態に係るXML構文解析システムの構成について、図1を参照して説明する。図1は、第1実施形態に係るXML構文解析システムの構成を示すブロック図である。図1に示すように、XML構文解析システム60は、電子機器の一例としてネットワークプリンタ100に組み込まれている。また、ネットワークプリンタ100は、ネットワークケーブル(LAN:Local Area Network)300を介してクライアントPC200と接続され、Webサービスを利用した印刷システムを構成している。
<XML構文解析システムの構成>
先ず、第1実施形態に係るXML構文解析システムの構成について、図1を参照して説明する。図1は、第1実施形態に係るXML構文解析システムの構成を示すブロック図である。図1に示すように、XML構文解析システム60は、電子機器の一例としてネットワークプリンタ100に組み込まれている。また、ネットワークプリンタ100は、ネットワークケーブル(LAN:Local Area Network)300を介してクライアントPC200と接続され、Webサービスを利用した印刷システムを構成している。
ネットワークプリンタ100は、内部バス10にCPU20と、ROM30と、RAM40と、プリントエンジン50と、が接続されている。XML構文解析システム60は、ROM30に格納され、プログラム実行時にRAM40にロードされる。XML構文解析システム60は、上位アプリケーション61と、要素解析部であるSOAPパーサ62と、逐次情報取得部であるイベント駆動パーサ63と、から構成されている。
クライアントPC200からの印刷要求項目を記載したSOAPデータSDは、LAN300を介してネットワークプリンタ100のRAM40に格納される。上位アプリケーション61は、SOAPパーサ62を使用してRAM40に格納されたSOAPデータSDを解析し、プリントエンジン50に印刷命令を送る。上位アプリケーション61は、SOAPパーサ62へのSOAPデータSDの解析指示送信およびSOAPパーサ62からの解析結果受信のための各種API(Application Program Interface)をSOAPパーサ62に送る。
SOAPパーサ62は、APIに基づき上位アプリケーション61から子要素又は兄第要素への移動指示を受信し、イベント駆動パーサ63に対してはイベント駆動パーサ63の解析単位であるノードの解析をポインタPTで指示する。イベント駆動パーサ63は、RAM40に格納されたSOAPデータSD上のポインタ位置から逐次データEVをノード単位毎取得し、該取得したノードの種類を判定する。ここで、ノードとは”<“から”>“までのデータ列または”>“から”<”までのデータ列を1ノードとする。例えば、図2では<soap:Header>、Message dataがそれぞれ1ノードであり、改行、空白も1ノードとして扱われる。また、ノード種類とは<>で括られたデータは開始ノードであり、</>で括られたデータは終了ノード、それ以外は値である。
イベント駆動パーサ63は、上述したようにSOAPデータSDの解析を行い、解析したノードの種類をSOAPパーサ62に応答すると共にポインタPTをノード終端まで移動する。SOAPパーサ62は、イベント駆動パーサ63から受信したノード種類に基づいて上位アプリケーション61から指示された子要素又は兄弟要素までポインタが移動したか否かを判断し、移動していれば上位アプリケーション61に対して移動の完了を応答する。上位アプリケーション61は、SOAPパーサ62からの移動完了通知を受信すると所望の子要素又は兄弟要素まで移動したか否かを判断し、移動していなければ所望の子要素または兄弟要素に移動するまで、SOAPパーサ62に移動の指示を繰り返す。
<SOAPデータの構成>
次に、SOAPデータの構成について図2を参照して説明する。図2は、SOAPデータの構成の概略を示すリストである。
次に、SOAPデータの構成について図2を参照して説明する。図2は、SOAPデータの構成の概略を示すリストである。
図2に示すように、SOAPデータSDは、XML構文により記載されている。SOAPデータSDは、1行目のエンベロープ<soap:Envelope>、2行目のヘッダ<soap:Header>そして17行目のボディ<soap:Body>の各要素で構成されている。
ヘッダ<soap:Header>は、複数の子要素である、3行目の<wsa:MessageID>、4行目の<wsa:Action>、5行目の<wsa:To>、6行目の<wsa:RelatesTo>、7行目の<wsa:ReplyTo>、14行目の<ext:AAA>、15行目の<ext:BBB>、を含む。またこれら複数の子要素は、互いに兄弟要素と呼ばれる。
7行目の<wsa:ReplyTo>は、さらに子要素として8行目の<wsa:Address>、9行目の<wsa:ReferenceParameters>、を含んでいる。また、9行目の<wsa:ReferenceParameters>は、さらに子要素として10行目の<ext:DDD>DDD data</ext:DDD>、11行目の<ext:EEE>EEE data</ext:EEE>、を含んでいる。
3行目の<wsa:MessageID>は、Message dataという値を含み、4行目の<wsa:Action>は、Action dataという値を含み、5行目の<wsa:To>は、To dataという値を含み、6行目の<wsa:RelatesTo>は、RelatesTo dataという値を含んでいる。
<XML構文解析システムの動作>
次に、XML構文解析システムの動作について図3を参照して説明する。図3は、XML構文解析システムの動作を示すフローチャートである。現在のポインタはSOAPデータSDの2行目の<soap:Header>の直前に位置するものとし、上位アプリケーション61は3行目<wsa:MessageID>の値Message dataの取得を行いたいものとする。
次に、XML構文解析システムの動作について図3を参照して説明する。図3は、XML構文解析システムの動作を示すフローチャートである。現在のポインタはSOAPデータSDの2行目の<soap:Header>の直前に位置するものとし、上位アプリケーション61は3行目<wsa:MessageID>の値Message dataの取得を行いたいものとする。
上位アプリケーション61は、所望のSOAPデータSDの値を取得するためにSOAPパーサ62に対しSOAP解析を次の子要素に解析を移動するように指示を行う。
SOAPパーサ62は、上位アプリケーション61から子要素への解析移動指示を受信すると、イベント駆動パーサ63に対してSOAPデータSDの解析を進めるように指示を行う。
先ず、ステップS100では、イベント駆動パーサ63は、SOAPデータSDのヘッダ<soap:Header>のポインタを取得する。
次に、ステップS102では、イベント駆動パーサ63は、SOAPデータSDから逐次データEVを取得し、データとして2行目の<soap:Header>を取得したことによりデータがヘッダであることを認識し、SOAPパーサ62にヘッダを取得したことを通知すると共に、ポインタPTを<soap:Header>の後端に移動する。
SOAPパーサ62は上位アプリケーション61から指示を受けた子要素に解析が移動したと判断し、上位アプリケーション61に子要素の解析結果を通知する。
上位アプリケーション61は、子要素の解析結果を受信すると受信した解析結果が所望の解析結果であるかを判断し、所望の解析結果ではないと判断すると、解析を次の子要素に進めるようにSOAPパーサ62に指示を行う。
SOAPパーサ62は、上位アプリケーション61から子要素への解析移動指示を受信すると、イベント駆動パーサ63に対してSOAPデータSDの解析を進めるように指示を行う。
イベント駆動パーサ63は、SOAPデータSDのポインタを取得しポインタ位置からSOAPデータSDの取得を行い、<soap:Header>直後の改行および<wsa:MessageID>直前の空白を取得すると取得したノードの種類が値であると判断してSOAPパーサ62に値である旨を通知すると共に、空白の後ろすなわち<wsa:MessageIDの直前にポインタを移動する。
SOAPパーサ62は、イベント駆動パーサ63から解析結果が値であること受信すると、イベント駆動パーサ63に対して解析した値が空白であるか否かを問い合わせる。
イベント駆動パーサ63は、値が空白であることをSOAPパーサ62に応答する。SOAPパーサ62は解析結果が空白であることが分かると、解析が子要素に達していないと判断できるため、解析結果を上位アプリケーション61に応答することなく、解析を進めるようにイベント駆動パーサ63に指示を行う。
上記フローを所望の要素の解析結果が得られるまで繰り返す。
次に、ステップS104では、現在の要素に子要素があるか否かを判定し、子要素がある場合はステップS110に移行し、子要素がない場合はステップS106に移行する。
次に、ステップS106では、次の要素があるか否か判定し、次の要素がある場合はステップS108に移行し、次の要素がない場合は処理を終了する。
次に、ステップS108では、現在の要素と同じ階層の次の要素の値を取得し、ステップS104に移行する。
一方、ステップS110では、子要素の値を取得し、ステップS104に移行する。
以上に述べた本実施形態によれば、以下の効果が得られる。
本実施形態では、SOAPパーサ62がAPIに基づきRAM40に格納されたSOAPデータSDから各要素のポインタPTを取得し、イベント駆動パーサ63に要素のポインタPTを逐次送り、イベント駆動パーサ63によりポインタPTが指し示す要素の情報を取得し、上位アプリケーション61に返すので、省メモリでDOMと同等のXML構文解析機能を実現できるため、リソース制限によりDOMを搭載できない組み込みシステムへ搭載することでXML構文解析機能を実現でき、Webサービスの搭載などが可能となる。
(第2実施形態)
第1実施形態では、解析開始前にポインタを現在の位置から移動させることは出来なかったが、本第2実施形態ではSOAPデータSDの階層構造データであるノード構成管理データを作成し、該ノード構成管理データに基づいてポインタを先頭に移動させることができる点が第1実施形態と異なる。特にSOAPデータSDサイズが大きく、上位アプリケーション61が現在のポインタの直前のノードの解析結果を要求した場合には、イベント駆動パーサ63の解析は一方向に逐次解析を進めることしか出来ないため、所望の解析結果を得るのに多大な時間を要した。
第1実施形態では、解析開始前にポインタを現在の位置から移動させることは出来なかったが、本第2実施形態ではSOAPデータSDの階層構造データであるノード構成管理データを作成し、該ノード構成管理データに基づいてポインタを先頭に移動させることができる点が第1実施形態と異なる。特にSOAPデータSDサイズが大きく、上位アプリケーション61が現在のポインタの直前のノードの解析結果を要求した場合には、イベント駆動パーサ63の解析は一方向に逐次解析を進めることしか出来ないため、所望の解析結果を得るのに多大な時間を要した。
本第2実施形態では、SOAPデータSDのノード構成データを作成し、該ノード構成データを参照することによって、現在のポインタの位置と所望のノードの位置関係が分かるため、先頭から所望のノードまでの距離と現在のポインタから所望のノードまでの距離を比較して、先頭から所望のノードまでの距離の方が短い場合には、ポインタを先頭に移動してSOAPデータSDの解析時間を短縮することができる。
以下、第2実施形態におけるXML構文解析システムの動作を解説する。本第2実施形態では、ポインタが図2の12行目の</wsa:ReferenceParameters>の直前に存在し、上位アプリケーション61が図2の9行目の<wsa:ReferenceParameters>の子要素への移動を要求するものとする。
図4は、SOAPデータのノード構成管理データを示すブロック図である。先ず、クライアントPC200からSOAPデータSDを受信した時点で、RAM40にSOAPデータSDを格納すると共に、図4に示すようなSOAPデータSDのノード構成管理データ400を作成し、イベント駆動パーサ63が解析するたびに更新するものとする。
ここで、図4について説明する。現在の要素401は、現在のポインタが位置する要素を表す。現在のポジションの種類402は、現在のポインタが位置しているノードの種類を表す。現在の階層数403は、ポインタが位置している要素の階層を意味する。現在の要素が属する親要素404は、ポインタが位置する子要素が属する全ての親要素を表す。各階層の先頭要素405は、現在ポインタが位置する要素に達するまでに、各階層で最初に現れるノードを示す。解析した総要素数406は、現在のポインタに達するまでに解析した要素の総数を表す。
SOAPパーサ62は、上位アプリケーション61から<wsa:ReferenceParameters>の子要素への移動の要求を受信すると、ノード構成管理データ400の解析した総要素数406を取得する。
解析した総要素数406が11であるため、SOAPパーサ62は<wsa:ReferenceParameters>の子要素は既に解析済みであると判断し、イベント駆動パーサ63の初期化を行う。
イベント駆動パーサ63の初期化によってポインタはSOAPデータSDの先頭に戻るため、<wsa:ReferenceParameters>の子要素に達するまで第1実施形態と同様に解析を行う。
以上に述べた本実施形態によれば、以下の効果が得られる。
本第2実施形態では、ノード構成管理データ400によりSOAPデータSDにおける現在のポインタの位置関係を把握できるので、従来、SOAPデータSDの途中にポインタがあった場合、その上の要素にたどり着くためには、SOAPデータSDの最後までポインタを移動後、先頭に戻っていたために費やしていた時間を大幅に節約することができる。
以上、XML構文解析システムの実施形態を説明したが、こうした実施の形態に何ら限定されるものではなく、趣旨を逸脱しない範囲内において様々な形態で実施し得ることができる。以下、変形例を挙げて説明する。
(変形例1)電子機器の変形例1について説明する。前記第1実施形態では、電子機器としてネットワークプリンタ100の場合について説明したが、他に、ネットワークスキャナ、ネットワークプロジェクタ、ファックス、ネットワークストレージ、などのネットワーク機器に利用することができる。
10…内部バス、20…CPU、30…ROM、40…RAM、50…プリントエンジン、60…XML構文解析システム、61…上位アプリケーション、62…SOAPパーサ、63…イベント駆動パーサ、100…ネットワークプリンタ、200…クライアントPC、300…LAN。
Claims (7)
- 上位アプリケーションと、
要素解析部と、
逐次情報取得部と、
を含み、
前記上位アプリケーションは、外部から入力されたXMLデータの解析指示を前記要素解析部に送信し、前記要素解析部から前記解析指示に対する解析結果を受信し、前記解析結果に基づいて所定の処理を行い、
前記要素解析部は、前記上位アプリケーションから前記解析指示を受信して前記逐次情報取得部に解析を指示し、前記上位アプリケーションからの前記解析指示に対する前記解析結果を得るまで解析の指示を繰り返し、
前記逐次情報取得部は、前記要素解析部からの前記解析指示を受信して前記XMLデータを解析し、前記解析結果を前記要素解析部に送信する、
ことを特徴とするXML構文解析システム。 - 請求項1に記載のXML構文解析システムにおいて、
前記XML構文解析システムは、前記上位アプリケーションの前記解析結果に基づき前記XMLデータを構成する要素同士の階層構造を記録した階層構造データを生成し、
前記要素解析部は、前記逐次情報取得部へ送信した前記要素が前記上位アプリケーションから要求された要素より前方にあるかどうか前記階層構造データに基づいて判断し、前方にあると判断した場合には、前記逐次情報取得部に対して前記XMLデータの先頭から処理をする指示を送る、
ことを特徴とするXML構文解析システム。 - 上位アプリケーション工程と、
要素解析工程と、
逐次情報取得工程と、
を含み、
前記上位アプリケーション工程は、外部から入力されたXMLデータの解析指示を前記要素解析工程に送り、前記要素解析工程から前記解析指示に対する解析結果を受け取り、前記解析結果に基づいて所定の処理を行い、
前記要素解析工程は、前記上位アプリケーション工程から前記解析指示を受け取って前記逐次情報取得工程に解析を指示し、前記上位アプリケーション工程からの前記解析指示に対する前記解析結果を得るまで解析の指示を繰り返し、
前記逐次情報取得工程は、前記要素解析工程からの前記解析指示を受信して前記XMLデータを解析し、前記解析結果を前記要素解析工程に送る、
ことを特徴とするXML構文解析方法。 - 上位アプリケーションステップと、
要素解析ステップと、
逐次情報取得ステップと、
を含み、
前記上位アプリケーションステップは、外部から入力されたXMLデータの解析指示を前記要素解析ステップに送り、前記要素解析ステップから前記解析指示に対する解析結果を受け取り、前記解析結果に基づいて所定の処理を行い、
前記要素解析ステップは、前記上位アプリケーションステップから前記解析指示を受け取って前記逐次情報取得ステップに解析を指示し、前記上位アプリケーションステップからの前記解析指示に対する前記解析結果を得るまで解析の指示を繰り返し、
前記逐次情報取得ステップは、前記要素解析ステップからの前記解析指示を受信して前記XMLデータを解析し、前記解析結果を前記要素解析ステップに送る、
ことを特徴とするXML構文解析プログラム。 - 請求項1または2に記載のXML構文解析システムまたは請求項4に記載のXML構文解析プログラムを含むことを特徴とする電子機器。
- 請求項5に記載の電子機器を複数含み構成されていることを特徴とするWebサービス。
- 請求項6に記載のWebサービスにおいて、前記Webサービスは、前記XMLデータをベースとしたSOAPにより情報交換を行うことを特徴とするWebサービス。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007259489A JP2009087285A (ja) | 2007-10-03 | 2007-10-03 | XML構文解析システム、XML構文解析方法、XML構文解析プログラム、電子機器及びWebサービス |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007259489A JP2009087285A (ja) | 2007-10-03 | 2007-10-03 | XML構文解析システム、XML構文解析方法、XML構文解析プログラム、電子機器及びWebサービス |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009087285A true JP2009087285A (ja) | 2009-04-23 |
Family
ID=40660587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007259489A Withdrawn JP2009087285A (ja) | 2007-10-03 | 2007-10-03 | XML構文解析システム、XML構文解析方法、XML構文解析プログラム、電子機器及びWebサービス |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009087285A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010016526A1 (ja) | 2008-08-05 | 2010-02-11 | 東レ株式会社 | 癌の治療及び予防用医薬組成物 |
-
2007
- 2007-10-03 JP JP2007259489A patent/JP2009087285A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010016526A1 (ja) | 2008-08-05 | 2010-02-11 | 東レ株式会社 | 癌の治療及び予防用医薬組成物 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7148987B2 (en) | Information processing apparatus, information processing method, and program for controlling computer | |
US7742183B2 (en) | Method and apparatus for format conversion of printing data | |
JP5810761B2 (ja) | 処理制御サーバーおよび処理制御方法 | |
EP1278153A1 (en) | Printing apparatus and its resource data update procedure | |
JP5159071B2 (ja) | 通信システム及び通信装置とその制御方法 | |
JP4045799B2 (ja) | プリントシステム | |
JP3055455B2 (ja) | 文書蓄積装置 | |
US7822864B2 (en) | Communication apparatus, program product for adding communication mechanism to communication apparatus for providing improved usability and communication efficiency, and recording medium storing program product | |
JP2009169687A (ja) | 印刷制御装置、印刷制御方法、印刷制御プログラム | |
WO2001082051A2 (en) | Broadcast printing system and method | |
JP2004518223A (ja) | サーバ・ベースのネットワークにおいて印刷命令を処理する方法、および対応するサーバ・ベースのネットワーク | |
JP2021096869A (ja) | 情報処理装置及びプログラム及び方法 | |
JP2006072978A (ja) | サービス要求装置、サービス提供装置、サービス要求方法、サービス提供方法、サービス要求プログラム、サービス提供プログラム及び記録媒体 | |
JP4668067B2 (ja) | 印刷装置、印刷方法、印刷装置のためのプログラム、印刷指示装置およびメモリ解放制御方法 | |
JP2001043163A (ja) | ネットワーク上で遠隔アプリケーションの実行を制御する方法、装置、媒体およびネットワークスキャナ | |
JP2009087285A (ja) | XML構文解析システム、XML構文解析方法、XML構文解析プログラム、電子機器及びWebサービス | |
JP2013061836A (ja) | サーバー、データ処理装置、データ処理方法 | |
JP2001101091A (ja) | 画像処理システム、画像処理装置及びプロキシサーバ装置 | |
JP5014095B2 (ja) | 複合機 | |
JP2000059561A (ja) | スキャナ制御装置、スキャナ制御システムおよび制御方法 | |
JP3904008B2 (ja) | スキャナ制御装置、スキャナ制御システムおよび制御方法 | |
US7812983B2 (en) | Methods and systems for transferring binary data | |
JP4839796B2 (ja) | ネットワーク装置における通信処理 | |
US8860981B2 (en) | Systems and methods for print job scheduling | |
JP3740179B2 (ja) | 画像表示制御装置とその方法および画像表示制御システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100901 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121023 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20121112 |