8/7/2019 Um estudo sobre o XML Schema para documentos XML
1/12
Um estudo sobre o XML Schema paradocumentos XML
Um breve descrio da XML Schema para iniciantes na rea. O artigo possui conceitos bsicos sobrebanco de dados semi-estruturados, XML e XML Schema.Compartilhar
Andr dos Santos Gomes
Instituto de Ensino Superior Fucapi (CESF)
Curso de Bacharelado em Anlise de Sistemas
Resumo.A internet est em constante expanso a cada dia que passa, cada vez maior o nmero de dispositivos que possibilitam o
acesso a internet. O comrcio eletrnico um dos que mais impulsionam o crescimento. Portanto, o gerenciamento das informa es
um desafio para o mundo de banco de dados e para auxiliar a estruturao e troca de dados na internet, foi desenvolvido a XML, que
possui o objetivo de fornecer informao sobre a estrutura e o significado dos dados nas pginas web. Porm, faz -se necessrio a
utilizao de abordagens para definio de estruturas. Este trabalho objetiva descrever uma das abordagens, o XML Schema.
Palavras-chave: bancos de dados semi-estruturados, XML, XML Schema.
Abstract.Internet has been expanding constantly day by day, and it is becoming even bigger the number of devices that enable people
to access the internet.The eletronic commerce is one that most helps to increase it. However, the information management is a
challenge for the data base world and in order to help to build up the data exchange through the internet, it has been developed the
XML, which aims at providing information about the structure and meaning of tha data in web pages. Therefore,it is necessary to use
the approaches to define the structure. This paper aims at describing one of these approaches: the XML Schema.
Keywords:semi-structured databases, XML, XML Schema.
8/7/2019 Um estudo sobre o XML Schema para documentos XML
2/12
1.Introduo
Flexibilidade e portabilidade so caractersticas que vm fazendo com que, nosltimos anos, a eXtensible Markup Language (XML) seja aceita como um padro para
representao, intercmbio e manipulao de dados em aplicaes para as mais diversas
reas de negcios [2]. Representao de dados em aplicaes de gerenciamento de
contedo, aplicaes de transaes bancrias e de publicao de contedo em intranetsso alguns exemplos de uso da XML. O crescimento na utilizao da XML levou a um
aumento significativo no volume de dados que so armazenados, transportados e
recuperados nesse formato por aplicaes no mundo todo.
A XML (Extensible Markup Language) tem demonstrado uma linguagem
bastante adequada para representao e troca de dados e se estabelecendo como um
padro para representao de dados semi-estruturados. O armazenamento e acesso a
estes dados pode ser facilitado quando se tem disponvel uma estrutura que descreve
estes dados. Processadores de consulta normalmente definem sua rota de acesso na
recuperao dos dados baseados na estrutura que descreve estes dados.
Documentos XML podem ser legitimados contra estruturas especficas. Estasestruturas devem prever quais elementos so encontrados nos documentos, a ordem em
que estes elementos podem aparcer, a hierarquizao destes elementos, o tipo de dados
do contedo destes elementos, entre outros. Determinadas abordaganes para definio
de estruturas para documentos XML so o DTD (Document Type Definition) e o XML
Schema que uma alternativa do DTD [1].
O objetivo deste artigo descrever os recursos da aborgadem XML Schema,
mostrandos as vantagens e as definies.
Conceitos bsicos sobre banco de dados semi-estruturados so apresentados na
seo 2. Na seo 3 so abordados conceitos sobre XML. Na seo 4 so apresentadas
as caractersticas da XML Schema.
2. Bancos Dados semi-estruturados
Dados armazenados em SGBDRs (Sistemas Gerenciadores de Banco de Dados
Relacionais) so considerados dados estruturados. O fator de maior relevncia para a
afirmao acima est relacionado sua estrutura, a qual definida antes do
conhecimento dos dados (definio de esquema a priori). Portanto, espera-se pe lomenos que os dados sigam um mesmo padro, diferentemente dos dados semi-
estruturados que no seguem. Os dados semi-estruturados, em sua maioria, possuemcomo caractersticas principais uma estrutura irregular, dinmica e bastante
heterognea. Uma preocupao crescente entre pesquisadores na rea de web semnticaest relacionada a forma com que os dados da internet esto sendo disponibilizados. A
linguagem XML vem se destacando como um mecanismo de fundamental importncia etornando-se a cada dia um padro para manipulao de dados semi-estruturados [6].
Segundo [3], os dados semi-estruturados podem ser representados atravs de um
grafo direcionado, conforme mostrado na Figura 1.
8/7/2019 Um estudo sobre o XML Schema para documentos XML
3/12
Figura 1. Representando dados semi-estuturados por meio de um grafo. Fonte: [3]
As caractersticas principais de dados semi-estruturados so [4]:
yDefinio posteriori: os esquemas de dados semi-estruturados so frequentementedefinido aps a existncia dos dados, tomando como base uma an lise de suas estruturas
particulares e da anlise de similaridades e diferenas. Porm, no significa que exite
um esquema associado a um dado semi-estruturado.y Estrutura irregular: conjunto de dados sematicamente similares esto dispostos de
maneiras diferentes, podendo algumas ocorrncias terem informaes incompletas ou
adicionais em relao a outras. Um exemplo bem comum o curriculum vitae, quepossui informaes particulares para cada pessoa, no seguindo um padro.
8/7/2019 Um estudo sobre o XML Schema para documentos XML
4/12
y Estrutura implcita: na maioria das vezes existe uma estrutura bsica pr-definida paraos dados, porm, essa estrutura est implcita na forma como os dados soapresentados. Se faz necessrio realizar uma computao para obter essa estrutura.
y Estrutura extensa: a ordem de magnitude de uma estrutura para estes dados grande,uma vez que os mesmos so muito heterogneos. Supondo diferentes formatos para
um curriculum vitae, uma unio de atributos significativos em cada formato pode
produzir um esquema extenso;
y Estrutura evolucionria: a estutura de dados est em constate mudana de seus valores.Dados da Web apresentam este tipo de comportamento, uma vez que existe o interesse
em manter dados sempre atualizados. Um exemplo um portal de notcias, que possui
informaes atualizadas constantemente.y Distino entre estrutura e dados no clara: como a estrutura est embutida na
descrio dos dados, muitas vezes a distino lgica entre estrutura e valor no clara.
Pode-se ter, por exemplo, um endereo representado como um va lor atmico em uma
ocorrncia de dado (string) ou como um tipo definido pelo usurio (com atributos rua,
nmero e complemento) em outra ocorrncia. Esta caracterstica torna mais complicado
o projeto de um BD para tais dados.
As caractersticas de dados semi-estruturados diferem bastante das caractersticas de
dados mantidos em BDs tradicionais, como BDs relacionais. A tabela 1 apresenta estas
diferenas.
Dados tradicionais Dados semi-estruturadosEsquema predefinido Nem sempre h um esquema predefinidoEstrutura regular Estrutura irregularEstrutura independente dos dados Estrutura embutida no dadoEstrutura reduzida Estrutura extensaEstrutura fracamente evolutiva Estrutura fortemente evolutivaEstrutura prescritiva Estrutura descritivaDistino entre estrutura e dado clara Distino entre estrutura e dado no clara
Tabela 1. Diferenas entre dados tradicionais e dados semi-estruturados. Fonte: [4]
3. XML eXtensible Markup Language
A XML possui sua origem na SGML (Standard Genera lized Markup Language),um padro especificado pela ISO 8879 em 1986, mais poderoso para criao delinguagens que a prpria XML [7]. O fator de maior relevncia que levaram
desenvolvedores a pesquisarem e criarem novas linguagens mais leves, simples e que
fossem utilizadas na web foi a complexidade que envolve a utilizao da SGML.Entretanto, SGML ainda tem sido bastante utilizada por grandes empresas que buscam
desenvolver alternativas satisfatrias que possam auxiliar na realizao de diferentesfunes [6].
8/7/2019 Um estudo sobre o XML Schema para documentos XML
5/12
XML uma sigla que representa eXtensible Markup Language - linguagem de
marcao extensvel [5]. Diferentemente da maioria das linguagens de marcao,inclusive a prpria HTML (HyperText Markup Language linguagem de marcao de
hipertexto), XML no apresenta um conjunto limitado de tags a serem utilizadas. Suacaracterstica flexvel permite a seus usurios a definio de suas prprias tags e a
criao de suas prprias linguagens de marcao. Para a definio de um conjunto de
tags, XML oferece uma estrutura padro que possibilita ao usurio a criao de sua prpria estrutura ou a utilizao de outras estruturas j definidas. Uma considervelvantagem da utilizao da XML para criao de novas linguagens o fato que todas as
linguagens baseadas na XML compartilham uma sintaxe bsica comum (RDF, OWL,
XML Schema, MML)[8]. O cdigo abaixo representa um documento XML:
A XML vem se tornando o principal padro para respresentao de dados queno possuem uma estrutura bem definida. Essa linguagem tambm pode ser utilizada
para representao e troca de documentos e informaes entre sistemas e aplicaesdiferentes, como exemplo, podemos citar uma aplicao de uma faculdade que obtem de
uma instituio financeira, um documento XML contendo quais os a lunos realizaram opagamento em um determinado perodo, dando segurana ao banco na sua transao e
flexibilidade para o uso da informao na faculdade, portanto, um elo comum de
entendimento entre ambos.
4. XML Schema
Uma vez que o XML permite o compartilhamento da informao independente
do tipo de aplicao usada para visualizar, necessrio identificar a estrutura do
documento XML em questo.
Portanto, a XML Schema Definition foi lanada em 1999 publicamente como
working draft no site da W3C e definitivamente recomendada em novembro de 2000,
como linguagem oficial de definio de esquemas para documentos XML [9].
O objetivo de um XML Schema definir os blocos de construo permitidos em
um documento XML. Um XML Schema [10]:y
define elementos que podem aparecer em um documentoy
define atributos que podem aparecer em um documentoy
define que elementos so elementos filhosy
define a ordem dos elementos filhosy
define o nmero de elementos filhosy
define se um elemento vazio ou pode incluir textoy
define tipos de dados para elementos e atributosy
define valores padro e fixos para elementos e atributos
Ou seja, A XML Schema permiti definir atravs de regras, a estrutura, o
contedo e a semntica de um documento.
8/7/2019 Um estudo sobre o XML Schema para documentos XML
6/12
A especificao de XML Schema assume que pelo menos dois documentos so
utilizados: um documento instncia e pelo menos um documento esquema [11]. Odocumento instncia contm a informao propriamente dita e o documento esquema
descreve a estrutura e o tipo do documento instncia. Fazendo uma analogia comorientao a objetos, a distino entre instncia e esquema semelhante a distino
entre objeto e classe em ortientao a objetos, onde uma classe descreve um objeto
assim como um esquema descre um documento instncia. Vejamos na figura abaixo:
Figura 2.Representao da Classe relacionado com objetos.
4.1 Vantagens do XML Schema
A linguagem XML Schemafoi desenvolvida com o objetivo de tornar umalinguagem apropriada para sua utilizao na definio de esquemas para documentos
XML. As vantagens da utilizao da linguagem XML Schema para definio deesquemas para documentos XML so percebida durante o desenvolvimento, onde se
detecta que XML schema possui uma rica hierarquia de tipo de dados, possui um maior
controle sobre o nmero de ocorrncias de um determinado elemento, possibilita a
reutilizao de cdigo e possui uma maior compatibilidade com banco de dados
relacionais.
As principais vantagens do XML Schema so [10]:
y XML Schemas so extensveis para adies futuras:y
XML Schemas so mais ricos e teis que DTDs.y
XML Schemas so escritos em XMLy
XML Schemas suportam tipos de dados.
8/7/2019 Um estudo sobre o XML Schema para documentos XML
7/12
y XML Schemas suportam namespaces.
4.2 Sintaxe Bsica
Uma especificao em XML Schema sempre inicia com a tag etermina com a tag. Todas as declaraes de elementos, atributos e tipos
devem ser inseridas entre estas duas tags[10].Em XML Schema, o modelo de contedode um elemento pode ser especificado a partir da declarao de um tipo. Um tipo pode
serSimples ou Complexo. Um tipo simples pode ser atribudo a um atributo ou a umelemento simples, que possui somente texto e no possui elementos filhos. J um tipo
complexo utilizado para dizer quais so os subelementos permitidos para umdeterminado elemento. Tipos simples so declarados com simpleType, e tipos
complexos com complexType. A declarao element liga um tipo a um nome deelemento. Elementos podem ser declarados dentro de um tipo complexo ou abaixo de
schema. Neste ltimo caso, so considerados elementos globais.
Um simpleType pode ser um dos tipos bsicos definidos em XML Schema, tais
comostring,integer, date, entre outros. Uma relao completa dos tipos simplesdefinidos por XML Schema pode ser encontrada em [12].
Um complexType define restries para o modelo de contedo de um
determinado elemento, o que feito atravs dos atributos para especificao decardinalidade minOccurs e maxOccurs, e dos delimitadores de grupos de elementos
sequence, all e choice. O atributo minOccurs especifica o nmero mnimo de vezes queum subelemento pode aparecer, e maxOccurs, o nmero mximo. Os va lores destes
atributos devem ser inteiros positivos, porm o atributo maxOccurs tambm permite o
valor unbounded [10]. No cdigo XML Schema citado acima, a declarao
especifica que o elemento ARVORE no possui um limite mximo. A declarao dos
atributos minOccurs e maxOccurs no obrigatria. Quando suprimido, so admitidos
os valores 1 (um) para minOccurs e 1 (um) para maxOccurs, respectivamente. Isso faz
com que o elemento em questo seja obrigatrio.
O grupo sequence indica que os subelementos devem aparecer na instncia
XML na mesma ordem em que foram declarados no esquema. O grupo choice diz que
somente um dos elementos declarados no grupo pode aparecer na instncia, e o grupoall estabelece que todos os elementos do grupo podem aparecer uma ou nenhuma vez, e
que eles podem aparecer em qualquer ordem.
Alm desses tipos de contedo para um elemento, existem ainda mais dois. Umelemento pode ser vazio, ou seja, no ter contedo algum. Para isso, basta declarar um
complexType sem nenhum elemento, e declarar um element daquele tipo. Um elemento pode tambm ter um contedo misto, que mistura texto e subelementos. Isso pode ser
expresso atravs do atributo mixed.
8/7/2019 Um estudo sobre o XML Schema para documentos XML
8/12
Em XML Schema, atributos so declarados com attribute. Do mesmo modo que
uma declarao element liga um tipo simples ou complexo a um nome de elemento emum contexto, uma declarao de atributo liga um tipo simples a um nome de atributo em
um contexto.
4.3 Populao, Unicidade, Chaves e Referncias
XML Schema permite indicar que o valor de um elemento ou atributo deve sernico em um certo escopo [13]. Para indicar que o valor de um elemento ou atributo
particular deve ser nico, utiliza-se o elemento unique, selecionando um conjunto deelementos com selector, e depois indica-se que um elemento ou atributo deve ser nico
dentro do escopo selecionado, atravs de field. Os elementos selector e Field contmexpresses XPath [14]. Supondo-se que o tipo complexo tAutor tivesse um atributo
COD_AUTOR e que ele devesse ser nico, sua declarao seria como segue.
PUBLICACOES/PUBLICACAO/AUTOR
@COD_AUTOR
O conceito de chave em XML Schema tambm assegura que um determinadovalor deve ser nico. A nica diferena que esse va lor pode ser referenciado em um
outro lugar, permitindo desse modo que o esquema expresse restries de integridade.
Esses dois conceitos so declarados atravs dos elementos key e keyref,
respectivamente, e sua sintaxe semelhante declarao de unicidade, embora se
utilizem os elementos key e keyref ao invs de unique.
4.4 Namespaces
Um esquema especificado em XML Schemapode ser visto como um conjunto de
declaraes de tipos e elementos cujos nomes pertencem a um namespace [15]. Todoesquema em XML Schema deve definir um nico namespace, sendo usual o formato de
URL (Uniform Resource Locator) para a sua identificao.
O uso de namespaces aumenta a flexibilidade de XML Schema, permitindo areutilizao de definies feitas em outros esquemas. A utilizao de um tipo definido
em outro esquema possvel atravs da sua declarao e da associao de um prefixo aele. Segue abaixo um exemplo de Namespaces:
8/7/2019 Um estudo sobre o XML Schema para documentos XML
9/12
5. Concluses e tendncias futuras
Dados semi-estruturados em conjunto com XML um tema atua l de pesquisa na
rea de BDs, impulsionado pela grande disponibilidade e expanso de dados na Web. A
necessidade de representar a estrutura dos dados em XML de forma flexvel surgiu a
XML Schema.
Este artigo apresentou o XML Schema como uma alternativa bem flexvel e bem
estruturada para a definio de estrutura, contedo e semntica de um documento XML.
Ao analisar as caractersticas, nota-se a grande semelhana da definio do XML
Schema com a linguagem XML, facilitando para o desenvolvedor e para o leitor, um
fcil entendimento. Outra vantagem XML Schema, que ele permite ser utilizado para
a validao de arquivos, possibilitando ao usurio verificar se o seu documento XML
est de acordo com as definies descritas no XML Schema. Com essas vantagens, autilizao do XML Schema vem crescendo bastante, dando maior flexibilidade e
qualidade nos documentos XML.
Uma melhoria para a utilizao do XML Schema, seria o desenvolvimento de
uma ferramenta que apartir de um documento XML, gerasse um documento XMLSchema, facilitando o desenvolvimento do mesmo.
5. Referncias Bibliogrficas
[1] Introduction to XML Schema
Disponvel em:
Acesso em: 27 de abril de 2007
[2] XML, 2005 Extensible Markup Language (XML).
Disponivel em: < http://www.w3.org/XML>.
8/7/2019 Um estudo sobre o XML Schema para documentos XML
10/12
Acesso em: 27 de abril de 2007
[3] ELMASRI, Ramez; NAVATHE, Shamkant B; Sistemas de Banco de Dados -
fundamentos e aplicacoes. Traducao Tereza Cristina Padilha de Souza. Rio de Janeiro:
LTC, 2002.
[4] MELLO,Ronaldo, DORNELES, Carina, KADE, Adrovane, BRAGANHOLO,
Vanessa, HEUSER, Carlos, Dados Semi-Estruturados.
Disponvel em:
Acesso em: 29 de abril de 2007.
[5] World Wide Web Consortium. Extensible Markup Language (XML).
Disponvel em .
Acesso em: 29 de abril de 2007.
[6] PINTO Marcus, SACCOL Deise, Um estudo sobre esquemas para documentos
XML.
Disponvel em:
Acesso em: 28 de abril de 2007.
[7] WIKIPEDIA, SGML
Disponvel em:
Acesso em: 29 de abril de 2007.
[8]PINTO Marcus, Uma proposta para integrao de esqumeas para documentosXML
8/7/2019 Um estudo sobre o XML Schema para documentos XML
11/12
Disponvel em :
Acesso em: 29 de abril de 2007.
[9]Understanding XML SchemasDisponvel em:
Acesso em: 01 de maio de 2007.
[10] Tutorial XML Schema
Disponvel em:
Acesso em: 01 de maio de 2007.
[11] Esquema XML, Parte 0: Princpios Bsicos, 2. Edio
Disponvel em:
Acesso em: 01 de maio de 2007
[12] W3C Consortium. Xml schema part 2: Datatypes. W3C Candidate Recomendation,
2000.
Disponvel em:
Acesso em: 01 de maio de 2007.
[13] W3C Consortium. Xml path language. W3C Recomendation, November 1999.
Disponvel em:
Acesso em: 01 de maio de 2007.
8/7/2019 Um estudo sobre o XML Schema para documentos XML
12/12
[14] W3C Consortium. Xml schema part 0: Primer. W3C Candidate Recomendation,
2000.
Disponvel em:
Acesso em: 01 de maio de 2007.
[15] W3C Consortium. Namespaces in xml. W3C Recomendation, 1999.
Disponvel em:
Acesso em: 01 de maio de 2007.
Top Related