XML Schema Documento XML válido

Slides:



Advertisements
Apresentações semelhantes
Teste Unitário - NUnit Realizando testes unitários utilizando a ferramenta NUnit Marcelo Rocha Rodrigo Rocha.
Advertisements

Java e OO – Isso é só um roteiro de aula
Normalização
Standard para representar e trocar informação estruturada
Tecnologias XML XML Schema
Web Services Um Web Service é um bloco de software que pode ser acedido pela Internet e usado remotamente por outras aplicações Infra-estrutura para a.
XSD – (XML Schema Definition)‏
Diagrama Entidade-Associação
Helena Galhardas DEI IST
XML (eXtensible Markup Language) W3C - World Wide Web Consortium Documentos TXT estruturados? Por que XML? XML, ou eXtensible Markup Language, é uma linguagem.
XML Schema XML schema é um vocabulário XML para expressar regras de negócios (sobre os dados).
Validação HTML.
XML Carlos Bazilio Depto de Ciência e Tecnologia
Teste em Esquemas de Dados Maria Cláudia Figueiredo Pereira Emer Universidade Federal do Paraná Departamento de Informática Seminário.
Vânia Maria Ponte Vidal
Universal Description, Discovery and Integration (UDDI)
Gerenciamento de Dados XML
INF 1366 – Computação Gráfica Interativa X3D
April 05 Prof. Ismael H. F. Santos - 1 Módulo II Introdução a XML DTD Prof. Ismael H F Santos.
SOA e Web Services Aluno: Thiago Caproni Tavares
Área de Desenvolvimento de Sistemas
PROJETO Auditoria Eletrônica de Órgãos Públicos
29 de Outubro de 2001jcr -ped2001 NameSpaces Processamento Estruturado de Documentos 2001 By jcr.
Jcr - ped XML Schema Processamento Estruturado de Documentos 2001 By jcr.
Um editor de XML para a Web
Conteúdo XML DOM XSL XSD XML DOM-XSL-XSD.
Tópicos de Sistemas de Informação A
XML DTDs e Schemas Sharp Shooters.NET Universidade Federal de Pernambuco Centro de Informática Recife, 21/10/2002 Autor: Marden Menezes Costa.
Jquery – Parte 3 Linguagem de scripts.
HTML Básico João Araujo.
Tecnologias Web ADO.NET
Universal Description, Discovery and Integration (UDDI) Rafael Andrade
SEDNA SGBD XML NATIVO.
Web Semântica Mineração na Web – if796 Subtitle.
1 Namespaces. 2 Dados XML são usados para intercâmbio entre organizações XML permite autores de documentos criarem suas próprias tags, definindo a origem.
DESENVOLVENDO APLICAÇÕES JAVA PARA WEB UTILIZANDO OS FRAMEWORKS STRUTS 2 E HIBERNATE Alexandre Oliveira.
XML Schema Renata Pontin de Mattos Fortes SCE-225 Hipermídia 2°Semestre 2003 Material elaborado por Lisandra Cazassa Fumagalli.
Ferramentas para Orientação a Objetos Apresentação da Disciplina Prof. Wolley.
Document Type Definition - DTD
Tópicos de Sistemas de Informação A
Tópicos de Sistemas de Informação A
Tópicos de Sistemas de Informação A Carlos Oberdan Rolim Ciência da Computação.
PETER ANTONY RAUSCH JOYCE MARTINS
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
Instrutor: Tarso Nunes Aires  HTML foi escrito para definir o conteúdo de um documento  Porém, tags como, atributos de cores e etc.
Ambientes de Desenvolvimento XML-XHTML Paulo Sousa ISEP/IPP Portugal.
Ambientes de Desenvolvimento Integração ADO-ASP-XML-XSL Paulo Sousa ISEP/IPP Portugal.
Mensagens Eletrônicas
Web 2.0 A nova era da Colaboração A Nova Cara da Internet.
Document Type Definition (DTD) Renata Pontin de Mattos Fortes SCE-225 Hipermídia 2°Semestre 2003.
Profº Cláudio Barbosa XHTML – Introdução  XHTML (eXtensible HyperText Markup Language) – linguagem baseada na XML para.
Ferramentas para o controlo de qualidade da informação bibliográfica Nuno Freire INESC-ID.
1 XBRL Framework Paulo Caetano
Linguagem XML Criando um documento XML válido
©Silberschatz, Korth and Sudarshan (modificado)10.1.1Database System Concepts Capítulo 10: XML XML para transferência de dados Estrutura hierárquica do.
Desenvolvimento de Jogos e Entretenimento Digital
Produção de Sites Unidade 9 – XML Prof.: Henrique Santos.
The Petri Net Markup Language (PNML) Wellington João da Silva Mestrado Ciência da Computação.
Validando Documentos XML Vânia Maria Ponte Vidal
XML Prof. Dr. Fernando Gauthier INE/UFSC. XML XML (Extensible Markup Language) é uma linguagem para marcar documentos que contêm informações estruturadas.
XML Namespaces XML Namespaces provê um método para evitar conflito de nomes de elementos.
April 05 Prof. Ismael H. F. Santos - 1 Módulo III Introdução a XML Prof. Ismael H F Santos.
Java e XML Eduardo Aranha. Slogans de Java e de XML Java – “Portabilidade de Código” XML – “Portabilidade de Dados” Java e XML – “Portabilidade de Código.
SQL SERVER XML Guia Essencial para Programação com XML no SQL Server.
Sistema de Informação e Tecnologia Trabalho 07 – Conhecendo grandes bancos de dados públicos brasileiros Gestão Estratégica de Produção Marcel Fernando.
HTML 5 Profº Ritielle Souza.
Resource Description Framework (RDF) Mark Douglas de Azevedo Jacyntho.
RDF Resource Description Framework Ana Christina Bringuente Adaptação da Apresentação do Mark Douglas de Azevedo Jacyntho.
XML – Extensible Markup Language (Introdução – Parte II) Prof. Joel
Tecnologias XML XML Schema
Transcrição da apresentação:

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

XML Schema XML

<?xml version="1.0" ?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace=http://your_namespace > <xsd:element name="pessoas" > <xsd:complexType> <xsd:sequence> <xsd:element name="pessoa" maxOccurs="unbounded"> <xsd:element name="nome" type="xsd:string" /> <xsd:element name="data-nascimento" > <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:attribute name="id" type="xsd:string" use="required" /> </xsd:schema>

XML Schema Estrutura de um Schema Declaração XML <xsd: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 schema namespace prefixo xsd

URI -> http://www.w3.org/2001/XMLSchema 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:

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

XML Schema Referenciar um Schema no XML – (1) Atributo xsi:noNamespaceSchemaLocation pessoas.xml <?xml version="1.0" encoding="ISO-8859-1"?> <pessoas xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation=“pessoas.xsd" > ... Documento pessoas.xsd

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_namespace xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi: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"> …

XML Schema Elemento xsd:element 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>

Tipos simples primitivos 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 primitivos anySimpleType –> decimal –> integer -> long ...

Tipos simples derivados 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>

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

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

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>

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>

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>

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>

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 não têm ordem fixa

<xs:choice> XML Schema <xs:group name="nameTypes"> <xs:element name="name" type="xs:string"/> <xs:sequence> <xs:element name="firstName" type="xs:string"/> <xs:element name="middleName" type="xs:string" minOccurs="0"/> <xs:element name="lastName" type="xs:string"/> </xs:sequence> </xs:choice> </xs:group>

XML Schema Definição de um elemento com conteúdo simples: texto e atributo <telefone operador="TMN" > 3457654 </telefone> <xs:element name="telefone"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="operador" use="required" type="xs:string"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element>

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

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

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>

Validar XML em .Net private void ValidationCallBack(Object sender, ValidationEventArgs args) { //Display the validation error. This is only called on error m_Success = false; //Validation failed } private bool validateXml(String pathstr) { m_Success = true; XmlReaderSettings settings = new XmlReaderSettings(); settings.ValidationType = ValidationType.Schema; settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessSchemaLocation; settings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings; settings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack); // Create the XmlReader object. XmlReader reader = XmlReader.Create(pathstr, settings); // Parse the file. while (reader.Read()) ; reader.Close(); return m_Success;}