A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

DTD, XML Schema, XSDL Helena Galhardas DEI IST. Agenda Tipos de dados em XML: DTD XML Schema ou XSDL.

Apresentações semelhantes


Apresentação em tema: "DTD, XML Schema, XSDL Helena Galhardas DEI IST. Agenda Tipos de dados em XML: DTD XML Schema ou XSDL."— Transcrição da apresentação:

1 DTD, XML Schema, XSDL Helena Galhardas DEI IST

2 Agenda Tipos de dados em XML: DTD XML Schema ou XSDL

3 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

4 Define: Nomes de elementos Estrutura do conteúdo dos elementos Nomes dos atributos Valores dos atributos por omissão Entidades

5 DTDs vistas como gramáticas …

6 DTDs vistas como esquemas Não são tão adequadas pois: Impõem restrições sobre a ordem que não se pretende Não se consegue impôr restrições sobre as referências Não conseguimos dizer que o atributo idref em state-of tem que ser um identificador do elemento state Podem ser demasiado vagas

7 Exemplo: Uma DTD muito simples

8 Exemplo: um documento XML válido John B Jim B John B Jim B123...

9 Exemplo: Atributos em DTDs

10 Exemplo: Atributos em DTDs

11 Atributos em DTDs Tipos: CDATA = string ID = chave IDREF = chave estrangeira IDREFS = chaves estrangeiras separadas por espaços (Monday | Wednesday | Friday) = enumeração Qualificadores: #REQUIRED #IMPLIED = opcional value = valor por omissão value #FIXED = único valor permitido

12 Utilização de DTDs Incluir no documento XML: A DTD completa Ou uma referência para ela Ou misturar as duas (por exemplo, para fazer override da definição externa)

13 Exercício Considere uma BD relacional contendo uma relação ensina com atributos disciplina e docente tal como já vimos no exercício de XML. Escreva uma DTD XML para representar esta informação.

14 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

15 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

16 DTD vs XML Schema DTD XML Schema declaration xsd:element element declaration xsd:attribute element declaration n/a #PCDATA content xsd:string type n/a other data types

17 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

18 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 Análogo a & nas DTDs SGML

19 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

20 Expressões regulares - resumo Alternância element-type-element: [regular expression on elements] Expressões regulares: A B C = A B C A B C = A | B | C A B C = (A B C).. = (...)*.. = (...)?

21 Exemplo DTD:

22 Elementos versus Tipos DTD:

23 Tipos locais e globais Tipo local: [define localmente o tipo da pessoa] Tipo global: [define aqui o tipo ttt] Tipos globais podem ser reutilizados noutros elementos

24 Elementos locais versus elementos globais Elemento local:... Elemento global:... Elementos globais como nas DTDs

25 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

26 Exemplo

27 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....

28 Tipos de dados simples String Token Byte unsignedByte Integer positiveInteger Int (larger than integer) unsignedInt Long Short... Time dateTime Duration Date ID IDREF IDREFS

29 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)

30 Facetas de tipos simples Exemplos: length minLength maxLength pattern enumeration whiteSpace maxInclusive maxExclusive minInclusive minExclusive totalDigits fractionDigits Propriedades adicionais que restringem um tipo simples 15 facetas definidas no XML Schema

31 Tipos derivados por extensões Corresponde a herança

32 Tipos derivados por restrições … [rewrite the entire content, with restrictions]... Corresponde à inclusão de conjuntos

33 Exemplo de restrição por enumeração Conteúdo do elemento MScResult é uma restrição do xsd:string type Tem que ser um dos quatro valores dados e.g., pass

34 Tópicos próximas aulas XSLT XPath XQuery

35 Referências Peter Wood, Slides on Representing and Querying Data on the Web, web.html. Dan Suciu, Slides on The semistructured data model, CSE 590ds: Management of XML and Semistructured Data, S. Abiteboul, P. Buneman, D. Suciu, Data on the Web, From Relations to Semistructured Data and XML, Morgan Kaufmann, 2000, (cap 3) W3C's XML Schema Recommendation, Part 0: Primer W3C's XML Schema Recommendation, Part 1: Structures W3C's XML Schema Recommendation, Part 2: Datatypes

36 Subtle Use of Local Names Arbitrary deep binary tree with A elements, and a single B element

37 Nomes locais nome tem significados diferentes em person e em product


Carregar ppt "DTD, XML Schema, XSDL Helena Galhardas DEI IST. Agenda Tipos de dados em XML: DTD XML Schema ou XSDL."

Apresentações semelhantes


Anúncios Google