Compartir a través de


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]
NotaNota

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:

  • Console (valor predeterminado): el resultado se envía a la ventana de cmd.exe.

  • File: el resultado se guarda en un archivo de texto denominado isXPSLog.txt del directorio actual, a menos que se especifique otra ruta de acceso o nombre de archivo con el modificador /logfile.

  • WTT: el resultado se guarda en un archivo de registro de Windows Test Technologies que se denomina isXPSLog.wtl en el directorio actual. Esta opción sólo se puede usar cuando la prueba se ejecute en la infraestructura de prueba de Windows Driver Kit.

/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:

  1. 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.

  2. 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.

  3. 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.

    NotaNota

    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.

  4. 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.

  5. 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:

  1. 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
    
  2. 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:

  1. 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.

  2. 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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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
    
  6. 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.

  1. Pruebe la parte de <FixedDocumentSequence>.

  2. Pruebe la primera (siguiente) parte de <FixedDocument> a la que se hace referencia en la parte de <FixedDocumentSequence>.

  3. Pruebe la primera (siguiente) parte de <FixedPage> a la que se hace referencia en la parte de <FixedDocument>.

  4. Pruebe el marcado personalizado, si lo hay, en la parte de <FixedPage>.

  5. Pruebe la parte de <Relationships>, si la hay, de la parte de <FixedPage>. Esta prueba tiene las pruebas secundarias siguientes.

    1. 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).

    2. Repita el paso a por cada relación.

  6. Repita los pasos del 3 al 5 por cada página del documento.

  7. Repita los pasos del 2 al 6 por cada documento de la secuencia.

  8. 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 and Windows Vista

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