(57)【要約】【課題】多量のメモリを用いなくても、ＦｉｘｅｄＰａｇｅ文書を適切に処理する。【解決手段】印刷処理装置１は、外部メモリからＦｉｘｅｄＰａｇｅ文書を、先頭から順に読み出してＸＭＬの解析を行うＸＭＬパーサ６２と、ＸＭＬパーサ６２の解析結果に基づいて、ＸＰＳ整合性判定をするＸＰＳ整合性判定部６５と、ＦｉｘｅｄＰａｇｅ文書内の定義情報の参照情報を記憶するインデックス記憶部６４と、インデックス記憶部６４の参照情報に基づいて、定義情報を外部メモリから読み出す辞書管理部６３とを備えたＸＰＳ構文解析部６０を有する。ＦｉｘｅｄＰａｇｅ文書内の定義情報が検出されると、外部メモリに参照情報を記憶され、ＦｉｘｅｄＰａｇｅ文書内の定義情報の参照呼出を検出すると、ＸＭＬパーサ６２は、外部メモリから読み出された定義情報の解析を行う。【選択図】図１
2008049568.tif 000002
【特許請求の範囲】
【請求項１】
ＸＰＳ（ＸＭＬ Ｐａｐｅｒ Ｓｐｅｃｉｆｉｃａｔｉｏｎ）仕様に従って記述された、ＦｉｘｅｄＰａｇｅ文書の処理装置であって、
外部メモリに記憶されているＦｉｘｅｄＰａｇｅ文書を、先頭から順に読み出して、ＸＭＬの解析を行うＸＭＬパーサと、
前記ＸＭＬパーサの解析結果に基づいて、ＸＰＳ仕様の整合性を判定する整合性判定部と、
前記ＦｉｘｅｄＰａｇｅ文書内の定義情報を参照するための参照情報を記憶する記憶部と、
前記記憶部に記憶されている前記参照情報に基づいて、前記ＦｉｘｅｄＰａｇｅ文書内の前記定義情報を外部メモリから読み出す手段と、を備え、
前記ＸＭＬパーサにより、前記ＦｉｘｅｄＰａｇｅ文書内の定義情報が検出されると、当該ＦｉｘｅｄＰａｇｅ文書から抽出された当該定義情報の参照情報が前記記憶部に記憶される一方で、前記整合性判定手段は当該定義情報の整合性判定を行わず、
前記ＸＭＬパーサにより、前記ＦｉｘｅｄＰａｇｅ文書内の前記定義情報の参照呼出が検出されると、前記ＸＭＬパーサは、前記読み出し手段が外部メモリから読み出した前記定義情報の解析を行い、前記整合性判定手段が当該定義情報の整合性判定を行う、ことを特徴とするＦｉｘｅｄＰａｇｅ文書の処理装置。
【請求項２】
前記ＸＭＬパーサは、前記ＦｉｘｅｄＰａｇｅ文書の先頭から順に、エレメント単位に順次読み出して解釈を実行するものであり、
前記参照情報は、前記ＦｉｘｅｄＰａｇｅ文書内の定義情報の開始位置及び終了位置を示す情報であり、
前記読み出し手段は、少なくとも、前記ＦｉｘｅｄＰａｇｅ文書の前記開始位置から終了位置までを外部メモリから読み出しを行う、請求項１記載のＦｉｘｅｄＰａｇｅ文書の処理装置。
【請求項３】
ＸＰＳ（ＸＭＬ Ｐａｐｅｒ Ｓｐｅｃｉｆｉｃａｔｉｏｎ）仕様に従って記述された、ＦｉｘｅｄＰａｇｅ文書の処理方法であって、
外部メモリに記憶されているＦｉｘｅｄＰａｇｅ文書を、先頭から順に読み出して、ＸＭＬの解析を行うステップと、
前記ＸＭＬの解析を行って、前記ＦｉｘｅｄＰａｇｅ文書内の定義情報を検出すると、当該ＦｉｘｅｄＰａｇｅ文書から当該定義情報の参照情報を抽出して、当該抽出された参照情報を記憶部に記憶するステップと、
前記ＸＭＬの解析を行って、前記ＦｉｘｅｄＰａｇｅ文書内の定義情報を参照するための参照呼出を検出すると、前記記憶部に記憶されている前記参照情報に基づいて、前記ＦｉｘｅｄＰａｇｅ文書内の前記定義情報を外部メモリから読み出すステップと、
前記外部メモリから読み出された前記定義情報のＸＭＬ解析を行うステップと、
前記ＸＭＬの解析を行い、前記定義情報及び前記定義情報の参照情報のいずれでもないときは、当該解析結果に基づいてＸＰＳ仕様の整合性を判定するステップと、を行う方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＸＰＳ（ＸＭＬ Ｐａｐｅｒ Ｓｐｅｃｉｆｉｃａｔｉｏｎ）仕様に従って記述されたＦｉｘｅｄＰａｇｅ文書を処理する技術に関し、特に、同一ＦｉｘｅｄＰａｇｅ文書内に定義情報及びその参照情報が含まれるＦｉｘｅｄＰａｇｅ文書を処理するための技術に関する。
【背景技術】
【０００２】
ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ Ｍａｒｋｕｐ Ｌａｎｇｕａｇｅ）を用いて印刷データを記述するＸＰＳ（ＸＭＬ Ｐａｐｅｒ
Ｓｐｅｃｉｆｉｃａｔｉｏｎ）という仕様がある。そして、ＸＰＳ仕様のＦｉｘｅｄＰａｇｅでは、辞書（Ｒｅｓｏｕｒｃｅ Ｄｉｃｔｉｏｎａｒｙ）を用いることで、同一文書内に記述された定義情報を、自由に参照することが可能である。
【０００３】
また、従来のＸＭＬパーサは、文書の先頭からエレメントを順次読み込んで処理を行うようになっている（例えば、特許文献１）。
【０００４】
従って、このＸＭＬパーサを用いてＸＰＳ仕様のＦｉｘｅｄＰａｇｅで記述された印刷データ（以下、ＦｉｘｅｄＰａｇｅ文書という）の解析を行うと、例えば、前半に辞書定義が記述され、後半でその辞書定義を参照している場合には、ＸＭＬパーサ単独ではこれをうまく処理することができない。そこで、例えば、ＤＯＭ（Ｄｏｃｕｍｅｎｔ
Ｏｂｊｅｃｔ Ｍｏｄｅｌ）では、ＸＭＬパーサが辞書定義を検出すれば、その辞書定義をメモリに展開しておき、後で参照可能としている（非特許文献１）。
【特許文献１】特開２００５−１１１７１０号公報
【非特許文献１】http://xml.fujitsu.com/jp/tech/dom/
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＤＯＭのように辞書定義をメモリに展開しておくためには、多量のメモリを必要とする。従って、潤沢にメモリを搭載していない機器では従来の手法を用いることは難しい。
【０００６】
そこで、本発明の目的は、多量のメモリを用いなくても、ＦｉｘｅｄＰａｇｅ文書を適切に処理することである。
【課題を解決するための手段】
【０００７】
本発明の一実施態様に従う、ＸＰＳ（ＸＭＬ Ｐａｐｅｒ Ｓｐｅｃｉｆｉｃａｔｉｏｎ）仕様に従って記述された、ＦｉｘｅｄＰａｇｅ文書の処理装置は、外部メモリに記憶されているＦｉｘｅｄＰａｇｅ文書を、先頭から順に読み出して、ＸＭＬの解析を行うＸＭＬパーサと、前記ＸＭＬパーサの解析結果に基づいて、ＸＰＳ仕様の整合性を判定する整合性判定部と、前記ＦｉｘｅｄＰａｇｅ文書内の定義情報を参照するための参照情報を記憶する記憶部と、前記記憶部に記憶されている前記参照情報に基づいて、前記ＦｉｘｅｄＰａｇｅ文書内の前記定義情報を外部メモリから読み出す手段と、を備える。そして、前記ＸＭＬパーサにより、前記ＦｉｘｅｄＰａｇｅ文書内の定義情報が検出されると、当該ＦｉｘｅｄＰａｇｅ文書から抽出された当該定義情報の参照情報が前記記憶部に記憶される一方で、前記整合性判定手段は当該定義情報の整合性判定を行わない。また、前記ＸＭＬパーサにより、前記ＦｉｘｅｄＰａｇｅ文書内の前記定義情報の参照呼出が検出されると、前記ＸＭＬパーサは、前記読み出し手段が外部メモリから読み出した前記定義情報の解析を行い、前記整合性判定手段が当該定義情報の整合性判定を行う。
【０００８】
好適な実施形態では、前記ＸＭＬパーサは、前記ＦｉｘｅｄＰａｇｅ文書の先頭から順に、エレメント単位に順次読み出して解釈を実行するものであり、前記参照情報は、前記ＦｉｘｅｄＰａｇｅ文書内の定義情報の開始位置及び終了位置を示す情報であり、前記読み出し手段は、少なくとも、前記ＦｉｘｅｄＰａｇｅ文書の前記開始位置から終了位置までを外部メモリから読み出しを行うようにしてもよい。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の一実施形態に係る印刷データの処理システムについて、図面を参照して説明する。
【００１０】
図１は、本発明の一実施形態に係る印刷データの処理システムの構成図である。本システムは、ＦｉｘｅｄＰａｇｅ文書を処理して、プリンタに印刷を実行させるものである。
【００１１】
本システムは、図１に示すように、印刷処理装置１と、印刷処理装置１に接続されたプリンタ５とを備える。
【００１２】
以下に説明する印刷処理装置１の構成要素または機能は、例えば汎用的なコンピュータシステムにおいて、所定のコンピュータプログラムを実行して実現することもできるし、またはＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ
Ｓｐｅｃｉｆｉｃ Ｉｎｔｅｇｒａｔｅｄ Ｃｉｒｃｕｔ）などのハードウェア回路で実現することもできる。あるいは、コンピュータプログラムとハードウェア回路の組み合わせにより実現することもできる。
【００１３】
印刷処理装置１は、印刷要求を行うＡＰ１０と、印刷条件などの設定を受け付ける印刷設定部２０と、フィルタ処理に関するフィルタパイプラインマネージャ３０と、フィルタパイプライン４０と、ＸＰＳ構文解析部６０と、レンダリング処理部７０と、ＸＰＳスプールファイル記憶部８０とを備える。
【００１４】
ＸＰＳスプールファイル記憶部８０には、ＡＰ１０の指示及び印刷設定部２０での印刷設定に従って作成されたＦｉｘｅｄＰａｇｅ文書１００が格納される。ＸＰＳスプールファイル記憶部８０は、ハードディスクなどの外部メモリに設けられている。
【００１５】
ＸＰＳ構文解析部６０は、ＸＰＳ構文解析部６０を制御するコントローラ６１と、ＦｉｘｅｄＰａｇｅ文書のＸＭＬを解析するＸＭＬパーサ６２と、ＦｉｘｅｄＰａｇｅ文書に含まれる辞書（リソースディクショナリ）に関する情報を管理する辞書管理部６３と、辞書に関する情報を記憶するインデックス記憶部６４と、ＦｉｘｅｄＰａｇｅ文書のＸＰＳ仕様の整合性判定部６５とを備える。
【００１６】
ＸＭＬパーサ６２は、外部メモリに設けられたＸＰＳスプールファイル記憶部８０からＦｉｘｅｄＰａｇｅ文書１００を印刷処理装置１内部のメモリに読み出して、ＸＭＬの解釈を行う。ＸＭＬパーサ６２は、ＦｉｘｅｄＰａｇｅ文書を、先頭から所定の単位で順次読み出して処理を行う。ここで、ＸＭＬパーサ６２自体は、ＦｉｘｅｄＰａｇｅ文書を逆順に読んだり、既に読み込んだ任意の位置へ戻って、再びその箇所を読み出したりする機能を有していない。
【００１７】
ここで、図２にＦｉｘｅｄＰａｇｅ文書１００の一例を示す。これを参照して、ＸＭＬパーサ６２の機能をさらに説明する。
【００１８】
同図に示すＦｉｘｅｄＰａｇｅ文書１００には、辞書定義１１０と、この辞書を参照する参照呼び出し１２０が含まれている。辞書定義１１０は、定義情報であって、参照呼び出し１２０によって呼び出されたときに実行される。
【００１９】
また、同図の例では、辞書定義１１０の方が参照呼び出し１２０よりも前に記述されている。従って、ＸＭＬパーサ６２は、ＦｉｘｅｄＰａｇｅ文書１００を先頭から順に読み込んで解釈するのであるから、参照呼び出し１２０よりも先に辞書定義１１０が読み込まれるが、この時点では実行されない。ＸＭＬパーサ６２がさらに読み進めて、参照呼び出し１２０を読み込んだ時点で定義情報１１０の内容が実行される。
【００２０】
従って、ＸＭＬパーサ６２は、辞書定義１１０の先頭である＜ＲｅｓｏｕｒｃｅＤｉｃｔｉｏｎａｒｙ＞１１１を検出すると、コントローラ６１へ通知する。そして、ＸＭＬパーサ６２は、辞書定義１１０の終了である＜／ＲｅｓｏｕｒｃｅＤｉｃｔｉｏｎａｒｙ＞１１２までを読み飛ばす。また、このとき、ＸＭＬパーサ６２は、ＦｉｘｅｄＰａｇｅ文書１００内での辞書定義１１０の開始位置及び終了位置を検出する。そして、この辞書定義１１０の識別情報であるｘ：ＫｅｙＡｔｔｒｉｂｕｔｅ１１３と開始位置及び終了位置を、辞書定義１１０の参照情報として辞書管理部６３へ通知する。
【００２１】
一方、ＸＭＬパーサ６２が参照呼び出し１２０を読み出すと、以下に説明するような手順で、内部メモリへ読み出された辞書定義１１０のＸＭＬを解釈する。
【００２２】
インデックス記憶部６４には、定義情報を参照するための情報が格納される。インデックス記憶部６４は、内部メモリに設けられている。
【００２３】
辞書管理部６３は、ＸＭＬパーサ６２から辞書定義１１０の参照情報、つまり識別情報、開始位置及び終了位置の通知を受けると、インデックス記憶部６４に格納する。また、辞書管理部６３は、辞書定義１１０の読み出し指示を受けると、インデックス記憶部６４から参照情報を取得する。そして、辞書管理部６３は、少なくとも、参照情報で定まる開始位置から終了位置までのＦｉｘｅｄＰａｇｅ文書１００を、外部メモリのＸＰＳスプールファイル記憶部８０から内部メモリへ読み込む。
【００２４】
ＸＭＬパーサ６２が、ＦｉｘｅｄＰａｇｅ文書１００の参照呼び出し１２０を検出すると、上述のようにして定義情報１１０が内部メモリへ読み込まれる。そして、ＸＭＬパーサ６２が、内部メモリの定義情報１１０を解釈する。
【００２５】
コントローラ６１は、ＸＭＬパーサ６２の解釈結果を取得して、ＸＰＳ文書整合性判定部６５へ通知する。ただし、コントローラ６１は、ＸＭＬパーサ６２から定義情報１１０が検出された旨の通知を受けたとき、定義情報１１０については、ＸＰＳ文書整合性判定部６５へ通知しない。一方、コントローラ６１は、参照呼び出し１２０が検出された旨の通知を受けると、辞書管理部６３へ、ＸＰＳスプールファイル記憶部８０から定義情報１１０の読み出しを指示する。この読み出し指示に従って辞書管理部６３が読み出した定義情報１１０をＸＭＬパーサ６２が解釈したときは、コントローラ６１は、その結果を受け取って、ＸＰＳ文書整合性判定部６５へ通知する。
【００２６】
ＸＰＳ文書整合性判定部６５は、コントローラ６１から解釈結果の情報を順次受け付けて、受け付けた順にＸＰＳとしての文書の整合性を判定する。この整合性判定で問題がなければ、ＸＰＳ文書整合性判定部６５は、順次レンダリング処理部７０へ出力する。
【００２７】
レンダリング処理部７０は、ＸＰＳ構文解析部６０から構文解析結果を受け取って、レンダリングを行う。レンダリングされたデータは、プリンタ５へ出力されて、印刷が実行される。
【００２８】
図３は、上述のような構成を備えた印刷処理装置１のＸＰＳ構文解析部６０での詳細な処理手順を示すフローチャートであり、これに沿ってＸＰＳ構文解析部６０の処理を説明する。
【００２９】
コントローラ６１は、ＸＭＬパーサ６２へＦｉｘｅｄＰａｇｅ文書１００のパース開始命令を送る（Ｓ１１）。
【００３０】
ＸＭＬパーサ６２は、先頭から順にＦｉｘｅｄＰａｇｅ文書１００を読み込んで以下の処理を行い、最後まで処理を行った終了する（Ｓ１２）。
【００３１】
ＸＭＬパーサ６２は、ＦｉｘｅｄＰａｇｅ文書１００をエレメント単位にＸＰＳスプールファイル記憶部８０から読み出して、読み出した部分の解釈を行う（Ｓ１３）。
【００３２】
このとき、ＸＭＬパーサ６２は、解釈したエレメントが、辞書定義であるか、または、辞書定義の参照呼び出しであるかを判定する（Ｓ１４，Ｓ１５）。
【００３３】
ＸＭＬパーサ６２が解釈した部分が、辞書定義でも、辞書定義の参照呼び出しでもないときは（Ｓ１４：Ｎｏ、Ｓ１５：Ｎｏ）、ＸＰＳ文書整合性判定部６５はＦｉｘｅｄＰａｇｅ文書の整合性判定を行う（Ｓ１６）。そして、ＦｉｘｅｄＰａｇｅ文書のＸＰＳの整合性が取れているときは、ＸＰＳ文書整合性判定部６５はレンダリング処理部７０へ出力し、その後ステップＳ１２へ戻る（Ｓ１７）。
【００３４】
また、ステップＳ１４で、ＸＭＬパーサ６２が解釈した部分が辞書定義であると判定されときは（Ｓ１４：Ｙｅｓ）、辞書管理部６３は、インデックス記憶部６４へ、辞書定義１１０の識別情報及び開始位置を登録する（Ｓ２１）。そして、ＸＭＬパーサ６２は、引き続きＦｉｘｅｄＰａｇｅ文書の読み出しを行って（Ｓ２２）、辞書定義１１０の終了位置を検出する（Ｓ２３）。そして、辞書管理部６３がその終了位置をインデックス記憶部６４へ登録する（Ｓ２４）。その後、ステップＳ１２へ戻る。
【００３５】
また、ステップＳ１５で、ＸＭＬパーサ６２が解釈した部分が参照呼び出しであると判定されたときは、図４に示す参照呼出処理を行って、ステップＳ１２へ戻る（Ｓ３０）。
【００３６】
参照呼び出し処理では、図４に示すように、まず、辞書管理部６３がコントローラ６１から辞書定義の識別情報とともに参照呼び出しの指示を受けると、その識別情報に係る辞書定義を、ＸＰＳスプールファイル記憶部８０から内部メモリへ読み出す（Ｓ３１）。
【００３７】
そして、ＸＭＬパーサ６２が、定義情報の先頭から終了まで、以下の処理を行う（Ｓ３２）。すなわち、ＸＭＬパーサ６２が定義情報のエレメントを読み込んで解釈を行う（Ｓ３３）。そして、その解釈結果をコントローラ６１を介して受け取ったＸＰＳ文書整合性判定部６５が整合性判定を行い、ＦｉｘｅｄＰａｇｅ文書の整合性が取れているときは、レンダリング処理部７０へ出力する（Ｓ３４，Ｓ３５）。
【００３８】
ＸＭＬパーサ６２が定義情報の終了まで解釈を行うと、参照呼び出し処理を終了する（Ｓ３２：Ｙｅｓ）。
【００３９】
上述した実施形態によれば、定義情報とその参照呼び出しとを含むＦｉｘｅｄＰａｇｅ文書を適切に処理することができる。とくに、ＦｉｘｅｄＰａｇｅ文書を先頭から順に処理するＸＭＬパーサを用いたときに、定義情報が参照呼び出しよりも前段にあるときに、多量のメモリを用いることなく処理することができる。
【００４０】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【図面の簡単な説明】
【００４１】
【図１】本発明の一実施形態に係る印刷データの処理システムの構成図である。
【図２】ＦｉｘｅｄＰａｇｅ文書の一例を示す。
【図３】ＸＰＳ構文解析部での詳細な処理手順を示すフローチャートである。
【図４】参照呼び出し処理のフローチャートである。
【符号の説明】
【００４２】
１…印刷処理装置、５…プリンタ、２０…印刷設定部、６０…ＸＰＳ構文解析部、６１…コントローラ、６２…ＸＭＬパーサ、６３…辞書管理部、６４…インデックス記憶部、６５…ＸＰＳ文書整合性判定部、７０…レンダリング処理部、８０…ＸＰＳスプールファイル記憶部。
【図１】
2008049568.tif 000003
【図２】
2008049568.tif 000004
【図３】
2008049568.tif 000005
【図４】
2008049568.tif 000006