isXPS Conformance Tool, outil
Mise à jour : novembre 2007
L'outil isXPS Conformance Tool (isXPS.exe) teste la conformité d'un fichier aux normes XML Paper Specification (XPS) et OPC (Open Packaging Conventions).
Vous pouvez télécharger les normes XPS et OPC à la page XPS: Specification and License Downloads.
Fonctionnalités
Génère un rapport détaillé des tests effectués.
Peut tester plusieurs fichiers dans un programme de traitement par lots.
Fournit une description de chaque défaillance dans chaque fichier testé.
Suggère de manière intelligente les règles qui n'ont pas été respectées pour chaque défaillance détectée.
Prend en charge des commutateurs qui permettent de personnaliser les tests ; par exemple, de tester seulement la conformité à la norme OPC.
Syntaxe
isXPS/f=file_name_or_pattern [options]
Remarque : |
---|
Vous pouvez utiliser un trait d'union ("-") à la place de la barre oblique ("/") et un signe deux-points (":") à la place du signe égal ("=") dans tous les commutateurs. |
Commutateurs
Commutateur |
Description |
---|---|
/? |
L'aide de l'outil est affichée dans la fenêtre cmd.exe. Ce commutateur bloque l'exécution de tous les tests. (Ce commutateur commande également à l'outil de signaler un échec. Cela a pour but de garantir qu'aucun rapport de « réussite » accidentel ne soit émis lorsque le test est exécuté dans l'infrastructure de test de Windows Driver Kit.) |
/BadDir=chemin d'accès |
Spécifie un répertoire dans lequel les fichiers qui échouent au test de conformité doivent être copiés ou déplacés. Ils sont déplacés si le commutateur /DelBad est utilisé. Ils sont copiés dans le cas contraire. |
/DelBad |
Spécifie que les fichiers qui échouent au test de conformité doivent être supprimés de leur répertoire actuel. (Lorsque le commutateur /BadDir est également utilisé, les fichiers sont placés dans le répertoire spécifié par ce commutateur. Si le commutateur /BadDir n'est pas utilisé, les fichiers sont supprimés.) |
/device="chaîne_périphérique" |
Spécifie une chaîne de périphérique personnalisée qui est utilisée avec le journal Windows Test Technologies (WTT), disponible avec Windows Driver Kit. (Voir /logger.) |
/doc=Fichier_doc_XSD |
Spécifie un fichier définition de schéma XML (XSD, XML Schema Definition) personnalisé pour la validation des parties <DocumentStructure> du fichier XPS. Nous vous recommandons de laisser l'outil utiliser son fichier XSD intégré par défaut à la place d'un fichier personnalisé. |
/f |
Obligatoire. Spécifie le ou les fichiers à tester. Les caractères génériques de ligne de commande standard, "?" et "*", peuvent être utilisés dans file_name_or_pattern. Si des espaces figurent dans le chemin d'accès ou le nom de fichier, mettez l'ensemble du chemin d'accès ou du nom de fichier entre guillemets. L'extension de nom de fichier des fichiers XPS est généralement 'xps', mais cela n'est pas obligatoire. |
/logfile=nom_fichier |
Spécifie le chemin d'accès et le nom de fichier du fichier journal. Ce commutateur est ignoré à moins que le commutateur /logger ait la valeur File. Si le commutateur /logfile n'est pas utilisé et que le commutateur /logger a la valeur File, le fichier journal est isXPSLog.txt dans le répertoire actif. Si le commutateur /logsplit est utilisé avec une valeur supérieure à 0, le fichier journal spécifié au moyen de /logfile contiendra uniquement le test Installation (Setup). Les autres tests seront dans un ou plusieurs autres fichiers journaux. Pour plus d'informations, reportez-vous à /logprefix et /logsplit plus loin dans ce tableau, et consultez la description de tous les tests, plus loin dans cette rubrique. |
/logger=type_journal |
Spécifie le type de sortie à générer. Il peut s'agir de l'une des valeurs suivantes :
|
/logprefix=préfixe |
Spécifie un préfixe qui sera ajouté au début des noms des fichiers journaux générés lorsque le commutateur /logsplit est utilisé. Lorsque ce commutateur est utilisé sans commutateur /logsplit explicite (ou avec le commutateur explicite /logsplit=0), l'outil se comporte comme si /logsplit=1 était utilisé (reportez-vous à /logsplit plus loin dans ce tableau). |
/logsplit=nombre |
Spécifie si et de quelle manière le journal doit être fractionné en plusieurs fichiers. Lorsque ce commutateur est absent ou lorsqu'il est présent mais a la valeur par défaut 0, aucun fractionnement n'est effectué (à moins que /logprefix soit utilisé nonobstant, auquel cas un fractionnement est effectué et l'outil se comporte comme si /logsplit=1 était spécifié, même si un commutateur explicite /logsplit=0 est spécifié). Lorsque ce commutateur a la valeur 1, seul le test Installation fera l'objet d'un rapport dans le fichier isXPSlog.txt (ou tout autre fichier spécifié au moyen du commutateur /logfile). Chaque test de fichier (consultez « II. Test de <nom_fichier> » plus loin dans cette rubrique) fera l'objet d'un rapport dans un fichier journal distinct nommé _nom_fichier.log, où nom_fichier est le nom du fichier XPS faisant l'objet du test. Un préfixe précédera le trait de soulignement si le paramètre /logprefix est utilisé. Lorsqu'une valeur quelconque supérieure à 1 est affectée à ce commutateur, ce dernier indique le nombre de tests de fichier sont inclus dans chaque fichier journal. Seul le test Installation fera l'objet d'un rapport dans le fichier isXPSlog.txt (ou tout autre fichier spécifié au moyen du commutateur /logfile). Les autres tests feront l'objet d'un rapport dans des fichiers journaux distincts nommés _NtoM.log, où NtoM spécifie la plage des fichiers inclus dans le fichier journal. Par exemple, si cinq fichiers correspondent au modèle spécifié par le paramètre /f et que /logsplit a la valeur 2, l'outil génère des fichiers nommés _1to2.log, _3to4.log et _5to5.log. Un préfixe précédera le trait de soulignement si le paramètre /logprefix est utilisé. Ce commutateur est ignoré à moins que le commutateur /logger ait la valeur File. Consultez la description de tous les tests plus loin dans cette rubrique. |
/NoInterleave |
Ce commutateur bloque le test Imbrication (Interleave). Consultez la description de tous les tests plus loin dans cette rubrique. |
/OnlyOPC |
Spécifie que le fichier d'entrée doit être testé pour vérifier s'il est conforme à OPC et non pas à XPS. Le balisage interne des parties spécifiques à OPC est testé. Ce commutateur bloque l'exécution du test de la structure des packages XPS (XPS Package Structure). Consultez la description de tous les tests plus loin dans cette rubrique. |
/OnlyPkg |
Spécifie que les parties du fichier sont testées uniquement pour garantir qu'elles sont stockées dans le package correctement, qu'elles ont le type de contenu approprié et qu'elles ont des relations correctes entre-elles. Le balisage interne des parties, y compris des parties spécifiques à OPC, n'est pas testé. Ce commutateur bloque l'exécution de la partie du test Validation OPC (OPC Validation) correspondant au test Balisage des relations (Relationships Markup). Il bloque également l'exécution des parties du test Structure de package XPS correspondant aux tests Séquence de documents fixes (Fixed Document Sequence), Document fixe (Fixed Document) et Page fixe (Fixed Page). Enfin, il bloque l'exécution des tests Validation des ressources indépendantes (Validation of Independent Resources). Consultez la description de tous les tests plus loin dans cette rubrique. |
/r=Fichier_Rsc_XSD |
Spécifie un fichier définition de schéma XML (XSD, XML Schema Definition) personnalisé pour la validation des parties <ResourceDictionary> du fichier XPS. Nous vous recommandons de laisser l'outil utiliser son fichier XSD intégré par défaut à la place d'un fichier personnalisé. |
/s |
Spécifie que les sous-répertoires seront inclus dans la recherche des fichiers qui correspondent au modèle spécifié au moyen du commutateur /f. Si ce commutateur n'est pas utilisé, les sous-répertoires ne sont pas inclus. Le répertoire parent correspond au répertoire actif à moins qu'un autre répertoire soit spécifié au moyen du commutateur /f. |
/SkipResParts |
Spécifie que les ressources indépendantes (polices et images) ne sont pas testées. Ce commutateur bloque l'exécution des tests Validation des ressources indépendantes. Consultez la description de tous les tests plus loin dans cette rubrique. |
/x=Fichier_S0_XSD |
Spécifie un fichier définition de schéma XML (XSD, XML Schema Definition) personnalisé pour la validation des parties <FixedDocumentSequence>, <FixedDocument> et <FixedPage> du fichier XPS. Nous vous recommandons de laisser l'outil utiliser son fichier XSD intégré par défaut à la place d'un fichier personnalisé. |
Interprétation des fichiers journaux
La sortie est une série de résultats de test imbriqués. Le début de chaque test est marqué par une ligne "+Start Test" et la fin de chaque test est marquée par une ligne "-End Test". Le test racine correspond au jeu complet de tests pour tous les fichiers spécifiés au moyen du commutateur /f. Par exemple, si le commutateur /f spécifie "s*.xps", le test racine est illustré dans l'exemple ci-dessous.
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
Notez que la ligne "-End Test" fournit le résultat global. Si un fichier quelconque échoue, le test dans son ensemble indique "Fail" (échec).
La section « Log Rollup » résume le test global. « PassRate » correspond au pourcentage de réussite des tests. Les éléments « Pass », « Warning » et « Fail » indiquent le nombre de tests ayant réussi, ayant réussi avec un avertissement et ayant échoué, respectivement. (« Block » correspond à un état d'échec spécial qui n'est pas utilisé avec la version actuelle de l'outil.)
Le résultat global est répété à la dernière ligne.
Il existe deux types de tests enfants du test racine :
Installation – chaque journal contient un et un seul test Installation.
<nom_fichier> – un test a lieu pour chaque fichier qui correspond au modèle spécifié au moyen du commutateur /f.
Test Installation
Le test Installation permet de déterminer si l'outil peut s'exécuter, d'analyser sa ligne de commande, ainsi que de charger et compiler les fichiers XSD. Il possède cinq types de tests enfants :
Initialisation du journal – un seul test de ce type est toujours présent. Il est toujours enregistré avec la mention "Pass" (Réussite) car s'il échoue, le journal n'est pas généré.
Analyse de la ligne de commande – un seul test de ce type est toujours présent. S'il échoue, aucun détail n'est signalé, mais l'aide relative à la syntaxe de l'outil s'affiche dans la console.
Chargement et inscription des fichiers XSD personnalisés – il existera entre zéro et trois tests enfants de ce type ; un pour chacun des commutateurs suivants utilisés : /doc, /r et /x. Une fois qu'un fichier XSD a été chargé, l'outil l'inscrit. Si l'espace de noms associé au fichier XSD s'applique à plus d'une partie du balisage XPS, il sera inscrit séparément pour chaque partie à laquelle il s'applique. Par exemple, le fichier XSD de <DocumentStructure> sera inscrit pour les deux parties <DocumentStructure> et <StoryFragments>. Voir l'exemple ci-dessous.
Remarque : Si un fichier XSD personnalisé ne peut pas être chargé, l'outil ne chargera aucun XSD restant. Cela inclut tous les XSD intégrés. Il en résulte que la plupart des tests suivants ne s'exécuteront pas.
Chargement et inscription des fichiers XSD intégrés – à moins qu'un fichier XSD personnalisé ne puisse pas être chargé, au moins neuf de ces tests sont effectués. Un test supplémentaire de ce type est effectué pour chacun des commutateurs /doc, /r et /x qui n'est pas utilisé. Les points correspondant à la puce précédente sur l'inscription des XSD personnalisés s'appliquent également aux XSD intégrés.
Compilation XSD – en supposant que tous les fichiers XSD ont été chargés, un test de compilation est effectué et il échoue si l'un quelconque des fichiers XSD ne peut pas être compilé. Si un fichier XSD quelconque ne peut pas être chargé, ce test n'est pas exécuté.
Un exemple de résultat d'un test Installation est fourni ci-dessous. Dans cet exemple, le commutateur /x a été utilisé pour spécifier un schéma S0 auxiliaire.
+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
Pour plus d'informations sur les schémas Dublin référencés dans l'exemple, consultez The Dublin Core Metadata Initiative.
Test de <nom_fichier>
Chaque test d'un fichier particulier se compose des tests enfants suivants :
Test Imbrication
Test Validation des ressources indépendantes
Test Validation OPC
Test Structure de package XPS
Test Imbrication
L'outil signale si le fichier est intercalé ou non et, le cas échéant, s'il est intercalé correctement. (Ce test n'est pas effectué si le commutateur /NoInterleave est utilisé.) Ce test présente deux tests enfants :
Test Collection des éléments (Collection of Pieces) – l'outil collecte tous les éléments incorporés du fichier. Ceux-ci incluent tous les fichiers de police et les fichiers image, les fichiers de relation, ainsi que tous les fichiers *.fpage, *.fdoc, *.fdseq et *.frag. Vous trouverez ci-dessous un exemple d'entrée de fichier journal pour ce test. Le package XPS testé possède un document fixe unique doté d'une page fixe unique, d'une police unique et d'une image unique.
+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
Test Classement des parties (Ordering of Parts) – ce test détermine si l'ordre des parties du fichier est identique dans le répertoire central zip et dans l'en-tête de fichier local zip. Si l'ordre est différent, le test signale un avertissement ("Warn"), car l'interpréteur de commandes Microsoft Windows XP n'autorise pas la modification de fichiers zip dans lesquels l'ordre est différent.
Tests Validation des ressources indépendantes
Dans le cadre des tests Validation des ressources indépendantes, des parties XPS pointant vers des types de contenu de police ou d'image sont recherchées dans le fichier complet et il est vérifié que chaque ressource présente le type de contenu approprié. Par exemple, il est vérifié que la ressource vers laquelle un type de contenu de police pointe est véritablement une police. (Ces tests ne sont pas effectués si le commutateur /SkipResParts ou /OnlyPkg est utilisé.)
Test Validation OPC
Le test Validation OPC vérifie la conformité du fichier XPS par rapport à la norme OPC.
Ce test possède deux enfants :
Test Balisage des relations – l'outil valide chaque partie <Relationships> du package, à l'exception des relations à partir de la racine du package. Un test enfant est effectué pour chaque partie de ce type. Par exemple, supposez qu'il existe une partie <Relationships> nommée 1.fpage.rels, comme suit.
<?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>
L'outil retourne alors l'entrée de fichier journal ci-dessous.
+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
Si le commutateur /OnlyPkg est utilisé, les entrées de fichier journal correspondant au test Balisage des relations vous avertissent simplement qu'aucune validation n'a été effectuée.
Test Balisage des relations du package – l'outil valide la partie <Relationships>, si elle existe, à la racine du package XML Paper Specification (XPS). Par exemple,supposez qu'il existe une partie <Relationships> nommée .rels, comme suit.
<?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>
L'outil retourne alors l'entrée de fichier journal ci-dessous.
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
Si la relation à partir de la racine s'effectue avec un objet doté d'un balisage interne, tel qu'une partie <DigitalSignature>, la validation de cette partie <Relationship> inclut, en tant que test enfant, une validation du balisage de la cible. Ce dernier test peut posséder aussi ses propres enfants. Par exemple, dans l'exemple précédent, le test de "Digital Signature Origin part" a en réalité l'entrée d'arborescence de test ci-dessous à la place de "… 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
Test Structure de package XPS
Le test Structure de package XPS parcourt pas à pas de façon récursive l'arborescence du package XPS. Ce faisant, il valide le balisage de chaque partie et vérifie qu'il existe une partie <Relationship> pour chaque ressource à laquelle le balisage fait référence. (Ce test n'est pas effectué si le commutateur /OnlyOPC est utilisé.)
Les tests enfants ci-dessous sont inclus.
Test Séquence de documents fixes – le balisage <FixedDocumentSequence> dans le fichier *.fdseq est validé. L'exemple ci-dessous illustre le rapport du journal lorsque le test a réussi.
+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
L'exemple ci-dessous illustre le rapport du journal lorsque le test échoue ; dans ce cas, parce que le producteur XPS a ajouté par erreur du texte entre les balises <FixedDocumentSequence> de début et de fin.
+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
Si le commutateur /OnlyPkg est utilisé, les entrées de fichier journal correspondant au test Séquence de documents fixes vous avertissent simplement qu'aucune validation n'a été effectuée.
Test Document fixe – le balisage <FixedDocument> dans un fichier *.fdoc est validé. L'exemple ci-dessous illustre le rapport du journal lorsque le test a réussi.
+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
L'exemple ci-dessous illustre le rapport du journal lorsque le test échoue ; dans ce cas, parce que la partie <FixedDocument> contient une référence à une page (<PageContent Source="../Pages/FixedPage_3.fpage" />) qui ne figure pas dans le package. Notez que le journal fournit la liste des règles qui peuvent ne pas avoir été respectées. Vous pouvez rechercher les erreurs dans les normes XPS, lesquelles peuvent être téléchargées à la page XPS: Specification and License Downloads.
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
Si le commutateur /OnlyPkg est utilisé, les entrées de fichier journal correspondant au test Document fixe vous avertissent simplement qu'aucune validation n'a été effectuée.
Test Page fixe – le balisage <FixedPage> dans un fichier *.fpage est validé. L'exemple ci-dessous illustre le rapport du journal lorsque le test a réussi.
+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
L'exemple ci-dessous illustre le rapport du journal lorsque le test échoue ; dans ce cas, parce que la partie <FixedPage> contient un attribut qui n'est pas déclaré dans le schéma XPS. Le journal identifie la règle qui n'est pas respectée et spécifie la position exacte du caractère où le balisage erroné commence.
+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
Si le commutateur /OnlyPkg est utilisé, les entrées de fichier journal correspondant au test Page fixe vous avertissent simplement qu'aucune validation n'a été effectuée.
Test Balisage personnalisé (Custom Markup) – ce test vérifie la conformité aux règles qui ne sont pas imposées par les fichiers XSD eux-mêmes, telles que M2.74, M3.7 à M3.14, et M4.3. Ces règles figurent dans les normes XPS, lesquelles peuvent être téléchargées à la page XPS: Specification and License Downloads.
Test Relations de page (Page Relationships) – ce test vérifie chaque référence à une partie de ressource (police, image, dictionnaire de ressources distant ou profil ICC [International Color Consortium]) dans le balisage <FixedPage> (le composant nom_page.fpage d'un package XPS) et vérifie qu'il existe une relation de ressources requises correspondant à cette ressource (dans le composant nom_page.fpage.rels) et que cette relation pointe vers le type de partie approprié. Un test enfant est effectué pour chaque ressource. L'exemple ci-dessous illustre une entrée de fichier journal pour une relation à une police.
+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
Test Parties non référencées (Unreferenced Parts) – si des parties non référencées sont détectées dans le package, le journal indique un avertissement.
L'ordre des tests enfants dans le test Structure de package XPS est le suivant :
Tester la partie <FixedDocumentSequence>.
Tester la première (ou prochaine) partie <FixedDocument> référencée dans la partie <FixedDocumentSequence>.
Tester la première (ou prochaine) partie <FixedPage> référencée dans la partie <FixedDocument>.
Tester le balisage personnalisé, le cas échéant, dans la partie <FixedPage>.
Tester la partie <Relationships>, le cas échéant, de la partie <FixedPage>. Ce test inclut les tests enfants ci-dessous.
Tester la première (ou prochaine) partie <Relationship> dans la partie <Relationships>. Les relations peuvent être des polices, des images, des dictionnaires de ressources distants ou des profils ICC (International Color Consortium).
Répéter l'étape a pour chaque relation.
Répéter les étapes 3 à 5 pour chaque page du document.
Répéter les étapes 2 à 6 pour chaque document de la séquence.
Tester les parties non référencées.
L'exemple ci-dessous illustre le résultat complet du test Structure de package XPS pour un package doté d'un document (de deux pages) avec une police unique sur chaque page et une image sur la seconde page. Notez que sur la seconde page du second document, la partie <FixedPage> possède une référence à un attribut "Stretch" qui n'est pas déclaré dans la norme XPS. Cela entraîne l'échec de l'outil pour cette page et le package.
+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
Configuration requise
.NET Framework 3.0
Voir aussi
Autres ressources
XPS: Specification and License Downloads
Programming XPS Documents Lab and Extending the XPS Document Viewing Experience Lab