isXPS.exe (isXPS ferramenta de conformidade)
A ferramenta de conformidade de isXPS (isXPS.exe) testa a conformidade do arquivo para o XML Paper Specification (XPS) e o Open Packaging Conventions (OPC) especificação.
Você pode baixar o XPS e o OPC especificações em XPS: Especificação e Downloads de licença.
Features
Gera um relatório detalhado dos testes que ele executa.
Pode testar vários arquivos em um trabalho em lotes.
Fornece uma descrição de cada falha em cada arquivo testado.
Inteligente sugere quais regras podem foram violadas por cada falha encontrada.
Oferece suporte às opções que permitem que os testes personalizados; Por exemplo, teste somente para OPC conformidade.
Syntax
isXPS /f=file_name_or_pattern [options]
Observação
Você pode usar um hífen ("-") no lugar de barra ("/") e dois-pontos (":") no lugar do sinal de igual ("=") em todos os switches.
Switches
Switch |
Description |
---|---|
/? |
A Ajuda para a ferramenta é exibida na janela cmd. exe. Essa opção bloqueia todos os testes sejam executados. (O switch também fará com que a ferramenta para relatar uma falha. Isso é para garantir que não há nenhum acidentais "pass" relatórios quando o teste é executado na infra-estrutura de teste do Windows Driver Kit.) |
/BadDir=path |
Especifica um diretório onde os arquivos que falham no teste de conformidade serão copiados ou movidos. Eles serão movidos se a /DelBad opção é usada. Eles serão copiados, se não estiver sendo usado. |
/DelBad |
Especifica que os arquivos que falham no teste de conformidade serão excluídos do seu diretório atual. (Quando usado com o /BadDir Alternar, os arquivos são movidos para o diretório especificado pela opção último. Se a /BadDir opção não for usada, eles são excluídos.) |
/device= "device_string" |
Especifica uma seqüência de caracteres personalizada no dispositivo que é usada com o agente de log de tecnologias de teste do Windows (WTT), que está disponível com o Windows Driver Kit. (See /logger.) |
/doc=Doc_XSD_file |
Especifica um personalizado XML Schema Definition (XSD) o arquivo para a validação da <DocumentStructure> partes da XPS arquivo. Recomendamos que você permita que a ferramenta usar seu interno padrão XSD arquivo em vez de um arquivo personalizado. |
/f |
Obrigatório. Especifica o arquivo ou arquivos de teste. Os caracteres curinga de linha de comando padrão, "?" e "*", pode ser usado em file_name_or_pattern. Se houver espaços no nome do arquivo ou caminho, coloque o nome de arquivo ou caminho inteiro entre aspas. A extensão de nome de arquivo para XPS arquivos é normalmente 'xps' mas não tem. |
/logfile=nome_do_arquivo |
Especifica o caminho e o nome do arquivo de log. Essa opção é ignorada a menos que o /logger opção é definida como File. Se a /logfile opção não for usada e a /logger opção é definida como File, o arquivo de log é isXPSLog.txt no diretório atual. Se o /logsplit opção é usada com um valor maior que 0, em seguida, o arquivo de log que é especificado com /logfile conterá apenas Test o programa de instalação. Outros testes serão em um ou mais outros arquivos de log. Consulte /logprefix e /logsplit mais adiante nesta tabela para obter mais informações e veja mais adiante neste tópico para obter uma descrição de todos os testes. |
/logger=log_type |
Especifica o tipo de saída para gerar. Isso pode ser qualquer um destes valores:
|
/logprefix=prefix |
Especifica um prefixo que será adicionado ao início dos nomes de arquivo do log de arquivos que são produzidos quando o /logsplit opção é usada. Quando essa opção for usada sem um explícita /logsplit switch (ou com um explícita /logsplit=0), e em seguida, a ferramenta se comporta como se /logsplit=1 (consulte /logsplit mais adiante nesta tabela). |
/logsplit=number |
Especifica se e como fazer isso, o log é dividido em vários arquivos. Quando essa opção está ausente ou está presente mas definida para o padrão de 0, não há nenhuma divisão (a menos que /logprefix é usado mesmo assim, em cujo caso lá é a divisão e a ferramenta se comporta como se /logsplit=1 mesmo quando há um explícito /logsplit=0 switch). Quando essa opção é definida como 1, o teste de instalação será informado em isXPSlog.txt o arquivo (ou qualquer arquivo é especificado com o /logfile switch). Cada arquivo de teste (veja a "II. <file_name> teste" neste tópico) será relatado em um arquivo de log separado chamado _nome_do_arquivo. log onde nome_do_arquivo é o nome da XPS de arquivo que está sendo testado. Haverá um prefixo antes do caractere de sublinhado se a /logprefix parâmetro é usado. Quando essa opção é definida como qualquer valor maior que 1, ele indica quantos testes são incluídos em cada arquivo de log. O teste de instalação será informado em isXPSlog.txt o arquivo (ou qualquer arquivo é especificado com o /logfile switch). Outros testes serão informados em arquivos de log separados que são nomeados _nparam. log, onde nparam Especifica o intervalo de arquivos incluídos no arquivo de log. Por exemplo, se cinco arquivos coincidir com o padrão especificado com o /f parâmetro e /logsplit é definido como 2, a ferramenta irá gerar arquivos chamados _1to2.log, _3to4.log e _5to5.log. Haverá um prefixo antes do caractere de sublinhado se a /logprefix parâmetro é usado. Essa opção é ignorada a menos que o /logger opção é definida como File. Consulte mais adiante neste tópico para obter uma descrição de todos os testes. |
/NoInterleave |
Essa opção bloqueia o teste de Interleave. Consulte mais adiante neste tópico para obter uma descrição de todos os testes. |
/OnlyOPC |
Especifica que o arquivo de entrada deve ser testado somente para OPC a conformidade, não também XPS conformidade. A marcação interna do OPC -partes específicas é testado. Essa opção bloqueia o teste da estrutura do pacote XPS sejam executados. Consulte mais adiante neste tópico para obter uma descrição de todos os testes. |
/OnlyPkg |
Especifica que as partes do arquivo são testadas somente para certificar-se de que eles são armazenados no pacote corretamente, ter o tipo correto de conteúdo e as relações corretas entre eles. A marcação interna das partes, incluindo o OPC específicas de peças, não é testada. Essa opção bloqueia a parte do teste relacionamentos marcação do teste OPC validação da execução. Ele também bloqueia o teste de seqüência fixa de documento, o teste de documento fixo ou partes de teste de página fixa da estrutura de pacote XPS teste seja executado. Finalmente, ele bloqueia os testes de validação de recursos independente de ser executado. Consulte mais adiante neste tópico para obter uma descrição de todos os testes. |
/r=Rsc_XSD_file |
Especifica um personalizado XML Schema Definition (XSD) o arquivo para a validação da <ResourceDictionary> partes da XPS arquivo. Recomendamos que você permita que a ferramenta usar seu interno padrão XSD arquivo em vez de um arquivo personalizado. |
/s |
Especifica que subpastas serão incluídas na pesquisa para arquivos que correspondem ao padrão é especificado com o /f switch. Se essa opção não for usada, as subpastas não são incluídas. O diretório pai é o diretório atual, a menos que o outro é especificado com o /f switch. |
/SkipResParts |
Especifica que os recursos independentes (fontes e imagens) não são testados. Essa opção bloqueia os testes de validação de recursos independente de ser executado. Consulte mais adiante neste tópico para obter uma descrição de todos os testes. |
/x=S0_XSD_file |
Especifica um personalizado XML Schema Definition (XSD) o arquivo para a validação da <FixedDocumentSequence>, <FixedDocument>, e <FixedPage> partes da XPS arquivo. Recomendamos que você permita que a ferramenta usar seu interno padrão XSD arquivo em vez de um arquivo personalizado. |
Interpretação do arquivo de log
O resultado é uma série de resultados do teste aninhados. O início de cada teste é marcado por um "+ Iniciar teste" linha e final de cada teste é marcado por um "-teste End" linha. O teste de raiz é o conjunto completo de testes para todos os arquivos especificados com o /f switch. Por exemplo, se o /f opção especifica "s*.xps", o teste de raiz é mostrado no exemplo a seguir.
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 o "-teste End" linha dá o resultado geral. Se qualquer arquivo falhar, o teste de inteiro é marcado "Fail".
O acúmulo"Log" seção resume o teste de inteiro. "passrate" é o percentual de testes que passaram. " Passar", de"Aviso"e"Fail", forneça o número de testes que passaram, passado-com-a-aviso e falha, respectivamente. ("Bloquear" é um estado de falha especial que não é usado com a versão atual da ferramenta).
O resultado geral é repetido na última linha.
Há dois tipos de testes do filho do teste de raiz:
Instalação -há exatamente um teste de instalação em cada log.
<file_name> -há um teste para cada arquivo que corresponde ao padrão especificado com o /f switch.
Teste de instalação.
O teste de configuração é usado para determinar se a ferramenta pode executar, analisar sua linha de comando e carregar e compilar o XSD arquivos. Ele tem cinco tipos de testes do filho:
Inicialização do agente de log -há exatamente um destes procedimentos. É sempre registrada como "Pass" porque se ele falhar, o log não será gerado mesmo assim.
Análise de linha de comando -há exatamente um destes procedimentos. Se ele falhar, não há detalhes são relatados, mas ajuda sobre a sintaxe da ferramenta é transmitida para o console.
Carregando e de registro dos arquivos personalizados de XSD -haverá de zero a três esses testes filho; um para cada um dos seguintes switches que é usado: /doc, /r, and /x. Após um XSD arquivo é carregado, a ferramenta registrará o proprietário. Se o namespace associado a XSD aplica-se a mais parte a XPS marcação, em seguida, ele será registrado separadamente para cada parte à qual ele se aplica. Por exemplo, o <DocumentStructure> XSD será registrado para ambos os <DocumentStructure> e o <StoryFragments> peças. Veja o exemplo abaixo.
Observação
Se um personalizado XSD não é possível carregar o arquivo, a ferramenta não será carregado qualquer restantes XSDs.Isso inclui todos os internos XSDs. Como resultado, a maioria dos testes subseqüentes irá executar.
Carregando e registrando-se dos arquivos XSD internos - a menos que um personalizado XSD não é possível carregar, haverá pelo menos nove dessas testes. Haverá um adicionais tal teste para cada um a /doc, /r, e /x switches que não é usado. Os pontos levantados no marcador anterior sobre o registro de personalizado XSDs Aplicar interno XSDs também.
Compilação de XSD -supondo que todos os o XSD arquivos carregados, há um teste de compilação e irá falhar se qualquer uma da XSD arquivos não podem compilar. Se houver XSD não é possível carregar o arquivo, esse teste é executar.
A seguir é um exemplo das conseqüências de um teste de instalação. Neste exemplo, o /x opção foi usada para especificar um esquema 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 obter informações sobre os esquemas de Dublin chamado no exemplo, consulte A iniciativa de metadados de núcleo de Dublin.
<file_name> Teste
Cada teste de um determinado arquivo consiste nos seguintes testes filho:
Intercalar o teste.
Validação de teste de recursos independentes.
Teste de validação OPC.
Teste de estrutura do pacote XPS.
A intercalação de teste
A ferramenta relata se o arquivo é intercalado ou não, e se o arquivo é intercalado, se ele é intercalado corretamente. (Esse teste não será executado se a /NoInterleave opção é usada.) Há dois testes do filho:
Coleção de partes de teste -A ferramenta coleta todas as partes incorporadas do arquivo. Elas incluem a cada arquivo de fonte e a imagem, os arquivos de relacionamento e cada arquivo de *.fpage, *.fdoc, *.fdseq e *.frag. Abaixo está um exemplo de entrada de log para esse teste. O XPS pacote que está sendo testado tem um único documento fixo que possui uma única página fixa, uma única fonte e uma única imagem.
+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
Pedidos de peças de teste -esse teste determina se a ordem das partes do arquivo é o mesmo no diretório central Zip como está no cabeçalho de local do arquivo Zip. Se a ordem for diferente do teste lhe "Warn", porque o Microsoft Windows XP shell não permite a edição de arquivos zip, no qual a ordem é diferente.
Validação de testes independentes de recursos
Os testes de validação de recursos independente pesquisar todo o arquivo para XPS partes que apontam para a fonte ou a imagem do conteúdo de tipos e os testes verificam-se de que cada recurso é o tipo de conteúdo correto. Por exemplo, ele verifica que o recurso apontado por uma fonte de conteúdo de tipo é realmente uma fonte. (Esses testes não são executadas se o /SkipResParts Alternar ou o /OnlyPkg opção é usada.)
Teste de validação OPC
A validação OPC teste verifica o XPS a conformidade do arquivo para o OPC especificação.
O teste tem dois filhos:
Teste de marcação de relações -A ferramenta valida cada <Relationships> parte no pacote, exceto as relações da raiz de pacote. Há um teste filho para cada parte tal. Por exemplo, suponha que há um <Relationships> parte chamada 1.fpage.rels como segue:
<?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>
A ferramenta retornaria a seguinte entrada de 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 a /OnlyPkg opção for usada, as entradas de log para o teste relacionamentos marcação apenas avisará que nenhuma validação foi feita.
O pacote de teste de marcação de relações -A ferramenta valida o <Relationships> parte, se houver, na raiz da XML Paper Specification (XPS) pacote. Por exemplo, suponha que há um <Relationships> parte chamada .rels como segue:
<?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>
A ferramenta retornaria a seguinte entrada de 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 a relação da raiz é um objeto que tem uma marcação interna, como um <DigitalSignature> parte, a validação do que <Relationship> parte incluiria, como um teste de filho, uma validação da marcação de. o destino E o último teste poderia ter seus próprios filhos. Por exemplo, no exemplo anterior, o teste de "parte de origem da Assinatura Digital" realmente tinha a seguinte entrada de árvore de teste no lugar de "… questão 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
Teste de estrutura de pacote XPS
O teste da estrutura do pacote XPS percorre recursivamente através da árvore da XPS pacote. Como ele faz isso, ele valida a marcação de cada parte e verifica se há um <Relationship> parte para cada recurso referenciado na marcação. (Esse teste não será executado se a /OnlyOPC é usado.)
Os seguintes testes filho são incluídos.
Fixa o teste de seqüência do documento - O <FixedDocumentSequence> é validada a marcação no arquivo *.fdseq. O exemplo a seguir mostra o relatório de log quando o teste é passado.
+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
A seguir está o exemplo mostra o relatório de log quando o teste falhar, nesse caso porque o producer XPS adicionado por engano o texto entre o <FixedDocumentSequence> começam e terminam marcas.
+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 a /OnlyPkg opção for usada, as entradas de log para o teste de seqüência fixa de documento apenas avisará que nenhuma validação foi feita.
Fixo o documento de teste - O <FixedDocument> a marcação em um arquivo de *.fdoc é validada. O exemplo a seguir mostra o relatório de log quando o teste é passado.
+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
A seguir está o exemplo mostra o relatório de log quando o teste falhar, nesse caso porque o <FixedDocument> parte contém uma referência a uma página (<PageContent Source="../Pages/FixedPage_3.fpage" />) que não está no pacote. Observe que o log fornece uma lista de regras que tenham sido violadas. Você pode procurar erros a XPS especificações, que estão disponíveis para download em XPS: Especificação e Downloads de licença.
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 a /OnlyPkg opção for usada, as entradas de log para o teste de documento fixo apenas avisará que nenhuma validação foi feita.
Fixa a página de teste - O <FixedPage> a marcação em um arquivo de *.fpage é validada. O exemplo a seguir mostra o relatório de log quando o teste é passado.
+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
A seguir está o exemplo mostra o relatório de log quando o teste falhar, nesse caso porque o <FixedPage> parte contém um atributo que não está declarado no esquema XPS. O log identifica a regra é violada e especifica a posição exata caractere onde começa a marcação errada.
+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 a /OnlyPkg opção for usada, as entradas de log para o teste fixo página apenas avisará que nenhuma validação foi feita.
Teste de marcação personalizada -isso testa para conformidade com as regras que não são impostas pelo XSD arquivos propriamente ditos, como, por exemplo, M2.74, M3.7, por meio de M3.14 e M4.3. Você pode encontrar essas regras na XPS especificações, que estão disponíveis para download em XPS: Especificação e Downloads de licença.
Página de teste de relações -este teste verifica se cada referência a uma parte do recurso (uma fonte, imagem, o dicionário de recurso remoto ou o perfil de cor de International Consortium [ICC]), <FixedPage> marcação (o page_name.fpage o componente de um pacote XPS) e verifica se há uma relação de required-resource correspondente a esse recurso (no page_name. componente de fpage.rels) e que a relação aponta para o tipo correto de parte. Há um teste filho para cada recurso. O exemplo a seguir mostra uma entrada de log para um relacionamento para uma fonte.
+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
Unreferenced partes teste -se as partes não referenciadas são encontradas no pacote, o log mostrará um aviso.
A ordem dos testes filho no teste de estrutura do pacote XPS é como segue.
Teste o <FixedDocumentSequence> part.
Testar o primeiro (ou Avançar) <FixedDocument> parte refere-se do <FixedDocumentSequence> part.
Testar o primeiro (ou Avançar) <FixedPage> parte refere-se do <FixedDocument> part.
Testar a marcação personalizada, se houver, na <FixedPage> part.
Teste o <Relationships> parte, se houver, da <FixedPage> part. Este teste tem os seguintes testes filho.
Testar o primeiro (ou Avançar) <Relationship> parte na <Relationships> part. Relações podem ser fontes, imagens, dicionários de recurso remoto e perfis de International Color Consortium ICC ().
Repita a etapa um para cada relação.
Repita as etapas 3 a 5 para cada página do documento.
Repita as etapas 2 a 6 para cada documento na seqüência.
Teste para partes não referenciados.
O exemplo a seguir mostra um resultado de teste de estrutura do pacote XPS completo para um pacote com um documento de (duas páginas), uma fonte em cada página e uma imagem na segunda página. Observe que na segunda página do segundo documento, o <FixedPage> parte tem uma referência a um "Stretch" atributo não está declarado na XPS especificação. Por esse motivo, a ferramenta falha desta página e o pacote.
+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
Requirements
.NET Framework 3.0
Consulte também
Outros recursos
XPS: Especificação e Downloads de licença
documentos XPS: Uma primeira olhada APIs para criar os documentos XML Paper Specification