Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouDiego Favela Alterado mais de 10 anos atrás
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>
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.