Publicado:
Leitura 4 minutos
Um documento XML que atende as regras de sintaxe é um documento bem-formado. Porém, para a maioria das aplicações, ele deve ser validado baseado numa estrutura previamente definida, que constitui uma família de documentos. Estas especificações têm alguns mecanismos para se determinar a estrutura de validação de um documento XML. (PINHEIRO, 2003). Segundo Daum e Merten (2002), no passado a DTD (document type definition ? definição de tipo de documento) era o modo padrão de se definir um esquema para um documento XML. No entanto, mais de uma dezena de linguagens alternativas de definição de esquemas foram criadas por várias instituições e indivíduos. Entretanto, o W3C produziu uma nova linguagem de esquema, a XML Schema.
O DTD é um documento (esquema) que validará um documento XML. Lee e Chu apud Pinheiro (2003), em estudos comparativos para validação estrutural e sintática da XML, apontam vários fatores restritivos ao uso da DTD: o sua sintaxe não é baseada ou derivada da XML, o que não permite que ela seja validada por um parser. o as declarações da DTD são globais, não permitindo declarar elementos de mesmo nome em pontos distintos do documento o a DTD tem deficiências na especificação do tipo de dado dos elementos (inteiro, real, alfa-numérico, etc). Na figura 1, temos um exemplo de uma DTD, que valida o documento XML da figura do artigo anterior (Alguns conceitos da XML). Figura 01: Exemplo de uma DTDFonte: Arquivo pessoal
As deficiências apontadas na DTD, foram suficientes para o W3C, em 2001, lançar e recomendar o XML Schema. Segundo Pinheiro (2003, p. 39), ?um Esquema XML tem por objetivo descrever a estrutura de um documento. Ele define os elementos existentes no documento, bem como sua ordem e os valores possíveis para os conteúdos?. A figura 2 nos mostra um exemplo de um XML Schema. Comment describing your root element Figura 02: Exemplo de um XML SchemaFonte: Arquivo pessoal As principais características do XML Schema são explicadas por Pinheiro (2003): o tem a mesma estrutura de um documento XML, ou seja, é uma aplicação XML, com o mesmo vocabulário,[1] capaz de definir estruturalmente classes de documentos XML, e validá-las; o namespaces (espaço de nomes): contextualiza um nome de elemento ou de atributo em um documento XML, ou seja, determina um escopo para os elementos declarados. Utilizando o espaço de nomes, passa a ser permitido a repetição de um nome de elemento em um documento XML, desde que esteja em escopos diferentes. Declaram-se os namespaces apontando uma URI (uniform resource identifier). A XML permite que se declarem vários namespaces em um único documento, para tal, identifica cada um separado pelo caracter dois pontos (?:?), da palavra reservada > grande diversidade de tipos de elementos; Com relação à criação do XML Schema, temos um conjunto de regras determinadas pelo W3C, que são: definições básicas; estruturas; tipos de dados. Referências: DAUM, Bethold; MERTEN, Udo. Arquitetura de sistemas com XML. Rio de Janeiro: Campus, 2002. PINHEIRO, Marden C. Proposta de um esquema XML para o intercâmbio de dados entre programas de análise por elementos finitos. 2003. 117 f. Dissertação (Mestrado em Tecnologia) ? Centro Federal de Educação Tecnológica de Minas Gerais, Belo Horizonte, 2003. W3C WORLD WIDE WEB Consortium. Disponível em: . Acesso em: 15 out. 2010. ZAIDAN, F. H. Sistemas de informações empresariais: integração de sistemas interorganizacionais utilizando troca de documentos eletrônicos via XML. 2006. 78 f. Monografia (Bacharelado em Ciência da Computação). FACE ? Faculdade de Ciências Empresariais ? Universidade FUMEC, 2006. [1] Vocabulário é um conjunto de regras estruturais e escopo de valores de uma família de documentos. O W3c já recomedou diversos vocabulários, dentre eles: MathML (descrição de fórmulas matemáticas), CML (química), MML (clínica médica), dentre outros.