definição e composição de esquemas instâncias documentação

Documentos relacionados
XML: uma introdução prática X100. Helder da Rocha

introdução principais componentes

Projeto Nota Fiscal Eletrônica

Projeto Nota Fiscal Eletrônica

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

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

Linguagens e Programação XML / XShema. Paulo Proença

Ficheiro de Reporte Periódico de Pagamentos

Manual Técnico de Reporte Financeiro em XML

Dados Semi-Estruturados e XML Vanessa Braganholo. Lista de Exercícios 3 XML Schema

Adenda Técnica :: LCPA :: Manual Técnico XML

XML Schema (Parte 2) Vanessa Braganholo

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

XML Schema (Parte. Vanessa de Paula Braganholo

PEDRO FILIPE DE JESUS VIEIRA MARQUES TROCA DE INFORMAÇÃO DE NEGÓCIO PARA NEGÓCIO - DO EDI AO XML/EDI E EBXML UNIVERSIDADE FERNANDO PESSOA

Web de hoje (2.0) Porquê WEB 2.0?

XML. Prof. Júlio Machado

MANUAL TÉCNICO DE MENSAGEM

Esquemas para Dados XML

Histórico de Revisões

Roteiro para Transmissão Ambiente de Testes da Guias Online

Namespaces e Esquemas XML. Namespaces - Motivação

Série Desenvolvimento de Sistemas. Curso de XML. Conceito básicos, XML Schema, Namespaces, DOM/SAX, XPath, XSLT, XLink e XPointer.

INSTITUTO SUPERIOR TÉCNICO Gestão e Tratamento de Informação

CATÁLOGO DE APLICAÇÕES EDI XML - Importação de Pedidos via XML

Soluções de integração: SOA, web services e REST + XML/XSD

Desmistificando XML: da Pesquisa à Prática Industrial

Manual Técnico de Relato Financeiro em XML

Histórico de Revisões

XDocValidator: Uma Interface Gráfica Para Atualização e Validação Incremental de Documentos XML

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML NAMESPACES. Prof. Angelo Augusto Frozza, M.Sc.

ANEXO 1. Informação Técnica para entidades exploradoras de jogo online com Liquidez Partilhada

Introdução à Tecnologia Web HTML HyperText Markup Language XHTML extensible HyperText Markup Language Declaração DOCTYPE e Tag Raiz html

Gestão e Tratamento de Informação

XML Schema XPath 2.0 XSLT 2.0 XQuery...

Hugo Pedro Proença, 2007

Nota Fiscal Eletrônica NFe

Núcleo de Pós Graduação Pitágoras

Projeto Nota Fiscal Eletrônica

Projeto Nota Fiscal Eletrônica

Introdução ao XML. Extensible Markup Language

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

MANUAL DE CARGA DA CENTRAL DE INFORMAÇÕES DO REGISTRO CIVIL NACIONAL CRC NACIONAL. Provimento nº 38/2014 e 46/2015 Conselho Nacional de Justiça (CNJ)

Manual de Orientação do Contribuinte Padrões Técnicos de Comunicação do Manifesto Eletrônico de Documentos Fiscais

Tecnologias Java para Implementação de NF e Edilmar Alves Novembro/2008 edilmaralves@intersite.com.br

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

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

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Controle de Restrições de Integridade de Domínio em Documentos XML

ANEXO 1 Informação Técnica para entidades exploradoras de apostas desportivas à cota em que os jogadores jogam uns contra os outros (Apostas

Desenvolvimento Web Introdução a XHTML. Prof. Bruno Gomes

< > a m l. b x. helder.da.rocha. inding. argonavis.com.br

<xs:complextype> <xs:sequence> "unbounded"/> </xs:sequence> </xs:complextype>

4 Uma Linguagem para Workflows de Sistemas de Gerência de Análises em Biossequências 4.1 Introdução

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

TECNOLOGIAS WEB AULA 5 PROF. RAFAEL DIAS

Manual Técnico XML. Ficheiros de Reporte Periódico de Informação Económico-Financeira.

SIOE-E: WebService público DGAEP

Nota Técnica 2013/004

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

HTML 5 + CSS APRESENTANDO O CSS ESTILOS LOCAIS

Manual de Integração - Contribuinte Padrões Técnicos de Comunicação

MANUAL DE ESPECIFICAÇÕES TÉCNICAS

Gestão e Tratamento da Informação

A Estrutura de um Web Service

J550 Tag Libraries e JSTL

J550 Segurança e Controle de erros

Este relatório tem por objetivo, abordar a sintaxe XML.

SISTEMA DE INTEGRAÇÃO DE TECNOLOGIAS DE AGREGAÇÃO DE MEDIÇÃO

Web Services utilizando JAX-WS

Gestão e Tratamento da Informação

Manual para Integração XML

OWL-DL Propriedades. Tópicos Especiais em Ontologias UTFPR/CPGEI/Prof. Tacla

WEBDESIGN. Professor: Paulo Trentin Escola CDI de Videira

Desenvolvimento de Aplicações XML. Wamberg Oliveira, Msc, PMP, COBIT-F Instrutor

Roteiro de Instalação da NF-e no Sistema CalcExpress S U M À R I O

Programação para a Web - I. José Humberto da Silva Soares

Projeto Nota Fiscal Eletrônica

LUIZ WAGNER ARAÚJO NUNES ANÁLISE DA UTILIZAÇÃO DA API JAXR PARA ACESSO A REGISTROS XML

Internet. Gabriela Trevisan Bacharel em Sistemas de Infomação

Manual de Orientações do Contribuinte Padrões Técnicos de Comunicação

O Documento Único Automóvel

EntryPoint LiNe. Manual do Administrador

4 O Workflow e a Máquina de Regras

Sistema Nacional de Registro de Hóspedes - SNRHos. PGTUR Plataforma de Gestão do Turismo Manual Técnico de Utilização do Web Service Versão 1.

No âmbito do respetivo procedimento de consulta regulamentar foram recebidos contributos dos vários interessados que se pronunciaram.

Nota Técnica 2013/013

CARLOS EDUARDO GESSER UMA ABORDAGEM PARA A INTEGRAÇÃO DINÂMICA DE SERVIÇOS WEB EM PORTAIS

Manual de Orientações do Contribuinte Padrões Técnicos de Comunicação

Transformação XML2HTML. Processamento Estruturado de Documentos. Carlos Carvalho, CEI n.º 5337

7. Cascading Style Sheets (CSS)

Resolvendo objeto-relacional impedance mismatch com hibernate

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Transcrição:

X170 definição e composição de esquemas instâncias documentação 2002, 2005, 2008 Helder da Rocha (helder.darocha@gmail.com) 1

Cabeçalho e namespace Todas as declarações do XML Schema estão contidas em um elemento <xs:schema> que deve definir: Um atributo xmlns, declarando o namespace do XML Schema, geralmente associando-o a um prefixo (xs ou xsd). Um atributo targetnamespace*, contendo uma URI que identifique o namespace da linguagem-alvo que o XML Schema está descrevendo Um segundo atributo xmlns*, declarando o namespace da linguagem-alvo, possivelmente associando-o a um prefixo. <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" targetnamespace="http://www.empresa.com/pontodevenda" xmlns="http://www.empresa.com/pontodevenda"> Se a linguagem não usar namespaces: <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema > 2

Composição de esquemas <xs:include> insere componentes de esquema do mesmo namespace localizados em outros arquivos Atributo schemalocation informa a URI onde se encontra o arquivo que será incluído <xs:include schemalocation="esquema.xsd"/> <xs:import> importa componentes de namespaces diferentes Atributo namespace é obrigatório Atributo schemalocation é opcional <xs:import namespace="http://ns.com" schemalocation="esquema.xsd"/> <xs:redefine> permite redefinir componentes 3

<xs:include> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" targetnamespace="http://www.empresa.com/pontodevenda" xmlns="http://www.empresa.com/pontodevenda"> <xs:include schemalocation="ofertatypescomplex.xsd"/> <xs:include schemalocation="ofertatypessimple.xsd"/> <xs:element name="oferta" type="ofertatype" /> <xs:element name="codigo" type="codigotype"/> <xs:element name="preco" type="precotype"/> <xs:element name="itens" type="itenstype"/> </xs:schema> ofertatypescomplex.xsd ofertatypessimple.xsd <xs:complextype name="ofertatype"> <xs:simpletype name="precotype"> 4

<xs:import> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" targetnamespace="http://www.empresa.com/pontodevenda" xmlns="http://www.empresa.com/pontodevenda" xmlns:pdvt="http://www.empresa.com/pontodevenda/tipos"> <xs:import namespace="http://www.empresa.com/pontodevenda/tipos" schemalocation="ofertatypesall.xsd"/> <xs:element name="oferta" type="pdvt:ofertatype" /> <xs:element name="codigo" type="pdvt:codigotype"/> <xs:element name="preco" type="pdvt:precotype"/> <xs:element name="itens" type="pdvt:itenstype"/> </xs:schema> <xs:schema targetnamespace="http://www.empresa.com/pontodevenda/tipos"... > 5

<xs:import> : o outro lado <xs:schema targetnamespace="http://www.empresa.com/pontodevenda"... > <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" targetnamespace="http://www.empresa.com/pontodevenda/tipos" xmlns="http://www.empresa.com/pontodevenda/tipos" xmlns:pdv="http://www.empresa.com/pontodevenda"> <xs:import namespace="http://www.empresa.com/pontodevenda" schemalocation="ofertaelementsall.xsd"></xs:import> <xs:complextype name="ofertatype"> <xs:sequence> <xs:element ref="pdv:codigo"/> <xs:element ref="pdv:preco"/> <xs:element ref="pdv:itens"/> </xs:sequence> <xs:attribute name="validade" use="required" type="xs:nmtoken"/> </xs:complextype> <xs:complextype name="codigotype">...</xs:complextype> <xs:simpletype name="precotype">...</xs:simpletype> <xs:simpletype name="itemtype">...</xs:simpletype> </xs:schema> 6

Defaults <xs:schema> contém atributos que definem defaults para tipos e elementos. attributeformdefault="qualified unqualified" elementformdefault="qualified unqualified" blockdefault="#all substitution extension restriction" finaldefault="#all extension restriction list union" Determinam comportamento default em declarações e definição de componentes (Mais sobre isto adiante) 7

Instâncias associadas a um XML Schema Uma instância pode ser formalmente vinculada a uma instância através de atributos globais Namespace XML Schema Instance: http://www.w3.org/2001/xmlschema-instance Este namespace deve ser atribuído a prefixo para que se possa usar seus 4 atributos: schemalocation para vincular um ou mais XML Schemas à instância nonamespaceschemalocation para vincular a um XML Schemas que não usa namespace nil e type usados em elementos e atributos 8

Exemplos com namespace <oferta xmlns:xsi="http://www.w3.org/2001/xmlschema- instance" xsi:schemalocation="http://www.empresa.com/pontodevenda ofertaelementsallimport.xsd" xmlns="http://www.empresa.com/pontodevenda" validade="2010-07- 22"> <codigo numero="4599" tipo="t"/> <preco>15.2</preco> <itens>14</itens> </oferta> <pdv:oferta xmlns:xsi="http://www.w3.org/2001/xmlschema- instance" xsi:schemalocation="http://www.empresa.com/pontodevenda ofertaelementsallimport.xsd" xmlns:pdv="http://www.empresa.com/pontodevenda" validade="2010-07- 22"> <pdv:codigo numero="4599" tipo="t"/> <pdv:preco>15.2</pdv:preco> <pdv:itens>14</pdv:itens> </pdv:oferta> 9

Múltiplos namespaces Schemas compostos requerem a declaração de múltiplos namespaces na instância Esquema principal <xs:schema targetnamespace="http://cosmos.org.br" xmlns:cm="http://cosmos.org.br/com" xmlns:st="http://cosmos.org.br/sat" xmlns="http://cosmos.org.br" xmlns:xs="http://www.w3.org/2001/xmlschema"> Instância <se:sistemaestelar xmlns:se="http://cosmos.org.br" xmlns:sat="http://cosmos.org.br/sat" xmlns:cmt="http://cosmos.org.br/com" xmlns:xsi="http://www.w3.org/2001/xmlschema- instance" xsi:schemalocation="http://cosmos.org.br sistema.xsd http://cosmos.org.br/sat satelites.xsd http://cosmos.org.br/com cometas.xsd"> 10

Exemplo com múltiplos namespaces <html xmlns:xsi="http://www.w3.org/2001/xmlschema- instance" xsi:schemalocation="http://www.w3.org/1999/xhtml xhtml.xsd http://www.empresa.com/pontodevenda oferta.xsd" xmlns="http://www.w3.org/1999/xhtml" xmlns:pdv="http://www.empresa.com/pontodevenda"> <head>...</head> <body><div class="oferta > <pdv:oferta validade="2010-07- 22"> <pdv:codigo numero="4599" tipo="t"/> <pdv:preco>15.2</pdv:preco> <pdv:itens>14</pdv:itens> </pdv:oferta> </div></body> </html> <html xmlns:xsi="http://www.w3.org/2001/xmlschema- instance" xsi:schemalocation="http://www.w3.org/1999/xhtml xhtml.xsd http://www.empresa.com/pontodevenda oferta.xsd" xmlns="http://www.w3.org/1999/xhtml" > <head>...</head><body><div class="oferta > <oferta validade="2010-07- 22" xmlns="http://www.empresa.com/pontodevenda"> <codigo numero="4599" tipo="t"/> <preco>15.2</preco> <itens>14</itens> </oferta> </div></body> </html> 11

Exemplo sem namespace <oferta xmlns:xsi="http://www.w3.org/2001/xmlschema- instance" xsi:nonamespaceschemalocation="ofertaelementsnons.xsd" validade="2010-07- 22"> <codigo numero="4599" tipo="t"/> <preco>15.2</preco> <itens>14</itens> </oferta> 12

Anotações <xs:annotation> Mecanismo de documentação e extensão do XML Schema Pode ser usado em qualquer elemento do XML Schema Dois sub-elementos: <xs:documentation> e <xs:appinfo> <xs:documentation> Para documentação que será lida por humanos <xs:appinfo> Ponto de extensão para informações de processamento que serão lidas por máquina 13

Anotações <xs:complextype name="ofertatype"> <xs:annotation> <xs:documentation xml:lang="pt- BR"> Os codigos existentes podem ser obtidos na tabela PROD_CODIGOS. </xs:documentation> <xs:appinfo> SELECT CODIGOS FROM PROD_CODIGOS WHERE STATUS < 2; </xs:appinfo> </xs:annotation> <xs:sequence> <xs:element ref="codigo"/> <xs:element ref="preco"/> <xs:element ref="itens"/> </xs:sequence> <xs:attribute name="validade" use="required" type="xs:nmtoken"/> </xs:complextype> 14