xml: uma introdução (unesp, gpnti, beam)

82
XML: uma introdução Fabrício Silva Assumpção fabricioassumpcao.com | [email protected] Biblioteca de Estudos e Aplicação de Metadados Marília, 29 de novembro de 2014

Upload: fabricio-assumpcao

Post on 25-Jul-2015

1.076 views

Category:

Documents


4 download

TRANSCRIPT

XML:uma introdução

Fabrício Silva Assumpçãofabricioassumpcao.com | [email protected]

Biblioteca de Estudos e Aplicação de MetadadosMarília, 29 de novembro de 2014

Conteúdo

Introdução: linguagens de marcação Conceitos iniciais e usos da XML na Ciência da Informação Intervalo Regras da XML (parte 1) Regras da XML (parte 2) Intervalo Metadados e XML

OratoroeuaroupadoreideRomaearainhacomraivaresolveuremendar

O rato roeu a roupa do rei de Roma e a rainha com raiva resolveu remendar

Marcação

Historicamente, usa-se a palavra “marcação” para descrever anotações ou marcas em um texto, que tem por objetivo dar instruções ao desenhista ou datilógrafo sobre a maneira como uma parte do texto deveria ser representada. Como exemplos, pode-se citar um sublinhado ondulado que indicaria negrito, símbolos especiais para passagens a serem omitidas ou impressas com uma fonte especial, dentre outras. Como a formatação e a impressão de textos se tornaram automatizadas, o termo foi estendido para todos os tipos de códigos de marcação em textos eletrônicos.

(ALMEIDA, 2002, p. 6)

Marcação

Todos os textos impressos são codificados com sinais de pontuação, uso de letras maiúsculas e minúsculas, regras para a disposição do texto na página, espaço entre as palavras etc. Estes elementos são um tipo de “marcação”, cujo objetivo é ajudar o leitor na determinação de onde uma palavra termina e onde outra começa, ou identificar características estruturais (por exemplo, cabeçalhos) ou simples unidades sintáticas (por exemplo, parágrafos e sentenças). Codificar ou “marcar” um texto para processamento por computadores é também um processo de tornar explícito o que é conjetural. Indica como o conteúdo do texto deve ser interpretado.

(ALMEIDA, 2002, p. 6)

Linguagem de marcação

Dessa forma, por “linguagem de marcação”, entende-se um conjunto de convenções utilizadas para a codificação de textos. Uma linguagem de marcação deve especificar que marcas são permitidas, quais são exigidas, como se deve fazer distinção entre as marcas e o texto e qual o significado da marcação.

(ALMEIDA, 2002, p. 6)

Linguagem de marcação

Marcação é a informação incluída em um documento para melhorar seu significado de certas maneiras, por identificar as partes e como elas se relacionam umas com as outras. [...]

Uma linguagem de marcação é um conjunto de símbolos que pode ser colocado no texto de um documento para demarcar e rotular as partes desse documento.

(RAY, 2001, p. 2)

O que é XML?

XMLExtensible Markup Language

Uma linguagem de marcação?Sim e não.

O que é XML?

[...] apesar do nome, a XML não é uma linguagem de marcação por si só: é um conjunto de regras para a criação de linguagens de marcação.

(RAY, 2001, p. 2)

A XML não define quais marcações você pode ou não utilizar.

O que é XML?

Em um nível, a XML é um protocolo para conter e gerenciar informações. Em outro, é uma família de tecnologias que pode fazer de tudo, desde formatar documentos até filtrar dados. E, no nível mais alto, é uma filosofia para o tratamento de informações, que busca o máximo de utilidade e flexibilidade para os dados, definindo-os à sua forma mais pura e mais estruturada. Um conhecimento completo da XML focaliza todos esses níveis.

(RAY, 2001, p. 2)

Usos da XML

Páginas web Feeds RSS Nota fiscal eletrônica Arquivos de texto: DOCX e ODT Imagens: SVG Currículo Lattes

Usos da XML Codificação de textos

Artigos: SciELO E-books: EPUB

Codificação de registros/dados MARCXML Dublin Core EAD e EAC-CPF OAI-PMH RDF

Breve histórico da XML

Década de 1970: Generalized Markup Language (GML) 1986: Standard Generalized Markup Language (SGML)

Linguagem Padronizada de Marcação Genérica

1990: HyperText Markup Language (HTML) Linguagem de Marcação de Hipertexto

1998: Extensible Markup Language (XML) Linguagem de Marcação Extensível Especificação do World Wide Web Consortium (W3C)

Conceitos iniciais

Apresentação dos dados

A XML não lida diretamente com a apresentação dos dados, apenas com o armazenamento e a troca de dados.

A apresentação dos dados fica a cargo de outras tecnologias.

Documentos XML

Arquivo ≠ Documento

Como e onde editar um documento XML?

Simples editores de texto (Bloco de notas do Windows, por exemplo).

Software complexos voltados especificamente para a edição de documentos XML.

Documentos XML

“Árvore XML”

Documentos XML<agenda>

<contato><nome>Fabrício Silva Assumpção</nome><email>[email protected]</email><endereco>

<rua>Brasil</rua><numero>150</numero><cep>17526-000</cep><cidade>Marília</cidade>

</endereco></contato>

</agenda>

Nós

Nós: os componentes de um documento XML Elementos: Os elementos e o nó raiz são os únicos nós que

podem conter outros nós Textos: Cadeias de caracteres que podem compor o conteúdo

de um elemento Raiz: Um ponto abstrato acima do elemento do documento

que abrange todo o documento Atributos e Comentários

Nós<agenda>

<contato><nome>Fabrício Silva Assumpção</nome><email>[email protected]</email><endereco>

<rua>Brasil</rua><numero>150</numero><cep>17526-000</cep><cidade>Marília</cidade>

</endereco></contato>

</agenda>

Nó raiz(ponto abstrato acima do elemento do documento) Elemento do

documento

Textos

Exercício 1

Instalar o Notepad++ Acessar: notepad-plus-plus.org Baixar e instalar

Instalar o plugin XML Tools

Regras da XML – parte 1

Regras: Elementos

Os elementos são os blocos de um documento XML

Os nomes dos elementos devem estar entre < e >

<nome>

Regras: Elementos

Os elementos devem conter tags de início e de fim*

<nome>Fabrício Silva Assumpção</nome>

*Exceto quando são vazios:

<complemento/>

Regras: Elementos

Elementos não podem se sobrepor

Errado<agenda>

<contato><nome>Fabrício</

nome><endereco>

<cidade>Marília</cidade></contato>

</endereco></agenda>

Certo<agenda>

<contato><nome>Fabrício</

nome><endereco>

<cidade>Marília</cidade></endereco>

</contato></agenda>

Regras: Elementos Os nomes dos elementos podem começar apenas com letras e

com o caractere de sublinhado Podem conter apenas letras, números, hifens, pontos e

sublinhados

Certo<Agenda><AGENDA><agenda1><Preço_Do_Livro><função><_altura>

Errado<6><-endereço><.telefone><preço do livro><telefone/celular><data?>

Regras: Elementos

A XML é sensível! Faz distinção entre maiúsculas e minúsculas (case sensitive)

<Autor><autor>

<AUTOR><aUtor><aUtoR>

Declaração XML

Conjunto de dados que indica ao software que ele está lidando com um documento XML.

<?xml version="1.0" encoding="UTF-8"?>

É opcional. Se utilizada, deve constar na primeira linha.

Exercício 2

Criar um documento XML descrevendo você!

Exercício 3

Criar um documento XML descrevendo este livro:

Meu documento XML está correto?

Bem formado De acordo com as regras da XML

Válido De acordo com a linguagem de marcação

Exercício 4

Verifique se os seus documentos XML estão bem formados.

Faça as correções necessárias.

Regras da XML – parte 2

Regras: “Caracteres especiais”

Alguns caracteres não podem aparecer no conteúdo. Se forem necessários, devem ser indicados de forma especial:

< &lt;

& &amp;

<publicador>L & PM</publicador>

<publicador>L &amp; PM</publicador>

List of XML and HTML character entity references

Regras: Comentários<?xml version="1.0" encoding="UTF-8"?>

<agenda>

<!-- Início do documento -->

<contato><nome>Fabrício Silva Assumpção</nome><email>[email protected]</email><email>[email protected]</email>

<!-- O elemento email pode ocorrer mais de uma vez -->

</contato>

</agenda>

Regras: Atributos Os atributos trazem informações adicionais sobre o elemento. São colocados na tag de abertura do elemento. O valor do atributo deve estar entre aspas ou apóstrofos.

<telefone tipo="residencial">(12)3456-7890</telefone>

<telefone tipo="residencial" DDD="12">3456-7890</telefone>

<cidade estado="SP">Marília</cidade>

<quantidade unidade_de_medida="kg">4</quantidade>

Regras: Atributos

<telefone tipo=residencial>(12)3456-7890</telefone>

<telefone tipo=“residencial”>(12)3456-7890</telefone>

<quantidade unidade de medida="kg">4</quantidade>

<quantidade unidade_de_medida="kg">4</quantidade>

Regras: Atributos

Um atributo não pode aparecer duas vezes em um mesmo elemento.

<cidade estado="SP" estado="RJ">Marília</cidade>

Exercício 5

Acrescente atributos aos seus documentos XML.

Verifique se os seus documentos XML estão bem formados.

Definindo linguagens de marcação

Namespaces

Um namespace é um grupo de nomes de elementos e atributos (RAY, 2001, 43).

MelanciaLaranja

UvaLima

Pêssego

MarteloLima

AlicateChave de

fenda

Frutas Ferramentas

Namespaces

Utilizar prefixos de namespaces para identificar os elementos que fazem parte de cada conjunto.

Declarar os namespaces.

Exemplo – Documento XML com namespaces

Especificando linguagens de marcação

Uma linguagem de marcação deve especificar que marcas são permitidas, quais são exigidas, como se deve fazer distinção entre as marcas e o texto e qual o significado da marcação.

(ALMEIDA, 2002, p. 6)

As linguagens de marcação podem ser especificadas de forma legível aos programas.

Especificando linguagens de marcação

Modelo de documentos e Modelagem de documentos.

O modelo é um tipo especial de documento, escrito em uma sintaxe criada para descrever linguagens XML, que estabelece explicitamente o vocabulário para uma única linguagem de marcação. [...] Com esse modelo, é possível determinar se um documento está ou não em conformidade com o tipo de documento. [Ou seja, descobrir se o documento é válido ou não.]

(RAY, 2001, p. 148)

Document Type Definition (DTD)

“Definição de Tipo de Documento”.

Criada para SGML.

Uma DTD pode ser incluída no próprio documento XML ou em documento separado.

Document Type Definition (DTD)

Exemplo – Documento XML com a DTD.

Exemplo – Registro MARC 21. DTD com a linguagem de marcação.

XML Schema

Primeira versão: 2001

Linguagem XML para a definição de outras linguagens em XML.

Metadados e XML

Metadados

Metadados são atributos que representam uma entidade (objeto do mundo real) em um sistema de informação. Em outras palavras, são elementos descritivos ou atributos referenciais codificados que representam características próprias ou atribuídas às entidades; são ainda dados que descrevem outros dados em um sistema de informação, com o intuito de identificar de forma única uma entidade (recurso informacional) para posterior recuperação.

(ALVES, 2010, p. 47)

Padrões de metadados

Os padrões de metadados são estruturas de descrição constituídas por um conjunto predeterminado de metadados (atributos codificados ou identificadores de uma entidade) metodologicamente construídos e padronizados. O objetivo do padrão de metadados é descrever uma entidade gerando uma representação unívoca e padronizada que possa ser utilizada para recuperação da mesma.

(ALVES, 2010, p. 47-48)

Instrumentos do domínio bibliográfico

Picco e Ortiz Repiso(2012, p. 149, tradução nossa)

Instrumentos do domínio bibliográfico

Instrumentos do domínio bibliográfico

Instrumentos do domínio bibliográfico

Instrumentos do domínio bibliográfico

Picco e Ortiz Repiso(2012, p. 149, tradução nossa)

Dublin Core (15 elementos)

title (título) creator (criador) contributor (contribuidor) publisher (publicador) date (data) type (tipo) format (formato) language (idioma)

description (descrição) rights (direitos) source (fonte) relation (relacionamento) subject (assunto) coverage (cobertura) identifier (identificador)

Dublin Core em XML: SRU

loc.gov/standards/sru

Exemplo de registro Dublin Core/XML obtido com o SRU: lccn.loc.gov/2014341317 lccn.loc.gov/2014341317/dc

MARC 21 em XML: MARCXML

loc.gov/standards/marcxml

Linguagem de marcação especificada com a XML Schema MARCXML

MARC 21 em XML: MARCXML

Exemplo de registro bibliográfico no Formato MARC 21 de acordo com o MARCXML:

lccn.loc.gov/2014341317 lccn.loc.gov/2014341317/marcxml

MADS

loc.gov/standards/mads

Exemplo: lccn.loc.gov/n79005673 lccn.loc.gov/n79005673/mads

MADS: uma alternativa à utilização do Formato MARC 21 para dados de autoridade DOI: 10.5433/1981-8920.2013v18n1p106

Preciso armazenar um mesmo registro várias vezes, cada uma de acordo com um

padrão de metadados?

Não! Uma vez que os dados estão em XML, eles podem ser transformados para

alcançar distintos propósitos.Os dados podem ser transformados

(convertidos) de um padrão de metadados para outro...

Transformação

Registro em XML

Padrão AProcessador de transformação

Registro

Padrão BFolha de estilo

A B

Folha de estiloA C

Registro

Padrão C

... e também podem ser transformados para serem apresentados de formas diferentes em diferentes contextos, exemplo: apresentar o texto de uma

mesma página web em um computador e em um celular de formas diferentes!

Transformação

DocumentoXML

Processador de transformação

DesktopFolha de estiloDesktop

Folha de estiloMobile

Mobile

Síntese

O que vimos hoje... Marcação Linguagens de marcação XML: conjunto de regras

Elementos, atributos, comentários, namespaces Definindo linguagens de marcação: DTD e XML Schema XML e padrões de metadados

Dublin Core, MARCXML, MODS, MADS Transformação

Lembre-se!

1) Em um nível, a XML é um protocolo para conter e gerenciar informações.

2) Em outro, é uma família de tecnologias que pode fazer de tudo, desde formatar documentos até filtrar dados.

3) E, no nível mais alto, é uma filosofia para o tratamento de informações, que busca o máximo de utilidade e flexibilidade para os dados, definindo-os à sua forma mais pura e mais estruturada. Um conhecimento completo da XML focaliza todos esses níveis.

(RAY, 2001, p. 2)

Aquelas regras que vimos fazem parte desse protocolo.

Nessa família de tecnologias temos também as folhas de

estilo que nos permitem transformar um documento XML em “qualquer coisa”.

Essa filosofia inclui estruturar a informação da melhor forma possível, pensando sempre na

futura recuperação e uso.

Por fim...

XML não é algo tão difícil que alguém da Ciência da Informação não consiga compreender!

: )

ReferênciasALMEIDA, M. B. Uma introdução ao XML, sua utilização na Internet e alguns conceitos complementares. Ciência da Informação, Brasília, v. 31, n. 2, p. 5-13, maio/ago. 2002.ALVES, R. C. V. Metadados como elementos do processo de catalogação. 2010. 132 f. Tese (Doutorado em Ciência da Informação) – Faculdade de Filosofia e Ciências, Universidade Estadual Paulista, Marília, 2010.ASSUMPÇÃO, F. S. Conversão de registros em XML para MARC 21: um modelo baseado em folhas de estilo XSLT. 135 f. Dissertação (Mestrado em Ciência da Informação) – Faculdade de Filosofia e Ciências, UNESP, Marília, 2013.ASSUMPÇÃO, F. S.; SANTOS, P. L. V. A. C. Metadata Authority Description Schema (MADS): uma alternativa à utilização do formato MARC 21 para dados de autoridade. Informação & Informação, v. 18, n. 1, p. 106-126, 2013.BRADLEY, N. The XML Companion. 3rd ed. Boston: Addison-Wesley Professional, 2001.EITO BRUN, R. Lenguajes de marcas para la gestión de recursos digitales: aproximación técnica, especificaciones y referencia. Gijón: Trea, 2008.FLAMINO, A. N. MARCXML: um padrão de descrição para recursos informacionais em Open Archives. 2006. 164 f. Dissertação (Mestrado em Ciência da Informação) - Faculdade de Filosofia e Ciências, Universidade Estadual Paulista - UNESP, Marília. 2006.KEITH, C. Using XSLT to manipulate MARC metadata. Library Hi Tech, v. 22, n. 2, p. 122-130, 2004.LIBRARY OF CONGRESS. MARC 21 Format for Bibliographic Data. Washington, D.C., 2012. 1999 Edition. Update No. 1 (October 2001) through Update No. 15 (September 2012).LIBRARY OF CONGRESS. MARC 21 XML Schema: official web site. Washington, D.C., 2011.

ReferênciasLIBRARY OF CONGRESS. MARC XML Design Considerations. Washington, D.C., 2004.

LIBRARY OF CONGRESS. Metadata Object Description Schema. Washington, 2013.

LIBRARY OF CONGRESS. Schema MARC21slim.xsd. Washington, D.C., 2009.

MILLER, D. R.; CLARKE, K. S. Putting XML to work in the library: tools for improving access and management. Chicago: American Library Association, 2004.

PICCO, P.; ORTIZ REPISO, V. RDA, el nuevo código de catalogación: cambios y desafíos para su aplicación. Revista Española de Documentación Científica, v. 35, n. 1, p. 145-173, enero-marzo 2012.

RAY, E. T. Aprendendo XML. Rio de Janeiro: Campus, 2001.

SIQUEIRA, M. A. XML na Ciência da Informação: uma análise do MARC 21. 2003. 133 f. Dissertação (Mestrado em Ciência da Informação) – Faculdade de Filosofia e Ciências, Universidade Estadual Paulista, Marília, 2003.

TIDWELL, D. XSLT. 2nd ed. Beijing: O'Reilly, 2008.

W3C. XML Schema. Revision 1.153, date: 2012/06/22. Cambridge, 2012a.

W3C. XML. Last modified: 2012/01/24. Cambridge, 2012b.

W3C. XSL Transformations (XSLT) Version 2.0: W3C Recommendation 23 January 2007. Cambridge, 2007.

WALMSLEY, P. FunctX XSLT Functions. Traverse City: Datypic, 2007.

Obrigado!

Fabrício Silva Assumpçãofabricioassumpcao.com | [email protected]

Biblioteca de Estudos e Aplicação de MetadadosMarília, 29 de novembro de 2014