Você está na página 1de 21

HONESTIDADE INTELECTUAL: um

professor deve apresentar aos alunos de


forma
[Drawjusta
your – isto
reader
é, com
in with
a mesma
an engaging
profundidade
abstract. It is typically
e seriedadea short
– assummary
principaisof
versões,
the document.
teorias,Whenopiniões
you’re
e perspectivas
ready to add
concorrentes
your content, a respeito
just clickdos
hereassuntos
and start
em
pauta. typing.]

Web
Extended
Markup
Semântica
Language (XML)
Texto O
Texto O

Sistemas de Recuperação da Informação,


Cod. OTI-081
Escola de Ciência da Informação, UFMG
Prof. Mauricio B. Almeida (mba@eci.ufmg.br)
1

DECLARAÇÃO DO PROFESSOR:
O presente material e todos os recursos didáticos que o acompanham – textos,
videos, audios, etc – foram produzidos no âmbito do Programa de Ensino
Emergencial (2020) da Universidade Federal de Minas Gerais, com apoio do Centro
de Ensino a Distância (CaED-UFMG), para uso pelos alunos da universidade em suas
atividades enquanto discentes.

This work is licensed under

Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Este trabalho está licenciado sob

Creative Commons - Atribuição 4.0 Internacional.

ADVERTÊNCIA LEGAL OFICIAL da UFMG


Adverte-se, para os devidos fins, que a imagem dos docentes, discentes e demais
envolvidos, além do conteúdo oral e escrito das aulas, encontram-se legalmente protegidos
pela Lei nº 9.610/98 (Lei de Direitos Autorais) e somente poderão ser utilizados para fins
exclusivamente acadêmicos a que se destinam e no âmbito interno da Universidade
Federal de Minas Gerais (UFMG).
Estão proibidas quaisquer outras formas de utilização, tais como copiar, editar, adicionar,
reduzir, exibir, difundir publicamente, transmitir a terceiros, bem como trocar, emprestar
ou praticar qualquer ato de comercialização.
A violação a quaisquer desses direitos exclusivos dos titulares acarretará as sanções
previstas na Lei nº 9.610/98 (Lei de Direitos Autorais), nos arts. 184 e 186 do Código Penal,
sem prejuízo da apuração de transgressão disciplinar de servidores (Lei nº 8.112/90) e
discentes (Estatuto da UFMG).
2

V.1- EXTENDED MARKUP LANGUAGE (XML)

V.1.1- HISTÓRIA

A história do XML começa na década de 1960 com a codificação genérica, o


GenCode da Graphic Communication Association. Codificação genérica quer dizer o uso
de marcas descritivas como, por exemplo “cabeçalho”, para marcar dados em textos.
Antes da codificação genérica, os textos eletrônicos continham códigos de controle, de
forma que o documento era formatado de maneira específica. A codificação genérica
permitiu que esquemas simples de marcação fossem adotados, o que permitiu mais
liberdade ao criador do documento no processo de digitação.
Na década de 1970, a marcação avançou com a criação da Generalized Markup
Language (GML). O GML surgiu de esforços de projetistas da IBM que introduziram a
noção de um tipo de documento formalmente projetado com uma estrutura explícita de
elementos aninhados. A motivação para introduzir essas mudanças era o interesse em
melhorar a recuperação de informações. No início dos anos 80, os esforços de
padronização levaram à Standard Generalized Markup Language (SGML), que facilitou
ainda mais a produção e o compartilhamento de documentos eletrônicos. Em 1986, a
International Organization for Standardization (ISO) ratificou um padrão para SGML que
então consolidou a convenção de usar cadeias de caracteres de texto entre colchetes
angulares para demarcar outros segmentos de texto. Esse formato padrão para as
marcas se mostrou útil na publicação e processamento de textos eletrônico e o muitos
segmentos, como o setor editorial, adotara a SGML.
Após o sucesso do SGML, surgiu a necessidade de um método para marcar e
exibir documentos na Web. Em 1990, Tim Berners-Lee e colegas desenvolveram um
derivado da SGML da para esse fim, chamado Hypertext Markup Language (HTML).
Como os esforços anteriores de codificação genérica, o HTML usou um conjunto pré-
definido de marcas para descrever a estrutura dos documentos da Web. As tags HTML
incluíam itens como “cabeçalho”, “corpo”, “título”, “img” para imagem, “p” para
parágrafo, “a” para âncora, dentre outros.
O HTML se revelou um grande sucesso, mas sua ênfase única na apresentação
levou os desenvolvedores a pensar em aproveitar mais da abrangência da SGML para
3

fornecer mais conteúdo semântico na Web. Em 1996, o W3C criou um grupo de trabalho
para desenvolver uma nova versão do SGML. Essa nova versão deveria ser mais refinada
que o SGML e mais adequada para marcação de conteúdo que o HTML. Em 1998, esses
esforços de simplificação resultaram em uma recomendação do W3C para o XML. Uma
edição, corrigindo pequenos erros, surgiu em 2006, quando também se lançou a
recomendação XML 1.1. Embora a versão 1.1 não contivesse tantas mudanças, as
alterações recomendadas eram incompatíveis com a versão 1.0. Com a perda de
compatibilidade e sem ganho prático correspondente, o XML 1.1 nunca foi totalmente
adotado pela comunidade da Web Semântica.
Em aplicações da Web, o XML é usado para marcação, manipulação,
armazenamento e transmissão de dados. A etapa final do processo geralmente é a
transformação de dados marcados em XML em HTML para apresentação. Isso pode ser
realizado por meio de outro padrão baseado em XML, o Extensible Stylesheet Language
(XSLT), que recebe um documento XML como entrada e o retorna com marcação
diferente. Há uma série de padrões relacionados ao XML que permitem transformação,
links, estilo, consulta e manipulação de dados marcados. Em geral, esses padrões são
usados no lado do servidor no desenvolvimento de aplicativos Web. No momento da
criação do XML, isso era visto como uma melhoria em relação ao SGML, mas existem
críticos do XML já que existem melhores opções. O candidato mais elogiado ao XML é o
JavaScript Object Notation (JSON). Trata-se de um formato simples e leve de intercâmbio
de dados, que resolve duas usuais reclamações sobre XML: i) o XML seria muito cheio
de detalhes; e ii) o XML seria muito difícil de entender. Embora o JSON funcione bem,
parece improvável uma substituição do XML como sintaxe de marcação de dados.

V.1.2- SINTAXE DE MARCAÇÃO EXTENSÍVEL

Ao definir um padrão de regras de marcação, o XML permite o uso de conjunto


comum de ferramentas para processamento de dados. Isso significa que a equipe da
biblioteca pode usar os mesmos recursos que aqueles que trabalham no setor editorial
ou em qualquer outro setor relacionado. A ferramenta que torna isso possível é o
analisador XML, ou parser XML. Os parsers XML leem XML em sua forma bruta e
proveem um modelo que pode ser usado em ferramentas de mais alto nível – ou seja,
4

mais próxima das pessoas – por exemplo, editores, navegadores, processadores de


folhas de estilo, bancos de dados etc. Um parser XML funciona baseado na “boa
formação” de documentos XML. Um documento XML é bem formado se está em
conformidade com as regras sintáticas do XML. Se a marcação de um documento não é
bem formada, o parser não consegue analisá-lo. Os parsers XML, ao contrário dos
parsers HTML, não aceitam nem pequenos erros. Todos os documentos XML precisam
ser bem formados, mas nem todos os documentos XML devem ter elementos e estruturas
formalmente definidos. A adesão às regras sintáticas é o único requisito constante.
Isso quer dizer que as regras sintáticas do XML são rígidas, mas o que se faz com
os componentes estruturais do XML é flexível, o que torna os dados em XML diferentes
dos dados armazenados em bancos de dados. Os bancos de dados exigem que os dados
estejam em conformidade com certas regras, por exemplo, dados são normalizados
para se ajustar à regras do banco de dados. O XML, por outro lado, pode armazenar
dados semi-estruturados, ou seja, aqueles cuja estrutura não foi ou não pode ser
formalmente definida. Como o XML não exige estruturas formais, acaba por se tornar
um repositório ideal para esse tipo de dados.
Isso não quer dizer que o XML também não possa funcionar com dados altamente
estruturados.
O XML é usado como formato de transmissão para dados armazenados em
bancos de dados relacionais, pois é capaz de transmitir ou armazenar dados
estruturados e semi-estruturados em uma sintaxe única e, portanto, usando um conjunto
comum de ferramentas. Quando se deseja trabalhar com dados altamente estruturados,
cria-se um Document Type Definition (DTD) ou esquema chamado XML schema que
impõe as unidades conceituais e a estrutura dos dados. Essa restrição adicional é
conhecida como a restrição de validação do documento XML: um documento XML deve
ser bem formado para ser válido, mas não precisa ser válido para ser bem formado. A
restrição de validação é uma camada adicional sobre os requisitos da sintaxe XML
básica e, portanto, não é exigida. Embora não seja obrigatória, aplicar a restrição de
validação é útil ao compartilhar dados marcados em XML ou ao atribuí-los a um banco
de dados estruturado. Os padrões relacionados a XML, a DTDs e XML schema atingem
essa camada adicional de conformidade, definindo um estrutura descendente do um
documento XML explicitando as características que marcadas.
5

Para iniciar no XML, é necessário apenas conhecer as regras de boa formação e


os componentes obrigatórios de um documento XML. É recomendável usar um editor
de texto que reconheça XML, pois ele fornecerá as construções sintáticas necessárias.
Os componentes de XML incluem: a declaração XML, elementos, atributos, comentários,
instruções de processamento, PCDATA e CDATA, além de referências de entidade.

V.1.2.1- A DECLARAÇÃO XML

Na maioria dos casos, os documentos XML contêm uma declaração que identifica
o como XML. A “declaração XML” especifica informações úteis para o parser XML, ainda
que não sejam exigidas. Se não existir uma declaração XML, o parser usa suposições.
Embora a declaração não seja necessária, a declaração XML é uma boa prática, uma vez
que deixa explícito o que deve ser feito para que as pessoas possam ter informações
adicionais sobre os dados. Uma amostra de declaração XML é:

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

A declaração possui vários componentes: começa “<?xml” e termina com “?>”. A string
“xml” na marcação deve ser minúscula e distingue a declaração XML de uma outra de
instrução XML genérica de processamento (vide adiante). Além da marcação inicial e
final da declaração, existem outras partes obrigatórias e opcionais que ocorrem na
declaração. Uma parte necessária é a versão: trata-se de um par de chave-valor: o nome
ou chave é version e seu valor é a versão da especificação XML à qual o documento está
em conformidade. Como o XML 1.1 nunca foi totalmente adotada, o uso mais comum da
versão será indicar a conformidade com a especificação XML 1.0. Se surgir a versão XML
2.0, as declarações XML vão conter versão = '2.0'.
A primeira parte opcional da declaração XML é a codificação, a qual indica o tipo
de codificação de caracteres usada no documento. Há uma grande variedade de
codificações de caracteres como a ISO-8859-1, também chamada de Latin-1, usada no
Windows e na maioria dos países ocidentais. Porém, essa codificação não é usada na
versão ocidental do Mac-OS e não funciona para a maioria dos países não ocidentais.
Outro exemplo são as codificações EUC-JP e SHIFT-JIS usadas no Japão. O ANSEL é um
conjunto de caracteres usado em muitos aplicativos de bibliotecas, mas não é suportado
6

por parsers XML. O Unicode, disponível em UTF-8 ou UTF-16, é um conjunto de


caracteres que pode lidar com a maioria dos idiomas existentes. Como o UTF-8 é a
codificação padrão para documentos XML, o sucesso do XML como formato de
transmissão e armazenamento de dados promoveu significativamente o uso do Unicode
na Web. Isso resultou em um grande benefício para a integração de dados e contribuiu
para um dos sucessos do XML. Para indicar a codificação na declaração do documento
XML usa-se um par de chave-valor de codificação. O valor da chave “encoding” é a
codificação do conjunto de caracteres usada no documento XML. Um exemplo de como
isso parece na marcação é encoding= 'UTF-8'.
Há também uma declaração opcional de documento independente, ou
standalone. Esse par chave e valor é usado nos DTDs: quando a chave standalone tem o
valor yes, o processador XML é informado de que nada externo ao documento é
necessário para concluí-lo. O processador pode assim eliminar a possibilidade de
carregar um DTD. Quando o atributo standalone é omitido, o valor no é assumido. Um
exemplo de como isso aparece na marcação é standalone = 'no'.
A declaração XML é opcional ao documento XML, mas uma vez incluída deve ter
a declaração version. A inclusão ou não de declarações standalone ou de encoding
depende do autor. Como as DTDs são um padrão antigo existem melhores alternativas
para validar XML, é comum ver as declarações version e encoding, mas não a declaração
standalone.

V.1.2.2- ELEMENTOS

Os elementos XML são os blocos de construção básicos de um documento XML.


Elementos são identificados por colchetes angulares ( < ou >) que encapsulam o nome
do próprio elemento. Os elementos têm marcas de início e fim, por exemplo, o nome
do elemento entre colchetes angulares, mais o valor de conteúdo textual, incluído
entre as duas marcas. Um exemplo de elemento XML ajuda a entender:

<topic>The Extensible Markup Language</topic>

Neste exemplo, o nome do elemento é “topic”. O XML diferencia maiúsculas de


minúsculas, portanto o topic é diferente de Topic, TOPIC ou ToPiC. De acordo com as
7

regras sintáticas do XML, a primeira e a última marcação de um elemento devem ser a


mesma palavra e com a mesma capitalização (maiúsculas ou minúsculas), o que é
diferente do HTML que aceita as marcas iniciais com um capitalização diferente das
finais. Além da distinção entre maiúsculas e minúsculas nos nomes de elementos,
existem regras adicionais para nomear elementos XML. A primeira delas é que os nomes
de elementos podem conter letras, números e outros caracteres, mas não devem
começar com pontuação ou número. Os nomes de elementos também não podem
começar com a string xml em qualquer forma, seja XML, Xml, xml etc. Os espaços em um
nome também não são aceitos.
A inclusão de pontuação no nome do elemento é mais complicada: o sublinhado,
o hífen, o ponto e os dois pontos são permitidos, embora esse último tenha significado
especial (vide adiante em namespaces). Outros sinais de pontuação, no entanto, não são
permitidos, o que inclui caracteres reservados para marcação: colchetes angulares, o
“e comercial” (&), apóstrofos, ponto e vírgula, barras e pontos de interrogação.
Exemplos de elementos bem formados, que aderem às regras sintáticas do XML, são:

<lastname>Clarke</lastname>

<firstName>Caitlin</firstName>

<Middle_Name>Lassiter</Middle_Name>

Esses elementos XML não são bem formados, não atendem regras sintáticas:

<100_Field>Clarke, Caitlin</100_Field>

<First Name>Kylie</First Name>

<lastName>Clarke</LastName>

O XML é criticado por sua “verbosidade”. Embora permita que o autor do


documento nomeie os elementos como desejar, práticas recomendadas incentivam o
uso de nomes descritivos e breves. Por outro lado, um dos pontos fortes do XML é que
ele é legível por pessoas, mas é bom lembrar que os dados marcados também são
transmitidos entre máquinas. Nomes como first_middle_and_last_name são
tecnicamente aceitáveis, mas não podem não ser suficientes para identificar dados
marcados em vários contextos.
8

Elementos simples, como os descritos até aqui – dados de marcação ou o nome


do elemento –podem dar dicas sobre o conteúdo do elemento. Por si só, um elemento
XML individual não é tão útil, mas elementos em conjunto permitem modelar estruturas
de dados complexas e em diferentes granularidades. Veja o exemplo do nome de uma
pessoa:

<first>Kylie</first>
<middle>Harrison</middle>
<last>Clarke</last>

Neste exemplo, os elementos XML são “irmãos”, ou seja, estão no mesmo nível.
Existe uma relação entre os elementos que é indicada por sua co-ocorrência. O XML
também pode marcar outros tipos de relacionamentos, por exemplo, a hierarquia dá um
sentido de subsunção (é-um). Considere os elementos de exemplo em um contexto mais
completo:
<name>
<first>Kylie</first>
<middle>Harrison</middle>
<last>Clarke</last>
</name>

Neste exemplo, verifica-se uma relação entre irmãos, além de uma relação pai-filho entre
os elementos das linhas 2,3 e 4 e o elemento name. O XML modela a hierarquia de usando
elementos container, os quais são elementos que contêm outros elementos. No caso do exemplo
acima, o elemento name é um elemento de contêiner para o primeiro, o meio e o último
elementos. Quanto mais containers de elemento, ou níveis de aninhamento de elemento, em um
documento, mais complexo ele se torna. Ao criar documentos XML não triviais, é importante
lembrar que as regras sintáticas exigem um formato estrito para o aninhamento. Para que o seja
considerado bem formado, todas as marcas de início e de fim dos elementos devem estar
aninhadas corretamente. Quando a marca inicial de um elemento está dentro de outro elemento,
sua marcar final também deve estar dentro desse mesmo elemento. Considere, por exemplo, o
seguinte fragmento XML e observe que todas as marcas – inicial e final – abrem e fecham dentro
de seu próprio escopo, não há sobreposição:
<person>
<name>
<first> Sullivan </first>
<middle> Ryan </middle>
</last> Clarke </last>
</name>
9

</person>

Um exemplo de elementos de containers que não estão bem formados é apresentado a


seguir para comparação. O XML requer que os elementos sejam fechados na ordem em
que foram abertos, mas no exemplo abaixo o elemento name é fechado antes do último
elemento, o que não atende as regras de um XML bem formado.

<person>
<name>
<first> Sullivan </first>
<middle> Ryan </middle>
<last> Clarke </name>
</last>
</person>

Outro tipo de elemento encontrado nos documentos XML é o elemento raiz. Cada
documento XML tem um único elemento raiz, o qual contém todos os outros elementos
do documento. Usando a analogia de uma árvore invertida, o elemento raiz é o elemento
de nível superior e todos os outros elementos são hierarquicamente subordinados a ele.
Se um documento contiver dois elementos de nível superior, não se trata documento
bem formado. O elemento raiz estabelece os limites do conteúdo do documento. Para
fins de ilustração, um documento bem formado é o seguinte:

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


< pessoa >
< pessoa >
<nome> Kylie Harrison Clarke </nome>
</pessoa>
<pessoa>
<nome> Caitlin Lassiter Clarke </nome>
</pessoa >
</pessoa >

Se os mesmos dados são usados sem encapsular os elementos person em um


elemento raiz, o documento passa a não estar bem formado. A seguir, é apresentado um
exemplo de um documento que tem vários elementos raiz. Não se trata de um XML bem
formado e não pôde ser analisado por um parser XML que relataria um erro, indicando
que o documento não possui um único elemento raiz.

<? xml version = codificação '1.0' = 'UTF-8'?>


10

<person>
<name> Kylie Harrison Clarke </name>
</person>
<person>
<name> Caitlin Lassiter Clarke </name>
</person>

O último tipo de elemento usado em documentos XML é o elemento vazio.


Elementos vazios são como outros elementos, exceto pelo fato de que não contêm dados
textuais. Há muitas razões para a existência de um elemento vazio e apenas sua presença
pode indicar algo sobre o que os dados descritos. A aparência de um elemento vazio é
semelhante à da marca normal, de um elemento de fechamento. Uma marca usada para
fechar um elemento normal tem uma barra antes do nome como em </closing>. Por
outro lado, um elemento vazio tem sua barra no final da marca do elemento como em
<empty />. Também é aceitável usar a estrutura de marcação de um elemento padrão
para indicar o elemento vazio. Elementos XML vazios também são usados para
transportar atributos XML, discutidos adiante. Ambos os exemplos abaixo são XML bem
formados:

<emptyElement> </emptyElement>

<emptyElement />

O conteúdo misto não é tanto um tipo diferente de elemento, mas uma maneira
de usar elementos para marcar dados centrado em documentos. O XML pode ser usado
para marcar metadados e para marcar texto completo. Metadados, ao contrário do
documentos textos completos, têm uma estrutura consistente e por isso as vezes
recebem o nome de marcação centrada em dados. Geralmente são gerados ou
processados pelas máquinas. A marcação centrada em documentos, por outro lado, é
uma marcação com probabilidade de ser lida por humanos, embora também possa ser
processada mecanicamente. Um exemplo de marcação centrada no documento pode ser
uma página HTML com corpo, parágrafos e palavras individuais marcadas nesses
parágrafos:

<body>

<p> Este é um parágrafo com palavras <strong> significativas </strong> que precisam ser <strong> distintas umas
</strong> das outras. </p>
</body>
11

A marcação acima difere da usada até aqui porque os elementos contêm além de
texto, também outros elementos. A inclusão tanto de elementos de texto e elementos
filho em um outro elemento é conhecida como conteúdo misto. O conteúdo misto é
comum quando se trabalha com material destinado ao consumo humano. É menos
provável que se encontre esse tipo ao trabalhar com dados provenientes de um banco
de dados, embora às vezes as os bancos armazenem grandes fragmentos de texto
marcado por pessoas.

V.1.1.3- ATRIBUTOS

Os atributos XML podem ser adicionados aos elementos para descrever


características ou propriedades, ou seja, dados sobre o nome do elemento. Os
atributos funcionar como adjetivos, modificando o significado dos elementos.
Considere esta variação nos exemplos anteriores:

< person >


<name type = 'first'> Sullivan </name>
<nome tipo = "middle"> Ryan </name>
<name type = 'last'> Clarke </name>
</person>

Em vez de criar elementos individuais para cada parte de um nome, pode-se


escolher considerar atributos do elemento nome. Em XML, isso seria realizado usando
um atributo type em um elemento de nome genérico. Os elementos podem ter vários
atributos, mas um elemento não têm dois atributos com o mesmo nome. Se isso
acontecer, o elemento não é bem formado. As regras para nomear atributos são
similares aquelas para nomear elementos. Por exemplo, nomes de atributos não podem
ter espaços e nem começar com números. Algum tipo de pontuação é permitida, mas
alguns tipos são reservados para a marcação XML, como já citado (o “e comercial”,
colchetes angulares, aspas simples e duplas, etc.).
Assim como elementos têm regras sobre o aninhamento de elementos-filho, os
atributos têm regras sobre o uso de delimitadores de valor. Para indicar o valor de um
12

atributo, usa-se um sinal de igual seguido por duas aspas. As aspas podem ser aspas
duplas ou podem ser aspas simples, uma em cada lado do valor, ainda que não se possa
misturar os dois tipos de aspas. Assim, o valor do atributo precisar ser quebrado por
aspas do tipo oposto, por exemplo:

<message text = 'Rosie vai ao baile hoje à noite.' />


<message text = "Rosie vai ao baile hoje à noite." />
<message text = "Ronald recebeu a mensagem de Rosie a tempo." />
<message text = "" Obrigado, " disse Ronald '/>

Não há regras claras para quando usar atributos ou elementos filho. Alguns
preferem não usar atributos e outros que os veem como parte essencial do XML.
Algumas diretrizes podem ser úteis, por exemplo, atributos são considerados
modificadores dos elementos XML nos quais ocorrem. Além disso, em uma estrutura
adicional, um atributo não seria uma boa escolha porque, diferentemente dos
elementos, atributos não têm filhos.

V.2.5- Comentários

Os comentários são um tipo de marcação que permite ao autor inserir


informações que não se destinam à exibição ou processamento do documento,
fornecendo uma maneira de fazer aditivos a um documento XML. Os comentários podem
ser usados para documentar decisões, deixar notas explicativas, sinalizar áreas que
precisam ser revisadas ou comentar segmentos de marcação que não devem ser
processados pelo parser XML. Os comentários começam com “<!-” e terminam com “-
>”. No elemento final, os comentários não podem conter hifens duplos (-) ou a marcação
de comentário final (->). Fora isso, podem conter qualquer outro texto ou marcação. Os
comentários ocorrem fora das marcas do elemento e não podem ser incluídos ali, o que
inclui a proibição de ocorrências dentro de atributos. Alguns exemplos de comentários
bem formados:

<! - É aqui que o documento inicia ->


13

<! - não use: <autor /> ->


Alguns exemplos de comentários que não são bem formados:

<! - conteúdo: introdução - história - discussão - conclusão ->

<autor <! - atribua aqui -> type = 'livro' />

V.1.2.4- ENTIDADES

A marcação de documentos XML requer o uso de certos caracteres de significado


específico na sintaxe. Para incluir esses caracteres reservados no conteúdo de um documento
deve haver uma maneira de codificá-los para que eles não confundam os parsers XML, para os
quais ocorrência indica marcação. Isso é realizado usando referências de entidade. Os cinco
caracteres reservados no XML são o “e comercial”, a apóstrofe, as aspas, o símbolo maior que e
o símbolo menor que. As referências de entidade equivales estão à esquerda:

&lt; < menor qu

&gt; > maior que

&amp; & “e comercial”

&apos; ’ apostrofe

&quot; ” aspas

Quando, por exemplo, um autor precisa incluir um “e comercial” em um documento XML,


isso pode ser feito usando a referência de entidade “&amp;”; se um apóstrofo é necessário no
valor de um atributo usa-se a referência de entidade “&apos;”. Por exemplo:
<publisher>Smith &amp; Sons, inc.</publisher>

<message text=’Jada &apos;s first dog was named Rain’/>

Além das cinco referências internas, as referências de entidades podem ser


usadas para outros fins. Por exemplo, existem versões numéricas de entidades de
caracteres no conjunto de caracteres Unicode que vem em dois tipos: referências
decimais e referências hexadecimais. ; A referência decimal para o euro é “&#8364;” e a
referência hexadecimal é “&# 20AC”.
14

V.1.2.5- INSTRUÇÕES DE PROCESSAMENTO

De construção semelhante a uma declaração XML, as instruções de


processamento fornecem um mecanismo para passar instruções à aplicativos que
processam um documento XML. As instruções têm uma sintaxe comum, começando com
“<?” e terminando com “?>”, mas, além disso, funcionam com qualquer aplicação que
processe as instruções necessárias. Um exemplo de instruções de processamento é:

<? xml-stylesheet href = "display.xsl" type = "text / xsl"?>

<? incluir dados?>

Talvez o uso mais comum das instruções de processamento é a inclusão da


instrução xml-stylesheet, as quais seguem a declaração XML e precedem o elemento
raiz do documento, para informar aos navegadores Web com transformar o XML.

V.1.2.6- SEÇÕES CDATA

Em algumas situações, a necessidade de referências de entidade pode se tornar


excessiva, por exemplo, em grandes blocos de marcação. Isso pode ser feito com as
referências de entidade, mas isso se torna pouco produtivo. As seções CDATA fornecem
uma alternativa ao uso de referência de entidades para muitas marcações. Usando a
CDATA, o autor pode indicar blocos de texto que não devem ser analisados pelo parser
XML.
As seções CDATA são indicadas usando a marcação < ! [CDATA [ ] ] >. Qualquer
coisa dentro dos colchetes internos é ignorada pelo parser. As seções CDATA funcionam
melhor em grandes blocos de texto porque podem ser confusos quando o autor alterna
os modos, por exemplo, referências de entidade dentro de uma seção CDATA não são
funcionam para a entidade que representam. Um exemplo de seção CDATA mostrando
o elemento pessoa usado no elemento seção ilustra como usá-las:
<example>
<! CDATA [
< person >
<name type = 'first'> Sullivan </name>
<nome tipo = "middle"> Ryan </name>
15

<name type = 'last'> Clarke </name>


</person>
]>
</example>
O único requisito desse tipo de seção é que ela não possa contenha o marcador
final “]>” pois isso encerraria prematuramente a seção. Pode-se contornar essa situação
finalizando o bloco CDATA antes dos caracteres finais e, em seguida, usar uma
sequência simples com uma referência de entidade para o símbolo maior que – por
exemplo “] ]>” – para concluir a sequência ausente.

V.1.3- NAMESPACES XML

Embora o XML possa ser usado em um único ambiente de dados, na maioria das vezes é
usado para compartilhamento de dados entre pessoas. Quando isso acontece, é desejável
combinar elementos de duas ou mais estruturas em um único documento. No entanto, existe a
possibilidade de ambiguidade uma vez que cada estrutura pode ser definida de forma
independente. Um elemento nome em um contexto pode significar algo diferente do elemento
nome em outro contexto.
Os namespaces XML são projetados para lidar com essa situação. Definem um escopo
exclusivo para nomes de elementos de forma que os nomes se mantenham únicos, mesmo se os
elementos de um documento são misturados a elementos de outro. Os namespaces são
declarados usando uma Uniform Resource Identifier (URI), exclusiva, um tipo de Uniform Resource
Locator (URL) usado na Web para identificar sites. A URL é associada aos nomes dos elementos
de forma a criar um nome exclusivo mesmo que em diferentes contextos. Ao pensar em
namespaces, é útil pensar na URI como um anexo do nome do elemento local. Exemplos de nomes
de elementos com seus namespaces são:

{http://www.loc.gov/mods/v3}title

{http://www.tei-c.org/ns/1.0}title

{urn: isbn: 1-931666-22-9}

Essa sintaxe para representar a associação entre URIs e nomes de elementos não
é oficial, mas é fornecida para ilustrar o relacionamento entre os dois componentes de
um nome de elemento qualificado. Um nome de elemento qualificado é um nome
16

associado a uma URI de um namespace por meio de um prefixo ou em virtude do


namespace ser definido como o padrão para documento XML. Essas duas opções são
explicadas em mais detalhes abaixo.
Todos os elementos mostrados acima são elementos title, mas cada um é distinto
porque existe namespace exclusivo: os dois primeiros namespaces são URLs e o último
é um Uniform Resource Name (URN), outro tipo de URI. Usando namespaces, é possível
combinar todos os três elementos title no mesmo documento sem confusão de
significado ou ambiguidade.
Os namespaces podem ser definidos na parte superior do documento, no
elemento raiz ou em qualquer outro ponto. Um namespace se aplica a todos os
elementos-filhos abaixo do elemento onde ele está definido. É possível redefinir o
namespace padrão de um documento várias vezes na hierarquia do documento, mas
namespaces não se aplicam a atributos, a menos que estejam associados ao atributo por
meio de um prefixo namespace.
Os prefixos de namespace são uma maneira de associar nomes de elementos à
URI do namespaces. Prefixos são usados quando há mais de um namespaces definido em
um documento. O documento XML a seguir usa dois e namespaces, um definido como
padrão para o documento e outro associado a um prefixo namespaces.

<mads xmlns = http: //www.loc.gov/mads/ xmlns: mods = "http://www.loc.gov/mods/ v3">


< authority>
<mods: name>
<mods: namePart> Smith, John </ mods: namePart>
<mods: namePart mods: type = "date"> 1995 - </ mods: namePart>
</ mods: name>
</authority>
</mads>

O namespace padrão do documento é “http://www.loc.gov/mads/”; o outro


namespaces, nomeado usando a URI “http://www.loc.gov/mods/v3”, está associado ao
prefixo do namespaces “mods”. O namespaces padrão se aplica a todos os elementos no
documento que não possuem um namespace e que residem abaixo do elemento no qual
namespaces para “name” está definido. O namespace associado ao prefixo “mods” se
aplica a todos os elementos e atributos cujos nomes são prefixados com “ mods” e que
estejam abaixo do elemento no qual ele foi definido.
17

Não é necessário usar namespaces XML se não se planeja compartilhar


documentos fora de certo contexto. Mesmo em um XML não compartilhado, se outros
elementos XML forem trazidos para o ambiente, um prefixo de namespaces pode ser
usado para distinguir os elementos locais dos externos. Embora os namespaces sejam
referenciados a partir de XML schemas, não há conexão direta entre o namespaces e a
validação de documentos XML. Os namespaces fornecem o contexto no qual os nomes
são usados e podem ser usados sem esquemas XML. Vale ressaltar que não há suporte
interno para namespace nas DTDs.

V.1.4-USOS ESPECÍFICOS NA BIBLIOTECONOMIA E CIÊNCIA DA INFORMAÇÃO

O ponto forte do XML é fornecer uma sintaxe a partir da qual outras linguagens
de marcação, mais específicas, possam ser criadas. Os bibliotecários aproveitaram-se
disso para marcar estruturas de dados exclusivas para suas necessidades. A
disponibilidade de uma sintaxe de marcação genérica também gerou iniciativas para
promover a cooperação entre instituições de conhecimento e culturais, como por
exemplo, museus, bibliotecas e arquivos.
A partir desses esforços, surgiram vários padrões baseados em XML. Dentre os
mais notáveis estão o Metadata Object Description Schema (MODS); o Metadata Encoding
and Transmission Standard (METS), o Visual Resources Association’s Core Element Set
(VRA Core); o Metadata for Images in XML standard (MIX); o Library of Congresses’
Preservation Metadata Implementation Strategies Schema (PREMIS).
O METS é um tipo de extrator de uso geral para instituições culturais que
descreve a estrutura de objetos que podem ser intercambiados via Web, além de um
extrator de metadados para outros formatos XML relacionados aos objetos digitais. Por
exemplo, um extrator METS pode conter um registro MODS que fornece a descrição
bibliográfica para uma imagem digital; também pode conter um registro MIX que marca
os metadados técnicos associados à imagem. Embora detalhes de padrões XML
específicos para biblioteca estejam além do escopo dessa seção, um exemplo de
registro MODS é útil para fins de ilustração:
18

<?xml version=“1.0” encoding=“UTF-8”?>


<mods xmlns:xlink=“http://www.w3.org/1999/xlink” xmlns:xsi=“http:// www.w3.org/2001/XMLSchema-instance”
xmlns=“http://www.loc.gov/mods/v3” version=“3.0” xsi:schemaLocation=“http://www.loc.gov/mods/v3 http://
www.loc.gov/standards/mods/v3/mods-3-0.xsd”>
<titleInfo>
<title>Directory of computer assisted research in musicology</title>
</titleInfo>
<titleInfo type=“alternative”>
<title>Computer assisted research in musicology</title>
</titleInfo>
<name type=“corporate”>
<namePart>Center for Computer Assisted Research</namePart>
</name>
<typeOfResource>text</typeOfResource>
<genre authority=“marc”>directory</genre>
<originInfo>
<place>
<placeTerm authority=“marccountry” type=”code”>cau</ placeTerm>
</place>
<place>
<placeTerm type=“text”>Menlo Park, CA</placeTerm>
</place>
<publisher>Center for Computer Assisted Research</publisher>
<dateIssued>-1988</dateIssued>
<dateIssued encoding=“marc” point=“start”>1985</dateIssued>
<dateIssued encoding=“marc” point=“end”>1988</dateIssued>
<issuance>continuing</issuance>
<frequency>Annual</frequency>
</originInfo>
<language>
<languageTerm authority=“iso639-2b” type=“code”>eng</languageTerm>
</language>
<physicalDescription>
<form authority=“marcform”>print</form>
<extent>4 v.: ill., music; 26 cm.</extent>
</physicalDescription>
<note>Description based on: 1986.</note>
<subject authority=“lcsh”>
<topic>Musicology</topic>
<topic>Data processing</topic>
<topic>Periodicals</topic>
</subject>
<subject authority=“lcsh”>
<topic>Music</topic>
<topic>Bibliography</topic>
<topic>Periodicals</topic>
</subject>
<subject authority=“lcsh”>
<topic>Musicians</topic>
<topic>Directories</topic>
</subject>
<subject authority=“lcsh”>
<topic>Musicologists</topic>
19

<topic>Directories</topic>
</subject>
<subject authority=“lcsh”>
<topic>Musicology</topic>
<topic>Data processing</topic>
<topic>Directories</topic>
</subject>
<classification authority=“lcc”>ML73 .D57</classification>
<classification edition=“19” authority=“ddc”>780/.01/02584</ classification>
<relatedItem type=“succeeding”>
<titleInfo>
<title>Computing in musicology</title>
</titleInfo>
</relatedItem>
<recordInfo>
<recordContentSource>DLC</recordContentSource>
<recordCreationDate encoding=“marc”>861202</ recordCreationDate>
<recordChangeDate>20020320050438.0</recordChangeDate>
<recordIdentifier>11315879</recordIdentifier>
</recordInfo>
</mods>

O MODS permite que registros bibliográficos, armazenados em um sistema


integrado de bibliotecas, sejam compartilhados e usados em um formato mais acessível
que o MARC, o formato tradicional que transmite dados bibliográficos da biblioteca
desde os anos 1960. O XML também tem impactos mais diretos nas bibliotecas. Levou à
cooperação em escala global, o que inclui o uso por milhares de bibliotecas. Alguns
bibliotecários, por exemplo, usam o XML como um formato no qual os dados extraídas
de seus sistemas de bibliotecas integrados podem ser marcadas e transmitidas via Web.
É fácil reutilizar dados na página da Web ou em alertas por e-mail depois que os dados
da biblioteca são marcados. O XML fornece a equipe das bibliotecas a sintaxe comum
que pode ser aplicada em camadas, diferentes de outras aplicações e bancos de dados
proprietários. Permitir que os bibliotecários se abstraiam da “caixa preta” tradicional
de aplicativos a partir de uma linguagem de marcação baseada em texto permite
flexibilidade nos tipos de serviços a oferecer.
Esses dois tipos de usos de biblioteca, esquemas e mensagens, ilustram as duas
pontas de um continuum de aplicações possível com o XML. Ele pode ser usado da
maneira mais simples, como marcação para transmitir dados, ou pode ser usado de
forma global, como uma maneira de compartilhar dados e incentivar cooperação. Ao
abordar os usos universais do XML, é importante lembrar que não se trata de uma
20

panaceia. Na maioria das vezes, os problemas difíceis são administrativos ou culturais e


não técnicos. Embora forneça uma boa solução técnica para compartilhar, armazenar e
transmitir dados à plataformas e aplicativos, o XML muitas vezes lembra da necessidade
de cooperação e comunicação de nível mais alto entre as instituições.

Você também pode gostar