SlideServe
Menu
Préférences
© SlideServe · v2026

XML Schema

alesia avatar
39 diapositives · 576 Views · Jul 13, 2014

XML Schema. Renata Pontin de Mattos Fortes SCE-225 Hipermídia 2°Semestre 2003. Material elaborado por Lisandra Cazassa Fumagalli. XML Schema: O que é? (1/2). É uma Recomendação W3C (Maio/2001); É uma alternativa para o DTD baseada em XML; Descreve a estrutura de um documento XML;

XML Schema - slide 1
01 / 39XML Schema
1 / 17

Télécharger la présentation

XML Schema
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. XML Schema Renata Pontin de Mattos Fortes SCE-225 Hipermídia 2°Semestre 2003 Material elaborado por Lisandra Cazassa Fumagalli

  2. XML Schema: O que é? (1/2) • É uma Recomendação W3C (Maio/2001); • É uma alternativa para o DTD baseada em XML; • Descreve a estrutura de um documento XML; • A linguagem XML Schema é também referenciada como XML Schema Definition (XSD).

  3. XML Schema: O que é? (2/2) • É extensível para futuras adições; • É mais rico e mais útil que os DTD’s; • É escrito em XML; • Suporta tipos de dados; • Suporta namespaces.

  4. Introdução (1/2) Um XML Schema define: • elementos que podem aparecer em um documento; • atributos que podem aparecer em um documento; • quais elementos são elementos filhos; • o ordem dos elementos filhos;

  5. Introdução (2/2) • o número de elementos filhos; • se um elemento é vazio ou poder incluir algum texto; • os tipos de dados para elementos e atributos; • valores default e fixos para elementos e atributos.

  6. Exemplo <?xml version=“1.0”?> <xs:schema xmlns:xs=“http://www.w3.org/2001/XMLSchema”> <xs:element name=“note”> <xs:complexType> <xs:sequence> <xs:element name=“to” type=“xs:string”/> <xs:element name=“from” type=“xs:string”/> <xs:element name=“heading” type=“xs:string”/> <xs:element name=“body” type=“xs:string”/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>

  7. Elemento <schema> O elemento <schema> é o elemento raiz de todo XML Schema! <?xml version=“1.0”?> <xs:schema xmlns:xs=“http://www.w3.org/2001/XMLSchema”> ... </xs:schema>

  8. Elemento Simples • É um elemento XML que pode conter somente texto; não pode conter outros elementos ou atributos. • O texto pode ser de vários tipos diferentes, incluindo tipos customizados. • Sintaxe: <xs:element name=“title” type=“xs:string”/>

  9. Elemento Simples - exemplo Elementos XML: <lastname>Smith</lastname> <age>34</age> <dateborn>1970-05-26</dateborn> Definição em XML Schema: <xs:element name=“lastname” type=“xs:string”/> <xs:element name=“age” type=“xs:integer”/> <xs:element name=“dateborn” type=“xs:date”/>

  10. Elemento Simples – valores default e fixed <xs:element name=“color” type=“xs:string” default=“red”/> <xs:element name=“color” type=“xs:string” fixed=“red”/>

  11. Tipos de dados comuns em XML Schema • xs:string • xs:decimal • xs:integer • xs:boolean • xs:date • xs:time

  12. Atributos XSD • O atributo é declarado como sendo um tipo simples. • Sintaxe: <xs:attribute name=“id” type=“xs:integer”/> • Elemento XML com atributo: <lastnane lang=“EN”>Smith</lastname> • Definição em XML Schema: <xs:attribute name=“lang” type=“xs:string”/>

  13. Atributos – valores default e fixed <xs:attribute name=“lang” type=“xs:string” default=“EN”/> <xs:attribute name=“lang” type=“xs:string” fixed=“EN”/>

  14. Atributos – obrigatórios e opcionais <xs:attribute name=“lang” type=“xs:string” use=“optional”/> <xs:attribute name=“lang” type=“xs:string” use=“required”/>

  15. Restrições (1/5) • Restrições são usadas para controlar valores aceitáveis para elementos XML ou atributos. <xs:element name=“age”> <xs:simpleType> <xs:restriction base=“xs:integer”> <xs:minInclusive value=“0”/> <xs:maxInclusive value=“100”/> </xs:restriction> </xs:simpleType> </xs:element>

  16. Restrições (2/5) • Sobre um conjunto de valores – enumeration: <xs:element name=“car”> <xs:simpleType> <xs:restriction base=“xs:string”> <xs:enumeration value=“Audi”/> <xs:enumeration value=“Ferrari”/> <xs:enumeration value=“BMW”/> </xs:restriction> </xs:simpleType> </xs:element>

  17. Restrições (3/5) • O mesmo exemplo poderia ser: <xs:element name="car“ type=“carType”/> <xs:simpleType name=“carType”> <xs:restriction base=“xs:string”> <xs:enumeration value=“Audi”/> <xs:enumeration value=“Ferrari”/> <xs:enumeration value=“BMW”/> </xs:restriction> </xs:simpleType>

  18. Restrições (4/5) • Sobre uma série de valores – pattern: <xs:element name=“letter”> <xs:simpleType> <xs:restriction base=“xs:string”> <xs:pattern value=“[a-z]"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:pattern value=“[A-Z][A-Z][A-Z]”/> <xs:pattern value=“[xyz]”/> <xs:pattern value=“[0-9][0-9][0-9]”/>

  19. Restrições (5/5) • Sobre tamanho – lenght: <xs:element name=“password”> <xs:simpleType> <xs:restriction base=“xs:string”> <xs:minLength value=“5”/> <xs:maxLength value=“8”/> </xs:restriction> </xs:simpleType> </xs:element>

  20. Elemento Complexo • Um elemento complexo é um elemento XML que contém outros elementos e/ou atributos. • Há quatro tipos: • Elementos vazios (empty) • Elementos que contêm somente outros elementos • Elementos que contêm somente texto • Elementos que contêm tanto outros elementos quanto texto

  21. Elemento Complexo - Exemplo • Elementos complexos XML: <employee> <firstname>Smith</firstname> <lastname> John </lastname> <employee>

  22. Elemento Complexo - Exemplo • Definição em XML Schema: <xs:element name=“employee”> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>

  23. Elemento Complexo – Outro exemplo <xs:element name="employee" type="personinfo"/> <xs:element name="student" type="personinfo"/> <xs:element name="member“ type="personinfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType>

  24. Elemento Complexo Vazio • Pode conter atributos mas não pode ter qualquer conteúdo entre as tags de abertura e fechamento. • Elemento XML vazio: <product prodid = “1345” />

  25. Elemento Complexo Vazio • Definição em XML Schema: <xs:element name="product"> <xs:complexType> <xs:complexContent> <xs:restriction base="xs:integer"> <xs:attribute name="prodid" type="xs:positiveInteger"/> </xs:restriction> </xs:complexContent> </xs:complexType> </xs:element>

  26. Elemento Complexo Vazio • De forma mais compacta: <xs:element name="product"> <xs:complexType> <xs:attribute name="prodid" type="xs:positiveInteger"/> </xs:complexType> </xs:element>

  27. Elemento Complexo com apenas elementos • Definição em XML Schema: <xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>

  28. Elemento Complexo com apenas texto <shoesize country="france">35</shoesize> • Declaração em XML Schema: <xs:element name="shoesize"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:integer"> <xs:attribute name="country" type="xs:string"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element>

  29. Elemento Complexo com conteúdo misto • Um elemento complexo misto pode conter atributos, elementos e texto. • Elemento XML: <letter> Dear Mr.<name>John Smith</name>. Your order <orderid>1032</orderid> will be shipped on <shipdate>2001-07-13</shipdate>. </letter>

  30. Elemento Complexo com conteúdo misto • Definição em XML Schema: <xs:element name="letter"> <xs:complexType mixed="true"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="orderid" type="xs:positiveInteger"/> <xs:element name="shipdate" type="xs:date"/> </xs:sequence> </xs:complexType> </xs:element>

  31. Indicadores de Tipos Complexos • Pode-se controlar como os elementos serão usados nos documentos com indicadores. • Há sete tipos de indicadores: • 3 de Ordem • 2 de Ocorrência • 2 de Grupos

  32. Ordem: All Choice Sequence Ocorrência: maxOccurs minOccurs Grupo: Group name AttributeGroup name Indicadores de Tipos Complexos

  33. All • Especifica que os elementos filhos podem aparecer em qualquer ordem e devem ocorrer uma e apenas uma vez. <xs:element name="person"> <xs:complexType> <xs:all> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:all> </xs:complexType> </xs:element>

  34. Choice • Especifica que tanto um elemento filho quanto o outro podem ocorrer. <xs:element name="person"> <xs:complexType> <xs:choice> <xs:element name="employee" type="employee"/> <xs:element name="member" type="member"/> </xs:choice> </xs:complexType> </xs:element>

  35. Sequence • Especifica que os elementos filhos devem aparecer em um ordem espeçífica. <xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>

  36. maxOccurs minOccurs • Especificam o número máximo e mínimo, respectivamente, que um elemento pode ocorrer. <xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="full_name" type="xs:string"/> <xs:element name="child_name" type="xs:string" maxOccurs="10" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element>

  37. Group • Indicadores de grupo são usados para definir conjuntos de elementos relacionados. • Elementos: <xs:group name=“groupname”> ... </xs:group> • Atributos: <xs:attributeGroup name=“groupname”> ... </xs:attributeGroup>

  38. Element Group

  39. Attribute Group