16
1 CIn.ufpe.br Fernando Fonseca Ana Carolina Robson 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 conhecida completamente Esquemas que evoluem dinamicamente 2 CIn.ufpe.br Representação de Dados para Web/BD Necessidades de modelar A própria Web A estrutura de Web sites A estrutura interna de páginas da Web O conteúdo do Web site em menor granularidade 3 CIn.ufpe.br Web X Banco de Dados Web: enorme banco de dados A maioria dos documentos é gerada para ser disponibilizada para leitura Alguns destes documentos foram gerados a partir de consultas a BD Dados podem ser extraídos das páginas Web para serem utilizados por outros programas 4 CIn.ufpe.br Web X Banco de Dados Web Padrão simples e universal para troca de informações Informações decompostas como unidades que possam ter nome (URL) e ser transmitidas (HTTP) Estrutura da informação (HTML) Banco de Dados Esquemas (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

Dados Semiestruturados & XML evoluemif685/SemiEstruturado-XMLSchema_Novo1.pdf · 1 CIn.ufpe.br Fernando Fonseca Ana Carolina Robson Fidalgo Gerenciamento de Dados e Informação Dados

  • 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 &amp; 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 &amp; 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

&lt; → <&amp; → &

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 &amp; 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