isXPS.exe (ferramenta de conformidade isXPS)
A ferramenta de conformidade de isXPS (isXPS.exe) testa a conformidade de um 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 licença Downloads.
Recursos
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 todos os arquivos testados.
Modo 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.
Sintaxe
isXPS /f=file_name_or_pattern [options]
Dica
Você pode usar um hífen ("-") no lugar da barra ("/") e dois-pontos (":") no lugar do sinal de igual ("=") em todos os switches.
Switches
Switch |
Descrição |
---|---|
/? |
A Ajuda para a ferramenta é exibida na janela cmd. exe. Essa opção bloqueia todos os testes sejam executados. (O switch também causará a ferramenta para relatar uma falha. Isso é para garantir que não há nenhum relatório acidental de "pass" quando o teste é executado na infra-estrutura de teste a 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 ele não for 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 segunda opção. 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) 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 para testar. Os caracteres curinga padrão de linha de comando, "?" e "*", pode ser usado em file_name_or_pattern. Se houver espaços no nome do arquivo ou caminho, coloque o nome completo do caminho ou arquivo entre aspas. A extensão de nome de arquivo para XPS arquivos geralmente é '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 o /logger opção é definida como File, o arquivo de log é isXPSLog.txt no diretório atual. Se a /logsplit opção é usada com um valor maior que 0, então o arquivo de log que está especificado com /logfile conterá somente o teste do programa de instalação. Outros testes serão em um ou mais outros arquivos de log. Consulte /logprefix e /logsplit posteriormente nesta tabela para obter mais informações e consulte posteriormente neste tópico para obter uma descrição de todos os testes. |
/logger=log_type |
Especifica que tipo de saída para gerar. Isso pode ser qualquer um destes valores:
|
/logprefix=prefixo |
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ícito /logsplit=0), e em seguida, a ferramenta se comporta como se /logsplit=1 (consulte /logsplit posterior nesta tabela). |
/logsplit=número |
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á uma explícita /logsplit=0 switch). Quando essa opção é definida como 1, somente 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. O <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 do arquivo estão incluídos em cada arquivo de log. Somente 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 correspondentes ao padrão especificado com o /f parâmetro e /logsplit estiver 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 foi testado. Essa opção bloqueia a parte do teste relacionamentos marcação do teste OPC validação seja executado. 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 do 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) 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 subdiretórios serão incluídos na pesquisa para arquivos que correspondem ao padrão que está especificado com o /f alternar. 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 alternar. |
/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) 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 final" linha. O teste de raiz é o conjunto completo de testes para todos os arquivos especificados com o /f alternar. Por exemplo, se a /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 final" linha fornece o resultado geral. Se qualquer arquivo falhar, o teste como todo é marcado como "Fail".
A seção "Log Rollup" resume o teste inteiro. O "PassRate" é a porcentagem de testes que passaram. " Passar","Warning"e"Falhar", forneça o número de testes que passaram, passado-com-a-aviso e falha, respectivamente. (O "Bloqueio" é 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 raiz:
O programa de 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 alternar.
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. Ele sempre é registrado 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, e /x. Após um XSD arquivo é carregado, a ferramenta irá registrá-lo. Se o espaço para nome associado com o XSD se aplique mais de uma parte do 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> partes. Veja o exemplo abaixo.
Dica
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 não serão executado.
Carregando e registrar dos arquivos XSD internos - a menos que um personalizado XSD não é possível carregar, haverá pelo menos nove desses testes. Haverá um adicionais tal teste para cada um do /doc, /r, e /x switches que não é usado. Os pontos levantados no marcador anterior sobre o registro de personalizado XSDs se aplicam a 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 pode ser compilado. Se houver XSD não é possível carregar o arquivo, este teste não é executado.
Este é um exemplo das conseqüências de um teste de instalação. Neste exemplo, o /x switch foi usada para especificar um 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 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 for usada.) Há dois testes filho:
Coleção de partes de teste -A ferramenta coleta todas as partes incorporadas do arquivo. Isso inclui 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 testar -esse teste determina se a ordem das partes do arquivo é o mesmo no diretório central Zip como está no cabeçalho do arquivo local 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, na 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 aponte para a fonte ou tipos de conteúdo e os testes de imagem Verifique se cada recurso é do tipo correto de conteúdo. 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 for 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 na raiz do pacote. Há um teste filho para cada parte tal. Por exemplo, suponha que há um <Relationships> parte chamada 1.fpage.rels da seguinte maneira.
<?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> da peça, se houver, na raiz da XML Paper Specification (XPS) pacote. Por exemplo,suponha que há um <Relationships> parte chamada .rels da seguinte maneira.
<?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 filho, uma validação de marcação do destino. E o último teste poderia ter seus próprios filhos. Por exemplo, no exemplo anterior, o teste da "parte da origem da Assinatura Digital", na verdade, 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 do 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.
Corrigido o teste de seqüência do documento - O <FixedDocumentSequence> marcação no arquivo *.fdseq é validada. 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 as 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 na XPS especificações, que estão disponíveis para download em XPS: especificação e licença 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
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 sejam declarado no esquema do XPS. O log identifica a regra é violada e especifica a posição exata caractere onde a marcação errada inicia.
+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 licença Downloads.
Página de teste de relações -este teste verifica se cada referência a uma parte do recurso (uma fonte, imagem, dicionário de recurso remoto ou perfil International Color Consortium [ICC]) <FixedPage> marcação (o page_name.fpage o componente de um pacote XPS) e verifica se há uma relação required-resource correspondente a esse recurso (no page_name. fpage.rels componente) 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 teste partes -se quaisquer partes sem referência forem encontrados no pacote, o log mostrará um aviso.
A ordem dos testes filho no teste de estrutura do pacote XPS é como segue.
Teste o <FixedDocumentSequence> parte.
Testar o primeiro (ou Avançar) <FixedDocument> parte refere-se do <FixedDocumentSequence> parte.
Testar o primeiro (ou Avançar) <FixedPage> parte refere-se do <FixedDocument> parte.
Testar a marcação personalizada, se houver, no <FixedPage> parte.
Teste o <Relationships> da peça, se houver, da <FixedPage> parte. Este teste tem os seguintes testes filho.
Testar o primeiro (ou Avançar) <Relationship> parte na <Relationships> parte. Relações podem ser fontes, imagens, dicionários de recurso remoto e perfis Consortium de cor internacional (ICC).
Repita a etapa um para cada relação.
Repita as etapas 3 a 5 para cada página do documento.
Repita as etapas de 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 (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 que não sejam 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
Requisitos
.NET Framework 3.0
Consulte também
Outros recursos
XPS: Especificação e licença Downloads
documentos XPS: uma primeira olhada na APIs para criar documentos XML Paper Specification