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

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

XML Schema XML schema é um vocabulário XML para expressar regras de negócios (sobre os dados).

Apresentações semelhantes


Apresentação em tema: "XML Schema XML schema é um vocabulário XML para expressar regras de negócios (sobre os dados)."— Transcrição da apresentação:

1 XML Schema http://www.w3.org/TR/xmlschema XML schema é um vocabulário XML para expressar regras de negócios (sobre os dados).

2 Exemplo 32.904237 73.620290 2 ° A localização precisa ser seguida de uma latitude e de uma longitude e do grau de incerteza que envolve as medidas; ° A latitude precisa ser um decimal com um valor entre -90 e 90 ° A longitude precisa ser um decimal com um valor entre -180 e 180

3 Validando os dados: XML Schema validator checar a latitude checar a longitude etc.... 32.904237 73.620290 2

4 Proposta do schema XML Especificar a estrutura das instâncias dos documentos! Definir o tipo de dados (datatype) de cada elemento/atributo! Exemplo de um esquema Schema XML

5 BookStore.xsd <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.books.org" xmlns="http://www.books.org" elementFormDefault="qualified"> xsd = XML Schema Definition

6 DTD de uma Livraria (BookStore) DTD equivalente ao Schema XML exemplificado

7 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.books.org" xmlns="http://www.books.org" elementFormDefault="qualified"> <!ELEMENT Book (Title, Author, Date, ISBN, Publisher)>

8 <xsd:element name=" name " type=" type " minOccurs=" int " maxOccurs="int"/> Declaração de elementos: Tipo simples (xsd:string) ou complexo. Inteiro não negativo. Inteiro não negativo ou unbounded. <xsd:element name=" name" type="xsd:string" /> Alternativa Default: minOccurs=1 e maxOccurs=1

9 <xsd:schemaxmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.books.org" xmlns="http://www.books.org elementFormDefault="qualified"> </xsd:schema>

10 <xsd:element name=" name " type=" type " minOccurs=" int " maxOccurs="int"/> Declaração de elementos: Tipo simples (xsd:string) ou complexo. Inteiro não negativo. Inteiro não negativo ou unbounded. <xsd:element name=" name" minOccurs="int" maxOccurs="int ">... Alternativa

11 <xsd:schemaxmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.books.org" xmlns="http://www.books.org"elementFormDefault="qualified"> </xsd:schema> <xsd:element ref="Book" minOccurs="1" maxOccurs= "unbounded"/>

12 Book +

13 <xsd:schemaxmlns:xsd="http://www+.w3.org/2001/XMLSchema" targetNamespace="http://www.books.org" xmlns="http://www.books.org " elementFormDefault="qualified"> </xsd:schema>

14

15 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.books.org" xmlns="http://www.books.org" elementFormDefault="qualified"> Nomes para tipos complexos Sem nome Declaração Inline

16 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.books.org" xmlns="http://www.books.org" elementFormDefault="qualified"> Nomes para tipos complexos Vantagem: reutilização!

17 Tipo de dados do usuário <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.books.org" xmlns="http://www.books.org" elementFormDefault="qualified"> Declaração de ISBN como do tipo ISBNType Definição de um novo tipo de dados

18 Outros Exemplos Restringe um tipo string a no máximo 8 caracteres, seguindo um padrão: 3 dígitos seguido por um traço (-) e mais 4 dígitos.

19 Outros Exemplos Restringe um tipo string aos valores circle, triangle e square.

20 Outros Exemplos Restringe um tipo integer a um valor mínimo igual a -1290 e máximo igual a 29035.

21 <xsd:element name="name " type=" type" minOccurs="int" maxOccurs="int"/> <xsd:element name="name" minOccurs="int" maxOccurs="int ">... 1 2 <xsd:element name="name" minOccurs="int" maxOccurs="int ">... 3 Resumo de declaração de Elementos

22 Tipos Derivados Formam uma subclasse de tipos complexos 1. Derivados por extensão: estendem o tipo complexo pai com mais elementos 2. Derivados por restrição: criam um tipo que é um subconjunto do tipo base. 2.1. Redefinir um elemento tipo base para ter uma restrição sobre os valores possíveis; 2.2. OU redefinir um elemento tipo base para ter uma restrição sobre o número de ocorrências;

23 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.books.org" xmlns="http://www.books.org" elementFormDefault="qualified"> <xsd:complexType name="Publication"> <xsd:complexType name="BookPublication"> <xsd:extensionbase="Publication" > <xsd:element name="Book"type="BookPublication"maxOccurs="unbounded"/> Derivando por extensão: BookPublication estende a Publication

24 O tipo Publication passa a ter 05 elementos!

25 Title Author Date Publication ISBN Publisher BookPublication

26 <xsd:element name="Author" type="xsd:string" maxOccurs="unbounded" /> <xsd:restrictionbase="Publication"> Derivando por restrição: Note que SingleAuthorPublication tem apenas três elementos e o elemento Author aparecerá apenas 1 vez!

27 <!ATTLIST Book Category (autobiography | non fiction | fiction) #REQUIRED - InStock (true | false) "false" Reviewer CDATA " "> BookStore.dtd Declaração de Atributos

28 xsd:string xsd:integer xsd:boolean... required optional prohibited Obs.:se for usar valor default, não usar a opção "use " <xsd:facetvalue="valor/>... 2. 1. Declaração de Atributos

29 Category (autobiography | non fiction | fiction) #REQUIRED - InStock (true | false) "false" Reviewer CDATA " "

30 <xsd:enumeration value="non - fiction"/> - Instâncias dos documentos têm que obrigatoriamente ter o atributo Categoria. - Os atributos são sempre simples, ou seja, não podem ter elementos filhos.

31 <xsd:element name="Author" type="xsd:string" m axOccurs="unbounded"/> <xsd:element name="Publisher" type="xsd:string "/> <xsd:enumeration value="autobiogra phy"/> <xsd:enumeration value="non - fiction"/> <xsd:attribute name="InStock" type="xsd:boolean" default="false"/> <xsd:attribute name="Reviewer" type="xsd:string" default=" "/> Declarando o atributo no próprio elemento

32 element complexType schema sequence http://www.w3.org/2001/XMLSchema XMLSchema Namespace string integer boolean

33 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.books.org" xmlns="http://www.books.org" elementFormDefault="qualified"> Indica que os elementos definidos por esse esquema: - BookStore - Book - Title - Author - Date - ISBN - Publisher estarão no namespace http://www.books.org

34 BookStore Book Title Author Date ISBN Publisher http://www.books.org (targetNamespace) Book Namespace (targetNamespace)

35 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.books.org" xmlns="http://www.books.org" elementFormDefault="qualified"> Referência ao elemento Book, declarado no namespace padrão O namespace padrão é http://www.books.org, que também é o targetNamespace

36 Tipos de dados primitivos Primitive Datatypes –string –boolean –decimal –float –double –duration –dateTime –time –date –gYearMonth –gYear –gMonthDay –gDay –gMonth –hexBinary –base64Binary –anyURI –QName –NOTATION Atomic, built-in –"Hello World" –{true, false, 1, 0} –7.08 – 12.56E3, 12, 12560, 0, -0, INF, -INF, NAN – P1Y2M3DT10H30M12.3S – format: CCYY-MM-DDThh:mm:ss – format: hh:mm:ss.sss – format: CCYY-MM-DD – format: CCYY-MM – format: CCYY – format: --MM-DD –format: ---DD (note the 3 dashes) – format: --MM-- –a hex string –a base64 string –http://www.xfront.com –a namespace qualified name –a NOTATION from the XML spec Note: 'T' is the date/time separator INF = infinity NAN = not-a-number

37 Derived types –normalizedString –token –language –IDREFS –ENTITIES –NMTOKEN –NMTOKENS –Name –NCName –ID –IDREF –ENTITY –integer –nonPositiveInteger –negativeInteger –long –int –short –byte –nonNegativeInteger –unsignedLong –unsignedInt –unsignedShort –unsignedByte –positiveInteger Subtype of primitive datatype –A string without tabs, line feeds, or carriage returns –String w/o tabs, l/f, leading/trailing spaces, consecutive spaces –any valid xml:lang value, e.g., EN, FR,... –usado somente com atributos –part (no namespace qualifier) –usado somente com atributos –456 –infinito negativo a 0 –infinito negativo a -1 – -9223372036854775808 to 9223372036854775807 – -2147483648 to 2147483647 – -32768 to 32767 – -127 to 128 – 0 to infinity – 0 to 18446744073709551615 – 0 to 4294967295 – 0 to 65535 –0 to 255 –1 to infinity Tipos de dados primitivos (cont.)

38 … Facets: - length - minlength - maxlength - pattern - enumeration - totalDigits - minInclusive - maxInclusive - minExclusive - maxExclusive... Sources: - string - boolean - number - float - double - duration - dateTime - time... Forma geral para a especificação de valores de novos tipos


Carregar ppt "XML Schema XML schema é um vocabulário XML para expressar regras de negócios (sobre os dados)."

Apresentações semelhantes


Anúncios Google