Publicação de Dados Governamentais no Padrão Linked Data 2.1 – Conceitos Básicos Karin Breitman José Viterbo Edgard Marx Percy Salas LA C Laboratory for Advanced Collaboration Objetivo deste módulo 1.Discutir o uso de URIs 2.Apresentar conceitos básicos sobre o padrão XML 2 Sumário 1. URI x URL x URN 2. HTML x XML 3. Por que XML é importante? 4. Objetivos 5. Marcadores, Elementos, Atributos, etc 6. Validação 7. Declarações 8. Entidades 3 URI x URL x URN URI (Universal Resource Identification) Exemplos de referências de URI • http://en.wikipedia.org/wiki/URI#Examples_of_URI_references ( “http” especifica o nome do ‘esquema’ , "en.wikipedia.org" é a 'autoridade', “/wiki/ URI” o 'caminho' que aponta para o artigo, e “#Examples_of_URI_references” é um 'fragmento' apontando para a seção.) • http://example.org/absolute/URI/with/absolute/path/to/resource.txt • //example.org/scheme-relative/URI/with/absolute/path/to/resource.txt • /relative/URI/with/absolute/path/to/resource.txt • relative/path/to/resource.txt • ../../../resource.txt • ./resource.txt#frag01 • resource.txt • #frag01 • (string vazia) 4 URI x URL x URN URL ( Universal Resource Location) • ftp://mycomputer.com • http://mycomputer.com • smb://mycomputer.com 5 URI x URL x URN URN ( Universal Resource Name) • <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:example"> 6 URI x URL x URN 7 URI x URL x URN • Confusão Visão Clássica URI URL 8 Visão Contemporânea URL URN URN URI Linguagem de Marcação XML Uma linguagem de marcação deve especificar: Que marcação é aceita Que marcação é requerida Como a marcação deve ser distinguida do texto O que a marcação significa *XML apenas especifica as três primeiras, a quarta é especificada por DTD 9 HTML x XML XML foi projetada para carregar e não mostrar a informação XML não é o substituto do HTML. Diferenças são: XML w foi projetada para descrever a informação e foco em o que a informação representa. HTML foi projetada para mostrar a informação como o foco em como a informação vai ser apresentada. HTML é sobre mostrar a informação, XML é sobre descrever a informação. 10 HTML x XML XM L 11 HT ML Por que XML é importante? Fácil edição Útil para guardar pequena quantidade de informação Permite guardar eficientemente grande quantidade de informação em XML de um front end XML em um banco de dados. Identificação da Informação Te indica que tipo de informação você possui Pode ser usada de diferentes maneiras em aplicações diferentes. 12 Por que XML é importante? Estabilidade Estilo livre inerente XSL---Extensible Stylesheet Language Diferente formatos XSL podem ser usados para mostrar a mesma informação de maneira diferente Reutilização Inline Pode ser composta de entidades separadas Organiza seu documento de forma a não recorrer a ligações externas 13 Por que XML é importante? Hierárquico Rápido para acessar Fácil de reorganizar 14 Objetivos Uso de XML na Internet deve ser trivial. Deve ser possível visualizar documentos tão fácil e rapidamente quanto em HTML. XML deve suportar várias aplicações. XML deve ser compatível com SGML. Programas para processar documentos XML devem ser fáceis de implementar. 15 Objetivos • O número de recursos opcionais em XML deve ser mínimo, idealmente zero. • O projeto do padrão XML deve ser rápido. • O projeto de XML deve ser formal e conciso. • Documentos XML devem ser simples de criar. • Concisão na marcação não é importante. 16 Componentes • XML: define a sintaxe de XML. • XLL: define um padrão de representação de referências entre recursos. • XSL: define uma linguagem de descrição de estilos para XML. • XUA: Padroniza a criação de agentes XML. 17 Exemplo <?XML version=“1.0”?> <oldjoke> <burns>Say<quote>goodnight </quote>, Gracie. </burns> <allen>Goodnight, Gracie</allen> <applause/> </oldjoke> 18 Marcadores Elementos Referências a entidades Comentários Instruções de Processamento Seções Formatadas Declarações de Tipos de Documentos 19 Elementos Marcação mais comum Delimitados por < e > Exemplos: <element> bla bla bla </element> <element/> 20 Atributos Pares nome-valor que caracterizam o elemento Em XML, todos os atributos devem vir entre aspas. Exemplo: <div class=“preface”> 21 Referências a Entidades Utilizadas para representar caracteres especiais: < = “ > = ” & = & Caracteres Unicode: ℞ ou ℞ 22 Comentários Não são processados pelo interpretador XML Início: <!-Fim: --> 23 Instruções de Processamento Recurso para prover informações para uma aplicação Não são parte do documento XML, mas são passados às aplicações Instruções não reconhecidas são ignoradas Formato: <?name pidata?> 24 Seções CDATA Desabilita as marcações Exemplo: <![CDATA[ *p= &q; b = (I <=3); ]]> 25 Declaração de Tipos de Documentos Permite a criação de Tags Permite definição de semântica diferenciada Tipos: Declarações de elementos Declarações de listas de atributos Declarações de entidades Declarações de notação 26 Exemplo 27 Validação Documento XML bem formatado ("Well Formed“) Sintaxe XML válida Documento XML Válido Está de acordo com as regras de um DTD (Document Type Definition) XML DTD Define a maneira de construir os blocos em um documento XML Pode ser inline na XML ou como uma referência externa XML Schema Uma alternativa ao DTD, mais poderosa Suporta namespace e tipos de informação 28 Validação A parte de um documento XML que precede as informações do documento XML inclui: Uma declaração: version [, encoding, standalone] Um DTD(Document Type Definition ) opcional Exemplo: <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> 29 DTD: Exemplo <?xml version="1.0" ?> <!DOCTYPE PurchaseOrder [ <!ELEMENT PurchaseOrder (Customer,Supplier,Order)> <!ELEMENT Customer Supplier (Name,Address*)> <!ELEMENT Order (Item+)> <!ELEMENT Name Item Address (#PCDATA)> <!ENTITY ctp "Cambridge Technology Partners"> <!ATTLIST Customer uid ID #REQUIRED > <!ATTLIST Order cid IDREF #REQUIRED > ]> 30 DTD: Exemplo <PurchaseOrder> <Customer uid="C0023416"> <Name>&ctp;</Name> <Address>304 Vassar St.,Cambridge,MA</Address> </Customer> <Supplier> <Name>Computer And Printer Paradise</Name> <Address>45 Seabreeze Dr., Miami, FL</Address> </Supplier > <Order cid="C0023416"> <Item>A brown hat</Item> </Order> </PurchaseOrder> 31 Declarações de Elementos Exemplo: <!ELEMENT Customer Supplier (Name,Address*)> <!ELEMENT Order (Item+)> <!ELEMENT Name Item Address (#PCDATA)> Declarações para todos os elementos usados devem estar no DTD Definição especial #PCDATA indicando string Dois outros modelos de conteúdo Empty Any (desaconselhável) 32 DTD (continuação) Indicação de ocorrência: Indicação 33 Ocorrência (sem indicação) ? Requerida * Opcional + Requerida Opcional Uma e somente uma Uma ou nenhuma Nenhuma, uma ou mais Uma ou mais Declarações de Atributos Exemplo: <!ATTLIST Customer uid ID #REQUIRED > <!ATTLIST Order cid IDREF #REQUIRED > Tipos: CDATA: strings genéricas ID: nome único no documento IDREF: conjuntos de Ids ENTITY: nome de uma entidade NMTOKEN: uma única palavra Lista de nomes: enumeração de valores possíveis 34 Declarações de Atributos Valores padrão: #REQUIRED: deve ser instanciado para cada ocorrência #IMPLIED: não é obrigatório e não há valor padrão “value”: o valor dado é o padrão para cada ocorrência #FIXED “value”: Se o atributo ocorrer deve ter o valor especificado 35 Declarações de Entidades Permitem associar nomes com outros fragmentos do documento: Texto Parte do DTD Arquivo Externo Exemplo: <!ENTITY ctp "Cambridge Technology Partners"> 36 Entidades Internas Podem incluir referências para outras entidades, mas não podem ser recursivas. Entidades pré-definidas: < = < > = > & = & &apos = ‘ " = “ 37 Entidades Externas A referência à entidade causa a inserção do arquivo indicado. Entidades externas podem ser texto ou binárias 38 Entidades Parametrizadas Podem ocorrer apenas dentro do DTD É identificada por <%> antes do seu nome Funcionam como macros, sendo imediatamente expandidas na DTD. 39 Declarações de Notação Identificam tipos binários externos específicos. Informação é passada para a aplicação. Exemplo: <!NOTATION GIF87A SYSTEM “GIF”> 40 Tipos de documentos Documentos bem formados: Compiláveis por XML Documentos Válidos Possuem um DTD e o seguem 41 Vantagens Flexível Auto-contida Portável Fácil de utilizar Robusta Legível 42 Desvantagens Tamanho Custo de processamento Complexidade 43 Principais Referências K. Breitman. Web Semântica: a Internet do Futuro. Editora LTC, 2005; URI Planning Interest Group, W3C/IETF. URIs, URLs, and URNs: Clarifications and Recommendations 1.0. Online, 2001. Disponível em: http://www.w3.org/TR/uri-clarification/; T. Bray, J. Paoli, C. M. Sperberg-McQueen, E. Maler e F. Yergeau (editores). Extensible Markup Language (XML) 1.0 (Fifth Edition). Online, 2008. Disponível em: http://www.w3.org/TR/REC-xml/; H.S. Thompson, N. Mendelsohn, D. Beech e M. Maloney (editores). W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures. Online, 2009. Disponível em: http://www.w3.org/TR/xmlschema11-1/; 44