Download - XML: uma introdução (UNESP, GPNTI, BEAM)
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?
[...] 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)
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.
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<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: 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.
Meu documento XML está correto?
Bem formado De acordo com as regras da XML
Válido De acordo com a linguagem de marcação
Regras: “Caracteres especiais”
Alguns caracteres não podem aparecer no conteúdo. Se forem necessários, devem ser indicados de forma especial:
< <
& &
<publicador>L & PM</publicador>
<publicador>L & 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.
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.
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
Exemplo – XML Schema do MARCXML.
Exemplo – Registro MARCXML.
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)
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
dublincore.org/documents/2012/06/14/dcmi-terms/
Dublin Core
frbr.org/2011/04/12/ccq-call-for-papers-the-frbr-family-of-models
Dublin Core em XML: OAI-PMH
Protocolo OAI-PMH Open Archives Initiative - Protocol for Metadata
Harvesting periodicos.ufsc.br/index.php/eb/oai base.repositorio.unesp.br/oai/request
Exemplo de Registro em Dublin Core/XML obtido com o OAI-PMH (CTRL+U para visualizar o documento XML)
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
MODS
loc.gov/standards/mods
Exemplo: lccn.loc.gov/2014341317 lccn.loc.gov/2014341317/mods
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
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
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