um estudo sobre o xml schema para documentos xml

Upload: antonio-lisboa

Post on 08-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 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

    [email protected]

    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.