Upload
vucong
View
214
Download
0
Embed Size (px)
Citation preview
1
CIn.ufpe.br
Fernando Fonseca
Ana CarolinaRobson Fidalgo
Gerenciamento de Dados e Informação
Dados Semiestruturados & XML
CIn.ufpe.br
Dados na Web
O objetivo é integrar todos os tipos de informação,incluindo informação não estruturada
Informação irregular ou ausente
Informação com estrutura não conhecidacompletamente
Esquemas que evoluem dinamicamente
2
CIn.ufpe.br
Representação de Dados para Web/BD
Necessidades de modelarA própria Web
A estrutura de Web sites
A estrutura interna de páginas da WebO conteúdo do Web site em menorgranularidade
3
CIn.ufpe.br
Web X Banco de Dados
Web: enorme banco de dadosA maioria dos documentos é gerada para serdisponibilizada para leitura
Alguns destes documentos foram gerados a partirde consultas a BD
Dados podem ser extraídos das páginas Web paraserem utilizados por outros programas
4
CIn.ufpe.br
Web X Banco de Dados
WebPadrão simples euniversal para trocade informaçõesInformaçõesdecompostas comounidades que possamter nome (URL) e sertransmitidas (HTTP)Estrutura dainformação (HTML)
Banco de DadosEsquemas (relacional) e diagramas (E-R) para descrever a estrutura
Linguagem de consulta,controle de concorrência, recuperação e integridade
Separa a visão lógica da implementação física
5
CIn.ufpe.br
Estrutura dos Dados
Dados Estruturados (BD)Dados Semi-estruturados (XML)Dados Não Estruturados (HTML)
6
2
CIn.ufpe.br
Dados Estruturados
Os SGBD trabalham com dados bem estruturadosEsquema pré-definido
Todos os dados de acordo com o esquemaSGBD precisam do esquema para
Armazenar e indexar dados
Processar consultas e atualizações
Usuários precisam do esquema para formularconsultas e atualizações
7
CIn.ufpe.br
Dados Semi-estruturados
Atualmente, muitas informações são semi-estruturadas
Ausência de uma estrutura regular, ou aestrutura é capaz de evoluir de formaimprevisívelDados podem ser incompletos
SGBD e usuários não precisam conhecercompletamente a estrutura
8
CIn.ufpe.br
Dados Semi-estruturados
Fontes de dados semi-estruturadosIntegração de dados e ambientes de troca deinformaçãoDados extraídos da WebXML (eXtensible Markup Language)
Características dos Dados Semi-estruturadosEstrutura irregular (dados heterogêneos)
Modelar e consultar esta estrutura irregular éessencial
9
CIn.ufpe.br
Dados Semi-estruturados
Características dos Dados Semi-estruturados(Cont.)
A estrutura pode ser implícita
Alguma computação é necessária paraobtê-laA correspondência entre a estrutura e arepresentação lógica dos dados nemsempre é imediata
10
CIn.ufpe.br
Dados Semi-estruturados
A estrutura pode ser parcialParte dos dados pode não ter estrutura (ex:bitmaps)Outros podem ter uma estrutura "fraca" (ex:textos)
Tipos são apenas indicativos
Ao contrário do sistema de tipos rígido dasaplicações de BD
11
CIn.ufpe.br
XML
3
CIn.ufpe.br
XML - Extensible Markup Language
Desenvolvida em 1996 pelo XML Working Groupformado sob a proteção do World Wide WebConsortium (W3C)Linguagem de marcadores
Para descrever informaçõesEstrutural e semântica, não uma linguagem deformatação
Padrão XMLPara representação de dadosPara troca de informações
13
CIn.ufpe.br
O que significa “markup language”?
MarkupInformação extra que consiste de instruções paracontrolar o layout e a aparência das palavras
É qualquer forma de tornar explícita ainterpretação de um textoUma linguagem de marcadores é uma coleçãode convenções de marcadores utilizados emconjunto para a codificação de textos
14
CIn.ufpe.br
Qual a origem de XML?
XML é um subconjunto de SGML - ISO8879SGML (Standard Generalized Markup Language)Uma metalinguagem por meio da qual se podedefinir linguagens de marcação para documentos
Um padrão internacional para a definição demétodos de representação de texto em formatoeletrônicoPadrão muito poderoso e bastante geral, o quetorna complicada a sua implementação
15
CIn.ufpe.br
XML
Chemical Markup Language (CML)
Channel Definition
Format (CDF)
Open Financial Exchange (OFX)
DocBook
HTML
TextEnconding Iniative (TEI)
SGML
Relação entre SGML, XML e HTML
16
CIn.ufpe.br
XML, outra linguagem de marcadores?
Não!A maioria das linguagens provê um conjuntofixo de marcadores, XML é extensível
XML permite a definição de novosmarcadores
Descrição de documentos XMLDTD - Document Type DefinitionXML Schema
17
CIn.ufpe.br
Documento XML válido
Documento XML inválido
Documento XML
DTD
Parser
DTD - Document Type Definition
O conjunto dos tipos de elementos são usados paradefinir os tipos de documentos e são referenciadoscomo Document Type Definition - DTD
18
4
CIn.ufpe.br
XML Schema
Proposta da W3C para descrever a estrutura de umdocumento XMLXML Schema é um padrão mais abrangente queuma DTD
Dá suporte a um conjunto maior de tipos dedados primitivosPermite definir novos tipos de dadosDá suporte à herança
19
CIn.ufpe.br
Conteúdo
EstruturaApresentação
Qual a idéia central de XML?
Tornar explícita a separação entre os principaiscomponentes de um documento eletrônico
20
CIn.ufpe.br
Exemplo de Documento XML
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE livraria SYSTEM "livraria.dtd">
<livraria>
<livro id="L01" ano="1997">
<autor>
<nome>Marie</nome >
<sobrenome>Buretta</sobrenome >
</autor>
<titulo>Data Replication</titulo>
<editora>John Wiley & Sons </editora>
</livro>
...
Arquivo com
extensão .xml
21
CIn.ufpe.br
Exemplo de Documento XML
...
<livro id="L02" ano= " 2000" bib="L01">
<autor>
<nome>Ramez </nome>
<sobrenome>Elmasri</sobrenome >
</autor>
<autor>
<nome> Shamkant </nome>
<sobrenome> Navathe </sobrenome >
</autor>
<titulo>Fundamentals of Database Systems</titulo>
<editora>Addison Wesley</editora>
</livro>
</livraria>
22
CIn.ufpe.br
Visão do Arquivo no Internet Explorer
23
CIn.ufpe.br
Especificações de XML
Extensible Markup Language (XML) 1.0Define a sintaxe de XML
XML Link Language (XLL)Define como conectar documentos XMLutilizando links de hipertexto
Extensible Style Language (XSL)Define como formatar documentos XMLutilizando stylesheet
24
5
CIn.ufpe.br
Objetivos de XML
Ser possível usar XML diretamente por toda aInternetDar suporte a uma grande variedade de aplicações
Ser compatível com SGML
Ser fácil escrever programas para processardocumentos XML
25
CIn.ufpe.br
Objetivos de XML
O número de características adicionais a XMLdeverá ser o mínimo possívelDocumentos XML devem ser legíveis erazoavelmente claros
O projeto de XML deve ser preparado rapidamente
O projeto de XML deve ser formal e conciso
Documentos XML devem ser fáceis de criar
26
CIn.ufpe.br
Benefícios
XML é um padrão completamente aberto
Documentos XML podem ser usados e reusados dediferentes formas e em diferentes formatos
Os autores de documentos XML podem concentrar-se no conteúdo e não na formataçãoDocumentos XML são auto-descritíveis
Documentos XML são como BD de informaçõesO conteúdo dos documentos pode ser manipuladoe reorganizado pelo browser
27
CIn.ufpe.br
Classes de documentos XML
Documento bem formado
Documento que está de acordo com o padrãoXML
Documento válido
Documento XML bem formado que está deacordo com a DTD (ou esquema) associada(o)
28
CIn.ufpe.br
Produtos para XML
Ferramentas para criação e modificação dedocumentos XML
Editores de XML
Ferramentas para criação e modificação de DTD,XSL style sheets, etc.
DTD (editores, geradores)Ferramentas para fazer conversão entre DTD eEsquemasXSL (editores, geradores)
29
CIn.ufpe.br
Produtos para XML
Ferramentas para dar suporte ao gerenciamento eao armazenamento de documentos XML
Sistemas que armazenam persistentementedocumentos XML e oferecem acesso àestrutura dos documentos e a seuscomponentesUtilitários para gerenciamento de documentosMecanismos de busca para XMLSGBD
ParsersBrowsers
30
6
CIn.ufpe.br
Parsers para XML
Toda aplicação (browsers, editores, ...) para XMLpossui um parser
Parsers que fazem a validação de acordo com aDTD
Parsers que ignoram as restrições de validadeimpostas pela DTD
31
CIn.ufpe.br
Parsers para XML
O parser divide o documento em "porções"Geralmente correspondem a elementos eatributos
A aplicação pode manipular as "porções"diretamente, como se fosse um BD
Transformar para outros formatosReorganizar a sequência dos elementosAplicar alguma formatação para apresentação
32
CIn.ufpe.br
API para XML
DOM e SAX são API para XMLOferecem meios para acessar e manipular oconteúdo de um documento XMLOferecem diferentes visões do documento
DOM (Document Object Model): visão baseadaem árvore
SAX (The Simple API for XML): visão baseadaem eventos
33
CIn.ufpe.br
Como manipular o conteúdo de
um documento XML?
As aplicações podem utilizar as operaçõesdisponíveis na API para acessar o conteúdo dodocumento XML
Um parser baseado em DOM produz como saídauma árvore que representa a hierarquia doselementos em um documento XMLUm parser baseado em SAX produz como saídauma sequência de eventos
34
CIn.ufpe.br
A API DOM
Proposta pelo W3CAPI independente de linguagem e plataforma quepermite programas e scripts acessarem eatualizarem o conteúdo e a estrutura de umdocumento dinamicamente
Documento XML Parser
Representação
DOMAplicação
35
CIn.ufpe.br
A API DOM
Exemplo
<?xml version="1.0">
<doc>
<para>Hello, world! </para>
</doc>
Raiz
DOC
para
“Hello World”
36
7
CIn.ufpe.br
A API SAX
Interface que permite a interação com documentosXMLProposta por um grupo de participantes da lista XML-DEV
Exemplo
<?xml version="1.0">
<doc>
<para>Hello, world!
</para> </doc>
start document
start element: doc
start element: para
characters: Hello, world!
end element: para
end element: doc
end document
37
CIn.ufpe.br
A API SAX
Não permite acessos randômicos na manipulaçãodo documentoÉ preciso implementar um modelo próprio para amanipulação dos dados
É mais adequada quando o processamento dodocumento é sequencial
38
CIn.ufpe.br
<carro><modelo> Palio </modelo><fabricante> Fiat </fabricante><cor> Vermelho </cor>
</carro>
Construindo Documentos XML
ElementosOs elementos são os blocos principais daestrutura hierárquica de XML
Cada elemento tem um ponto inicial (start-tag) eum ponto final (end-tag)
Elemento
Elemento
Elemento
Elemento
39
CIn.ufpe.br
Elementos Aninhados
Um elemento pode conter outros elementos
<livro id="L01" ano="1997"><autor><nome>Marie</nome ><sobrenome>Buretta</sobrenome >
</autor><titulo>Data Replication</titulo><editora>John Wiley & Sons </editora>
</livro>
40
CIn.ufpe.br
Elemento Vazio
Um elemento também pode ter um conteúdovazio
<vazio></vazio>
Representações de um elemento vazio
<vazio/>
OU
41
CIn.ufpe.br
<livro id="L01" ano="1997">
Representação de atributos
Atributos
Podem ser associados com um elemento emum start-tag ou um elemento vazioValores de atributos podem ser delimitados por" ou '
Atributos
42
8
CIn.ufpe.br
Atributo ou Elemento?
A informação possui alguma estrutura?
Atributos não têm hierarquia
Elementos podem ter hierarquia
<pessoa><nome>...<endereco>...<telefone>...
</pessoa>
Definição do elemento pessoa
43
CIn.ufpe.br
Atributo ou Elemento?
A informação deve seguir alguma ordem pré-definida?
Múltiplos valores de atributos em um único start tagnão têm uma ordem pré-definida
Os subelementos de um elemento devem serdefinidos na ordem estabelecida na declaração doelemento
Outras diferenças
Um atributo pode aparecer uma única vez dentro deum start tag
Sublementos com mesmo tag podem ser repetidosna definição do elemento
44
CIn.ufpe.br
<?xml version=“1.0”?><livraria>....outros elementos</livraria>
O elemento raiz (root)
É o elemento que contém todos os outroselementos do documentoPode existir apenas um elemento raiz
Raiz
45
CIn.ufpe.br
<!-- Exemplo de comentário -->
Escrevendo Comentários
A string "--" não é permitida dentro de umcomentárioNão pode ser colocada dentro de outro marcador
Início Término
46
CIn.ufpe.br
<Documento><![CDATA [se a<b e b<c então a<c ]]></Documento>
Escrevendo símbolos especiais
Seções CDATA são usadas quando um documentoXML contém um grande número de caracteresespeciais (ex: "<" e "&")São blocos de texto nos quais estes caracteres nãosão considerados especiais
47
CIn.ufpe.br
Instruções de processamento
São utilizadas para enviar comandos e informaçõesà aplicação que está processando o documentoXMLUm exemplo de instrução de processamento é adeclaração de XML
<?xml version="1.0" encoding="utf-8"?>
Instrução
48
9
CIn.ufpe.br
Regras para criar um documento
XML bem-formado
Todos os tags de início devem ter um tag de finalcorrespondenteTags de elementos vazios terminam com />Existe um único elemento raizElementos não podem se sobreporValores de atributos devem ser colocados entre " ou '< e & são usados apenas em start tags e entidades.Caso necessários no texto, representar como emHTML
< → <& → &
49
CIn.ufpe.br
DTD
CIn.ufpe.br
Uso de DTD
Uma DTD descreve os elementos e atributos quepodem aparecer em um documentoA validação compara um documento em particular coma DTD correspondenteÉ necessário que um documento seja bem-formadopara ser validadoGarante que os dados estão corretos antes de seremutilizados por outras aplicaçõesGarante que o formato foi seguido
51
CIn.ufpe.br
Uso de DTD
ArmazenaDeclarações de tipos de elementos
<!ELEMENT...>Declaração de lista de atributos
<!ATTLIST ...>Declarações de entidade
<!ENTITY ...>Pode ter
Um componente interno (subconjunto interno) e/ouUm componente externo (subconjunto externo)
52
CIn.ufpe.br
<!-- DTD Interna --><!DOCTYPE livraria [<!ELEMENT livro (titulo, autor)><!ELEMENT titulo (#PCDATA)> <!ELEMENT autor (#PCDATA)>]>
Declaração de um tipo de elemento
Documento - liv.xml
Declarando uma DTD interna
Nome do elemento raiz do documento
53
CIn.ufpe.br
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE livraria [<!ELEMENT livro (titulo, autor)><!ELEMENT titulo (#PCDATA)> <!ELEMENT autor (nome, sobrenome)><!ELEMENT nome (#PCDATA)><!ELEMENT sobrenome (#PCDATA)>]><livraria>
<livro >
<titulo>Data Replication</titulo>
<autor>
<nome>Marie</nome >
<sobrenome>Buretta</sobrenome >
</autor>
</livro>
...
</livraria>
Declarando uma DTD interna
Exemplo
DTD Interna
54
10
CIn.ufpe.br
...<!-- DTD Externa --><!DOCTYPE livraria SYSTEM "livraria.dtd"><livraria>
<livro>
<titulo>Data Replication</titulo>
<autor>
<nome>Marie</nome >
<sobrenome>Buretta</sobrenome >
</autor>
</livro>
...
</livraria>
Documento - liv.xml
Declarando uma DTD externa
55
DTD Externa
Referência a um arquivo externo
CIn.ufpe.br
Declarando uma DTD externa
<!ELEMENT livraria(livro+)<!ELEMENT livro (titulo, autor)><!ELEMENT titulo (#PCDATA)> <!ELEMENT autor (nome, sobrenome)><!ELEMENT nome (#PCDATA)><!ELEMENT sobrenome (#PCDATA)>
DTD - livraria.dtd
CIn.ufpe.br
XML Schema
CIn.ufpe.br
Uso de XML Schema
Uso de Namespaces
Maneira simples e direta de distinguirnomes usados em documentos XML, semlevar em consideração sua origemTem como propósito oferecer aosprogramadores uma ajuda, permitindo quetags e atributos sejam processadossomente quando forem relevantes
58
CIn.ufpe.br
Namespaces - Exemplo
59
<h:html xmlns:xdc="http://www.xml.com/livros"
xmlns:h="http://www.w3.org/HTML/1998/html4">
<h:head><h:title>Livro</h:title></h:head>
<h:body>
<xdc:livro>
<xdc:title>Fundamentals of database systems</xdc:title>
<h:table>
<h:tr align="center">
<h:td>Autor</h:td><h:td>Preco</h:td>
CIn.ufpe.br
O papel dos prefixos
Os prefixos são apenas atalhos para os nomescompletosOs prefixos são definidos como atributos doelemento raizExemplo
<h:html xmlns:xdc="http://www.xml.com/livros"
xmlns:h="http://www.w3.org/HTML/1998/html4">
60
11
CIn.ufpe.br
Namespace default
É possível declarar um namespace default e ocultar alguns prefixos
<html xmlns="http://www.w3.org/HTML/1998/html4"
xmlns:xdc="http://www.xml.com/books">
<head><title>Book Review</title></head>
<body>
<xdc:bookreview>
<xdc:title>XML: A Primer</xdc:title>
<table>
<tr align="center"> ....
61
CIn.ufpe.br
<h:body>
<xdc:bookreview>
<xdc:title h:style="font-family: sans-serif;">
Fundamentals of database system </xdc:title>...
Atributos podem ter Namespaces
Tanto atributos quanto elementos podem ter namespaces
62
CIn.ufpe.br
Namespaces – Nomes universais
A combinação de um nome local com umaURL é chamada de "nome universal"O papel da URL em um nome universal épuramente permitir que as aplicações tenhamcomo identificar unicamente os elementosou atributos
63
CIn.ufpe.br
Esquemas XML - Objetivos
O propósito de uma linguagem de definição deesquemas é oferecer um conjunto deconstrutores para definições de esquemasXMLEsquemas XML podem ser usados paradefinir, descrever e catalogar vocabuláriospara classes de documentos
64
CIn.ufpe.br
Linguagens de Esquemas
DCD [Document Content Description]XML-Data Reduced (XDR)DDML (Xschema)Schema for Object-Oriented XML (SOX)W3C XML Schema Definition Language(XSDL)
65
CIn.ufpe.br
XML Schema – Sintaxe Básica
Uma especificação em XML Schema sempre inicia com a tag <schema> e termina com a tag </schema>
Todas as declarações de elementos, atributos e tipos devem ser inseridas entre estas duas tags
66
12
CIn.ufpe.br
XML Schema – Sintaxe Básica
Tipos podem serSimples (simpleType):são tipos básicos como string, date, float, double...Complexos (complexType): definem a estrutura de elementos, ou seja definem características como:
SubelementosAtributosCardinalidades dos subelementosObrigatoriedade dos atributos
67
CIn.ufpe.br
XML Schema – Exemplo 1
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema">
<xsd:element name=”livro">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="titulo" type="xsd:string"/>
<xsd:element name="autor" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="isbn" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
68
CIn.ufpe.br
XML Schema – Exemplo 2
Considerando a relação
Filme (mat: number, titulo: varchar2(30), duracao: varchar2(4),
genero: varchar2(7))
Criar um XML Schema para um arquivo XML
contendo a resposta para: SELECT * FROM Filme;
69
CIn.ufpe.br
XML Schema – Exemplo 2
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema">
<xsd:element name="filme">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="mat" type="xsd:integer"/>
<xsd:element name="titulo" type="xsd:string"/>
<xsd:element name="duracao" type="xsd:string"/>
<xsd:element name="genero" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
70
CIn.ufpe.br
XML Schema – Sintaxe Básica
Os tipos de dados definidos em umesquema podem ser usados para a definiçãode elementos e atributos
Os tipos complexos (complexType)podem ser usados apenas para definiçãode elementos
Os tipos simples (simpleType) podemser usados para definição tanto deelementos como de atributos
71
CIn.ufpe.br
XML Schema – Sintaxe Básica
XML Schema permite a definição decardinalidade para um elemento
O atributo minOccurs determina o númeromínimo de ocorrências de um elementoO atributo maxOccurs determina o númeromáximo de ocorrências de um elemento
72
13
CIn.ufpe.br
Declaração de Elementos
Basicamente, existem três formas diferentesde declarar elementos
A declaração de um elemento tem comosubelemento a definição de um tipocomplexo
A declaração de um elemento tem comosubelemento a definição de um tiposimples
A declaração de um elemento faz referênciaa um tipo complexo já definido
73
CIn.ufpe.br
<xsd:element name="livro">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="titulo" type="xsd:string"/>
<xsd:element name="editora" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Declaração de Elementos (1)
A declaração de um elemento tem comosubelemento a definição de um tipo complexo
74
CIn.ufpe.br
<xsd:element name="meuInteiro">
<simpleType>
<restriction base="integer">
<minInclusive value = "1">
<maxInclusive value = "10">
</restriction>
</simpleType>
</xsd:element>
Declaração de Elementos (2)
A declaração de um elemento tem comosubelemento a definição de um tipo simples
75
CIn.ufpe.br
<xsd:complexType name="Tlivro">
<xsd:sequence>
<xsd:element name="titulo" type="xsd:string"/>
<xsd:element name="editora" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
Declaração de Elementos (3)
A declaração de um elemento faz referência a um tipo complexo já definido
<xsd:element name="livro" type="Tlivro"/>
76
CIn.ufpe.br
Declaração de Elementos
Declarações de elementos e tipos são ditasglobais quando são filhas imediatas doelemento <schema>
Declarações de elemento e definições de tipossão consideradas locais quando estãoaninhadas dentro de outros elementos outiposEsta diferença é importante porque apenaselementos e tipos globais podem serreusados
77
CIn.ufpe.br
Derivação de Tipos
XML Schema possui um mecanismo dederivação de tipos, permitindo a criação denovos tipos a partir de outros já existentesA derivação pode ser feita de duas maneiras
Por restrição
Por extensão
78
14
CIn.ufpe.br
Derivação de Tipos
Tipos simples só podem ser derivados porrestrição, aplicando-se "facetas" a um tipobásico ou utilizando uma linguagem deexpressões regulares
<simpleType name="meuInteiro">
<restriction base="integer">
<minInclusive value = "1">
<maxInclusive value = "10">
</restriction>
</simpleType>
79
CIn.ufpe.br
Derivação de Tipos
Tipos complexos podem ser derivados porrestrição ou por extensão
Por restrição: permite restringir acardinalidade de um subelementoPor extensão: adiciona características aum tipo (semelhante à herança)
80
CIn.ufpe.br
Derivação de Tipos
<xs:element name="employee“ type="fullpersoninfo"/><xs:complexType name="personinfo">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/><xs:element name="lastname" type="xs:string"/>
</xs:sequence></xs:complexType><xs:complexType name="fullpersoninfo">
<xs:complexContent><xs:extension base="personinfo"><xs:sequence>
<xs:element name="address" type="xs:string"/><xs:element name="city" type="xs:string"/>
<xs:element name="country" type="xs:string"/></xs:sequence>
</xs:extension></xs:complexContent>
</xs:complexType>
81
CIn.ufpe.br
XML Schema - Grupos
Grupos especificam restrições sobre umconjunto fixo de subelementos, as quais podemser de três tipos
sequence: todos os elementos pertencentesa ele devem aparecer na ordem em queforam definidos e nenhum pode ser omitidochoice: apenas um dos elementospertencentes ao grupo deve aparecer emuma instância XMLall: os elementos podem aparecer emqualquer ordem e podem ser repetidos ouomitidos
82
CIn.ufpe.br
XML Schema – Sintaxe Básica
Os atributos de um ComplexType sãodeclarados utilizando-se a tag <attribute> edevem ser do tipo simpleType
Um atributo pode ser declarado como opcionalpor meio da cláusula use. Os valores permitidospara esta cláusula são
required (obrigatório)optional (opcional)fixed (fixo)
Neste caso deve-se dizer o valor defaultdo atributo utilizando a cláusula value
83
CIn.ufpe.br
XML Schema - Exemplo
....
<xsd:complexType>
<xsd:sequence>
<xsd:element name="titulo" type="xsd:string"/>
<xsd:element name="autor" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="isbn" type="xsd:string"/>
</xsd:complexType>
.....
84
15
CIn.ufpe.br
Formatação de
Documentos
CIn.ufpe.br
Formatando Documentos XML
Style sheets descrevem a forma de apresentação dedocumentos na tela do computador / impressora
Extensible Style Language (XSL)Cascading Style Sheets (CSS)
Utilizando CSS
Criar arquivo .css para armazenar a formatação deacordo com a sintaxe CSS
http://www.w3.org/Style/CSS/Introduzir informação sobre o CSS no arquivo XML
<?xml-stylesheet type="text/css" href="arquivo.css"?>
86
CIn.ufpe.br
Exemplo de CSS
Baseado no exemplo Livraria – arquivo livros1.xml<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE livraria SYSTEM "livraria.dtd">
<?xml-stylesheet type="text/css" href="estilolivro.css"?>
<livraria>
<inicio>Sistema Livraria</inicio>
<livro id="L01" ano="1997">
<autor>
<nome>Marie</nome >
<sobrenome>Buretta</sobrenome >
</autor>
<titulo>Data Replication</titulo>
<editora>John Wiley & Sons </editora>
</livro>
Informação sobre
arquivo CSS
Cabeçalho
87
CIn.ufpe.br
Exemplo de CSS
<livro id="L02" ano= " 2000" bib="L01">
<autor>
<nome>Ramez </nome>
<sobrenome>Elmasri</sobrenome >
</autor>
<autor>
<nome> Shamkant </nome>
<sobrenome> Navathe </sobrenome >
</autor>
<titulo>Fundamentals of Database Systems</titulo>
<editora>Addison Wesley</editora>
</livro>
</livraria>
88
CIn.ufpe.br
Exemplo de CSS
Arquivo estilolivro.css
@media screen {
livraria {
display: block;
margin: 10px;
width: 400px;
}
89
CIn.ufpe.br
Exemplo de CSS
inicio {
display: block;
padding: 0.3em;
font: bold x-large sans-serif;
color: white;
background-color: #C6C;
}
livro {
display: block;
font: normal medium sans-serif;
}
90
16
CIn.ufpe.br
Exemplo de CSS
titulo {display: block;
font-style: italic;
font-size: large;
color: red;
}
editora { display: block;
font-weight: bold;
font-size: large;
color: green;
}
}
91
CIn.ufpe.br
Visão do Arquivo no
Internet Explorer
92
CIn.ufpe.br
Bancos de Dados e XML
Sistema Gerenciador de Banco de Dados XML Nativo(Native XML Database - NXD)
Ex: Tamino, dbXML e X-HiveSistema Gerenciador de Banco de Dados compatívelcom XML (XML Enabled Database - XEDB)
Ex: As soluções para XML propostas pela Oracle eMicrosoft
Sistema Gerenciador de Banco de Dados XMLHíbrido (Hybrid XML Database - HXD)
Ex: Excelon e Ozone
93