1. XML:
uma introdução
Fabrício Silva Assumpção
fabricioassumpcao.com | assumpcao.f@gmail.com
Biblioteca de Estudos e Aplicação de Metadados
Marília, 29 de novembro de 2014
2. 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
4. 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)
5. 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)
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)
7. 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)
8. O que é XML?
XML
Extensible Markup Language
Uma linguagem de marcação?
Sim e não.
9. 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.
10.
11.
12. 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)
13. Usos da XML
Páginas web
Feeds RSS
Nota fiscal eletrônica
Arquivos de texto: DOCX e ODT
Imagens: SVG
Currículo Lattes
14. 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
15. 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)
17. 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.
19. 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.
22. 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
26. Regras: Elementos
Os elementos são os blocos de um documento XML
Os nomes dos elementos devem estar entre < e >
<nome>
27. 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/>
28. 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>
29. 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?>
30. Regras: Elementos
A XML é sensível!
Faz distinção entre maiúsculas e minúsculas (case sensitive)
<Autor>
<autor>
<AUTOR>
<aUtor>
<aUtoR>
31. 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.
38. 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
39. Regras: Comentários
<?xml version="1.0" encoding="UTF-8"?>
<agenda>
<!-- Início do documento -->
<contato>
<nome>Fabrício Silva Assumpção</nome>
<email>assumpcao.f@gmail.com</email>
<email>fsassumpcao@marilia.unesp.br</email>
<!-- O elemento email pode ocorrer
mais de uma vez -->
</contato>
</agenda>
40. 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>
45. Namespaces
Um namespace é um grupo de nomes de elementos e
atributos (RAY, 2001, 43).
Melancia
Laranja
Uva
Lima
Pêssego
Martelo
Lima
Alicate
Chave de
fenda
Frutas Ferramentas
46. Namespaces
Utilizar prefixos de namespaces para identificar os elementos
que fazem parte de cada conjunto.
Declarar os namespaces.
48. 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.
49. 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)
50. 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.
51. Document Type Definition (DTD)
Exemplo – Documento XML com a DTD.
Exemplo – Registro MARC 21.
DTD com a linguagem de marcação.
52. XML Schema
Primeira versão: 2001
Linguagem XML para a definição de outras linguagens em
XML.
55. 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)
56. 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)
65. 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)
66. 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
67. MARC 21 em XML: MARCXML
loc.gov/standards/marcxml
Linguagem de marcação especificada com a XML Schema
MARCXML
68. 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
70. 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
71. Preciso armazenar um mesmo registro
várias vezes, cada uma de acordo com um
padrão de metadados?
72. 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...
73. Transformação
Registro em XML
Padrão A
Processador de
transformação
Registro
Padrão B
Folha de estilo
A B
Folha de estilo
A C
Registro
Padrão C
74. ... 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!
77. 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
78. 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.
79. Por fim...
XML não é algo tão difícil que alguém da Ciência
da Informação não consiga compreender!
: )
80. Referências
ALMEIDA, 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.
81. Referências
LIBRARY 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.