Seção 4: Desenvolvedores

Q 4.13: O que é a minha informação? DADO ou DOCUMENTO?

Depende para o quê você o está usando.

Existem algumas distinções importantes entre as principais classes de aplicativos XML e a maneira como eles são usados.

Duas classes de aplicativos geralmente são chamadas de "documentos" e "dados", e isso é refletido no software, que normalmente é (mas não sempre) voltado para uma classe ou outra.

Aplicações de estilo de documento

Estes são como o trabalho das editoras tradicionais: texto e imagens em um ambiente estruturado, com fontes e formatação. Na maioria dos casos, isso inclui páginas da Web, bem como material destinado a PDF ou impressão como livros e revistas. A marca registrada dos aplicativos de documentos é que eles fazem uso intenso do conteúdo misto (por exemplo, subelementos no texto).

Aplicações de estilo de dados

Estes são encontrados principalmente no comércio eletrônico, serviços web e controle de processos ou aplicativos, sendo XML usado como um recipiente para informações armazenadas ou passadas entre sistemas, geralmente não formatadas e invisíveis por humanos. A sua característica é a ausência de conteúdo misto e a prevalência de dados numéricos ou categóricos.

Existe uma terceira área principal, o Desenvolvimento da Web, cujos requisitos são muitas vezes híbridos e abrangem os recursos das aplicações de documentos e dados porque contêm texto descritivo parcialmente estático e dados parcialmente dinâmicos.

Embora, em teoria, seja possível usar software de classe de dados para escrever um romance, ou software de classe de documento para criar faturas, provavelmente seria severamente subóptimo. Devido à natureza da informação utilizada pelas duas classes, os aplicativos de classe de dados costumam usar Schemas , e os aplicativos de classe documental tendem a usar DTDs , mas há um grau considerável de sobreposição.

A maneira como o XML se usa nessas duas classes também é dividida em dois: o XML pode ser usado manualmente ou sob o controle do programa.

Uso manual

Isso significa editar e manter os arquivos com um editor, do teclado, vendo as informações na tela conforme você faz. Isso é adequado para documentos individuais, especialmente no campo de publicação, para páginas da web e para desenvolvedores que trabalham em instâncias únicas, como arquivos de amostra ou modelos de sites. O processamento manual também implica executar programas de produção como formatadores, conversores e consultas de banco de dados em uma base individual, usando o teclado e o mouse da maneira normal. Grande parte do software para uso manual pode ser executado a partir da linha de comando, o que facilita a utilização para aplicativos únicos e em aplicativos ocultos como scripts da Web.

Uso programável

Isso significa escrever programas que chamam serviços de software de APIs, bibliotecas ou a rede para lidar com arquivos XML dentro do programa. Os arquivos XML em aplicativos de dados quase nunca são editados manualmente. Este é o método normal de operar para aplicativos de comércio eletrônico, automação na web, serviços da Web e outros controles de processos ou aplicativos. Existem bibliotecas e APIs para vários idiomas, incluindo Java, C e C ++, bem como as linguagens de script usuais, como Python, Perl, Tcl, Ruby, etc.

Além desses eixos, atualmente existem duas maneiras diferentes de processar XML, mapeado de memória ou desencadeado por eventos, geralmente referido pelos nomes de suas instâncias iniciais, o Modelo de Objeto de Documento (DOM) e a API Simples para XML (SAX) Respectivamente. Ambos usam um modelo de engenharia de documentos com base em uma estrutura em árvore de marcação de documento hierárquico conhecida como Grove (uma coleção de árvores, efetivamente um mapa na memória do resultado da análise da marcação do documento). Neste modelo, todos os "nó" (item de informação) do elemento mais externo para baixo através de cada elemento e atributo para cada pedaço de texto não marcado podem ser identificados. Para aplicações que utilizam Esquemas, é definido um Infoset de Validação Pós-Esquema (PSVI, equivalente a um bosque), que especifica quais informações um analisador deve disponibilizar para o aplicativo.

Joe Fawcett escreve:

(No artigo <[email protected]> )

Brevemente, "nó" é um termo genérico para qualquer um dos muitos tipos de blocos de construção XML, incluindo o elemento: : <myElement/> ; attribute : <myElement myAttribute="myValue"/> ; e text node : <my Text Node>

Também há comentários [ Declarações de comentários ], Instruções de processamento e o nó de documento invisível representando a raiz do documento XML, bem como outros.

Muito simplificado demais um aplicativo baseado em DOM lê um documento XML completo na memória e, em seguida, fornece acesso programável a cada nó em cada árvore no bosque; Enquanto um aplicativo baseado em SAX lê o documento XML, e os eventos são acionados pela ocorrência de nós quando eles acontecem, para quais regras ou ações foram pré-programadas. (Na realidade, é mais complexo do que isso, e ambos os métodos compartilham muitos conceitos em comum.)

Ambos os modelos fornecem uma API abstrata para construir, acessar e manipular documentos XML. Uma ligação da API abstrata a uma linguagem de programação específica fornece uma API concreta. Os fornecedores fornecem APIs concretas que permitem usar um ou outro método para consultar e manipular documentos XML. Ambos os tipos de analisadores foram implementados em muitos idiomas e em muitos sistemas operacionais e interfaces. Existem FAQs para DOM e SAX .