isXPS.exe (strumento di conformità isXPS)
Lo strumento di conformità isXPS (isXPS.exe) verifica la conformità di un file rispetto alle specifiche di XML Paper Specification (XPS) Open Packaging Conventions (OPC).
L'utente può scaricare le specifiche di XPS e di OPC all'indirizzo XPS: Specification and License Downloads (informazioni in lingua inglese).
Funzionalità
Genera un report dettagliato dei test eseguiti.
Consente di eseguire il test di più file in un processo batch.
Fornisce una descrizione di ciascun errore in tutti i file sottoposti a test.
Suggerisce in modo intelligente quali regole possono esser state violate in base a ciascun errore trovato.
Supporta le opzioni che abilitano la verifica personalizzata; ad esempio solo la verifica della conformità di OPC.
Sintassi
isXPS /f=file_name_or_pattern [options]
Nota
In tutte le opzioni, è possibile utilizzare il trattino ("-") al posto della barra obliqua ("/") e i due punti (":") al posto del simbolo dell'uguale ("=").
Opzioni
Opzione |
Descrizione |
---|---|
/? |
Fornisce supporto per lo strumento visualizzato nella finestra cmd.exe, opzione che blocca l'esecuzione di tutti i test. Tale opzione determina anche la registrazione di un errore da parte dello strumento. In questo modo si garantisce che non vi siano report di "test superati" accidentali durante l'esecuzione del test nella relativa infrastruttura del Windows Driver Kit.) |
/BadDir=path |
Specifica una directory in cui vengono copiati o rimossi i file che non superano il test di conformità. Se si utilizza l'opzione /DelBad, questi file verranno spostati. Se l'opzione non viene utilizzata, i file verranno copiati. |
/DelBad |
Specifica l'eliminazione dalla directory corrente dei file che non superano il test di conformità. Se viene utilizzata l'opzione /BadDir, i file verranno spostati nella directory specificata dall'ultima opzione. Se non si utilizza l'opzione /BadDir, questi verranno eliminati. |
/device="device_string" |
Specifica una stringa della periferica utilizzata dal logger di Windows Test Technologies (WTT), in dotazione con il Windows Driver Kit. Per ulteriori informazioni, vedere /logger. |
/doc=Doc_XSD_file |
Specifica un file di XML Schema Definition (XSD) personalizzato per la convalida delle parti di <DocumentStructure> del file di XPS. È consigliabile consentire allo strumento di utilizzare il file XSD predefinito incorporato anziché un file personalizzato. |
/f |
È obbligatorio e specifica i file di installazione da verificare. È possibile utilizzare i caratteri jolly da riga di comando standard, "?" e "*", in nome_file_o_modello. Se il percorso o il nome file contiene degli spazi, l'intero percorso o il nome file deve essere racchiuso tra virgolette. L'estensione per i file XPS di solito è 'xps', anche se non è obbligatoria. |
/logfile=file_name |
Specifica il percorso e il nome del file di log. Questa opzione viene ignorata a meno che l'opzione /logger non sia impostata su File. Se non viene utilizzata l'opzione /logfile e /logger è impostata su File, il file di log sarà isXPSLog.txt nella directory corrente. Se viene utilizzata l'opzione /logsplit con un valore maggiore di 0, il file di log specificato con /logfile conterrà solo il test di installazione. Gli altri test saranno presenti in uno o più file di log differenti. Per ulteriori informazioni, vedere di seguito /logprefix e /logsplit in questa tabella e più avanti in questo argomento per una descrizione di tutti i test. |
/logger=log_type |
Specifica il tipo di output da generare che può essere uno dei valori seguenti:
|
/logprefix=prefix |
Specifica un prefisso aggiunto all'inizio dei nomi dei file di log prodotti quando si utilizza l'opzione /logsplit. Quando questa opzione viene utilizzata senza l'esplicita opzione /logsplit (o con un'opzione /logsplit=0 esplicita), lo strumento si comporta come se fosse /logsplit=1 (vedere /logsplit di seguito nella tabella). |
/logsplit=number |
Specifica se, e come, il log viene diviso in più file. Quando questa opzione è assente o è presente ma non impostata su 0, cioè il valore predefinito, non vi sarà alcuna suddivisione (a meno che si utilizzi comunque /logprefix nel cui caso vi sarà la divisione e lo strumento si comporterà come se fosse /logsplit=1 anche quando è presente un'opzione /logsplit=0 esplicita). Quando questa opzione è impostata su 1, solo il test di installazione verrà riportato nel file isXPSlog.txt (o in qualsiasi file specificato con l'opzione /logfile). Ogni test di file (vedere di seguito "II. Test <file_name>" in questo argomento) verrà riportato in un file di log separato denominato _file_name.log in cui file_name è il nome del file XPS sottoposto a test. Se si utilizza il parametro /logprefix, sarà presente un prefisso prima del carattere di sottolineatura. Quando questa opzione è impostata su un qualsiasi valore superiore a 1, significa che molti test di file sono inclusi in ciascun file di log. Solo il test di installazione verrà riportato nel file isXPSlog.txt (o in qualsiasi file specificato con l'opzione /logfile). Gli altri test verranno riportati in file di log differenti denominati _NtoM.log, in cui NtoM indica la gamma di file inclusi in un file di log. Ad esempio, se cinque file corrispondono al modello specificato con il parametro /f e /logsplit è impostato su 2, lo strumento genererà dei file denominati _1to2.log, _3to4.log, e _5to5.log. Se si utilizza il parametro /logprefix, sarà presente un prefisso prima del carattere di sottolineatura. Questa opzione viene ignorata a meno che l'opzione /logger non sia impostata su File. Per una descrizione di tutti i test, vedere più avanti in questo argomento. |
/NoInterleave |
Questa opzione blocca il test con interfoliazione. Per una descrizione di tutti i test, vedere più avanti in questo argomento. |
/OnlyOPC |
Specifica che il file di input debba essere verificato solo per la conformità di OPC e non anche per la conformità di XPS. Viene verificato il markup interno delle parti specifiche di OPC. Questa opzione blocca l'esecuzione del test di struttura del package XPS. Per una descrizione di tutti i test, vedere più avanti in questo argomento. |
/OnlyPkg |
Specifica che le parti del file vengano verificate solo per assicurarsi che siano memorizzate correttamente nel package, contengano il tipo di contenuto corretto e che vi siano relazioni corrette tra loro. Non viene verificato il markup interno delle parti, incluse quelle specifiche di OPC. Questa opzione blocca l'esecuzione della parte di test relativa alle relazioni di markup del test di convalida OPC. Blocca inoltre l'esecuzione del test di sequenza dei documenti fissi, quello dei documenti fissi oppure le parti del test di pagina fissa del test della struttura del package XPS. Infine, blocca l'esecuzione dei test di convalida delle risorse indipendenti. Per una descrizione di tutti i test, vedere più avanti in questo argomento. |
/r=Rsc_XSD_file |
Specifica un file di XML Schema Definition (XSD) personalizzato per la convalida delle parti <ResourceDictionary> del file di XPS. È consigliabile consentire allo strumento di utilizzare il file XSD predefinito incorporato anziché un file personalizzato. |
/s |
Specifica che le sottodirectory verranno incluse nella ricerca di file che corrispondono al modello specificato con l'opzione /f. Se questa opzione non viene utilizzata, le sottodirectory non vengono incluse. La directory padre è la directory corrente a meno che non ne sia specificata una differente mediante l'opzione /f. |
/SkipResParts |
Indica che le risorse indipendenti (tipi di carattere e immagini) non vengono sottoposte a test. Questa opzione blocca l'esecuzione dei test di convalida delle risorse indipendenti. Per una descrizione di tutti i test, vedere più avanti in questo argomento. |
/x=S0_XSD_file |
Specifica un file di XML Schema Definition (XSD) personalizzato per la convalida delle parti <FixedDocumentSequence>, <FixedDocument> e <FixedPage> del file di XPS. È consigliabile consentire allo strumento di utilizzare il file XSD predefinito incorporato anziché un file personalizzato. |
Interpretazione del file di log
L'output è costituito da una serie di risultati di test annidati. L'inizio di ciascun test è contrassegnato da una riga "+Start Test", mentre la fine è contrassegnata da una riga "-End Test". Il test radice costituisce l'intero gruppo di test di tutti i file specificati mediante l'opzione /f). Ad esempio, se l'opzione /f specifica "s*.xps", il test radice viene visualizzato nell'esempio seguente.
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
Si noti che la riga "-End Test" fornisce il risultato completo. In caso di errore di un file qualsiasi, l'intero test verrà contrassegnato come "Non superato".
La sezione "Rollup di log" sintetizza l'intero test. La "Frequenza di superamento" indica la percentuale dei test completati correttamente. "Test superato", "Avviso" e "Non superato" indicano rispettivamente il numero di test completati correttamente, quelli completati con un avviso e quelli non superati. "Blocchi" è uno stato di errore particolare non utilizzato con la versione corrente dello strumento.
Il risultato totale viene ripetuto nell'ultima riga.
Sono disponibili due tipi di test figli del test padre:
Installazione - è presente esattamente un test di installazione in ogni log.
<file_name> - è presente un test per ogni file che corrisponde al modello specificato mediante l'opzione /f.
Test di installazione
Il test di installazione viene utilizzato per determinare se è possibile eseguire lo strumento, analizzare la riga di comando, caricare e compilare i file di XSD. Sono disponibili cinque tipi di test figli:
Inizializzazione del logger - è presente esattamente uno di questi ed è sempre collegato come "Test superato" perché in caso contrario, il log non verrà generato in alcun modo.
Analisi della linea di comando - è presente esattamente uno di questi e in caso di errore, non viene riportato alcun dettaglio, ma consente di trasferire la sintassi dello strumento alla console.
Caricamento e registrazione dei file XSD personalizzati - sono presenti da zero a tre test figli di questo tipo; uno per ciascuna delle opzioni seguenti utilizzate: /doc, /r e /x. Dopo il caricamento del file di XSD, lo strumento ne eseguirà la registrazione. Se lo spazio dei nomi associati a XSD si applica a più di una parte del markup di XPS, la registrazione avverrà separatamente per ogni parte a cui viene applicata. Ad esempio, XSD <DocumentStructure> verrà registrato sia per la parte <DocumentStructure> sia per la parte <StoryFragments>. Vedere l'esempio di seguito.
Nota
Se non è possibile caricare un file personalizzato di XSD, lo strumento non caricherà i restanti XSD.Sono inclusi tutti i XSD incorporati. Di conseguenza, la maggior parte dei test successivi non verrà eseguita.
Caricamento e registrazione dei file XSD incorporati - a meno che non sia possibile caricare un XSD personalizzato, saranno disponibili almeno nove di questi test. Sarà presente almeno un test in più per ognuna delle opzioni /doc, /r e /x che non viene utilizzata. I punti applicati nel precedente punto elenco sulla registrazione dei XSD personalizzati si applicano anche agli XSD incorporati.
Compilazione XSD - se tutti i file XSD vengono caricati, è disponibile un test di compilazione e non verrà superato qualora non sia possibile compilare uno qualsiasi dei file XSD. Se non è possibile caricare un file qualsiasi di XSD, questo test non viene eseguito.
L'esempio seguente riporta l'esito di un test di installazione nel quale è stata utilizzata l'opzione /x per specificare uno schema S0 alternativo.
+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
Per informazioni sugli schemi di Dublino a cui si fa riferimento nell'esempio, vedere The Dublin Core Metadata Initiative (informazioni in lingua inglese).
Test <file_name>
Ogni test di un particolare file è composto dai seguenti test figli:
Test con interfoliazione
Test di convalida delle risorse indipendenti
Test di convalida OPC
Test di struttura del package XPS
Test con interfoliazione
Lo strumento riporta se il file presenta o meno interfoliazione ed eventualmente se questa è stata eseguita correttamente. Il test non viene eseguito se non si utilizza l'opzione /NoInterleave. Sono disponibili due test figli:
Test di raccolta pezzi - lo strumento raccoglie tutti i pezzi incorporati del file che includono tutti i file di tipo carattere e immagine, i file delle relazioni e ciascun file *.fpage, *.fdoc, *.fdseq, e *.frag. Di seguito è riportato un esempio della voce del log per questo test. Il package XPS sottoposto a test presenta un unico documento fisso con un'unica pagina fissa, un unico tipo di carattere e un'unica immagine.
+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 di ordinamento delle parti - questo test determina se l'ordine delle parti del file è identico nella directory centrale Zip e nell'intestazione del file locale Zip. Se l'ordine è diverso, il test restituisce un "Avviso", perché lo shell di Microsoft Windows XP non consente di modificare i file zip in cui l'ordine è differente.
Test di convalida delle risorse indipendenti
I test di convalida delle risorse indipendenti cercano l'intero file per le parti di XPS che puntano a tipi di carattere o contenuto di immagine e i test verificano che ogni risorsa presenti il tipo di contenuto corretto; Ad esempio, viene verificato che la risorsa a cui fa riferimento un tipo di contenuto carattere sia effettivamente un tipo di carattere. Questi test non vengono eseguiti se viene utilizzata l'opzione /SkipResParts o /OnlyPkg.
Test di convalida OPC
Il test di convalida OPC controlla la conformità del file di XPS alle specifiche di OPC.
Il test presenta due figli:
Test di markup delle relazioni - lo strumento convalida ogni parte <Relationships> nel package a eccezione delle relazioni derivanti dalla radice dello stesso. Per ogni parte è disponibile un test figlio; ad esempio, se vi è una parte <Relationships> denominata 1.fpage.rels come riportato di seguito.
<?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>
Lo strumento dovrebbe restituire la seguente voce di log.
+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
Se viene utilizzata l'opzione /OnlyPkg, le voci di log per il test di markup delle relazioni avvertiranno solo che non è stata eseguita alcuna convalida.
Test di markup delle relazioni del package - lo strumento convalida la parte <Relationships>, se presente, alla radice del package di XML Paper Specification (XPS); Ad esempio, se vi è una parte <Relationships> denominata .rels come riportato di seguito.
<?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>
Lo strumento dovrebbe restituire la seguente voce di log.
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
Se la relazione dalla radice fa riferimento ha un oggetto che dispone di markup interno, come una parte <DigitalSignature>, la convalida di tale parte di <Relationship> dovrebbe includere, come test figlio, una convalida di markup della destinazione. E l'ultimo test potrebbe avere dei propri figli; ad esempio, nel caso precedente, il test della "Digital Signature Origin part" presentava effettivamente la voce della struttura ad albero del test seguente al posto di "… 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 di struttura del package XPS
Il test della struttura del package XPS scorre in modo ricorsivo la struttura ad albero del package XPS. In questo modo convalida il markup di ciascuna parte e verifica che vi sia una parte di <Relationship> per ogni risorsa a cui si fa riferimento nel markup. Il test non viene eseguito se non viene utilizzata l'opzione /OnlyOPC.
Sono inclusi i test figli riportati di seguito.
Test di sequenza dei documenti fissi - viene convalidato il markup di <FixedDocumentSequence> nel file *.fdseq. Nell'esempio riportato di seguito viene illustrato il report del log in caso di superamento del test.
+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'esempio seguente mostra il report del log quando il test non viene superato, in questo caso perché il producer XPS ha aggiunto erroneamente del testo tra i tag di inizio e fine di <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
Se viene utilizzata l'opzione /OnlyPkg, le voci di log per il test della sequenza di documenti fissi avvertiranno solo che non è stata eseguita alcuna convalida.
Test dei documenti fissi - viene convalidato il markup di <FixedDocument> in un file *.fdoc. Nell'esempio riportato di seguito viene illustrato il report del log in caso di superamento del test.
+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'esempio seguente mostra il report del log quando il test non viene superato, in questo caso perché la parte di <FixedDocument> contiene un riferimento a una pagina (<PageContent Source="../Pages/FixedPage_3.fpage" />) che non è presente nel package. Si noti che il log fornisce un elenco di regole che possono esser state violate. L'utente può cercare gli errori nelle specifiche di XPS, scaricabili all'indirizzo XPS: Specification and License Downloads (informazioni in lingua inglese).
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
Se viene utilizzata l'opzione /OnlyPkg, le voci di log per il test dei documenti fissi avvertiranno solo che non è stata eseguita alcuna convalida.
Test della pagina fissa - viene convalidato il markup di <FixedPage> in un file *.fpage. Nell'esempio riportato di seguito viene illustrato il report del log in caso di superamento del test.
+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'esempio seguente mostra il report del log quando il test non viene superato, in questo caso perché la parte di <FixedPage> contiene un attributo non dichiarato nello schema XPS. Il log identifica la regola violata e specifica la posizione esatta dei caratteri in cui ha inizio il markup errato.
+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
Se viene utilizzata l'opzione /OnlyPkg, le voci di log per il test della pagina fissa avvertiranno solo che non è stata eseguita alcuna convalida.
Test di markup personalizzato - questo test verifica la conformità alle regole non impostate dagli stessi file XSD, come M2.74, M3.7 fino a M3.14 e M4.3. L'utente può cercare queste regole nelle specifiche di XPS, scaricabili all'indirizzo XPS: Specification and License Downloads (informazioni in lingua inglese).
Test di relazioni tra pagine - questo test controlla ogni riferimento a una parte di risorse (un tipo di carattere, immagine, dizionario di risorse remote o profilo ICC [International Color Consortium]) nel markup <FixedPage> (il componente page_name.fpage di un package XPS) e verifica che vi sia una relazione di risorsa necessaria corrispondente con tale risorsa (nel componente page_name.fpage.rels) e che la relazione punti al tipo corretto di parte. Per ogni risorsa è disponibile un test figlio. Nell'esempio seguente viene mostrato una voce di log per una relazione a un tipo di carattere.
+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 di parti senza riferimenti - se si trovano parti senza riferimenti nel package, il log visualizzerà un avviso.
Di seguito è riportato l'ordine dei test figli nel test di struttura del package XPS.
Verificare la parte <FixedDocumentSequence>.
Verificare la prima (o successiva) parte <FixedDocument> a cui si fa riferimento nella parte <FixedDocumentSequence>.
Verificare la prima (o successiva) parte <FixedPage> a cui si fa riferimento nella parte <FixedDocument>.
Verificare il markup personalizzato, se presente, nella parte <FixedPage>.
Verificare la parte <Relationships>, se presente, della parte <FixedPage>. Questo test dispone dei seguenti test figli.
Verificare la prima (o successiva) parte <Relationship> nella parte <Relationships>. Le relazioni possono fare riferimento a tipi di carattere, immagini, dizionari di risorse remote e profili ICC (International Color Consortium).
Ripetere il passaggio a per ogni relazione.
Ripetere i passaggi da 3 a 5 per ogni pagina nel documento.
Ripetere i passaggi da 2 a 6 per ogni documento nella sequenza.
Eseguire il test per parti senza riferimenti.
L'esempio seguente mostra un risultato completo del test di struttura per il package XPS per un package con un documento (a due pagine), un tipo di carattere su ciascuna pagina e un'immagine sulla seconda pagina. Si noti che sulla seconda pagina del secondo documento, la parte <FixedPage> presenta un riferimento a un attributo "Stretch" che non è stato dichiarato nelle specifiche di XPS. Per questo motivo lo strumento supera questa pagina e il 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
Requisiti
.NET Framework 3,0
Vedere anche
Altre risorse
XPS: Specification and License Downloads
XPS Documents: A First Look at APIs For Creating XML Paper Specification Documents
Programming XPS Documents Lab and Extending the XPS Document Viewing Experience Lab