tecnologias xml xml schema. xml schema documento xml válido um documento schema especifica as...

23
Tecnologias XML XML Schema

Upload: internet

Post on 17-Apr-2015

156 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

Tecnologias XML

XML Schema

Page 2: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

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

Page 3: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

XML Schema

XML

Page 4: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

<?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:complexType> <xsd:sequence> <xsd:element name="nome" type="xsd:string" /> <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> <xsd:element name="bi" type="xsd:string" /> </xsd:sequence> <xsd:attribute name="id" type="xsd:string" use="required" /> </xsd:complexType> </xsd:element></xsd:sequence></xsd:complexType></xsd:element></xsd:schema>

Page 5: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

XML Schema

Estrutura de um 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

namespaceprefixo xsd

Page 6: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

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 -> http://www.w3.org/2001/XMLSchema Prefixo por convenção é xsd:

Page 7: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

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

Page 8: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

XML Schema

Referenciar um Schema no XML – (1) Atributo xsi:noNamespaceSchemaLocation

Documento

pessoas.xsd

<?xml version="1.0" encoding="ISO-8859-1"?>

<pessoas xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation=“pessoas.xsd" >

...

pessoas.xml

Page 9: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

XML Schema

Referenciar um Schema no XML – (2) Atributo xsi:schemaLocation

pessoas.xml

pessoas.xsd

 <?xml version="1.0" encoding="ISO-8859-1"?><pessoas xmlns=http://your_namespacexmlns:xsi=http://www.w3.org/2001/XMLSchema-instancexsi: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">…

Page 10: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

XML Schema 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>

Page 11: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

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 primitivosanySimpleType –> decimal –> integer -> long ...

Page 12: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:
Page 13: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

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>

Page 14: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

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

 

Page 15: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

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">

Page 16: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

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>

Page 17: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

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>

Page 18: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

XML Schema

Derivação por lista

Elemento xsd:list Exemplo XML

<web>http://www.dei.isep.ipp.pt http://w2ks.dei.isep.ipp.pt</web>

<xsd:simpleType name="Tenderecosweb" ><xsd:list itemType="xsd:anyURI" /></xsd:simpleType>

Page 19: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

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>

Page 20: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

XML Schema

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

Page 21: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

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" />

Page 22: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

Declaração de atributosElemento 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

Page 23: Tecnologias XML XML Schema. XML Schema Documento XML válido Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica:

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>2004-07-12</dnascimento></pessoa>