Tutorial de XML

XML INÍCIO Introdução ao XML XML Como usar Árvore XML Sintaxe XML Elementos XML Atributos XML Namespaces XML Exibição XML XML HttpRequest Analisador de XML XML DOM XML XPath XML XSLT XML XQuery XML XLink Validador de XML XML DTD Esquema XML Servidor XML Exemplos XML Teste de XML Certificado XML

XML AJAX

Introdução AJAX AJAX XML Http Solicitação AJAX Resposta AJAX Arquivo XML AJAX PHP AJAX ASP AJAX Banco de dados AJAX Aplicativos AJAX Exemplos AJAX

XML DOM

Introdução ao DOM Nós DOM Acesso ao DOM Informações do nó DOM Lista de nós DOM Travessia do DOM Navegação DOM Valores de obtenção do DOM Nós de alteração do DOM Remoção de nós do DOM Substituir nós DOM DOM Criar nós DOM Adicionar nós Nós clones DOM Exemplos de DOM

Tutorial XPath

Introdução ao XPath Nós XPath Sintaxe XPath Eixos XPath Operadores XPath Exemplos de XPath

Tutorial XSLT

Introdução ao XSLT Idiomas XSL Transformação XSLT XSLT <modelo> XSLT <valor-de> XSLT <para-cada> XSLT <classificar> XSLT <if> XSLT <escolha> Aplicar XSLT XSLT no cliente XSLT no servidor XSLT Editar XML Exemplos de XSLT

Tutorial XQuery

Introdução ao XQuery Exemplo de XQuery XQuery FLWOR XQuery HTML Termos de XQuery Sintaxe XQuery Adicionar XQuery Seleção de XQuery Funções XQuery

XML DTD

Introdução DTD Blocos de construção de DTD Elementos DTD Atributos DTD Elementos DTD vs Attr Entidades DTD Exemplos de DTD

Esquema XSD

Introdução ao XSD XSD Como fazer XSD <esquema> Elementos XSD Atributos XSD Restrições XSD

Complexo XSD

Elementos XSD XSD vazio Apenas elementos XSD Somente texto XSD XSD Misto Indicadores XSD XSD <qualquer> XSD <qualquer atributo> Substituição XSD Exemplo de XSD

Dados XSD

Cadeia XSD Data XSD XSD Numérico XSD Misc Referência XSD

Serviços da Web

Serviços XML XML WSDL XML SOAP XML RDF XML RSS

Referências

Tipos de nós DOM Nó DOM Lista de nós DOM DOM NamedNodeMap Documento DOM Elemento DOM Atributo DOM Texto DOM DOM CDATA Comentário DOM DOM XMLHttpRequest Analisador de DOM Elementos XSLT Funções XSLT/XPath

Tutorial de esquema XML


O que é um esquema XML?

Um esquema XML descreve a estrutura de um documento XML.

A linguagem XML Schema também é conhecida como XML Schema Definition (XSD).

Exemplo de XSD

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="note">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="to" type="xs:string"/>
      <xs:element name="from" type="xs:string"/>
      <xs:element name="heading" type="xs:string"/>
      <xs:element name="body" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

</xs:schema>

O objetivo de um esquema XML é definir os blocos de construção legais de um documento XML:

  • os elementos e atributos que podem aparecer em um documento
  • o número de (e ordem de) elementos filhos
  • tipos de dados para elementos e atributos
  • valores padrão e fixos para elementos e atributos

Por que aprender esquema XML?

No mundo XML, centenas de formatos XML padronizados estão em uso diário.

Muitos desses padrões XML são definidos por XML Schemas.

XML Schema é uma alternativa baseada em XML (e mais poderosa) para DTD.



Tipos de dados de suporte a esquemas XML

Um dos maiores pontos fortes dos esquemas XML é o suporte para tipos de dados.

  • É mais fácil descrever o conteúdo permitido do documento
  • É mais fácil validar a exatidão dos dados
  • É mais fácil definir facetas de dados (restrições de dados)
  • É mais fácil definir padrões de dados (formatos de dados)
  • É mais fácil converter dados entre diferentes tipos de dados

Esquemas XML usam sintaxe XML

Outro grande ponto forte dos esquemas XML é que eles são escritos em XML.

  • Você não precisa aprender um novo idioma
  • Você pode usar seu editor de XML para editar seus arquivos de esquema
  • Você pode usar seu analisador XML para analisar seus arquivos de esquema
  • Você pode manipular seu Schema com o XML DOM
  • Você pode transformar seu Schema com XSLT

Os esquemas XML são extensíveis porque são escritos em XML.

Com uma definição de esquema extensível, você pode:

  • Reutilize seu esquema em outros esquemas
  • Crie seus próprios tipos de dados derivados dos tipos padrão
  • Fazer referência a vários esquemas no mesmo documento

Comunicação de dados segura de esquemas XML

Ao enviar dados de um remetente para um destinatário, é essencial que ambas as partes tenham as mesmas “expectativas” sobre o conteúdo.

Com XML Schemas, o remetente pode descrever os dados de uma maneira que o destinatário entenda.

Uma data como: "03-11-2004" será, em alguns países, interpretada como 3.Novembro e em outros países como 11.Março.

No entanto, um elemento XML com um tipo de dados como este:

<date type="date">2004-03-11</date>

garante um entendimento mútuo do conteúdo, pois o tipo de dados XML "data" requer o formato "AAAA-MM-DD".


Bem formado não é suficiente

Um documento XML bem formado é um documento que está em conformidade com as regras de sintaxe XML, como:

  • deve começar com a declaração XML
  • deve ter um elemento raiz único
  • as tags iniciais devem ter tags finais correspondentes
  • os elementos diferenciam maiúsculas de minúsculas
  • todos os elementos devem ser fechados
  • todos os elementos devem ser aninhados corretamente
  • todos os valores de atributo devem ser citados
  • entidades devem ser usadas para caracteres especiais

Mesmo que os documentos estejam bem formados, eles ainda podem conter erros, e esses erros podem ter sérias consequências.

Pense na seguinte situação: você pede 5 impressoras a laser brutas, em vez de 5 impressoras a laser. Com os esquemas XML, a maioria desses erros pode ser detectada pelo software de validação.