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

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

Tecnologias XML XML Schema

Apresentações semelhantes


Apresentação em tema: "Tecnologias XML XML Schema"— Transcrição da apresentação:

1 Tecnologias XML XML Schema

2 XML Schema Documento XML válido
Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica: Os elementos e atributos que podem constar do documento A ordem e número dos elementos filhos Tipos de dados para os elementos e atributos Um Schema define uma classe de documentos. Documentos XML que referenciam esse Schema são instâncias dessa classe

3 XML Schema XML

4 <?xml version="1.0" ?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://your_namespace" elementFormDefault="qualified"> <xsd:element name="pessoas" > <xsd:complexType> <xsd:sequence> <xsd:element name="pessoa" maxOccurs="unbounded"> <xsd:element name="nome" type="xsd:string" /> <xsd:element name="data-nascimento" > <xsd:element name="ano" type="xsd:int" /> <xsd:element name="mes" type="xsd:int" /> <xsd:element name="dia" type="xsd:int" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="bi" type="xsd:string" /> <xsd:attribute name="id" type="xsd:string" use="required" /> </xsd:schema>

5 XML Schema Estrutura de um Schema Declaração XML <xsd:schema
<?xml version="1.0" ?> <xsd:schema xmlns:xsd=http://www.w3.org/2001/XMLSchema targetNamespace=http://your_namespace elementFormDefault="qualified"> <xsd:element ... <!– definição de elementos e atributos --> ... </xsd:schema> Declaração XML Root namespace prefixo xsd

6 XML Schema Namespaces XML Schema
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> Especifica as entidades para definir um Schema: element, schema,simpleType (XML Schema Schema) URI -> Prefixo por convenção é xsd:

7 XML Schema XML Schema Instance Namespaces
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance Deve ser referenciado por documentos instância (XML) que usam entidades definidas neste schema como: xsi:schemaLocation xsi:noNamespaceSchemaLocation

8 XML Schema Referenciar um Schema no XML – (1)
Atributo xsi:noNamespaceSchemaLocation pessoas.xml <?xml version="1.0" encoding="ISO "?> <pessoas xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation=“pessoas.xsd" > ... Documento pessoas.xsd

9 XML Schema Referenciar um Schema no XML – (2)
Atributo xsi:schemaLocation pessoas.xml pessoas.xsd <?xml version="1.0" encoding="ISO "?> <pessoas xmlns=http://your_namespace xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation="http://your_namespace pessoas.xsd" > ... <?xml version="1.0" ?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://your_namespace" elementFormDefault="qualified">

10 XML Schema Elemento xsd:element
Definição de elementos Elemento xsd:element O atributo name especifica o nome do elemento no XML O atributo type define o tipo de dados do elemento <xsd:element name="montante" type="xsd:float"> <montante>123.56</montante>

11 XML Schema Tipos simples primitivos
<xsd:element name="ano" type="xsd:int" /> Tipos de dados para o conteúdo textual de um elemento ou atributo String float date (ccyy-mm-dd) anyURI decimal time (hh:mm:ss.sss) .... Hierarquia de tipos de dados primitivos anySimpleType –> decimal –> integer -> long ...

12

13 XML Schema Tipos simples derivados
Derivação por restrição, lista ou união Elemento xsd:simpleType xsd:restriction define restrições adicionais aos valores do elemento <xsd:element name="percentagem"> <xsd:simpleType > <xsd:restriction base="xsd:int"> <xsd:minInclusive value="0" /> <xsd:maxInclusive value="100" /> </xsd:restriction> </xsd:simpleType> </xsd:element>

14 XML Schema Operadores de restrição – facets xsd:minInclusive - >=
xsd:maxInclusive - <= xsd:length – tamanho fixo (string, listas) xsd:totaldigits – o numero máximo de dígitos xsd:pattern – expressão regular xsd:fractionDigits - número de casas decimais. enumeration – valores numa enumeração

15 XML Schema Novos tipos de dados simples
Atributo name de xsd:simpleType Usados para definir tipos de dados de elementos <xsd:simpleType name="Toperador"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="91" /> <xsd:enumeration value="93" /> <xsd:enumeration value="96" /> </xsd:restriction> </xsd:simpleType > <xsd:element name="indicativo" type="Toperador">

16 XML Schema Exemplos de restrições xsd:length xsd:pattern
<xsd:simpleType name="Tcodigo"> <xsd:restriction base="xsd:string"> <xsd:length value="7" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="Tbi"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0-9]{7}"/> </xsd:restriction> </xsd:simpleType>

17 XML Schema Derivação por união Elemento xsd:union
A instância pode conter um dos valores especificados pelo atributo memberTypes <xsd:simpleType name="Tmes" > <xsd:union memberTypes="Tmesstr Tmesnum" /> </xsd:simpleType>

18 XML Schema Derivação por lista Elemento xsd:list Exemplo XML <web>http://www.dei.isep.ipp.pt <xsd:simpleType name="Tenderecosweb" > <xsd:list itemType="xsd:anyURI" /> </xsd:simpleType>

19 XML Schema Tipo Composto
Os elementos de tipo composto podem conter elementos filhos e atributos Um elemento com atributos é sempre do tipo composto declarado usando o elemento complexType <xsd:element name="data-nascimento" > <xsd:complexType> <xsd:sequence> <xsd:element name="ano" type="xsd:int" /> <xsd:element name="mes" type="xsd:int" /> <xsd:element name="dia" type="xsd:int" /> </xsd:sequence> </xsd:complexType> </xsd:element>

20 XML Schema sequence – especifica uma sequência com uma ordem fixa
Composição dos sub-elementos num tipo composto sequence – especifica uma sequência com uma ordem fixa choice - especifica uma escolha de um elemento, entre os elementos declarados all – elementos são opcionais (?) e não têm ordem fixa

21 XML Schema Restrições de ocorrência
definir o modo como os elementos ocorrem Atributos minOccurs e maxoccurs Usados nos operadores de composição ou na declaração de elementos <xsd:element name=“grupo” > <xsd:complexType> <xsd:sequence maxOccurs=“2” > <element name=“aluno” type=“Taluno”> <xsd:element name="autor" type="xsd:string" minOccurs="1" maxOccurs="unbounded" />

22 Declaração de atributos
Elemento xsd:attribute O atributo name especifica o nome e o atributo type o tipo de dados o tipo de dados é do tipo simples primitivo ou derivado declaração é feita dentro do elemento complexType depois dos elementos Atributo use especifica a ocorrência required - o atributo é obrigatório optional - o atributo é opcional (por omissão) prohibited - o atributo deve ser omitido

23 Exemplo Schema com atributos
<xsd:element name="pessoa" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="nome" type="xsd:string" /> <xsd:element name=“dnascimento" type="xsd:date" /> </xsd:sequence> <xsd:attribute name="id" type="xsd:string" use="required" /> </xsd:complexType> </xsd:element> Atributo depois dos elementos <pessoa id=“P123"> <nome>António José Silva</nome> <dnascimento> </dnascimento> </pessoa>


Carregar ppt "Tecnologias XML XML Schema"

Apresentações semelhantes


Anúncios Google