![Page 1: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/1.jpg)
Recapitular XML ...
Gestão e Tratamento de Informação
DEI IST
![Page 2: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/2.jpg)
Agenda
Introdução ao XML Modelo de dados semi-estruturado XML Schema XML Namespaces
![Page 3: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/3.jpg)
Agenda
Introdução ao XML Modelo de dados semi-estruturado XML Schema XML Namespaces
![Page 4: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/4.jpg)
Revolução da Web
HTML é a linguagem da Web Mesmo se existe uma grande quantidade de
ficheiros .doc, .ps, .pdf, .jpg, .gif, som, vídeo Existem milhares de páginas
Públicas/privadas, estáticas/dinâmicas, vísiveis/escondidas
Suporte natural para a informação distribuída Destinada a seres humanos mas, cada vez mais,
também às aplicações
![Page 5: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/5.jpg)
Aplicações sobre dados distribuídos sobre a Web HTML não está adaptado a aplicações do
tipo: B2C, B2B, bibliotecas on-line, ... Não chega aceder a um conjunto de páginas
HTML como nos motores de busca Estas aplicações necessitam de “tipos” para
representar a estrutura dos dados Que modelo de dados então adoptar?
Base de Dados?
![Page 6: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/6.jpg)
Modelo BD relacional vs Modelo dados Web (1)
Modelo de dados relacional: Conhece-se a estrutura das tabelas e a
semântica das colunas; não sobre a Web Estrutura dos dados fixa vs irregular
Falta de dados Estrutura explícita vs implícita
![Page 7: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/7.jpg)
Modelo BD relacional vs Modelo dados Web (2) Esquema de dados Web:
pode ser deduzido a posteriori pode ser complexo e grande pode ser ignorado pelas interrogações pode evoluir muito rapidamente. Alguns dados podem não ter estrutura
Texto, imagens Alguns dados podem não ser conforme a
estrutura
![Page 8: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/8.jpg)
Junção de dois modelos resulta ....
Gestão de documentos
SGML
HTML
Documentação hipertexto
Gestão de dados
Bases de Dados estruturadas(relacional e OO)
Bases de dadossemi-estruturadas
![Page 9: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/9.jpg)
XML – eXtensible Markup Language
Formato universal para os documentos e dados semi-estruturados na Web
Versão simplificada de SGML Esperanto da Web que vai substituir o HTML Família de standards: XLink, XPath, XSL,
XQuery, SOAP, DOM, .... Modelo de dados baseado em árvores e uma
linguagem de representação baseada em “tags” (etiquetas)
![Page 10: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/10.jpg)
Exemplo
ficha
nome trab
ln Ender. email
cidade CPGalhardas
Porto Salvo2790-380
IST Ensinar bem…
missãotipo
ensino
fn
fn
tipo
2790-380
Helena
ElementosAtributos
Dados
<ficha><nome>
<fn>Helena</fn><ln>Galhardas</ln>
</nome><trab tipo=“ensino">
IST<ender><cidade>Porto Salvo</cidade><cp>92310</cp></ender><email>[email protected]</email>
</trab><missão>Ensinar bem</missão></ficha>
![Page 11: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/11.jpg)
Acesso a dados XML Características das interrogações:
Bases de dados (estilo SQL/OQL) Navegação Palavras chaves (estilo motor de pesquisa Web) e “pattern
matching” (estilo comando “grep”) Interrogação de dados e estrutura ao mesmo tempo – a
estrutura não é totalmente conhecida previamente
![Page 12: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/12.jpg)
Observações
XML fornece uma sintaxe, não fornece semântica apriori
As tags não têm significado definido pela linguagem, mas podem fazer sentido para as aplicações
XML define apenas a estrutura e conteúdo de um documento, não o seu comportamento nem o seu tratamento
Desenvolvida e promovida pelo W3C Indústria: Oracle, IBM, Microsoft, CompaQ, Xerox,... Laboratórios de investigação: MIT, INRIA, etc
![Page 13: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/13.jpg)
Alguns standards importantes DOM (Document Object Model): interface de
programação que permite aceder à estrutura e conteúdo dos documentos
[DTD], XML Schema: tipos Os documentos devem ser bem formados, mas os tipos
não são obrigatórios XPath: linguagem de expressões de caminho para
aceder a partes do documento XLink (XML Linking Language): XSLT: linguagem de transformação XQuery: linguagem de interrogação (o SQL do XML)
![Page 14: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/14.jpg)
Dialectos de XML
Para uma determinada aplicação, define-se uma sintaxe (um dialecto XML) e define-se a sua semântica.
XHTML: Reformulação de HTML como sendo uma aplicação XML sintaxe mais rigorosa, por ex., fecha-se o que se abriu Importação de fragmentos de documentos de outros
domínios Possibilidade de utilizar aplicações XML standard
MathML: Permite a troca e tratamento de expressões matemáticas
sobre a Web Facilita a inserção de expressões matemáticas em docs
HTML ou XML
![Page 15: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/15.jpg)
Vantagens do XML
![Page 16: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/16.jpg)
Transferência e partilha de informação Uma comunidade de utilizadores (ex: indústria da
biotecnologia) inventa livremente as tags que lhe parecem úteis para representar as informações que pretendem trocar ou partilhar
Exemplo: diferentes maneiras de representar uma data
<data> 5 Janeiro 2000 </data>
<data>
<a>2000</a><m>01</m><d>05</d>
</data>
<data formato='ISO-8601'> 2000-01-05 </data>
![Page 17: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/17.jpg)
Interoperabilidade das ferramentas de tratamento Ferramentas para dados XML
Parsers, editores, browsers,... Consequências:
Um servidor de documentos XML consegue responder a um conjunto de necessidades de uma organização
Um único editor permite tratar o conjunto de dados de uma organização
![Page 18: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/18.jpg)
Acesso a fontes de informação heterógeneas A interrogação e a troca de dados entre
sistemas de informação heterogéneos é muitas vezes complexa
XML pretende colmatar esse problema Formato de transferência de informação
normalizado independente da plataforma A indexação e interrogação de bases de
dados documentais grandes é baseada em informações estruturais e textuais.
![Page 19: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/19.jpg)
Exemplos de documentos XML
<?xml version="1.0" standalone="yes" ?> <document>o <saudação> Bom dia! </saudação> </document>
<document> <saudação> Bom dia! </saudação> </document>
<document> </document>
<document/>
<document> Bom dia! </document>
![Page 20: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/20.jpg)
XML 1.0: estrutura de um elemento Um elemento tem a forma: <nome atributo='valor'> conteúdo </nome> <nome> é a tag de abertura </nome> é a tag de fecho [ elementos vazios: <nome> </nome> ou <nome/> ] «conteúdo» é o conteúdo de um elemento!
Composto por uma lista (pode ser vazia) de texto, de outros elementos, de instruções de tratamento, de comentários
atr='valor' representa um atributo que é um par (nome, valor).
Um elemento só pode ter um atributo com um determinado nome.
![Page 21: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/21.jpg)
Exemplos de elementos
<a></a><a>Olá, bom dia</a><a><b>…</b><b>…</b><a>…</a></a><a><b>…</b>Olá<b>…</b>Bom dia</a>
Conteúdo de um elemento = floresta de elementos ou de texto
Text UNICODE: pode representar qualquer alfabeto
![Page 22: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/22.jpg)
XML 1.0: Restrições sobre os nomes
O nome de um elemento ou atributo é uma cadeia não vazia de caracteres, escolhidos entre: Caracteres alfa-numéricos,
sublinhado (undescore), sinal menos, o ponto, caracter dois pontos (:)
Que deve satisfazer as seguintes condições: O primeiro caracter deve ser
alfabético ou sublinhado Os três primeiros caracteres
não devem formar uma cadeia cuja representação em minúsculas é "xml".
Exemplos de nomes de elementos
correctos incorrectos
_nomeNome_sociedadexsl:ruleX.11
1998-catalogoXmlSpecnome sociedade
![Page 23: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/23.jpg)
XML 1.0: Sintaxe dos atributos
Um atributo é um par nome='valor' que caracteriza um elemento
Um elemento pode ter vários atributos (separados por espaço):
<relatório língua=‘pt' ult-modif='08/07/99'> a ordem não tem importância
O valor de um atributo é uma cadeia delimitada por aspas (") ou ('). Não deve conter os caracteres ^, % e &.
![Page 24: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/24.jpg)
Referências XML
XML permite associar identificadores únicos a elementos, como sendo o valor de um determinado atributo.
<state id = “s2”><scode> NE </scode><sname> Nevada </sname>
</state>
<city id = “c2”><ccode> CCN </ccode><cname> Carson City </cname><state-of idref =“s2”/>
</city>
![Page 25: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/25.jpg)
Referências
Serge Abiteboul, Slides of the course: “Données Semistructurées”, Master Recherche Informatique Paris Sud, http://www-rocq.inria.fr/~abitebou/Master-SSD/index.html
Erik Wilde, Slides of the course: “XML Foundations”, UC Berkeley, http://dret.net/lectures/xml-fall07/
XML 1.0 Press Release, http://www.w3.org/Press/1998/XML10-REC
XML 1.0 Spec, http://www.w3.org/TR/REC-xml/ S. Abiteboul, P. Buneman, D. Suciu, “Data on the
Web, From Relations to Semistructured Data and XML”, Morgan Kaufmann, 2000.
![Page 26: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/26.jpg)
Agenda
Introdução ao XML Modelo de dados semi-estruturado XML Schema XML Namespaces
![Page 27: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/27.jpg)
Tipificação em XML
Não é imposta Mas:
Melhora o armazenamento Facilita a navegação nos dados Facilita a interrogação Facilita a descrição e explicação dos dados Ajuda à optimização Permite a interoperabilidade entre programas Permite proteger os dados
![Page 28: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/28.jpg)
XML DTD (Document Type Definition) Define uma classe de documentos Um documento XML pode ter uma DTD Terminologia para XML:
Bem formado: se as tags estão correctamente fechadas
Válido: se tem uma DTD e é conforme essa DTD Validação é útil em transferência de dados
![Page 29: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/29.jpg)
Define: Nomes de elementos Estrutura do conteúdo dos elementos Nomes dos atributos Valores dos atributos por omissão Entidades
![Page 30: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/30.jpg)
Exemplo: Uma DTD muito simples
<!DOCTYPE company [ <!ELEMENT company ((person|product)*)> <!ELEMENT person (ssn, name, office, phone?)> <!ELEMENT ssn (#PCDATA)> <!ELEMENT name (#PCDATA)> <!ELEMENT office (#PCDATA)> <!ELEMENT phone (#PCDATA)> <!ELEMENT product (pid, name, description?)> <!ELEMENT pid (#PCDATA)> <!ELEMENT description (#PCDATA)>]>
<!DOCTYPE company [ <!ELEMENT company ((person|product)*)> <!ELEMENT person (ssn, name, office, phone?)> <!ELEMENT ssn (#PCDATA)> <!ELEMENT name (#PCDATA)> <!ELEMENT office (#PCDATA)> <!ELEMENT phone (#PCDATA)> <!ELEMENT product (pid, name, description?)> <!ELEMENT pid (#PCDATA)> <!ELEMENT description (#PCDATA)>]>
![Page 31: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/31.jpg)
Desvantagens das DTDs
Sintaxe não XML Não tem tipos de dados, em particular para o
conteúdo dos elementos Só é marginalmente compatível com
namespaces Não consegue usar conteúdo misto e obrigar
ordem e número de elementos filhos Nomes dos elementos são globais
![Page 32: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/32.jpg)
XML Schema Generaliza DTDs Utiliza a sintaxe XML Descreve o conteúdo possível para
documentos XML É uma W3C Recommendation
XML Schema Part 0: Primer XML Schema Part 1: Structures XML Schema Part 2: Datatypes
Também referida como XSDL: XML Schema Definition Language, ou XSD: XML Schema Document
![Page 33: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/33.jpg)
DTD vs XML Schema
DTD XML Schema<!ELEMENT> declaration xsd:element element
<!ATTLIST> declaration xsd:attribute element
<!ENTITY> declaration n/a
#PCDATA content xsd:string type
n/a other data types
![Page 34: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/34.jpg)
Tipos de dados simples e complexos
XML Schema suporta a definição de tipos de dados e a declaração de elementos e de atributos
Tipos: simples (inteiros, strings, ...) complexos (expressões regulares, como nas DTDs)
Alternância element-type-element: elemento raiz tem um tipo complexo que é uma expressão regular de elementos esses elementos têm os seus tipos complexos
... nas folhas, temos tipos simples
![Page 35: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/35.jpg)
Estrutura da declaração de elementos xsd:sequence
Obriga a que os elementos ocorrem na ordem dada análogo a , em DTDs
xsd:choice Permite que um dos elementos dados ocorra Análogo a | em DTDs
xsd:all Permite que os elementos ocorram numa ordem
qualquer
![Page 36: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/36.jpg)
Definição do número de ocorrências dos elementos Os atributos minOccurs e maxOccurs
controlam o número de ocorrências de um elemento, sequence ou choice
minOccurs tem que ser um inteiro não negativo
maxOccurs tem que ser um inteiro não negativo ou sem limite
O valor por omissão para ambos é 1
![Page 37: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/37.jpg)
Expressões regulares - resumoAlternância element-type-element: <xsd:complexType name=“....”>
[construção de elementos] </xsd:complexType>
Construção de Elementos: <xsd:sequence> A B C </...> <xsd:choice> A B C </...> <xsd:all> A B C </...> <xsd:... minOccurs=“0” maxOccurs=“unbounded”> ..</...> <xsd:... minOccurs=“0” maxOccurs=“1”> ..</...>
![Page 38: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/38.jpg)
Exemplo<xsd:element name=“paper” type=“papertype”/>
<xsd:complexType name=“papertype”>
<xsd:sequence>
<xsd:element name=“title” type=“xsd:string”/>
<xsd:element name=“author” minOccurs=“0”/>
<xsd:element name=“year”/>
<xsd: choice> < xsd:element name=“journal”/>
<xsd:element name=“conference”/>
</xsd:choice>
</xsd:sequence>
</xsd:element>
<xsd:element name=“paper” type=“papertype”/>
<xsd:complexType name=“papertype”>
<xsd:sequence>
<xsd:element name=“title” type=“xsd:string”/>
<xsd:element name=“author” minOccurs=“0”/>
<xsd:element name=“year”/>
<xsd: choice> < xsd:element name=“journal”/>
<xsd:element name=“conference”/>
</xsd:choice>
</xsd:sequence>
</xsd:element>
DTD: <!ELEMENT paper (title,author?,year, (journal|conference))>
![Page 39: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/39.jpg)
Elementos versus Tipos
<xsd:element name=“person”> <xsd:complexType> <xsd:sequence> <xsd:element name=“name” type=“xsd:string”/> <xsd:element name=“address” type=“xsd:string”/> </xsd:sequence> </xsd:complexType></xsd:element>
<xsd:element name=“person”> <xsd:complexType> <xsd:sequence> <xsd:element name=“name” type=“xsd:string”/> <xsd:element name=“address” type=“xsd:string”/> </xsd:sequence> </xsd:complexType></xsd:element>
<xsd:element name=“person” type=“ttt”><xsd:complexType name=“ttt”> <xsd:sequence> <xsd:element name=“name” type=“xsd:string”/> <xsd:element name=“address” type=“xsd:string”/> </xsd:sequence></xsd:complexType>
<xsd:element name=“person” type=“ttt”><xsd:complexType name=“ttt”> <xsd:sequence> <xsd:element name=“name” type=“xsd:string”/> <xsd:element name=“address” type=“xsd:string”/> </xsd:sequence></xsd:complexType>
DTD: <!ELEMENT person (name,address)>
![Page 40: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/40.jpg)
Tipos locais e globais
Tipo local: <xsd:element name=“person”>
[define localmente o tipo da pessoa] </xsd:element>
Tipo global: <xsd:element name=“person” type=“ttt”/>
<xsd:complexType name=“ttt”> [define aqui o tipo ttt] </xsd:complexType>
Tipos globais podem ser reutilizados noutros elementos
![Page 41: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/41.jpg)
Elementos locais versus elementos globais Elemento local: <xsd:complexType name=“ttt”>
<xsd:sequence> <xsd:element name=“address” type=“...”/>... </xsd:sequence> </xsd:complexType>
Elemento global: <xsd:element name=“address” type=“...”/>
<xsd:complexType name=“ttt”> <xsd:sequence> <xsd:element ref=“address”/> ... </xsd:sequence> </xsd:complexType>
Elementos globais como nas DTDs
![Page 42: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/42.jpg)
Atributos Utilizar o elemento xsd:attribute dentro de um
xsd:complexType Tem atributos name, type Atributo use é opcional
Se omitido, então atributo é opcional Use = “required” para atributos obrigatórios Use = “fixed” para constantes Use = “default” value =“ ...” para valor por omissão
Para enumeração, usar xsd:SimpleType Atributos têm que ser declarados no fim de um
xsd:complexType
![Page 43: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/43.jpg)
Exemplo
<xsd:element name=“paper” type=“papertype”/>
<xsd:complexType name=“papertype”>
<xsd:sequence>
<xsd:element name=“title” type=“xsd:string”/>
. . . . . .
</xsd:sequence>
<xsd:attribute name=“language" type="xsd:string" fixed=“English"/>
</xsd:complexType>
</xsd:element>
<xsd:element name=“paper” type=“papertype”/>
<xsd:complexType name=“papertype”>
<xsd:sequence>
<xsd:element name=“title” type=“xsd:string”/>
. . . . . .
</xsd:sequence>
<xsd:attribute name=“language" type="xsd:string" fixed=“English"/>
</xsd:complexType>
</xsd:element>
.
![Page 44: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/44.jpg)
Conteúdo “Mixed”, Tipo “Any”
Melhor do que nas DTDs: pode assegurar o tipo, mas pode existir texto entre quaisquer elementos
Significa que qualquer coisa é permitida
<xsd:complexType mixed="true"> . . . .
<xsd:complexType mixed="true"> . . . .
<xsd:element name="anything" type="xsd:anyType"/> . . . .
<xsd:element name="anything" type="xsd:anyType"/> . . . .
![Page 45: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/45.jpg)
Tipos de dados simples
String Token Byte unsignedByte Integer positiveInteger Int (larger than integer) unsignedInt Long Short ...
Time dateTime Duration Date ID IDREF IDREFS
![Page 46: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/46.jpg)
Tipos de dados simples derivados (pelo utilizador) Tipos de dados complexos podem ser criados de
raiz Novos tipos de dados simples podem ser derivados
a partir de outros tipos de dados simples já existentes
Derivação pode ser: Extensão:
Lista: uma lista de valores de um determinado tipo União: permite valores de dois ou mais tipos de dados
Restrição: limita os valores permitidos usando: Valor máximo, valor mínimo, tamanho, número de dígitos,
enumeração, padrões (facetas)
![Page 47: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/47.jpg)
Referências Peter Wood, Slides on “Representing and Querying Data on the
Web”, http://www.dcs.bbk.ac.uk/~ptw/teaching/data-on-the-web.html.
Dan Suciu, Slides on “The semistructured data model”, CSE 590ds: Management of XML and Semistructured Data, http://www.cs.washington.edu/education/courses/cse590ds/01sp/
S. Abiteboul, P. Buneman, D. Suciu, “Data on the Web, From Relations to Semistructured Data and XML”, Morgan Kaufmann, 2000, (cap 3)
www.w3.org/TR/xmlschema-0 W3C's XML Schema Recommendation, Part 0: Primer
www.w3.org/TR/xmlschema-1 W3C's XML Schema Recommendation, Part 1: Structures
www.w3.org/TR/xmlschema-2 W3C's XML Schema Recommendation, Part 2: Datatypes
![Page 48: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/48.jpg)
Agenda
Introdução ao XML Modelo de dados semi-estruturado XML Schema XML Namespaces
![Page 49: Recapitular XML... Gestão e Tratamento de Informação DEI IST](https://reader034.vdocuments.pub/reader034/viewer/2022051615/552fc13b497959413d8d95cf/html5/thumbnails/49.jpg)
Tópicos próxima aula
XPath XSLT