isXPS 適合性ツール
更新 : 2007 年 11 月
isXPS 適合性ツール (isXPS.exe) は、ファイルが XML Paper Specification (XPS) および Open Packaging Conventions (OPC) 仕様に適合しているかどうかをテストするツールです。
XPS と OPC の仕様は、「XPS : 仕様とライセンスのダウンロード」からダウンロードできます。
機能
実行したテストについて詳細なレポートを生成します。
バッチ ジョブ内の複数のファイルをテストできます。
テストした各ファイルの各エラーの説明を提供します。
検出された各エラーがどの規則に違反している可能性があるかをインテリジェントに示します。
OPC への適合性のみをテストするなど、カスタム テストを実行できるようにするスイッチをサポートします。
構文
isXPS/f=file_name_or_pattern [options]
メモ : |
---|
どのスイッチでも、スラッシュ ("/") の代わりにハイフン ("-") を使用し、等号 ("=") の代わりにコロン (":") を使用することができます。 |
スイッチ
スイッチ |
説明 |
---|---|
/? |
ツールのヘルプが cmd.exe のウィンドウに表示されます。このスイッチは、すべてのテストの実行をブロックします (また、このスイッチを指定するとツールがエラーを報告します。これは、Windows ドライバ開発キットのテスト インフラストラクチャでテストを実行したときに、誤って "合格" と報告されないようにするためです)。 |
/BadDir=path |
適合性テストに失敗したファイルをコピーまたは移動するディレクトリを指定します。/DelBad スイッチが使用されている場合は移動され、使用されていない場合はコピーされます。 |
/DelBad |
適合性テストに失敗したファイルを現在のディレクトリから削除するように指定します (/BadDir スイッチと共に使用すると、該当するファイルは後者のスイッチで指定されたディレクトリに移動されます。/BadDir スイッチが使用されていない場合、該当するファイルは削除されます)。 |
/device="device_string" |
Windows ドライバ開発キットに付属する Windows Test Technologies (WTT) ロガーで使用するカスタム デバイス文字列を指定します 「/logger」を参照してください。 |
/doc=Doc_XSD_file |
XPS ファイルの <DocumentStructure> パーツを検証するためのカスタム XML スキーマ定義 (XSD) ファイルを指定します。このツールでは、カスタム ファイルではなく、組み込みの既定 XSD ファイルを使用することをお勧めします。 |
/f |
必須です。テストするファイルを 1 つ以上指定します。file_name_or_pattern には、標準のコマンド ライン ワイルドカード文字 "?" および "*" を使用できます。パスまたはファイル名にスペースが含まれている場合は、パスまたはファイル名全体を引用符で囲みます。XPS ファイルの通常のファイル名拡張子は 'xps' ですが、'xps' である必要はありません。 |
/logfile=file_name |
ログ ファイルのパスとファイル名を指定します。/logger スイッチを File に設定していない場合、このスイッチは無視されます。/logfile スイッチが使用されておらず、/logger スイッチが File に設定されている場合は、現在のディレクトリにある isXPSLog.txt がログ ファイルになります。/logsplit スイッチで 0 を超える値が指定されている場合、/logfile で指定されたログ ファイルには Setup テストの結果のみが格納されます。その他のテストは、1 つ以上の他のログ ファイルに格納されます。詳細については、この表の /logprefix および /logsplit の説明を参照してください。すべてのテストの説明については、このトピックの後半を参照してください。 |
/logger=log_type |
生成する出力の種類を指定します。これには、次の値を使用できます。
|
/logprefix=prefix |
/logsplit スイッチが使用された場合に生成されるログ ファイルの名前の先頭に追加するプレフィックスを指定します。 /logsplit スイッチを明示的に指定せずに (または /logsplit=0 と明示的に指定して) このスイッチを使用した場合、ツールの動作は /logsplit=1 と指定した場合と同様になります (この表の後半にある /logsplit を参照してください)。 |
/logsplit=number |
ログを複数のファイルに分割するかどうか、およびどのように分割するかを指定します。 このスイッチが指定されていない場合、または指定されているものの既定値の 0 に設定されている場合には、分割は行われません (ただし、/logprefix が使用されている場合は分割が行われ、明示的な /logsplit=0 スイッチがあっても、ツールの動作は /logsplit=1 の場合と同様になります)。 このスイッチが 1 に設定されている場合、ファイル isXPSlog.txt (または /logfile スイッチで指定されたファイル) で報告されるのは Setup テストの結果のみになります。各ファイルのテスト結果 (このトピックの後半にある「II. <file_name> のテスト」を参照してください) は、_file_name.log (file_name はテスト対象の XPS ファイルの名前) という名前の個別のログ ファイルで報告されます。/logprefix パラメータを使用した場合は、下線の前にプレフィックスが付きます。 このスイッチが 1 より大きい値に設定されている場合は、各ログ ファイルに何ファイル分のテスト結果を記録するかを示します。ファイル isXPSlog.txt (または /logfile スイッチで指定されたファイル) で報告されるのは、Setup テストの結果のみになります。その他のテスト結果は _NtoM.log (NtoM はそのログ ファイルに含まれているファイルの範囲) という名前の個別のログ ファイルで報告されます。たとえば、/f パラメータで指定されたパターンに 5 ファイルが一致した場合、/logsplit が 2 に設定されていると、_1to2.log、_3to4.log および _5to5.log という名前のファイルが生成されます。/logprefix パラメータを使用した場合は、下線の前にプレフィックスが付きます。 /logger スイッチを File に設定していない場合、このスイッチは無視されます。すべてのテストの説明については、このトピックの後半を参照してください。 |
/NoInterleave |
このスイッチは、インターリーブ テストをブロックします。すべてのテストの説明については、このトピックの後半を参照してください。 |
/OnlyOPC |
入力ファイルが OPC に適合しているかどうかのみをテストし、XPS に適合しているかどうかはテストしないように指定します。OPC 固有部分の内部マークアップがテストされます。このスイッチは、XPS パッケージ構造テストの実行をブロックします。すべてのテストの説明については、このトピックの後半を参照してください。 |
/OnlyPkg |
ファイルのパーツのテストにおいて、パッケージに正しく格納されていること、コンテンツの型が正しいこと、およびパーツ間のリレーションシップが正しいことの確認のみを行うように指定します。パーツの内部マークアップは、OPC 固有のパーツも含めてテスト対象外になります。このスイッチは、OPC 検証テストのリレーションシップ マークアップ テスト部分の実行をブロックします。また、XPS パッケージ構造テストの固定ドキュメント シーケンス テスト、固定ドキュメント テスト、または固定ページ テスト部分の実行もブロックします。さらに、独立リソース検証テストの実行をブロックします。すべてのテストの説明については、このトピックの後半を参照してください。 |
/r=Rsc_XSD_file |
XPS ファイルの <ResourceDictionary> パーツを検証するためのカスタム XML スキーマ定義 (XSD) ファイルを指定します。このツールでは、カスタム ファイルではなく、組み込みの既定 XSD ファイルを使用することをお勧めします。 |
/s |
/f スイッチで指定されたパターンに一致するファイルの検索時にサブディレクトリも検索するように指定します。このスイッチを使用しないと、サブディレクトリは検索されません。/f スイッチで別のディレクトリを指定しない限り、親ディレクトリは現在のディレクトリです。 |
/SkipResParts |
独立リソース (フォントとイメージ) をテストしないように指定します。このスイッチは、独立リソース検証テストの実行をブロックします。すべてのテストの説明については、このトピックの後半を参照してください。 |
/x=S0_XSD_file |
XPS ファイルの <FixedDocumentSequence>、<FixedDocument>、および <FixedPage> パーツを検証するためのカスタム XML スキーマ定義 (XSD) ファイルを指定します。このツールでは、カスタム ファイルではなく、組み込みの既定 XSD ファイルを使用することをお勧めします。 |
ログ ファイルの解釈
テスト結果は入れ子状に連続して出力されます。各テストの先頭は "+Start Test" という行でマークされ、各テストの末尾は "-End Test" という行でマークされます。ルート テストは、/f スイッチで指定されたすべてのファイルのテストを総合したものです。たとえば、/f スイッチで "s*.xps" と指定した場合、ルート テストの結果は次の例のようになります。
Beginning Test ******************************************
+Start Test: isXPS s*.xps
… matter omitted …
-End Test: isXPS s*.xps Result: Fail
Log Rollup***************************** TestName: isXPS s*.xps PassRate: 77% Pass: 63 Warn: 0 Fail: 18 Block: 0 ******************************************************* Result: Fail
"-End Test" の行に全体の結果が示されている点に注目してください。いずれかのファイルが失敗すると、テスト全体が "Fail" とマークされます。
"Log Rollup" セクションは、テスト全体の概要を示します。"PassRate" は、合格したテストの割合です。"Pass"、"Warning"、および "Fail" は、合格したテスト、警告付きで合格したテスト、失敗したテストの数をそれぞれ示します ("Block" は、ツールの現在のバージョンでは使用されない特殊なエラー状態です)。
全体的な結果は、最後の行に再度出力されます。
ルート テストの子テストは 2 種類あります。
Setup - Setup テストは各ログに 1 つだけ存在します。
<file_name> - /f スイッチで指定されたパターンに一致する各ファイルにつき 1 つのテストが存在します。
Setup テスト
Setup テストは、ツールの実行、コマンド ラインの解析、および XSD ファイルの読み込みとコンパイルが可能かどうかを確認するために使用されます。5 種類の子テストがあります。
ロガーの初期化 - 1 つだけ存在します。失敗した場合はログが生成されないため、ログに記録されるときは常に "Pass" になります。
コマンド ライン解析 - 1 つだけ存在します。失敗した場合、詳細は報告されませんが、ツールの構文に関するヘルプがコンソールにストリーミングされます。
カスタム XSD ファイルの読み込みと登録 - この種類の子テストの数は 0 ~ 3 (スイッチ /doc、/r、および /x の使用ごとに 1 つ) です。読み込まれた XSD ファイルはツールによって登録されます。XSD に関連付けられている名前空間が XPS マークアップの複数のパーツに適用される場合は、適用対象のパーツごとに個別に登録されます。たとえば、<DocumentStructure>XSD は、<DocumentStructure> と <StoryFragments> パーツの両方に登録されます。下記の例を参照してください。
メモ : カスタム XSD を読み込むことができない場合は、残りの XSD も読み込まれません。これには、組み込みの XSD も含まれます。そのため、後続のテストの大多数は実行されません。
組み込みの XSD ファイルの読み込みと登録 - カスタム XSD を読み込むことができない場合を除き、このテストは少なくとも 9 つ存在します。/doc、/r、または /x スイッチが使用されていない場合は、この種類のテストがそれぞれについて 1 つ追加されます。カスタム XSD の登録に関して先の箇条書きで述べた事項は、組み込みの XSD にも適用されます。
XSD のコンパイル - XSD ファイルがすべて読み込まれたことを前提として、コンパイル テストが 1 つ実行されます。XSD ファイルの中に 1 つでもコンパイルできないものがあると、コンパイル テストは失敗します。読み込むことができない XSD ファイルがある場合、このテストは実行されません。
Setup テストの結果の例を次に示します。この例では、/x スイッチを使用して別の S0 スキーマを指定しています。
+Start Test: Setup
Pass: Logger Initialized successfully
Pass: Command line parameters parsed successfully
Info: Reading stream for S0 schema from .\alternatexsds\s0schema.xsd
Info: Registering Schema for namespace https://schemas.microsoft.com/xps/2005/06
and ContentType application/vnd.ms-package.xps-fixedpage+xml from provided stream
Info: Registering Schema for namespace https://schemas.microsoft.com/xps/2005/06
and ContentType application/vnd.ms-package.xps-fixeddocument+xml from provided stream
Info: Registering Schema for namespace https://schemas.microsoft.com/xps/2005/06
and ContentType application/vnd.ms-package.xps-fixeddocumentsequence+xml from provided stream
Info: Registering Schema for namespace https://schemas.microsoft.com/xps/2005/06
and ContentType application/vnd.ms-package.xps-resourcedictionary+xml from provided stream
Info: No filename specified for Resource Dictionary Key schema. Using default
Info: No filename specified for Document Structure schema. Using default
Info: Loading default Schema for Resource Dictionary key. (rdkey.xsd)
Info: Registering Schema for namespace https://schemas.microsoft.com/xps/2005/06/resourcedictionary-key
and ContentType application/vnd.ms-package.xps-fixedpage+xml from provided stream
Info: Registering Schema for namespace https://schemas.microsoft.com/xps/2005/06/resourcedictionary-key
and ContentType application/vnd.ms-package.xps-fixeddocument+xml from provided stream
Info: Registering Schema for namespace https://schemas.microsoft.com/xps/2005/06/resourcedictionary-key
and ContentType application/vnd.ms-package.xps-fixeddocumentsequence+xml from provided stream
Info: Registering Schema for namespace https://schemas.microsoft.com/xps/2005/06/resourcedictionary-key
and ContentType application/vnd.ms-package.xps-resourcedictionary+xml from provided stream
Info: Loading default Schema for Document structure (DocStructure.xsd)
Info: Registering Schema for namespace https://schemas.microsoft.com/xps/2005/06/documentstructure
and ContentType application/vnd.ms-package.xps-documentstructure+xml from provided stream
Info: Registering Schema for namespace https://schemas.microsoft.com/xps/2005/06/documentstructure
and ContentType application/vnd.ms-package.xps-storyfragments+xml from provided stream
Info: Loading default Schema for Relationship markup (Relationships.xsd)
Info: Registering Schema for namespace https://schemas.openxmlformats.org/package/2006/relationships
and ContentType application/vnd.openxmlformats-package.relationships+xml from provided stream
Info: Loading default Schema for Package properties (CoreProperties.xsd)
Info: Registering Schema for namespace https://schemas.openxmlformats.org/package/2006/metadata/core-properties
and ContentType application/vnd.openxmlformats-package.core-properties+xml from provided stream
Info: Loading default Dublin Schema for Package properties (dc.xsd)
Info: Registering Schema for namespace http://purl.org/dc/elements/1.1/
and ContentType application/vnd.openxmlformats-package.core-properties+xml
from provided stream
Info: Loading default Dublin terms Schema for Package properties (dcterms.xsd)
Info: Registering Schema for namespace http://purl.org/dc/terms/
and ContentType application/vnd.openxmlformats-package.core-properties+xml
from provided stream
Info: Loading default Dublin type Schema for Package properties (dcmitype.xsd)
Info: Registering Schema for namespace http://purl.org/dc/dcmitype/
and ContentType application/vnd.openxmlformats-package.core-properties+xml
from provided stream
Info: Loading the OPC Digital Signature Schema (OPC_DigSig.xsd)
Info: Registering Schema for namespace https://schemas.openxmlformats.org/package/2006/digital-signature
and ContentType application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml
from provided stream
Info: Loading the XML Digital Signature Core Schema (xmldsig-core-schema.xsd)
Info: Registering Schema for namespace http://www.w3.org/2000/09/xmldsig#
and ContentType application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml
from provided stream
Info: Loading default Schema for Digital Signature Definitions (SignatureDefinitions.xsd)
Info: Registering Schema for namespace https://schemas.microsoft.com/xps/2005/06/signature-definitions
and ContentType CustomSignatureDefinitionTag from provided stream
Info: Loading default Schema for the Discard Control part (DiscardControl.xsd)
Info: Registering Schema for namespace https://schemas.microsoft.com/xps/2005/06/discard-control
and ContentType application/vnd.ms-package.xps-discard-control+xml from provided stream
Info: Compiling schemas
-End Test: Setup Result: Pass
この例で参照されている Dublin スキーマについては、「Dublin Core Metadata Initiative」を参照してください。
<file_name> テスト
特定のファイルのテストは、それぞれ次の子テストで構成されます。
インターリーブ テスト
独立リソース検証テスト
OPC 検証テスト
XPS パッケージ構造テスト
インターリーブ テスト
ファイルがインターリーブされているかどうか、インターリーブされている場合は正しくインターリーブされているかどうかが報告されます (このテストは、/NoInterleave スイッチが使用されている場合は実行されません)。これには 2 つの子テストがあります。
断片収集テスト - ファイルに埋め込まれている断片がすべて収集されます。これには、フォントおよびイメージの各ファイル、リレーションシップ ファイル、および *.fpage、*.fdoc、*.fdseq、*.frag の各ファイルが含まれます。このテストのログ エントリの例を次に示します。テスト対象の XPS パッケージには 1 つの固定ドキュメントがあり、そのドキュメントには 1 つの固定ページ、1 つのフォント、および 1 つのイメージがあります。
+Start Test: Collecting pieces from .\MyFile.xps Info: _rels/.rels, collected Info: Documents/FixedDocument_1.fdoc, collected Info: Pages/_rels/FixedPage_1.fpage.rels, collected Info: Pages/FixedPage_1.fpage, collected Info: Resources/Fonts/33c063c8-1259-4322-acc8-8fc1964cc064.ODTTF, collected Info: Resources/Images/Image_1.png, collected Info: [Content_Types].xml, collected Info: FixedDocumentSequence.fdseq, collected -End Test: Collecting pieces from .\MyFile.xps Result: Pass
パーツ順序テスト - Zip 中央ディレクトリにおけるファイルのパーツの順序が Zip ローカル ファイル ヘッダーにおける順序と同じかどうかを確認するテストです。Microsoft Windows XP シェルはパーツの順序が異なる zip ファイルの編集には対応していないため、順序が異なっているとテスト結果は "Warn" になります。
独立リソース検証テスト
独立リソース検証テストは、フォント コンテンツ型またはイメージ コンテンツ型をポイントする XPS パーツをファイル全体から検索し、各リソースのコンテンツ型が正しいかどうかを確認します。たとえば、フォント コンテンツ型がポイントするリソースが実際にフォントかどうかを確認します (これらのテストは、/SkipResParts スイッチまたは /OnlyPkg スイッチが使用されている場合は実行されません)。
OPC 検証テスト
OPC 検証テストは、XPS ファイルが OPC 仕様に適合しているかどうかをチェックします。
このテストは、2 つの子テストで構成されます。
リレーションシップ マークアップ テスト - パッケージ内の各 <Relationships> パーツが検証されます (ただし、パッケージ ルートのリレーションシップは除きます)。該当するパーツごとに子テストが存在します。たとえば、1.fpage.rels と呼ばれる次のような <Relationships> パーツがあるとします。
<?xml version="1.0" encoding="utf-8"?> <Relationships xmlns="https://schemas.openxmlformats.org/package/2006/relationships"> <Relationship Type="https://schemas.microsoft.com/xps/2005/06/required-resource" Target="../../../Resources/7c1549d5-8780-4db6-8831-19bfe6d8f88d.ttf" Id="Rf50d8565978247c5" /> <Relationship Type="https://schemas.microsoft.com/xps/2005/06/required-resource" Target="../../../Resources/2884eaa8-9d38-4506-adf8-977a24ff9faa.jpg" Id="R3643335530274b5f" /> </Relationships>
このツールは、次のログ エントリを返します。
+Start Test: /Documents/1/Pages/_rels/1.fpage.rels Markup Info: Validating Markup of Part /Documents/1/Pages/_rels/1.fpage.rels using target namespace "https://schemas.openxmlformats.org/package/2006/relationships" Pass: Markup of Part is Compliant according to the XSD supplied -End Test: /Documents/1/Pages/_rels/1.fpage.rels Markup Result: Pass
/OnlyPkg スイッチが使用されている場合、リレーションシップ マークアップ テストのログ エントリには、検証が実行されなかったことを示す警告のみが記録されます。
パッケージ リレーションシップ マークアップ テスト - XML Paper Specification (XPS) パッケージのルートの <Relationships> パーツ (存在する場合) の検証が行われます。たとえば、.rels と呼ばれる次のような <Relationships> パーツがあるとします。
<?xml version="1.0" encoding="utf-8"?> <Relationships xmlns="https://schemas.openxmlformats.org/package/2006/relationships"> <Relationship Type="https://schemas.microsoft.com/xps/2005/06/fixedrepresentation" Target="/FixedDocumentSequence.fdseq" Id="Ra1bd31ccb7f04267" /> <Relationship Type="https://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin" Target="/package/services/digital-signature/origin.psdsor" Id="R290472945f4248d7" /> </Relationships>
このツールは、次のログ エントリを返します。
Info: Found a https://schemas.microsoft.com/xps/2005/06/fixedrepresentation relationship, validating... Pass: Valid Relationship to /FixedDocumentSequence.fdseq from a PackageRoot part. RelationshipType: https://schemas.microsoft.com/xps/2005/06/fixedrepresentation Info: Found a https://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin relationship, validating... Info: Digital Signature Origin part /package/services/digital-signature/origin.psdsor found, validating... … matter omitted … Pass: Valid Relationship to /package/services/digital-signature/origin.psdsor from a PackageRoot part. RelationshipType: https://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin
ルートからのリレーションシップが、<DigitalSignature> パーツのように内部マークアップを持つオブジェクトに対するものである場合、その <Relationship> パーツの検証には子テストとしてターゲットのマークアップの検証が含まれます。後者のテストに独自の子が存在する場合もあります。たとえば、前の例にある "Digital Signature Origin part" のテストで "… matter omitted …" となっている部分には、実際は次のテスト ツリー エントリがありました。
+Start Test: Digital Signature Valdiation Info: Found a https://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature relationship, validating... Info: Found Digital Signature part /package/services/digital-signature/xml-signature/c613c04b58cb4d619c92bab230c4b0c6.psdsxs, validating... +Start Test: /package/services/digital-signature/xml-signature/c613c04b58cb4d619c92bab230c4b0c6.psdsxs Markup Info: Validating Markup of Part /package/services/digital-signature/xml-signature/c613c04b58cb4d619c92bab230c4b0c6.psdsxs using target namespace "http://www.w3.org/2000/09/xmldsig#" Pass: Markup of Part is Compliant according to the XSD supplied -End Test: /package/services/digital-signature/xml-signature/c613c04b58cb4d619c92bab230c4b0c6.psdsxs Markup Result: Pass Info: Found a https://schemas.openxmlformats.org/package/2006/relationships/digital-signature/certificate relationship, validating... Pass: Valid Relationship to /package/services/digital-signature/certificate/715364A10002007DBA0C.cer from a application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml part. RelationshipType: https://schemas.openxmlformats.org/package/2006/relationships/digital-signature/certificate Pass: Valid Relationship to /package/services/digital-signature/xml-signature/c613c04b58cb4d619c92bab230c4b0c6.psdsxs from a application/vnd.openxmlformats-package.digital-signature-origin part. RelationshipType: https://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature -End Test: Digital Signature Valdiation Result: Pass
XPS パッケージ構造テスト
XPS パッケージ構造テストは、XPS パッケージのツリーのウォークスルーを再帰的に行います。このテストでは、各パーツのマークアップが検証され、マークアップで参照されているすべてのリソースについて <Relationship> パーツが存在するかどうかが確認されます (このテストは、/OnlyOPC が使用されている場合は実行されません)。
次の子テストで構成されます。
固定ドキュメント シーケンス テスト - *.fdseq ファイル内の <FixedDocumentSequence> マークアップが検証されます。テストに合格したときのログ レポートを次の例に示します。
+Start Test: /FixedDocumentSequence.fdseq Markup Info: Validating Markup of Part /FixedDocumentSequence.fdseq using target namespace "https://schemas.microsoft.com/xps/2005/06" Pass: Markup of Part is Compliant according to the XSD supplied -End Test: /FixedDocumentSequence.fdseq Markup Result: Pass
テストが失敗した場合のログ レポートを次の例に示します。このケースでは、XPS の作成者が誤って <FixedDocumentSequence> の開始タグと終了タグの間にテキストを追加したことが失敗の原因になっています。
+Start Test: /FixedDocumentSequence.fdseq Markup Info: Validating Markup of Part /FixedDocumentSequence.fdseq using target namespace https://schemas.microsoft.com/xps/2005/06 Fail: Markup is not Compliant: Number of errors: 1 Info: XPSRule: M2.72 Info: Error #1: At position (1,134) Message: The element 'FixedDocumentSequence' in namespace 'https://schemas.microsoft.com/xps/2005/06' cannot contain text. List of possible elements expected: 'DocumentReference' in namespace 'https://schemas.microsoft.com/xps/2005/06'. -End Test: /FixedDocumentSequence.fdseq Markup Result: Fail
/OnlyPkg スイッチが使用されている場合、固定ドキュメント シーケンス テストのログ エントリには、検証が実行されなかったことを示す警告のみが記録されます。
固定ドキュメント テスト - *.fdoc ファイル内の <FixedDocument> マークアップが検証されます。テストに合格したときのログ レポートを次の例に示します。
+Start Test: /Documents/FixedDocument_1.fdoc Markup Info: Validating Markup of Part /Documents/FixedDocument_1.fdoc using target namespace "https://schemas.microsoft.com/xps/2005/06" Pass: Markup of Part is Compliant according to the XSD supplied -End Test: /Documents/FixedDocument_1.fdoc Markup Result: Pass
テストが失敗した場合のログ レポートを次の例に示します。このケースでは、<FixedDocument> パーツの中に、パッケージ内に存在しないページへの参照 (<PageContent Source="../Pages/FixedPage_3.fpage" />) が含まれていることが失敗の原因になっています。このログには、違反している可能性がある規則の一覧が記載されており、XPS 仕様 (「XPS: 仕様とライセンスのダウンロード」からダウンロード可能) でエラーを参照することができます。
Fail: Error getting part: /Pages/FixedPage_3.fpage Message: Specified part does not exist in the package. Fail: Reference to non-existant or corrupted part: /Pages/FixedPage_3.fpage from /Documents/FixedDocument_1.fdoc Info: Possible violation of OPC rules M1.1, M1.2, M1.5, M1.6, M1.7, M1.8, M1.10, MB.2
/OnlyPkg スイッチが使用されている場合、固定ドキュメント テストのログ エントリには、検証が実行されなかったことを示す警告のみが記録されます。
固定ページ テスト - *.fpage ファイル内の <FixedPage> マークアップが検証されます。テストに合格したときのログ レポートを次の例に示します。
+Start Test: /Pages/FixedPage_1.fpage Markup Info: Validating Markup of Part /Pages/FixedPage_1.fpage using target namespace "https://schemas.microsoft.com/xps/2005/06" Pass: Markup of Part is Compliant according to the XSD supplied -End Test: /Pages/FixedPage_1.fpage Markup Result: Pass
テストが失敗した場合のログ レポートを次の例に示します。このケースでは、<FixedPage> パーツの中に、XPS スキーマで宣言されていない属性が含まれていることが失敗の原因になっています。このログでは、どの規則に違反しているかが特定され、間違ったマークアップの開始位置が正確な文字位置で示されます。
+Start Test: /Pages/FixedPage_2.fpage Markup Info: Validating Markup of Part /Pages/FixedPage_2.fpage using target namespace "https://schemas.microsoft.com/xps/2005/06" Fail: Markup is not Compliant: Number of errors: 1 Info: XPSRule: M2.72 Info: Error #1: At position (4,55) Message: The 'Stretch' attribute is not declared. -End Test: /Pages/FixedPage_2.fpage Markup Result: Fail
/OnlyPkg スイッチが使用されている場合、固定ページ テストのログ エントリには、検証が実行されなかったことを示す警告のみが記録されます。
カスタム マークアップ テスト - XSD ファイル自体によって課されるものではない規則 (M2.74、M3.7 ~ M3.14、M4.3 など) への適合性をチェックするテストです。これらの規則は、XPS 仕様 (「XPS: 仕様とライセンスのダウンロード」からダウンロード可能) に記載されています。
ページ リレーションシップ テスト - <FixedPage> マークアップ (XPS パッケージの page_name.fpage コンポーネント) 内にあるリソース パーツ (フォント、イメージ、リモート リソース ディクショナリ、または International Color Consortium [ICC] プロファイル) へのすべての参照をチェックし、そのリソースへの対応する required-resource リレーションシップが (page_name.fpage.rels コンポーネント内に) 存在すること、およびそのリレーションシップがパーツの正しい型をポイントしていることを確認するテストです。リソースごとに子テストが存在します。フォントへのリレーションシップに関するログ エントリを次の例に示します。
+Start Test: /Documents/1/Pages/3.fpage Relationships Info: Validating Relationships of Part /Documents/1/Pages/3.fpage Info: Validating Font part: /Resources/86e01f8d-dfc9-438e-9d02-830e7076a3f8.ODTTF ContentType: application/vnd.ms-package.obfuscated-opentype Info: Name:Verdana, Embedding rights:Installable, Glyphs count:62 Pass: Found relationship to resource Part: /Resources/86e01f8d-dfc9-438e-9d02-830e7076a3f8.ODTTF -End Test: /Documents/1/Pages/3.fpage Relationships Result: Pass
参照されていないパーツのテスト - パッケージ内に参照されていないパーツが見つかると、ログに警告が出力されます。
XPS パッケージ構造テストの子テストの順序は次のとおりです。
<FixedDocumentSequence> 部分をテストします。
<FixedDocumentSequence> パーツで参照されている最初の (または次の) <FixedDocument> パーツをテストします。
<FixedDocument> パーツで参照されている最初の (または次の) <FixedPage> パーツをテストします。
<FixedPage> パーツ内のカスタム マークアップ (存在する場合) をテストします。
<FixedPage> パーツの <Relationships> パーツ (存在する場合) をテストします。このテストは次の子テストで構成されます。
<Relationships> パーツ内の最初の (または次の) <Relationship> パーツをテストします。フォント、イメージ、リモート リソース ディクショナリ、および International Color Consortium (ICC) プロファイルへのリレーションシップが対象になります。
すべてのリレーションシップについて手順 a. を繰り返します。
ドキュメント内のすべてのページについて手順 3. ~ 5. を繰り返します。
シーケンス内のすべてのドキュメントについて手順 2. ~ 6. を繰り返します。
参照されていないパーツの有無をテストします。
あるパッケージに関する完全な XPS パッケージ構造テストの結果を次の例に示します。このパッケージは 1 つの (2 ページの) ドキュメントで構成され、各ページに 1 つのフォントがあり、2 ページ目にイメージがあります。2 つ目のドキュメントの 2 ページ目にある <FixedPage> パーツに、XPS 仕様で宣言されていない "Stretch" 属性への参照が存在する点に注目してください。これが原因で、ツールはこのページとパッケージについて失敗の判定を下します。
+Start Test: Validating XPS Package structure: .\Spec.xps
Info: Validating XPSRule M2.14
Info: Found a https://schemas.microsoft.com/xps/2005/06/fixedrepresentation
relationship, validating...
Pass: Valid Relationship to /FixedDocumentSequence.fdseq
from a PackageRoot part. RelationshipType:
https://schemas.microsoft.com/xps/2005/06/fixedrepresentation
Pass: Found a Valid StartPart with ContentType:
application/vnd.ms-package.xps-fixeddocumentsequence+xml
+Start Test: /FixedDocumentSequence.fdseq Markup
Info: Validating Markup of Part /FixedDocumentSequence.fdseq using
target namespace "https://schemas.microsoft.com/xps/2005/06"
Pass: Markup of Part is Compliant according to the XSD supplied
-End Test: /FixedDocumentSequence.fdseq Markup Result: Pass
Pass: Found markup reference to Valid Part with expected ContentType.
TargetURI: /Documents/FixedDocument_1.fdoc ContentType:
application/vnd.ms-package.xps-fixeddocument+xml
+Start Test: /Documents/FixedDocument_1.fdoc Markup
Info: Validating Markup of Part /Documents/FixedDocument_1.fdoc
using target namespace "https://schemas.microsoft.com/xps/2005/06"
Pass: Markup of Part is Compliant according to the XSD supplied
-End Test: /Documents/FixedDocument_1.fdoc Markup Result: Pass
Pass: Found markup reference to Valid Part with expected ContentType.
TargetURI: /Pages/FixedPage_1.fpage ContentType:
application/vnd.ms-package.xps-fixedpage+xml
+Start Test: /Pages/FixedPage_1.fpage Markup
Info: Validating Markup of Part /Pages/FixedPage_1.fpage using
target namespace "https://schemas.microsoft.com/xps/2005/06"
Pass: Markup of Part is Compliant according to the XSD supplied
-End Test: /Pages/FixedPage_1.fpage Markup Result: Pass
+Start Test: /Pages/FixedPage_1.fpage Custom Markup validation
-End Test: /Pages/FixedPage_1.fpage Custom Markup validation Result: Pass
+Start Test: /Pages/FixedPage_1.fpage Relationships
Info: Validating Relationships of Part /Pages/FixedPage_1.fpage
Info: Validating Font part:
/Resources/Fonts/9aa4ea89-755c-4331-be84-0cd43ff87195.ODTTF
ContentType: application/vnd.ms-package.obfuscated-opentype
Info: Name:Verdana, Embedding rights:Installable, Glyphs count:35
Pass: Found relationship to resource Part:
/Resources/Fonts/9aa4ea89-755c-4331-be84-0cd43ff87195.ODTTF
-End Test: /Pages/FixedPage_1.fpage Relationships Result: Pass
Pass: Found markup reference to Valid Part with expected ContentType.
TargetURI: /Pages/FixedPage_2.fpage
ContentType: application/vnd.ms-package.xps-fixedpage+xml
+Start Test: /Pages/FixedPage_2.fpage Markup
Info: Validating Markup of Part /Pages/FixedPage_2.fpage using
target namespace "https://schemas.microsoft.com/xps/2005/06"
Fail: Markup is not Compliant: Number of errors: 1
Info: XPSRule: M2.72
Info: Error #1: At position (4,55) Message: The 'Stretch' attribute
is not declared.
-End Test: /Pages/FixedPage_2.fpage Markup Result: Fail
+Start Test: /Pages/FixedPage_2.fpage Custom Markup validation
-End Test: /Pages/FixedPage_2.fpage Custom Markup validation Result: Pass
+Start Test: /Pages/FixedPage_2.fpage Relationships
Info: Validating Relationships of Part /Pages/FixedPage_2.fpage
Pass: Found relationship to resource Part: /Resources/Images/Image_1.png
Info: Validating Font part:
/Resources/Fonts/3b85141b-0969-4d9e-b9c8-e705bb7e6543.ODTTF
ContentType: application/vnd.ms-package.obfuscated-opentype
Info: Name:Times New Roman, Embedding rights:Installable, Glyphs count:4
Pass: Found relationship to resource Part:
/Resources/Fonts/3b85141b-0969-4d9e-b9c8-e705bb7e6543.ODTTF
-End Test: /Pages/FixedPage_2.fpage Relationships Result: Pass
Pass: No un-referenced parts found
-End Test: Validating XPS Package structure: .\Spec.xps Result: Fail
必要条件
.NET Framework 3.0