Seção 3: Autores

Q 3.19: O que é análise e como eu faço em XML?

Análise é dividir a informação em suas partes componentes

Análise é o ato de dividir a informação em suas partes componentes (as escolas costumavam ensinar isso em aulas de idiomas até a profissão docente pegar o vírus anti-gramática).

'Mary alimenta Spot' é analisado como

  1. Assunto = Maria, substantivo próprio, caso nominativo;

  2. Verbo = alimenta, transitivo, terceira pessoa singular, voz ativa, tempo presente;

  3. Object = Spot, substantivo próprio, caso acusativo.

Na computação, um analisador é um programa (ou um pedaço de código ou API que você pode fazer referência dentro de seus próprios programas) que analisa arquivos para identificar as partes componentes. Todos os aplicativos que lêem a entrada têm um analisador de algum tipo, senão eles nunca poderiam descobrir o que a informação significa. O Microsoft Word contém um analisador que é executado quando você abre um arquivo .doc e verifica se ele pode identificar todos os códigos ocultos; iCal e Google Calendar contêm um analisador que lê um anexo .ical de compromisso genérico em seu e-mail e determina quais informações estão nele. Dê-lhes um arquivo corrompido e você receberá uma mensagem de erro.

As aplicações XML são exatamente as mesmas: elas contêm um analisador que lê XML e identifica a função de cada uma das peças do documento e, em seguida, torna essa informação disponível na memória para o resto do programa.

Ao ler um arquivo XML, um analisador verifica a sintaxe (colchetes de ponta, citações de correspondência, etc.) para boa formação , e relata quaisquer violações (erros relatáveis). A especificação lista o que são esses.

A validação é outra etapa além da análise. À medida que as partes componentes do programa são identificadas, um analisador de validação pode compará-las com o padrão estabelecido pelo DTD ou Schema, para verificar se estão em conformidade. No processo, os valores padrão e os tipos de dados (se especificados) podem ser adicionados ao resultado na memória da validação que o analisador de validação fornece ao aplicativo.

<person xml:id="abc123" birth="1960-02-31" gender="female"> 
  <name>
    <forename>Judy</forename> 
    <surname>O'Grady</surname> 
  </name>
</person> 
    

O exemplo acima é analisado como:

  1. Element <person> identificado com o atributo xml:id (tipo predefinido 'ID') contendo "abc123" e birth do atributo contendong "1960-02-31" e gender atributo contendo "female" contendo ...

  2. Elemento <name> contendo ...

  3. Elemento <forename> contendo o texto 'Judy' seguido de ...

  4. Elemento <surname> contendo o texto 'O'Grady'.

(E muitas outras coisas também). Isso acaba como um tipo de estrutura de árvore familiar na memória do aplicativo (as estruturas de árvore são uma maneira comum para que os programas armazenem dados relacionados).

Além dos analisadores integrados, também há avaliadores de analisadores autônomos (veja a dica de Bill Rayer ), que lêem um arquivo XML e dizem se eles encontraram um erro (como parênteses ou citações faltantes ou marcação incorreta) . Isso é essencial para testar arquivos em isolamento antes de fazer algo mais com eles, especialmente se eles foram criados à mão sem um editor XML, ou por uma API que pode ser embutida demais em outros lugares para permitir testes fáceis.

Bill Rayer escreve:

Para análise / validação autônomo, use softwares como os onsgmls de James Clark ou o rxp de Richard Tobin . Ambos funcionam sob Linux e Windows / DOS. A diferença está no formato da listagem de erros (se houver) e que algumas versões de onsgmls não recuperam DTDs ou outros arquivos na rede, enquanto o rxp faz.

Certifique-se de que o seu arquivo XML se refira corretamente a DTD em uma Declaração de Tipo de Documento e que o arquivo DTD [s] esteja acessível localmente (o ( rxp os recuperará se você tiver uma conexão com a Internet; onsgmls as operações podem não ser necessárias, então pode precisar de uma cópia local).

Baixe e instale o software. Verifique se ele está instalado em um local onde seu sistema operacional pode encontrá-lo. Se você não sabe o que isso significa, você precisará de alguma ajuda de alguém que saiba como baixar e instalar o software em seu tipo de sistema operacional.

Para onsgmls , copie pubtext/xml.soc e pubtext/xml.dcl para o seu diretório de trabalho.

Para validar myfile.xml , abra uma janela shell (comando ou terminal) (Linux) ou uma janela MS-DOS (comando) (Microsoft Windows). Nestes exemplos, assumiremos que seu arquivo XML é chamado myfile.xml e está em uma pasta chamada myfolder . Use os nomes reais de sua pasta e arquivo quando você digita os comandos.

Para onsgmls :
      $ onsgmls -wxml -wundefined -cxml.soc -s myfile.xml
    

Existem muitas outras opções para onsgmls que são descritas na Página da Web . Os que são fornecidos aqui são necessários porque é baseado em um analisador SGML e essas opções mudam para o modo XML e suprimem a saída normal, deixando apenas os erros (se houver).

No Microsoft Windows, você pode ter que prefixar o comando onsgmls com o caminho completo para onde ele estava instalado, por exemplo C:\Program Files\OpenSP\bin\onsgmls .

Para rxp :
        $ rxp myfile.xml
    

O rxp também possui algumas opções que são descritas em sua página da Web .

No Microsoft Windows, você pode ter que prefixar o comando rxp com o caminho completo para onde ele estava instalado, por exemplo C:\Program Files\ltxml2\bin\rxp .