XML Schema. Um XML schema descreve a estrutura de um documento XML.



Documentos relacionados
XML Schema. Vanessa Braganholo. Curso baseado em mini-cursos apresentados no SBBD. Autores: Carlos Heuser, Carina Dorneles e Vanessa Braganholo

Documentos XML 1/20. Exemplo de documento XML:

Programação para Internet I 4. XML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de

DOCUMENTAÇÃO PARA GERAÇÃO DO XML DAJE E BOLETO

extensible Markup Language (XML) XML é uma linguagem de anotação. XML utiliza tags para descrever informação.

Esquemas para Dados XML

Arquivo de retorno Boleto Bancário Formato XML

5a. Aula - XML

CONTEÚDO PROGRAMÁTICO

Manual para utilização da funcionalidade de importar arquivo XML para prestação de contas

Programação para Internet I Aulas 10 e 11

XML - Extensible Markup Language

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS

Utilização de XML no Desenvolvimento de Hiperdocumentos Educacionais

5 Tecnologias estudadas

Tecnologias Internet

XML (extensible Markup Language) por. Rafael Port da Rocha. (Notas de Aula)

Introdução de XML. Dados da Web. Gerência de Dados da Web. A Web representa, nos dias de hoje, um repositório universal de dados, onde:

Estrutura Lógica DTD

Transformação de documentos XML

XML XML. XML extensible Markup Language HTML. Motivação. W3C: World Wide Web Consortium XML 1.0. Mário Meireles Teixeira DEINF-UFMA

O TESTE DE DOCUMENTOS MUTANTES PARA REALIZAR UTILIZANDO ANÁLISE DE. Orientadora: Silvia Regina Vergilio XML SCHEMA. Ledyvânia Franzotte

XMLs E INTEGRAÇÃO COM BANCOS DE DADOS

Informática Parte 22 Prof. Márcio Hunecke

XML. Prof. Júlio Machado

Capítulo 1. Importação de Dados de Instituições Financeiras - Arquivo TXT 3

Namespaces. Resumo Descrição de um padrão para construir documentos que incluem componentes de domínios diferentes, definidos em diferentes DTDs.

Especificação Técnica. Gerador XML do Novo MOD 106 e respectivos anexos

Sistema de Cota de Tela Manual do Usuário Envio de Arquivo XML

Introdução XML. Vanessa Braganholo

extensible Markup Language <XML/>

Leiaute de arquivos XML para Carta-Circular 3254

SICADI Layout do Arquivo de Demonstrativo Estatístico por Sexo Idade por Plano Versão 1.5

Extensible Markup Language (XML) Júnio César de Lima Cedric Luiz de Carvalho. Instituto de Informática Universidade Federal de Goiás

XML Schema, RDF(S) e UML: uma Comparação

Simbiose entre Tecnologias: XML e Java

XML e XSL. Ciência da Computação DESENVOLVIMENTO DE APLICAÇÕES PARA WEB. Claudinei Dias prof.claudinei.dias@gmail.com

Manual do Desenvolvedor Geração de Tokens

introdução principais componentes

Documento Auxiliar do Conhecimento de Transporte Eletrônico

GESTÃO DA CADEIA DE SUPRIMENTOS FORMAS DE TROCA DE INFORMAÇÃO: EDI E XML

[DCA: Declaração de Contas Anuais] [Versão 1 / ]

Especificação de Integração Linx Microvix WebApi v1.2

Teste em Esquemas de Dados

SICI MANUAL PARA ARQUIVO XML (UPLOAD)

Catálogo de Mensagens e de Arquivos da RSFN

XML Schema (Parte 2) Vanessa Braganholo

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de

XML Schema (Parte. Vanessa de Paula Braganholo

Suporte Nativo a XML no Oracle 10g

[DCA: Declaração de Contas Anuais] [Versão 2 / ]

Modelo Entidade-Relacionamento. José Antônio da Cunha CEFET-RN

Sistemas de Gestão De Bases de Dados. Criação de Tabelas na vista estrutura. Módulo 2. A Professora: Vanda Pereira

Linguagem XML. Linguagem XML

XML Schema. Vanessa de Paula Braganholo ftp://metropole/pub/curso/xml/index.html. Janeiro de XML Schema

5.2.4 Análise de LCR segundo o tempo Regras de marcação LCR

Hipermídia na Web. Hipermídia na Web HTML HTML. Limitações do HTML XHTML. Linguagens de autoria.

UALG/FCT/DEEI Análise e Modelação de Sistemas Informáticos

Com base nos slides vistos em sala de aula resolva os seguintes exercícios:

MANUAL DO USUÁRIO. Figura 1: Tela de Apresentação do FaçaCalc.

Manual Técnico de Relato Financeiro em XML

Banco de dados. Conteúdo: Modelo relacional Prof. Patrícia Lucas

PROGRAMAÇÃO DE COMPUTADORES

Uma Abordagem para o Mapeamento de Definições XML Schema para SQL:1999

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO SISTEMAS DE GESTÃO DE BASE DE DADOS O MODELO RELACIONAL

Ficheiro de Reporte Periódico de Pagamentos

XML Básico. Murillo Vasconcelos Henriques B. Castro. 17 de maio de 2011

<NOME>ABIAS FRANCISCO DE SOUZA</NOME> <CNPJCPF> </CNPJCPF> <NMATRICULA>101264</NMATRICULA>

Modelo Relacional. Banco de Dados 2º trimestre Prof. Patrícia Lucas

PROCESSAMENTO ESTRUTURADO DE DOCUMENTOS. Departamento de Documentação Curso de Arquivologia

XML e XSL da Teoria à Prática. 20 de Abril de 2001

Definição da Sintaxe Abstrata de Potigol em XML

a * Expressões Regulares (ER)

Trabalho Prático. Descrição Considere os seguintes dados a respeito de uma pessoa:

Gestão de Base de dados Tabelas e Chaves

Sumário. XML (extensible Markup Language)

Infisc. Programa Validador de Lotes de DMS-e Manual de uso do Programa Validador de Arquivo XML para DMS- e

DTD. Vanessa Braganholo.

XML. Prof. Júlio Machado

Guia de Consulta Rápida XML. Otávio C. Décio. Novatec Editora

Especificação técnica do feed de produtos

Informática. Banco de Dados Relacional. Professor Julio Alves.

Projeto: Plataforma de Integração. Data: 01/08/2014

Noções de XML. Henrique Silva Direção-Geral do Território FCUL, 12 e 19 de Outubro de 2017

Manual Técnico de Relato Financeiro em XML

Professor: João Macedo

Primeira Parte do Trabalho Prático (Parte I) Valor: 40% Descrição do arquivo de dados

Sistema de Processamento Eletrônico de Cartas Precatórias da Justiça do Trabalho

Gerenciamento de Dados XML

Simulado de Linguagem de Programação Java

Modelagem Física e SQL

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) XML Origens. HTML Problemas

Análise de Sistemas 3º Bimestre (material 2)

Transcrição:

XML Schema Um XML schema descreve a estrutura de um documento XML. XML Schema é uma linguagem que também costuma ser designada por XML Schema Definition (XSD). XML Schema é uma alternativa aos DTDs. 1

XML Schema é um sucessor do DTD XML Schemas são mais poderosos que os DTDs. Schemas são escritos em XML. Schemas permitem ter tipos de dados. 2

Documento XML <?xml version="1.0" encoding="iso-88591"?> <recado> <de>maria</de> <para>zé</para> <mensagem>cinema às 9:00</mensagem> </recado> 3

DTD <!ELEMENT recado (de, para, mensagem)> <!ELEMENT de (#PCDATA)> <!ELEMENT para (#PCDATA)> <!ELEMENT mensagem (#PCDATA)> 4

Schema <?xml version="1.0" encoding="iso-88591"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:element name="recado"> <xs:complextype> <xs:sequence> <xs:element name="de" type="xs:string"/> <xs:element name="para" type="xs:string"/> <xs:element name="mensagem" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> 5

Elementos Simples e Compostos Em XML Schema existem elementos simples e elementos compostos. Um elemento simples não pode conter outros elementos ou atributos. Um elemento composto pode. 6

Elementos simples Exemplos: <apelido>silva</apelido> <idade>34</idade> <datanasc>1968-03-27</datanasc> Definições dos elementos: <xs:element name="apelido" type="xs:string"/> <xs:element name="idade" type="xs:integer"/> <xs:element name="datanasc" type="xs:date"/> 7

Tipos de dados mais comuns em XML Schema xs:string xs:decimal xs:integer xs:boolean xs:date xs:time 8

Elementos podem ter valores por defeito e valores fixos Se nada for especificado, o atributo cor fica com o valor vermelho. <xs:element name="cor" type="xs:string" default="vermelho"/> Não se pode mudar um valor que seja definido como fixed. <xs:element name="cor" type="xs:string" fixed="vermelho"/> 9

Atributos Exemplo de elemento XML com um atributo: <apelido idioma="pt">silva</apelido> Definição: <xs:attribute name="idioma" type="xs:string"/> 10

Atributos também podem ter valores por defeito e valores fixos <xs:attribute name="idioma type="xs:string" default="pt"/> <xs:attribute name="idioma" type="xs:string" fixed="pt"/> 11

Atributos podem ser opcionais ou obrigatórios <xs:attribute name="idioma" type="xs:string" use="optional"/> <xs:attribute name="idioma" type="xs:string" use="required"/> 12

Restrições Pode-se especificar restrições para os valores dos elementos ou atributos. Exemplo: O valor do elemento idade tem de estar compreendido entre 0 e 100 inclusive. <xs:element name="idade"> <xs:simpletype> <xs:restriction base="xs:integer"> <xs:mininclusive value="0"/> <xs:maxinclusive value="100"/> </xs:restriction> </xs:simpletype> </xs:element> 13

Restrições (cont.) Pode-se restringir os valores a um conjunto enumerado. Ex: Só aceita os valores Audi, Golf, BMW. <xs:element name="carro"> <xs:simpletype> <xs:restriction base="xs:string"> <xs:enumeration value="audi"/> <xs:enumeration value="golf"/> <xs:enumeration value="bmw"/> </xs:restriction> </xs:simpletype> </xs:element> 14

Também podíamos ter escrito assim... <xs:element name="carro" type="tcarro"/> <xs:simpletype name="tcarro"> <xs:restriction base="xs:string"> <xs:enumeration value="audi"/> <xs:enumeration value="golf"/> <xs:enumeration value="bmw"/> </xs:restriction> </xs:simpletype> 15

Restrições através de um padrão Exemplo: definir o elemento letra que apenas deve permitir uma e uma só letra minúscula. <xs:element name="letra"> <xs:simpletype> <xs:restriction base="xs:string"> <xs:pattern value="[a-z]"/> </xs:restriction> </xs:simpletype> </xs:element> 16

Restrições através de um padrão (cont.) Só aceita telefones começados por 289, seguidos de 1 traço, seguidos de 6 dígitos. <xs:element name="telefone"> <xs:simpletype> <xs:restriction base="xs:string"> <xs:pattern value="289-[0-9]{6}"/> </xs:restriction> </xs:simpletype> </xs:element> 17

Restrições através de um padrão (cont.) Só aceita zero ou mais ocorrências de letras minúsculas. <xs:element name="letras"> <xs:simpletype> <xs:restriction base="xs:string"> <xs:pattern value="([a-z])*"/> </xs:restriction> </xs:simpletype> </xs:element> 18

Restrições através de um padrão (cont.) Só aceita m ou f. <xs:element name="sexo"> <xs:simpletype> <xs:restriction base="xs:string"> <xs:pattern value="m f"/> </xs:restriction> </xs:simpletype> </xs:element> 19

Restrições de comprimento O valor tem de ter no mínimo 5 e no máximo 8 caracteres. <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

Elementos compostos Um elemento composto pode conter outros elementos e/ou atributos. Existe 4 tipos de elementos compostos: elementos vazios elementos que só contêm outros elementos elementos que só contêm texto elementos que contêm outros elementos e também texto 21

Exemplos de elementos compostos Ex 1: <produto id="1345"/> Ex 2: <empregado> <nomeproprio>pedro</nomeproprio> <apelido>lopes</apelido> </empregado> 22

Definição de um elemento composto (1) Declaração directa: <xs:element name="empregado"> <xs:complextype> <xs:sequence> <xs:element name="nomeproprio" type="xs:string"/> <xs:element name="apelido" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> 23

Definição de um elemento composto (2) Através de um atributo type : <xs:element name="empregado" type="tpessoa"/> <xs:complextype name="tpessoa"> <xs:sequence> <xs:element name="nomeproprio" type="xs:string"/> <xs:element name="apelido" type="xs:string"/> </xs:sequence> </xs:complextype> 24

Definição de um elemento composto (3) Vários elementos podem ter o mesmo tipo (como nas linguagens de programação). <xs:element name="empregado" type="tpessoa"/> <xs:element name="estudante" type="tpessoa"/> <xs:element name="membro" type="tpessoa"/> <xs:complextype name="tpessoa"> <xs:sequence> <xs:element name="nomeproprio" type="xs:string"/> <xs:element name="apelido" type="xs:string"/> </xs:sequence> </xs:complextype> 25

Definição de um elemento composto (4) Pode-se utilizar um mecanismo de herança (como em POO). <xs:element name="empregado" type="tpessoa2"/> <xs:complextype name="tpessoa"> <xs:sequence> <xs:element name="nomeproprio" type="xs:string"/> <xs:element name="apelido" type="xs:string"/> </xs:sequence> </xs:complextype> 26

(cont.) <xs:complextype name="tpessoa2"> <xs:complexcontent> <xs:extension base="tpessoa"> <xs:sequence> <xs:element name="morada" type="xs:string"/> <xs:element name="cidade" type="xs:string"/> <xs:element name="país" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexcontent> </xs:complextype> 27

Elementos vazios Ex: <produto id="1345" /> Def: <xs:element name="produto"> <xs:complextype> <xs:attribute name="id" type="xs:positiveinteger"/> </xs:complextype> </xs:element> 28

Elementos que só contêm elementos <pessoa> <nomeproprio>luís</nomeproprio> <apelido>figo</apelido> </person> Definição do elemento pessoa <xs:element name="pessoa"> <xs:complextype> <xs:sequence> <xs:element name="nomeproprio" type="xs:string"/> <xs:element name="apelido" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> 29

Elementos só com texto Pode conter atributos e texto. <shoesize country="france">35</shoesize> Definição: <xs:element name="shoesize" type="shoetype"/> <xs:complextype name="shoetype"> <xs:simplecontent> <xs:extension base="xs:integer"> <xs:attribute name="country" type="xs:string" /> </xs:extension> </xs:simplecontent> </xs:complextype> 30

Elementos de conteúdo misto Pode conter atributos, elementos, e texto. <letter> Dear Mr.<name>John Smith</name>. Your order <orderid>1032</orderid> will be shipped on <shipdate>2001-07-13</shipdate>. </letter> 31

Elementos de conteúdo misto (cont.) Definição: <xs:element name="letter" type="lettertype"/> <xs:complextype name="lettertype" 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> 32

Indicadores Indicadores de ordem: All Choice Sequence Indicadores de ocorrência: maxoccurs minoccurs 33

Indicador all <all> especifica que os elementos filho podem aparecer por qualquer ordem e que cada elemento filho pode ocorrer no máximo uma vez. <xs:element name="pessoa"> <xs:complextype> <xs:all> <xs:element name="nomeproprio" type="xs:string"/> <xs:element name="apelido" type="xs:string"/> </xs:all> </xs:complextype> </xs:element> 34

Indicador choice <choice> especifica que apenas um dos elementos filho pode ocorrer. <xs:element name="pessoa"> <xs:complextype> <xs:choice> <xs:element name="empregado" type="tempregado"/> <xs:element name="membro" type="tmembro"/> </xs:choice> </xs:complextype> </xs:element> 35

Indicador sequence <sequence> especifica que cada elemento filho deve ocorrer pela ordem indicada. <xs:element name="pessoa"> <xs:complextype> <xs:sequence> <xs:element name="nomeproprio" type="xs:string"/> <xs:element name="apelido" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> 36

Indicadores de ocorrência maxoccurs: especifica o número máximo de vezes que o elemento ocorre. minoccurs: especifica o número mínimo de vezes que o elemento ocorre. 37

Exemplo: myfamily.xml <?xml version="1.0" encoding="iso-8859-1"?> <pessoas xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nonamespaceschemalocation="family.xsd"> <pessoa> <nome>josé Silva</nome> <nome_filho>teresa</nome_filho> </pessoa> <pessoa> <nome>teresa Silva</nome> <nome_filho>maria</nome_filho> <nome_filho>rui</nome_filho> <nome_filho>joana</nome_filho> <nome_filho>sim~ao</nome_filho> </pessoa> <pessoa> <nome>joana Silva</nome> </pessoa> </pessoas> 38

Schema file: family.xsd <?xml version="1.0" encoding="iso-8859-1"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" elementformdefault="qualified"> <xs:element name="pessoas"> <xs:complextype> <xs:sequence> <xs:element name="pessoa" maxoccurs="unbounded"> <xs:complextype> <xs:sequence> <xs:element name="nome" type="xs:string"/> <xs:element name="nome_filho" type="xs:string" minoccurs="0" maxoccurs="5"/> </xs:sequence> </xs:complextype> </xs:element> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> 39