(57)【要約】【課題】ＸＰＳ文書の一部にサポートしていない要素がある場合でもＸＰＳ文書の印刷を継続する。【解決手段】ＸＰＳ文書データを印刷データに変換してプリンタ２に出力する印刷制御装置１は、ＸＰＳ文書データとその印刷設定の受け付ける印刷設定受付部１１５と、前記入力ＸＰＳ文書データを加工するフィルタ処理部１２１と、前記加工された入力ＸＰＳ文書データを構成する各要素データのうち、プリンタ２で印刷可能な前記要素データを抽出し、抽出した前記要素データで構成される出力文書データの生成を行うＸＰＳ構文解析部１３０と、生成された前記出力文書データを印刷データに変換してプリンタ２に出力するレンダラ１６０とを有する。【選択図】図１
2008234119.tif 000002
【特許請求の範囲】
【請求項１】
ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）文書フォーマット
で記載された文書データを印刷データに変換してプリンタに出力する印刷制御装置であっ
て、
入力文書データ及び当該入力文書データについての印刷設定の入力を受け付ける受付手
段と、
前記印刷設定に従って前記入力文書データを加工する加工手段と、
前記加工された入力文書データを構成する各要素データのうち、前記プリンタで印刷可
能な前記要素データを抽出し、抽出した前記要素データで構成される出力文書データの生
成を行うＸＭＬ文書フォーマット構文解析手段と、
生成された前記出力文書データを印刷データに変換して前記プリンタに出力する印刷デ
ータ生成手段と、
を有することを特徴とする印刷制御装置。
【請求項２】
請求項１に記載の印刷制御装置であって、
前記ＸＭＬ文書フォーマット構文解析手段は、
前記入力文書データから読み出した前記要素データ毎にＸＭＬの文法チェックを行うＸ
ＭＬパーサと、
読み出された前記要素データについて、前記プリンタで印刷可能であるか否かを判定す
る互換性チェック手段と、
前記互換性チェック手段が印刷可能であると判定した前記要素データについて、ＸＭＬ
文書フォーマットの文法チェック処理を行って、当該要素データで構成される出力文書デ
ータの生成を行う整合性チェック手段と、を有し、
前記互換性チェック手段は、
印刷可能でないと判定した前記要素データがある場合に、前記出力文書データの生成を
中止するか否かを、予め定めた規則に基づいて決定する印刷継続チェック手段を、有する
こと、
を特徴とする印刷制御装置。
【請求項３】
請求項２に記載の印刷制御装置であって、
前記互換性チェック手段が印刷可能でないと判定した前記要素データは、
前記出力文書データの生成を中止するよう予め定められた第一の要素データ、又は、前
記出力文書データの生成を継続するよう予め定められた第二の要素データであり、
前記印刷継続チェック手段は、
前記要素データが前記第一の要素データである場合、前記出力文書データの生成を中止
し、
前記要素データが前記第二の要素データである場合、当該第二の要素データの合計数が
予め定めた回数を超えた場合に、前記出力文書データの生成を中止すること、
を特徴とする印刷制御装置。
【請求項４】
請求項３に記載の印刷制御装置であって、
前記第一の要素データは、
画像データ又は文字データを示す要素データであり、
前記第二の要素データは、
線データを示す要素データであること、
を特徴とする印刷制御装置。
【請求項５】
コンピュータを、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）
文書フォーマットで記載された文書データを印刷データに変換してプリンタに出力する印
刷制御装置として機能させるためのプログラムであって、
前記コンピュータを、
入力文書データ及び当該入力文書データについての印刷設定の入力を受け付ける受付手
段と、
前記印刷設定に従って前記入力文書データを加工する加工手段と、
前記加工された入力文書データを構成する各要素データのうち、前記プリンタで印刷可
能な前記要素データを抽出し、抽出した前記要素データで構成される出力文書データの生
成を行うＸＭＬ文書フォーマット構文解析手段と、
生成された前記出力文書データを印刷データに変換して前記プリンタに出力する印刷デ
ータ生成手段として、
機能させることを特徴とするプログラム。
【請求項６】
ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）文書フォーマット
で記載された文書データを印刷データに変換して印刷するプリンタであって、
入力文書データ及び当該入力文書データについての印刷設定の入力を受け付ける受付手
段と、
前記印刷設定に従って前記入力文書データを加工する加工手段と、
前記加工された入力文書データを構成する各要素データのうち、前記プリンタで印刷可
能な前記要素データを抽出し、抽出した前記要素データで構成される出力文書データの生
成を行うＸＭＬ文書フォーマット構文解析手段と、
生成された前記出力文書データを印刷データに変換して前記プリンタに出力する印刷デ
ータ生成手段と、
を特徴とするプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＸＭＬ文書フォーマットで記載された文書データを印刷データに変換する制
御技術に関する。
【背景技術】
【０００２】
文書やデータの意味や構造を記述するためのマークアップ言語として、ＸＭＬ（Ｅｘｔ
ｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）が知られている。また、Ｍｉｃｒｏ
ｓｏｆｔ社が開発した、コンピュータの機種や環境に依存しない電子文書を記述するため
のＸＭＬベースの文書フォーマット（ＸＰＳ：ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｓｉｃｉｃａ
ｔｉｏｎ）の仕様が知られている（非特許文献１）。また、ＸＰＳの上位の仕様として、
Ｏｐｅｎ  ＸＭＬ  Ｍａｒｋｕｐ  Ｃｏｍｐａｔｉｂｉｌｉｔｙという仕様が公開されて
いる。その中では、ＸＰＳのバージョン管理、拡張性やプリンタドライバ等おける未サポ
ートバージョンのＸＰＳ文書の取り扱い（ハンドリング）方法等を規定した、Ｍａｒｋｕ
ｐ  Ｃｏｍｐａｔｉｂｉｌｉｔｙという仕様が規定されている（非特許文献２）。
【０００３】
【非特許文献１】XML Paper Specification（http://www.microsoft.com/japan/whdc/xps/default.mspx）
【非特許文献２】Open XML Markup Compatibility（http://www.ecma-international.org/news/TC45_current_work/Office%20Open%20XML%20Part%205%20-%20Markup%20Compatibility%20and%20Extensibility.pdf）  ＸＰＳ文書の印刷には、ＸＰＳ対応のプリンタドライバが用いられる。当該プリンタドライバは、ＸＰＳ文書データを、プリンタが処理可能な印刷データに変換する処理を行う。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
Ｍａｒｋｕｐ  Ｃｏｍｐａｔｉｂｉｌｉｔｙは、ＸＰＳ文書の印刷を実行するプリンタ
等の機器が必ずサポートしていなければならないＸＰＳのバージョン指定を、ＸＰＳ文書
内に記述できることを規定している。そして、プリンタ等の機器（若しくは、当該プリン
タ専用のプリンタドライバ）は、ＸＰＳ文書内に指定されたＸＰＳのバージョンをサポー
トしていない場合、そのＸＰＳ文書の印刷を実行することができない。したがって、プリ
ンタ等の機器は、ＸＰＳ文書の一部に上記のバージョン指定がある場合であっても、当該
ＸＰＳ文書全体を印刷することができない。
【０００５】
しかしながら、ユーザは、文書の一部が印刷されなくても、その一部を除いた文書全体
の印刷結果を得られた方が都合が良い場合がある。例えば、少なくとも、文字及び画像が
印刷されれば、文書の内容の理解に影響を与えない線などは不要である。
【０００６】
本発明の目的は、プリンタ等の機器がサポートしていないバージョン指定を一部に含む
ＸＰＳ文書であっても、当該指定された部分の内容に基づいて、ＸＰＳ文書全体の印刷を
継続するか否かを判定し、ユーザにメリットがあるＸＰＳ文書の印刷を実現する技術を提
供することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するため、第１の態様は、ＸＭＬ文書フォーマットで記載された文書
データを印刷データに変換してプリンタに出力する印刷制御装置であって、入力文書デー
タ及び当該入力文書データについての印刷設定の入力を受け付ける受付手段と、前記印刷
設定に従って前記入力文書データを加工する加工手段と、前記加工された入力文書データ
を構成する各要素データのうち、前記プリンタで印刷可能な前記要素データを抽出し、抽
出した前記要素データで構成される出力文書データの生成を行うＸＭＬ文書フォーマット
構文解析手段と、生成された前記出力文書データを印刷データに変換して前記プリンタに
出力する印刷データ生成手段とを有する。
【０００８】
また、前記印刷制御装置であって、前記ＸＭＬ文書フォーマット構文解析手段は、前記
入力文書データから読み出した前記要素データ毎にＸＭＬの文法チェックを行うＸＭＬパ
ーサと、読み出された前記要素データについて、前記プリンタで印刷可能であるか否かを
判定する互換性チェック手段と、前記互換性チェック手段が印刷可能であると判定した前
記要素データについて、ＸＭＬ文書フォーマットの文法チェック処理を行って、当該要素
データで構成される出力文書データの生成を行う整合性チェック手段と、を有し、前記互
換性チェック手段は、印刷可能でないと判定した前記要素データがある場合に、前記出力
文書データの生成を中止するか否かを、予め定めた規則に基づいて決定する印刷継続チェ
ック手段を有する構成とすることができる。
【０００９】
また、前記印刷制御装置であって、前記互換性チェック手段が印刷可能でないと判定し
た前記要素データは、前記出力文書データの生成を中止するよう予め定められた第一の要
素データ、又は、前記出力文書データの生成を継続するよう予め定められた第二の要素デ
ータであり、前記印刷継続チェック手段は、前記要素データが前記第一の要素データであ
る場合、前記出力文書データの生成を中止し、前記要素データが前記第二の要素データで
ある場合、当該第二の要素データの合計数が予め定めた回数を超えた場合に、前記出力文
書データの生成を中止する構成とすることができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して、第１の実施形態について説明する。
【００１１】
図１は、第１の実施形態が適用されるシステム構成の概要、及び、印刷制御装置の機能
構成を示すブロック図である。
【００１２】
本図に示すように、本システムは、アプリケーションによる各種処理、プリンタドライ
バによる印刷処理等を実現するための印刷制御装置１と、この印刷制御装置１に接続され
るプリンタ２とを備えて構成される。印刷制御装置１は、プログラムが動作する情報処理
装置であり、一般的なコンピュータである。本システムにおいては、印刷制御装置１が、
アプリケーションにより生成されたＸＰＳ文書データを印刷データに変換し、プリンタ２
に送信する。そして、プリンタ２は、受信した印刷データに基づいて印刷を実行する。な
お、システムの構成はこれに限られない。
【００１３】
次に、印刷制御装置１の機能構成について説明する。印刷制御装置１上には、アプリケ
ーション１００とプリンタドライバ１１０が構築される。もちろん、必要に応じて、オペ
レーティングシステム等の他の機能構成を備えるようにしてもよい。
【００１４】
アプリケーション１００は、例えば、ユーザの操作により、文書データの編集や作成を
行う。また、作成された文書データを、ＸＰＳ文書データに変換する処理を行う。
【００１５】
プリンタドライバ１１０は、例えば、ユーザの操作により起動され、ユーザインタフェ
ース（図示しない）を介して、印刷対象のＸＰＳ文書データと当該ＸＰＳ文書データに関
する印刷設定を受け付ける。そして、印刷設定に基づいたＸＰＳ文書データの加工処理や
ＸＰＳ構文解析処理を行い、受け付けたＸＰＳ文書データを印刷データに変換する。また
、印刷データをプリンタ２に出力する。以下、具体的に説明する。
【００１６】
図１に示すように、プリンタドライバ１１０は、印刷設定受付部１１５と、フィルタ処
理管理部１２０と、フィルタ処理部１２１と、ＸＰＳ構文解析部１３０と、レンダラ１６
０とを有する。
【００１７】
印刷設定受付部１１５は、ユーザの操作によりプリンタドライバ１１０が起動されると
、例えば、印刷設定を受け付けるためのユーザインタフェース（図示しない）を、入出力
装置１４（図２参照）に表示させる。ユーザインタフェースには、例えば、ページ割り付
け、用紙サイズや濃度調節などの設定を受け付けるメニューやボタンが表示される。印刷
設定受付部１１５は、ユーザインタフェースを介して、印刷対象のＸＰＳ文書データの指
定と、当該ＸＰＳ文書データに関する印刷設定を受け付ける。そして、指定されたＸＰＳ
文書データと印刷設定をフィルタ処理管理部１２０に出力する。なお、印刷設定受付部１
１５は、例えば、スプールにＸＰＳ文書データを出力する。また。フィルタ処理はスプー
ルを利用して実行される。ここでは、説明を分かり易くするため、スプールに関する説明
は省略する。
【００１８】
フィルタ処理管理部１２０及びフィルタ処理部１２１は、ＸＰＳ文書データを印刷設定
に従って加工する処理を行う。ここで、フィルタ処理部１２１は、各種印刷設定に応じた
処理毎に備えられている。例えば、２ページ割り付けの印刷設定が指定されている場合は
、ページ割り付けの加工を行うためのフィルタ処理部１２１が、ＸＰＳ文書データの記述
を、２ページ割り付けの指定を含む記述に書き換える処理を行う。フィルタ処理管理部１
２０は、印刷設定の内容に従って、受け付けたＸＰＳ文書データについて加工処理を行う
フィルタ処理部１２１に命令を出す。その際、フィルタ処理管理部１２０は、各フィルタ
処理部１２１の実行を、例えば、パイプライン処理により制御する。なお、加工処理を行
う単位は、例えば、ＸＰＳ文書データのページ、ブロックとすることができる。全てのフ
ィルタ処理が終了すると、加工後のＸＰＳ文書データは、ＸＰＳ構文解析部１３０に出力
される。
【００１９】
ＸＰＳ構文解析部１３０は、加工後のＸＰＳ文書データについて、例えば、１ページ単
位で、ＸＭＬ及びＸＰＳの文法・構文チェック等を行い、レンダラ１６０に出力する出力
文書データを生成する。そのため、ＸＰＳ構文解析部１３０は、ＸＭＬパーサ１３２と、
互換性チェック処理部１３４と、ＸＰＳ文書整合性チェック処理部１３６とを有する。
【００２０】
ＸＭＬパーサ１３２は、受け付けたＸＰＳ文書データについて、字句・構文解析を行っ
てＸＭＬの文法が正しいかを検証するとともに、プログラムが解析可能なデータ形式に変
換するパース処理を行う。本実施形態では、ＸＭＬパーサ１３２は、ＸＰＳ文書データを
構成するＸＭＬの要素データ毎にパース処理を実行すると同時に、互換性チェック処理部
１３４に、以下に説明するチェック処理を実行させる。
【００２１】
互換性チェック処理部１３４は、パース処理において読み込まれた要素データについて
、プリンタ２で印刷可能であるか否か、すなわち、当該要素データをサポートしているか
をチェックする処理を行う。互換性チェック処理部１３４は、サポートしている要素デー
タについて、例えば、ＤＴＤ（Ｄｏｃｕｍｅｎｔ  Ｔｙｐｅ  Ｄｅｆｉｎｉｔｉｏｎ）等
により予め保持している。チェック対象の要素データがサポートしている要素データ（サ
ポート要素）である場合、互換性チェック処理部１３４は、当該要素データをＸＰＳ整合
性チェック処理部１３６に出力する。チェック対象の要素データがサポートしていない要
素データ（非サポート要素）である場合、当該要素データの内容に基づいて、当該要素デ
ータを一部に含むＸＰＳ文書データの印刷を継続するか否かを判定する処理を行う（以下
、印刷継続チェック処理、と呼ぶ）。なお、Ｍａｒｋｕｐ  Ｃｏｍｐａｔｉｂｉｌｉｔｙ
の仕様に基づく場合、非サポート要素が一つでも見つかった場合、印刷処理を中止するこ
ととなる。以下、具体的に説明する。
【００２２】
本実施形態では、Ｍａｒｋｕｐ  Ｃｏｍｐａｔｉｂｉｌｉｔｙに規定されている、Ｍｕ
ｓｔＵｎｄｅｒｓｔａｎｄ属性及びＩｇｎｏａｒａｂｌｅ属性を互換性チェック処理の対
象としている。ここで、これらの属性について説明する。なお、要素データには、要素名
、属性、値等が含まれるものとする。
【００２３】
ＭｕｓｔＵｎｄｅｒｓｔａｎｄ属性は、要素名と関連付けられ、名前空間（例えば、Ｘ
ＰＳバージョン毎に異なる）を示す値が設定される。当該属性が関連付けられた要素名は
、設定された名前空間の要素名として、処理されなければならないことを示す。そして、
Ｍａｒｋｕｐ  Ｃｏｍｐａｔｉｂｉｌｉｔｙによれば、当該名前空間をサポートしていな
い場合、プリンタ等は、当該要素データ及びその子要素についても、パース処理を行わな
いように規定されている。なお、後述するように、本実施形態では、子要素についてもチ
ェック処理を行う。
【００２４】
Ｉｇｎｏａｒａｂｌｅ属性は、名前空間（例えば、ＸＰＳバージョン毎に異なる）を示
す値が設定され、当該設定された名前空間に属する要素名を有する要素データについては
パース処理の対象としなくてよいことを示す。
【００２５】
さて、互換性チェック処理部１３４は、ＸＭＬパーサ１３２から受け取った各要素デー
タの要素名について、サポートしているか否か判定する。また、ＭｕｓｔＵｎｄｅｒｓｔ
ａｎｄ属性が関連付けられている要素名については、当該属性に設定された名前空間を、
サポートしているか否か判定する。サポート要素である場合、当該要素データについてＸ
ＰＳ文書整合性チェック処理部１３６によるチェック処理を行わせる。非サポート要素で
ある場合、当該要素データの内容のチェックを行い、当該要素データを含むＸＰＳ文書デ
ータの印刷を継続するか否かを判定する処理を行う。
【００２６】
印刷継続チェック処理において、互換性チェック処理部１３４は、当該要素名の属する
名前空間に、Ｉｇｎｏａｒａｂｌｅ属性が関連付けられているか否かをチェックする。Ｉ
ｇｎｏａｒａｂｌｅ属性が関連付けられている場合、当該要素データについては、生成す
る出力文書データを構成する要素データとしてパース処理を行わない（当該要素データを
スキップする）。また、Ｉｇｎｏａｒａｂｌｅ属性若しくはＭｕｓｔＵｎｄｅｒｓｔａｎ
ｄ属性が関連付けられていない他の非サポート要素についてもスキップする。
【００２７】
印刷継続チェック処理において、互換性チェック処理部１３４は、ＭｕｓｔＵｎｄｅｒ
ｓｔａｎｄ属性が関連付けられている場合は、当該要素データの子要素の内容をチェック
し、スキップするか否かを判定する。例えば、チェック対象の子要素がＰａｔｈ（線）で
構成されている場合、スキップする。チェック対象の子要素がＰａｔｈ（線）以外で構成
されている場合は、スキップせずに、出力文書データの生成を中止し、当該子要素を含む
ＸＰＳ文書データの印刷を中止する。本実施形態では、Ｐａｔｈ（線）以外である場合は
、画像又は文字等であるものとみなして、印刷を中止することとしているが、スキップ対
象の要素はＰａｔｈ（線）以外であってもよい。
【００２８】
また、互換性チェック処理部１３４は、スキップをした回数をカウントしておき、当該
スキップ回数が予め定めた回数を超えた場合は、出力文書データの生成を中止し、印刷を
中止する。回数は、印刷結果がユーザに与えるメリットを勘案して決定され、例えば１０
回程度が望ましい。本実施形態では、以上のように、画像や文字等のユーザにとって重要
な情報を示す要素をサポートしていない場合、また、非サポート要素をスキップした回数
が上限を超えた場合、を除いて印刷を継続することにより、ユーザにメリットがある印刷
結果を得ることができる。
【００２９】
ＸＰＳ文書整合性チェック処理部１３６は、互換性チェック処理部１３４においてサポ
ート要素と判断された各要素データについて、ＸＰＳの文法・構文が正しいかを検証する
。また、検証が終了した各要素データを蓄積して、例えば１ページ単位で、出力文書デー
タを生成し、レンダラ１６０に出力する。
【００３０】
レンダラ１６０は、出力文書データ及び印刷設定に基づいて、印刷データ（例えばビッ
トマップイメージデータ）を生成する処理を行う。また、生成した印刷データをプリンタ
２に出力する。
【００３１】
以上のように構成される印刷制御装置１は、例えば、図２に示すような、ＣＰＵ１０と
、主記憶装置１１と、ＨＤＤ等の補助記憶装置１２と、ＣＤ−ＲＯＭやＵＳＢメモリ等の
可搬性を有する可搬型記憶媒体（図示しない）の情報を読み書きする読み書き装置１３と
、ディスプレイ、キーボードやマウス等の入出力装置１４と、通信ネットワークに接続す
るためのインタフェースである通信装置１５と、を備えた一般的な情報処理装置（コンピ
ュータ）で実現される。
【００３２】
例えば、アプリケーション１００及びプリンタドライバ１１０は、補助記憶装置１２に
予め記憶されているプログラムを主記憶装置１１にロードしてＣＰＵ１０で実行すること
で実現可能である。プログラムは、読み書き装置１３を介して可搬型記憶媒体から、ある
いは、通信装置１５を介してネットワークから、補助記憶装置１２にダウンロードされ、
それから、主記憶装置１１上にロードされてＣＰＵ１０により実行されるようにしてもよ
い。また、読み書き装置１３を介して可搬型記憶媒体から、あるいは、通信装置１５を介
してネットワークから、主記憶装置１１上に直接ロードされ、ＣＰＵ１０により実行され
るようにしてもよい。
【００３３】
次に、図３及び図４を参照して、ＸＰＳ構文解析処理の流れを説明する。図３は、ＸＰ
Ｓ構文解析処理の流れを示すフローチャート図である。図４は、ＸＰＳ構文解析処理内で
行われる印刷継続チェック処理（図３のＳ３０６）の流れを示すフローチャート図である
。ＸＰＳ構文解析部１３０は、フィルタ処理が終了した加工後のＸＰＳ文書データを受け
取ると、ＸＰＳ構文解析処理を開始する。
【００３４】
先ず、ＸＭＬパーサ１３２は、入力されたＸＰＳ文書データのパース処理を開始する（
Ｓ３０１）。ＸＭＬパーサ１３２は、パース処理（Ｓ３０３〜Ｓ３０６、Ｓ３１３〜Ｓ３
１５）を、ＸＰＳ文書データを構成する要素データ毎に実行し、エラーがない限り、ＸＰ
Ｓ文書データの最後まで繰り返す（Ｓ３０２）。
【００３５】
ＸＭＬパーサ１３２は、パース処理において、まず、処理対象の要素データの読み込み
を行う（Ｓ３０３）。
【００３６】
次に、互換性チェック処理部１３４は、ステップ３０３において読み出された要素デー
タの要素名をサポートしているか否かをチェックする（Ｓ３０４）。なお、ＭｕｓｔＵｎ
ｄｅｒｓｔａｎｄ属性が関連付けられている要素名については、当該属性に設定された名
前空間をサポートしているか否かをチェックする。サポートしていると判定した場合は、
ＸＰＳ文書整合性チェック処理部１３６に、当該要素データについてＸＰＳ文書整合性チ
ェック処理を行わせる。
【００３７】
ＸＰＳ文書整合性チェック処理部１３６は、受け取った要素データについて、整合性チ
ェックを行い、チェック後の要素データを蓄積して出力文書データを生成する（Ｓ３０５
）。例えば、ＸＰＳ文書データ１ページ分の出力文書データを生成すると、レンダラ１６
０に出力する。
【００３８】
一方、ステップ３０４において非サポートと判定した場合、互換性チェック処理部１３
４は、印刷継続チェック処理を行う（Ｓ３０６）。図４に示すように、印刷継続チェック
処理では、先ず、チェック対象の要素データの名前空間が、Ｉｇｎｏｒａｂｌｅ属性で指
定された名前空間であるか否かをチェックする（Ｓ３０７）。Ｉｇｎｏｒａｂｌｅ属性で
指定された名前空間である場合、当該要素データについて「Ｓｋｉｐ」と判定する（Ｓ３
１１）。
【００３９】
一方、Ｉｇｎｏｒａｂｌｅ属性で指定された名前空間でない場合、互換性チェック処理
部１３４は、スキップ回数が基準値（例えば、１０回）以上か否かをチェックする（Ｓ３
０８）。そして、スキップ回数が基準値以上である場合、「Ｅｒｒｏｒ」と判定する（Ｓ
３１２）。一方、スキップ回数が基準値未満である場合、要素データの要素名の名前空間
をサポートしているか否かをチェックする（Ｓ３０９）。サポートしていない場合は、当
該要素データについて「Ｓｋｉｐ」と判定する（Ｓ３１１）。
【００４０】
一方、互換性チェック処理部１３４は、ステップ３０９においてサポートしていないと
判定した以外の要素データ、すなわち、ＭｕｓｔＵｎｄｅｒｓｔａｎｄ属性が関連付けら
れている要素データについては、当該要素データの子要素データがＰａｔｈ（線）で構成
されているかあるかをチェックする（Ｓ３１０）。子要素がＰａｔｈ（線）である場合、
当該要素データ及び子要素について「Ｓｋｉｐ」と判定する（Ｓ３１１）。子要素がＰａ
ｔｈ（線）以外である場合、「Ｅｒｒｏｒ」と判定する（Ｓ３１２）。互換性チェック処
理部１３４は、以上のような印刷継続チェック処理を行い、スキップ又はエラーの判定結
果を得る。
【００４１】
図３に戻って、互換性チェック処理部１３４は、印刷継続チェック処理の判定結果に従
って、印刷を継続するか否かを判定する（Ｓ３１３）。判定結果が「Ｓｋｉｐ」である場
合、チェック対象の要素データをスキップし（Ｓ３１４）、スキップ回数に１加算する（
Ｓ３１５）。これにより、スキップされた要素データは、レンダラ１６０に出力されるデ
ータに含まれないこととなる。一方、ステップ３１３において、判定結果が「Ｅｒｒｏｒ
」である場合、エラー処理を行い、出力文書データの生成を中止し、印刷処理を中止する
（Ｓ３１６）。以上のように、ＸＰＳ構文解析部１３０は、エラーとすることなく、ＸＰ
Ｓ文書データの全ての要素データについてパース処理を行うと、図３のＸＰＳ構文解析処
理を終了する。
【００４２】
次に、図５に示すＸＰＳ文書を例にして、上述したＸＰＳ構文解析処理をより具体的に
説明する。図５（Ａ）は、フィルタ処理が終了した状態のＸＰＳ文書データを示しており
、図５（Ｂ）は、ＸＰＳ構文解析処理が終了した状態の出力文書データをＸＰＳ文書デー
タとして示したものである。なお、説明の便宜上、図には、行番号を示している。ここで
は、プリンタドライバ１１０は、名前空間「ｖ２」をサポートしていないものとする。
【００４３】
ステップ３０３において、５行目の要素データ<Canvas mc:MustUnderstand="v2">が読
み込まれると、互換性チェック処理部１３４は、当該要素データをサポートしているか否
かをチェックする（Ｓ３０４）。対象の要素データにはＭｕｓｔＵｎｄｅｒｓｔａｎｄ属
性が関連付けられているので、当該属性に設定された名前空間「ｖ２」をサポートしてい
るか否か判定する。プリンタドライバ１１０は名前空間「ｖ２」をサポートしていないの
で、互換性チェック処理部１３４は、次に、印刷継続チェック処理を行う（Ｓ３０６）。
【００４４】
ステップ３０７において、対象の要素データはＩｇｎｏｒａｂｌｅ要素でないので、互
換性チェック処理部１３４は、次の、スキップ回数の判定を行う（Ｓ３０８）。この時点
で、スキップ回数は０回であるため、次の、ステップ３０９を実行する。
【００４５】
ステップ３０９において、プリンタドライバ１１０は名前空間「ｍｃ」をサポートして
いるので、互換性チェック処理部１３４は、次の、ステップ３１０を実行する。
【００４６】
ステップ３１０において、互換性チェック処理部１３４は、対象の要素データの子要素
データ、６行目の<Path Fill="#CCCC66" Data="M 100,50 L 200,150 L 100,250 L 0,150 
Z" />と、７行目の<Path Fill="#ff7f50" Data="M 200,50 L 300,150 L 200,250 L 100,1
50 Z"/>が、Ｐａｔｈ（線）で構成されているかあるかをチェックする。この場合、二つ
の子要素はＰａｔｈ（線）であるので、当該要素データ及び子要素について「Ｓｋｉｐ」
と判定する（Ｓ３１１）。この結果に従って、チェック対象の要素データをスキップし（
Ｓ３１４）、スキップ回数に１加算する（Ｓ３１５）。
【００４７】
次に、ステップ３０３において、９行目の要素データ<Path Fill="#4169e1" Data="M 3
00,50 L 400,150 L 300,250 L 200,150 Z" v2:IgnoreAttr="1" />が読み込まれると、互
換性チェック処理部１３４は、当該要素データをサポートしているか否かをチェックする
（Ｓ３０４）。プリンタドライバ１１０は名前空間「ｖ２」をサポートしていないので、
互換性チェック処理部１３４は、次に、印刷継続チェック処理を行う（Ｓ３０６）。
【００４８】
ステップ３０７において、対象の要素データはＩｇｎｏｒａｂｌｅ要素でないので、互
換性チェック処理部１３４は、次の、スキップ回数の判定を行う（Ｓ３０８）。この時点
で、スキップ回数は１回であるため、次の、ステップ３０９を実行する。
【００４９】
ステップ３０９において、プリンタドライバ１１０は名前空間「ｖ２」をサポートして
にないので、互換性チェック処理部１３４は、当該要素データについて「Ｓｋｉｐ」と判
定する（Ｓ３１１）。この結果に従って、チェック対象の要素データをスキップし（Ｓ３
１４）、スキップ回数に１加算する（Ｓ３１５）。
【００５０】
次に、ステップ３０３において、１０行目の要素データ<Path Fill="#4169e1" Data="M
300,50 L 400,150 L 300,250 L 200,150 Z" />が読み込まれると、互換性チェック処理
部１３４は、当該要素データをサポートしているか否かをチェックする（Ｓ３０４）。当
該要素データには、プリンタドライバ１１０がサポートしていない名前空間の指定はない
ので、互換性チェック処理部１３４は、ＸＰＳ文書整合性チェック処理部１３６に、当該
要素データについてＸＰＳ文書整合性チェック処理を行わせる（Ｓ３０５）。
【００５１】
以上のようにして、ＸＰＳ構文解析処理部１３０は、図５（Ａ）に示すＸＰＳ文書を、
図５（Ｂ）に示すＸＰＳ文書として解釈して出力文書データを生成する。
【００５２】
以上、第１の実施形態について説明した。第１の実施形態によれば、印刷制御装置は、
ＸＰＳ文書の一部にサポートしていない要素がある場合であっても、当該要素を含むＸＰ
Ｓ文書全体の印刷をできる限り継続することができる。これにより、ＸＰＳ文書全体が印
刷されない事態を回避し、ユーザにとってメリットがあるＸＰＳ文書の印刷を実現するこ
とができる。
【００５３】
なお、第１の実施形態では印刷制御装置上にプリンタドライバを構築する例に挙げたが
、これに限られない。例えば、プリンタドライバ１１０を、以下に示すようなプリンタ２
上に構築することとしてもよい。
【００５４】
プリンタ２は、例えば、図６に示すようなＣＰＵ２０と、主記憶装置２１と、ＲＯＭ２
２と、ＵＳＢメモリ等の可搬型記憶媒体（図示しない）の情報を読み書きする読み書き装
置２３と、表示パネル、操作パネル等の入出力装置２４と、通信ネットワークに接続する
ためのインタフェースである通信装置２５と、印刷ヘッド、印刷ヘッドを搭載するキャリ
ッジを駆動するキャリッジ駆動機構、紙送り機構等からなるプリンタエンジン２６と、を
備えたプリンタで実現される。
【００５５】
例えば、プリンタドライバ１１０は、ＲＯＭ２２に予め記憶されているプログラムを主
記憶装置２１にロードしてＣＰＵ２０で実行することで実現可能である。印刷対象のＸＰ
Ｓ文書データは、読み書き装置２３を介して可搬型記憶媒体から、あるいは、通信装置２
５を介してネットワークから、主記憶装置２１にダウンロードされる。プリンタドライバ
１１０は、当該ＸＰＳ文書データから印刷データを生成する。このようにして、プリンタ
２は、ＸＰＳ文書データを印刷することができる。
【００５６】
以上、本発明について、例示的な実施形態と関連させて記載した。多くの代替物、修正
および変形例が当業者にとって明らかであることは明白である。したがって、上に記載の
本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではな
い。
【図面の簡単な説明】
【００５７】
【図１】第１の実施形態が適用されるシステム構成の概要、及び、印刷制御装置の機能構成を示すブロック図
【図２】第１の実施形態に係る印刷制御装置のハードウェア構成を示すブロック図
【図３】第１の実施形態に係るＸＰＳ構文解析処理の流れを示すフローチャート図
【図４】第１の実施形態に係るＸＰＳ構文解析処理内で行われる印刷継続チェック処理の流れを示すフローチャート図
【図５】ＸＰＳ文書の具体例
【図６】プリンタのハードウェア構成を示すブロック図
【符号の説明】
【００５８】
１・・・印刷制御装置、２・・・プリンタ、１０・・・ＣＰＵ、１１・・・主記憶装置、
１２・・・補助記憶装置、１３・・・読み書き装置、１４・・・入出力装置、１５・・・
通信装置、２０・・・ＣＰＵ、２１・・・主記憶装置、２２・・・ＲＯＭ、２３・・・読
み書き装置、２４・・・入出力装置、２５・・・通信装置、２６・・・プリンタエンジン
、１００・・・アプリケーション、１１０・・・プリンタドライバ、１１５・・・印刷設
定受付部、１２０・・・フィルタ処理管理部、１２１・・・フィルタ処理部、１３０・・
・ＸＰＳ構文解析部、１３２・・・ＸＭＬパーサ、１３４・・・互換性チェック処理部、
１３６・・・ＸＰＳ文書整合性チェック処理部、１６０・・・レンダラ。
【図１】
2008234119.tif 000003
【図２】
2008234119.tif 000004
【図３】
2008234119.tif 000005
【図４】
2008234119.tif 000006
【図５】
2008234119.tif 000007
【図６】
2008234119.tif 000008