isXPS.exe (Herramienta isXPS Conformance)
La herramienta isXPS Conformance (isXPS.exe) prueba la conformidad de un archivo a XML Paper Specification (XPS) y a la especificación Open Packaging Conventions (OPC).
Puede descargar las especificaciones XPS y OPC en XPS: Specification and License Downloads.
Características
Genera un informe detallado de las pruebas que realiza.
Puede probar varios archivos en un trabajo por lotes.
Proporciona una descripción de cada error de cada archivo probado.
Sugiere inteligentemente las reglas que puede haber infringido cada error encontrado.
Admite modificadores que habilitan pruebas personalizadas; por ejemplo, probar únicamente la conformidad con OPC.
Sintaxis
isXPS /f=file_name_or_pattern [options]
Nota |
---|
Puede utilizar un guión ("-") en lugar de la barra diagonal ("/") y dos puntos (":") en lugar del signo igual ("=") en todos los modificadores. |
Modificadores
Modificador |
Descripción |
---|---|
/? |
Se muestra ayuda de la herramienta en la ventana de cmd.exe. Este modificador bloquea la ejecución de todas las pruebas. (El modificador también hará que la herramienta notifique un error. El objetivo es evitar que de forma accidental se generen informes "sin errores" cuando la prueba se ejecute en la infraestructura de prueba de Windows Driver Kit.) |
/BadDir=rutaDeAcceso |
Especifica un directorio en el que se copiarán los archivos que no pasen la prueba de conformidad o al que se moverán estos archivos. Se moverán si se utiliza el modificador /DelBad. Se copiarán, si no se usa. |
/DelBad |
Especifica que los archivos que no pasen la prueba de conformidad se eliminarán de su directorio actual. (Cuando se usa con el modificador /BadDir, los archivos se mueven al directorio especificado por el modificador previo. Si no se usa el modificador /BadDir, se eliminan.) |
/device="cadena_de_dispositivo" |
Especifica la cadena de un dispositivo personalizada que se usa con el registrador de Windows Test Technologies (WTT), que está disponible con Windows Driver Kit. (Vea /logger.) |
/doc=Archivo_XSD_de_doc |
Especifica un archivo XML Schema Definition (XSD) personalizado para la validación de las partes de <DocumentStructure> del archivo XPS. Se recomienda que permita que la herramienta use su archivo XSD integrado predeterminado en lugar de un archivo personalizado. |
/f |
Obligatorio. Especifica el archivo o archivos que se van a probar. Los caracteres comodín estándar de la línea de comandos, "?" y "*", se pueden usar en nombre_de_archivo_o_modelo. Si hay espacios en la ruta de acceso o en el nombre de archivo, la ruta de acceso o el nombre de archivo completos van entre comillas tipográficas. La extensión de nombre de archivo de los archivos de XPS suele ser 'xps', pero no tiene por qué serlo. |
/logfile=nombre_de_archivo |
Especifica la ruta de acceso y el nombre del archivo de registro del archivo de registro. Se omite este modificador a menos que el valor del modificador /logger esté establecido en File. Si no se utiliza el modificador /logfile y el valor del modificador /logger se establece en File, el archivo de registro es isXPSLog.txt en el directorio actual. Si el modificador /logsplit se usa con un valor mayor que 0, el archivo de registro que se especifica con /logfile contendrá sólo la prueba de instalación. El resto de las pruebas estarán en uno o más archivos de registro. Vea /logprefix y /logsplit más adelante en esta tabla para obtener más información y más adelante en este tema para obtener una descripción de todas las pruebas. |
/logger=tipo_de_archivo |
Especifica qué tipo de resultado se va a generar. Puede ser cualquiera de estos valores:
|
/logprefix=prefijo |
Especifica un prefijo que se agregará al principio de los nombres de archivo de los archivos de registro generados cuando se usa el modificador /logsplit. Cuando se usa este modificador sin un modificador /logsplit explícito (o con un /logsplit=0 explícito), la herramienta se comporta como si /logsplit=1 (vea /logsplit más adelante en esta tabla). |
/logsplit=número |
Especifica si, y cómo, se divide el registro en varios archivos. Cuando no está este modificador, o está pero se estableció en su valor predeterminado de 0, no existe la división (a menos que se use /logprefix, en cuyo caso existe la división y la herramienta se comporta como si /logsplit=1 aunque haya un modificador /logsplit=0 explícito). Cuando el valor de este modificador se establece en 1, sólo se informará de la prueba de instalación en el archivo isXPSlog.txt (o en el archivo que se especifique con el modificador /logfile). Se informará de cada prueba de archivo (vea "II. Prueba de <nombre_de_archivo>" más adelante en este tema) en un archivo de registro independiente denominado _nombre_de_archivo.log donde nombre_de_archivo es el nombre del archivo de XPS que se prueba. Habrá un prefijo delante del carácter de subrayado si se usa el parámetro /logprefix. Cuando se establece el valor de este modificador en un valor mayor que 1, indica el número de pruebas que se incluyen en cada archivo de registro. Sólo se informará de la prueba de instalación en el archivo isXPSlog.txt (o en el archivo que se especifique con el modificador /logfile). Se informará del resto de las pruebas en archivos de registro independientes que se denominan _NaM.log, donde NaM especifica el intervalo de archivos incluido en el archivo de registro. Por ejemplo, si cinco archivos coinciden con el modelo especificado con el parámetro /f y el valor de /logsplit se establece en 2, la herramienta generará archivos denominados _1a2.log, _3a4.log y _5a5.log. Habrá un prefijo delante del carácter de subrayado si se usa el parámetro /logprefix. Se omite este modificador a menos que el valor del modificador /logger esté establecido en File. Se incluye una descripción de todas las pruebas más adelante en este tema. |
/NoInterleave |
Este modificador bloquea la prueba Intercalar. Se incluye una descripción de todas las pruebas más adelante en este tema. |
/OnlyOPC |
Especifica que el archivo de entrada sólo se va a probar por razones de conformidad con OPC, no de conformidad con XPS. Marcado interno de OPC: se prueban partes concretas. Este modificador bloquea la ejecución de la prueba Estructura de paquete de XPS. Se incluye una descripción de todas las pruebas más adelante en este tema. |
/OnlyPkg |
Especifica que las partes del archivo sólo se prueban para asegurarse de que están almacenadas en el paquete correctamente, tienen el tipo correcto de contenido y las relaciones correctas entre sí. No se prueba el marcado interno de las partes, incluidas partes concretas de OPC. Este modificador bloquea la ejecución de la parte de la prueba Marcado de relaciones de la prueba Validación de OPC. Asimismo bloquea la ejecución de las partes de la prueba Secuencia de documentos reparados, Documento reparado o Página reparada de la prueba Estructura de paquete de XPS. Finalmente, bloquea la ejecución de las pruebas Validación de recursos independientes. Se incluye una descripción de todas las pruebas más adelante en este tema. |
/r=archivo_XSD_de_Rsc |
Especifica un archivo XML Schema Definition (XSD) personalizado para la validación de las partes de <ResourceDictionary> del archivo XPS. Se recomienda permitir que la herramienta use su archivo de XSD integrado predeterminado en lugar de un archivo personalizado. |
/s |
Especifica que se incluirán los subdirectorios en la búsqueda de los archivos que coincidan con el modelo que se especifica con el modificador /f. Si no se usa este modificador, no se incluyen los subdirectorios. El directorio primario es el directorio actual a menos que se especifique uno diferente con el modificador /f. |
/SkipResParts |
Especifica que no se prueban los recursos independientes (fuentes e imágenes). Este modificador bloquea ejecución de las pruebas Validación de recursos independientes. Se incluye una descripción de todas las pruebas más adelante en este tema. |
/x=archivo_XSD_de_S0 |
Especifica un archivo XML Schema Definition (XSD) personalizado para la validación de las partes <FixedDocumentSequence>, <FixedDocument> y <FixedPage> del archivo XPS. Se recomienda permitir que la herramienta use su archivo de XSD integrado predeterminado en lugar de un archivo personalizado. |
Interpretación del archivo de registro
El resultado es una serie de resultados de prueba anidados. El inicio de cada prueba se marca mediante una línea "+Start Test" y el fin mediante una línea "-End Test". La prueba raíz es el conjunto completo de pruebas de todos los archivos especificados con el modificador /f. Por ejemplo, si el modificador /f especifica "s*.xps", la prueba raíz se muestra en el ejemplo siguiente.
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
Observe que la línea "-End Test" da el resultado total. Si se produce un error en cualquier archivo, la prueba se marca "Error" como un todo.
En la sección "Resumen del Registro", se resume toda la prueba. "PassRate" es el porcentaje de pruebas correcto. " Pass", "Warning" y "Fail" proporcionan el número de pruebas superadas, superadas con una advertencia y no superadas, respectivamente. ("Block" es un estado de error especial que no se usa con la versión actual de la herramienta.)
El resultado total se repite en la última línea.
Hay dos tipos de pruebas secundarias de la prueba raíz:
Instalación: hay exactamente una prueba de instalación en cada registro.
< Nombre_de_archivo>: hay una prueba por cada archivo que coincida con el modelo especificado con el modificador /f.
Prueba de instalación
La prueba de instalación se usa para determinar si se puede ejecutar la herramienta, analizar su línea de comandos, así como cargar y compilar los archivos de XSD. Tiene cinco tipos de pruebas secundarias:
Inicialización del registrador: hay exactamente uno. Siempre se registra como "Sin errores" porque si se produce un error, no se generará el registro de forma alguna.
Análisis de la línea de comandos: hay exactamente uno. Si se produce un error, no se notifican los detalles, pero se envía ayuda sobre la sintaxis de la herramienta a la consola.
Carga y registro de los archivos XSD personalizados: habrá de cero a tres de estas pruebas de elementos secundarios; una por cada uno de los modificadores siguientes que se usan: /doc, /r y /x. Después de cargarse un archivo XSD, la herramienta lo registrará. Si el espacio de nombres asociado a XSD se aplica a más de una parte del marcado de XPS, se registrará individualmente para cada parte a la que se aplique. Por ejemplo, se registrará <DocumentStructure> XSD para las dos partes <DocumentStructure> y <StoryFragments>. Vea el ejemplo siguiente.
Nota Si no se puede cargar un archivo XSD personalizado, la herramienta no cargará los XSDs que queden.Se incluyen todos los XSDs integrados. Por consiguiente, no se ejecutará la mayoría de las pruebas posteriores.
Carga y registro de los archivos XSD integrados: a menos que no se pueda cargar un archivo XSD personalizado, por lo menos habrá nueve de estas pruebas. Habrá una prueba adicional por cada uno de los modificadores /doc, /r y /x que no se usen. Los puntos de la viñeta anterior sobre el registro de XSDs personalizados también se aplican a los XSDs integrados.
Compilación de archivos XSD: suponiendo que están cargados todos los archivos XSD, existe una prueba de compilación y se producirá un error si no se puede compilar cualquiera de los archivos XSD. Si no se puede cargar un archivo XSD, no se ejecuta esta prueba.
A continuación, se muestra un ejemplo del resultado de una prueba de instalación. En este ejemplo, se usó el modificador /x para especificar un esquema de 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
Para obtener información sobre los esquemas de Dublín a los que se hace referencia en el ejemplo, vea The Dublin Core Metadata Initiative.
<nombre_de_archivo> Prueba
Cada prueba de un archivo concreto está formada por las siguientes pruebas secundarias:
Prueba Intercalar.
Validación de la prueba de recursos independientes.
Prueba de validación de OPC.
Prueba de estructura de paquete de XPS.
Prueba Intercalar.
La herramienta informa sobre si se intercala el archivo o no y en caso de que se intercale el archivo, si se hace correctamente. (Esta prueba no se ejecuta si se usa el modificador /NoInterleave.) Hay dos pruebas secundarias:
Prueba de recolección de partes: la herramienta recoge todas las partes incrustadas del archivo. Entre éstas se incluye todos los archivos de fuentes e imágenes, los archivos de relaciones y todos los archivos * .fpage, * .fdoc, * .fdseq y * .frag. A continuación se muestra un ejemplo de la entrada de registro de esta prueba. El paquete de XPS que se prueba tiene un solo documento reparado con una sola página reparada, una sola fuente y una sola imagen.
+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
Prueba de ordenación de partes: esta prueba determina si el orden de las partes del archivo es el mismo en el directorio central Zip que el encabezado del archivo local Zip. Si el orden es diferente, la prueba emite una "Advertencia", porque el shell de Microsoft Windows XP no permite la edición de archivos zip en los que el orden sea diferente.
Validación de la prueba de recursos independientes
La validación de la prueba de recursos independientes busca las partes de XPS en el archivo completo que señala los tipos de contenido de fuentes o imágenes y comprueba que todos los recursos son del tipo de contenido correcto. Por ejemplo, comprueba que el recurso al que señala un tipo de contenido de fuente es realmente una fuente. (Estas pruebas no se ejecutan si se usa el modificador /SkipResParts o el modificador /OnlyPkg).
Prueba de validación de OPC
La prueba de validación de OPC comprueba la conformidad del archivo XPS a la especificación OPC.
La prueba tiene dos elementos secundarios:
Prueba de marcado de relaciones: la herramienta valida toda las partes de <Relationships> del paquete, excepto las relaciones de la raíz del paquete. Existe una prueba secundaria de cada parte. Por ejemplo, suponga que hay una parte <Relationships> denominada 1.fpage.rels de la siguiente forma.
<?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>
La herramienta devolvería la siguiente entrada de registro.
+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 se usa el modificador /OnlyPkg, las entradas de registro de la prueba de marcado de relaciones advertirán que no se realizó ningún tipo de validación.
Prueba de marcado de relaciones de paquete: la herramienta valida la parte de <Relationships>, si la hay, en la raíz del paquete de XML Paper Specification (XPS). Por ejemplo, supongamos que existe una parte de <Relationships> denominada .rels de la siguiente forma.
<?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>
La herramienta devolvería la siguiente entrada de registro.
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 relación de la raíz es con un objeto que tiene marcado interno, como una parte de <DigitalSignature>, la validación de esa parte de <Relationship> incluiría, como prueba secundaria, una validación del marcado de destino. Y la última prueba podría tener sus propios elementos secundarios. En el ejemplo anterior, la prueba de la "parte del origen de la firma digital" tenía la siguiente entrada del árbol de pruebas en lugar de "…asunto omitido…".
+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
Prueba de estructura de paquete de XPS
La prueba de estructura de paquete de XPS recorre recursivamente el árbol del paquete de XPS. A medida que se realiza la prueba, valida el marcado de todas las partes y comprueba que haya una parte de <Relationship> para todos los recursos a los que se hace referencia en el marcado. (Esta prueba no se ejecuta si se usa /OnlyOPC).
Se incluyen las pruebas secundarias siguientes.
Prueba de secuencia de documentos reparados: se valida el marcado de <FixedDocumentSequence> en el archivo *.fdseq. En el ejemplo siguiente, se muestra el informe de registro cuando se pasa la prueba.
+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
En el siguiente ejemplo, se muestra el informe del registro cuando se produce un error en la prueba. En este caso porque el productor de XPS agregó texto por error entre las etiquetas de apertura y cierre de <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
Si se utiliza el modificador /OnlyPkg, las entradas de registro de la prueba de secuencia de documentos reparados advertirá que no se realizó ninguna validación.
Prueba de documento reparado: se valida el marcado de <FixedDocument> en un archivo *.fdoc. En el ejemplo siguiente, se muestra el informe de registro cuando se pasa la prueba.
+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
En el siguiente ejemplo, se muestra el informe de registro cuando se produce un error en la prueba. En este caso porque la parte de <FixedDocument> contiene una referencia a una página (<PageContent Source="../Pages/FixedPage_3.fpage" />) que no está en el paquete. Observe que el registro proporciona una lista de reglas que quizá se hayan infringido. Puede buscar errores en especificaciones de XPS, que están disponibles para su descarga en 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 se usa el modificador /OnlyPkg, las entradas de registro de la prueba de documento reparado advertirán que no se realizó ningún tipo de validación.
Prueba de página reparada: se valida el marcado de <FixedPage> en un archivo *.fpage. En el ejemplo siguiente, se muestra el informe de registro cuando se pasa la prueba.
+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
En el siguiente ejemplo, se muestra el informe de registro cuando se produce un error en la prueba. En este caso porque la parte de <FixedPage> contiene un atributo que no está declarado en el esquema de XPS. El registro identifica la regla infringida y especifica la posición exacta del carácter en el que se inicia el marcado erróneo.
+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 se usa el modificador /OnlyPkg, las entradas de registro de la prueba de página reparada advertirán que no se realizó ningún tipo de validación.
Prueba de marcado personalizado: comprueba la conformidad con las reglas que no imponen los propios archivos XSD, como M2.74, M3.7 a M3.14 y M4.3. Puede encontrar estas reglas en especificaciones de XPS, que están disponibles para su descarga en XPS: Specification and License Downloads.
Prueba de relaciones de páginas: esta prueba comprueba todas las referencias a una parte del recurso (fuente, imagen, diccionario de recursos remoto o perfil del ICC [International Color Consortium]) del marcado de <FixedPage> (el componente nombre_de_página.fpage de un paquete de XPS) y comprueba que haya una relación de recursos necesarios correspondientes con ese recurso (en el componente nombre_de_página.fpage.rels) y que la relación señala al tipo correcto de parte. Hay una prueba secundaria para cada recurso. El ejemplo siguiente muestra una entrada de registro de una relación con una fuente.
+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
Prueba de partes sin referencia: si se encuentran partes sin referencia en el paquete, el registro mostrará una advertencia.
El orden de las pruebas secundarias de la prueba de estructura del paquete de XPS es el siguiente.
Pruebe la parte de <FixedDocumentSequence>.
Pruebe la primera (siguiente) parte de <FixedDocument> a la que se hace referencia en la parte de <FixedDocumentSequence>.
Pruebe la primera (siguiente) parte de <FixedPage> a la que se hace referencia en la parte de <FixedDocument>.
Pruebe el marcado personalizado, si lo hay, en la parte de <FixedPage>.
Pruebe la parte de <Relationships>, si la hay, de la parte de <FixedPage>. Esta prueba tiene las pruebas secundarias siguientes.
Pruebe la primera (siguiente) parte de <Relationship> de la parte de <Relationships>. Las relaciones pueden ser con fuentes, imágenes, diccionarios de recursos remotos y perfiles del CCI (International Color Consortium).
Repita el paso a por cada relación.
Repita los pasos del 3 al 5 por cada página del documento.
Repita los pasos del 2 al 6 por cada documento de la secuencia.
Compruebe las partes sin referencia.
El ejemplo siguiente muestra el resultado de una prueba completa de estructura de paquete de XPS de un paquete con un documento (dos páginas), una fuente en cada página y una imagen en la segunda página. Observe que, en la segunda página del segundo documento, la parte de <FixedPage> tiene una referencia a un atributo "Stretch" que no se declara en la especificación de XPS. Por esta razón, la herramienta produce un error en esta página y en el paquete.
+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
Requisitos
.NET Framework 3.0
Vea también
Otros recursos
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