Escolar Documentos
Profissional Documentos
Cultura Documentos
Introdua A o XML PDF
Introdua A o XML PDF
Introdua A o XML PDF
Documentos
Se voc j est acostumado com a HTML ou a SGML, os documentos
XML parecer-lhe-o familiar. Um documento XML simples
apresentado a seguir:
Exemplo 1: um documento XML simples
<?xml version="1.0"?>
<piada>
<Joo>Diga <citao>boa noite</citao>, Maria.</Joo>
<Jos><citao>Boa noite, Maria.</citao></Jos>
<aplausos/>
</piada>
Algumas coisas podem sobressair-se para voc:
Elementos
Elementos so a mais comum forma de marcao. Delimitados pelos
sinais de menor e maior, a maioria dos elementos identificam a
natureza do contedo que envolvem. Alguns elementos podem ser
vazios, como visto acima; neste caso eles no tm contedo. Se um
elemento no vazio, ele inicia com uma marca de incio , <element>, e
termina com uma marca de trmino, </element>.
Atributos
Referncias a Entidades
A fim de introduzir a marcao em um documento, alguns documentos
foram reservados para identificar o incio da marcao. O sinal de
menor, < , por exemplo, identifica o incio de uma marca de inicio ou
trmino. Para inserir estes caracteres em seu documento como
contedo, deve haver uma alternativa para represent-los. Em XML,
entidades so usadas para representar estes caracteres especiais. As
entidades tambm so usadas para referenciar um texto
freqentemente repetido ou alterado e inclu-lo no contedo de
arquivos externos.
Cada entidade deve ter um nome nico. A definio dos seus prprios
nomes de entidades discutido na seo declaraes de entidades.
Para usar uma entidade, voc simplesmente a referencia pelo nome.
As referncias s entidades iniciam com o E comercial e terminam com
um ponto-e-vrgula.
Por exemplo, a entidade lt insere um literal < em um documento. A
cadeia de caracteres <element> pode ser representada em um
documento XML como <<element>.
Uma forma especial de referncia a entidades, chamada de referncia
a caracter, pode ser usada para inserir arbitrariamente caracteres
Unicode em seu documento. Este um mecanismo para inserir
caracteres que no podem ser diretamente digitados pelo seu teclado.
Comentrios
Comentrios iniciam com <!-- e terminam com -->. Os comentrios
podem conter qualquer dado, exceto a literal "--". Voc pode colocar
comentrios entre marcas em qualquer lugar em seu documento.
Comentrios no fazem parte de um contedo textual de um
documento XML. Um processador XML no preciso para reconheclos na aplicao.
Instrues de Processamento
Instrues de processamento (PIs) so formas de fornecer
informaes a uma aplicao. Assim como os comentrios, elas no
so textualmente parte de um documento XML, mas o processador
XML necessrio para reconhec-las na aplicao.
As instrues de processamento tm a forma: <?nome dadospi?>. O
nome, chamado de alvo PI, identifica a PI na aplicao. As aplicaes
processariam somente os alvos que eles reconhecem e ignoram todas
as outras PIs. Qualquer dado que segue oalvo PI opcional; para a
aplicao que reconhece o alvo. Os nomes usados em PIs podem ser
declarados como notaes a fim de identific-los formalmente.
Os nomes de PI que iniciam com xml so reservados para a
padronizao da XML.
Sees CDATA
Em um documento, uma seo CDATA instrui o analisador para ignorar a
maioria dos caracteres de marcao.
Considere um cdigo-fonte em um documento XML. Ele pode conter
caracteres que o analisador XML iria normalmente reconhecer como
marcao (< e &, por exemplo). Para prevenir isto, uma seo CDATA
pode ser usada.
<![CDATA[
*p = &q;
b = (i <= 3);
]]>
ou IDREFS
O valor de um atributo IDREF deve ser o valor de um nico atributo
ID em algum elemento no documento. O valor de um atributo
IDREFS pode conter valores IDREF mltiplos separados por espaos
em branco.
4. ENTITY
ou ENTITIES
O valor de um atributo ENTITY deve ser o nome de uma
nica entidade (veja sobre declaraes de entidades abaixo). O
valor de um atributo ENTITIES pode conter valores de entidades
mltiplos separados por espaos em branco.
5. NMTOKEN
ou NMTOKENS
Atributos de smbolos de nome so uma forma restrita do atributo
de cadeia de caracteres. Em geral, um atributo NMTOKEN deve
consistir de uma nica palavra, mas no h restries adicionais
para a palavra; no tem que estar associado com outro atributo ou
declarao. O valor de um atributo NMTOKENS pode conter valores
NMTOKEN mltiplos separados por espaos em branco.
6. Uma lista de nomes
Voc pode especificar que o valor de um atributo deve ser pego de
uma lista especfica de nomes. Isto freqentemente chamado de
tipo enumerado, porque cada um dos valores possveis est
explicitamente enumerado na declarao.
Alternativamente, voc pode especificar que os nomes devem
atender a um nome de notao (veja sobre declaraes de notao
abaixo).
H quatro valores padro possveis:
#REQUIRED
"value"
Uma declarao de atributo pode especificar que um atributo tem
um valor fixo. Neste caso, o atributo no requerido, mas se ele
ocorrer deve ter o valor especificado. Se no estiver presente, ser
dado a ele o valor padro. Um uso de atributos fixos para associar
Entidades Internas
Entidades internas associam um nome com uma cadeia de
caracteres ou texto literal. A primeira entidade no Exemplo 3 uma
entidade interna. Usando &ATI; em qualquer lugar do documento
inserir "ArborText, Inc" naquele local. Entidades internas permitem
a voc definir atalhos para textos freqentemente digitados ou
textos que se espera que sejam alterados, como o estado de
reviso de um documento.
Entidades internas podem incluir referncias para outras entidades
internas, mas errado elas serem recursivas.
A especificao XML pr-define cinco entidades internas:
<
>
&
'
"
Entidades Externas
Entidades externas associam um nome com o contedo de um
outro arquivo. Entidades externas permitem a documento XML
referenciar o contedo de um outro arquivo; elas contm ou texto
ou dados binrios. Se elas contm texto, o contedo do arquivo
externo inserido no ponto de referncia e analisado como parte
do documento referente. Dados binrios no so analisados e
podem somente ser referenciados em um atributo; eles so usados
para referenciar figuras e outro contedo no-XML no documento.
A segunda e a terceira entidades no Exemplo 3 so entidades
externas.
O uso de &boilerplate; inserir o contedo do arquivo /standard/
legalnotice.xml no local da referncia da entidade. O processador
XML analisar o contedo deste arquivo como se ele ocorresse
literalmente no local.
A entidade ATIlogo tambm uma entidade externa, mas o seu
contedo binrio. A entidade ATIlogo pode ser usada somente
como o valor de um atributo ENTITY (ou ENTITIES) (em um
elemento graphic, talvez). O processador XML passar esta
informao para a aplicao, mas ele no tenta processar o
contedo de /standard/logo.gif.
Entidades Parmetro
A entidade parmetro somente pode ocorrer na declarao de tipo
de documento. Uma declarao de uma entidade parmetro
identificada por "% " (porcento e espao) defronte ao seu nome na
declarao. O sinal de porcento tambm usado em referncias
para entidades parmetro, ao invs do E comercial. As referncias a
entidade parmetro so imediatamente expandidas na declarao
de tipo de documento e seu texto de substituio parte da
declarao, onde as referncias a entidades normais no so
expandidas. Entidades parmetro no so reconhecidas no corpo de
um documento.
Como foi visto, o contedo XML pode ser processado sem uma
declarao de tipo de documento. Entretanto, existem alguns casos
onde a declarao necessria:
Ambientes de autoria
A maioria dos ambientes de autoria precisa ler e processar
declaraes de tipo de documento a fim de entender e reforar o
modelo de contedo do documento.
Valores padres de atributos
Se um documento XML conta com valores padres de atributos,
pelo menos uma parte da declarao deve ser processada a fim de
se obter os valores padres corretos.
Manipulao de espaos em branco
CDATA #REQUIRED>
]>
<chapter>...</chapter>
Validao
Dada a discusso precedente de declaraes de tipos, conclui-se que
uns documentos so vlidos e outros no. Existem duas categorias de
documentos XML: bem formatados e vlidos.
Ligao
As especificaes XPointer e XLink, atualmente em desenvolvimento, introduz um
modelo ligao padro para a XML. Em considerao ao espao e o fato de que
rascunho da XLink ainda est sendo desenvolvido, o que segue um exame dos
recursos da XLink, em vez de uma descrio detalhada da especificao.
Em XLink, um link expressa um relacionamento entre recursos. Um recurso
qualquer local (um elemento, o seu contedo, ou uma parte do seu contedo, por
exemplo) que enderevel em um link. A natureza exata do relacionamento entre
os recursos depende da aplicao que processa o link e da informao semntica
fornecida.
Alguns destaques da XLink so:
Links Simples
Um link simples lembra fortemente um link HTML <A>:
<link xml:link="simple" href="locator">Texto do Link</link>
Um link simples identifica um link entre dois recursos, um dos quais o prprio
contedo do elemento do link. Este um link in-line.
Um localizador identifica o outro recurso. Um localizador pode ser um URL, uma
consulta ou um Ponteiro Extendido.
Links Extendidos
Links extendidos lhe permitem expressar relacionamentos entre mais de dois
recursos:
<elink xml:link="extended" role="annotation">
<locator xml:link="locator" href="text.loc">Texto</locator>
<locator xml:link="locator" href="annot1.loc">Anotaes</locator>
<locator xml:link="locator" href="annot2.loc">Mais Anotaes</locator>
<locator xml:link="locator" href="litcrit.loc">Literatura Crtica</locator>
</elink>
Este exemplo mostra como os relacionamentos entre um trabalho literrio,
anotaes e literatura crtica deste documento podem ser expressos. Note que este
link separado de todos os recursos envolvidos.
Links extendidos podem ser in-line, para que o contedo do elemento de ligao
(outro que no dseja elemento localizadores) participe no link como um recurso, mas
esse no necessariamente o caso. O exemplo acima um link out-of-line link, pois
no usa seu contedo como um recurso.
Ponteiros Extendidos
Referncias cruzadas com o mecanismo XML ID/IDREF (que similar ao mecanismo
#fragment em HTML) requer que o documento para o qual se est ligando tenha
ncoras definidas, onde os links so desejados (e tecnicamente requer que ID e
IDREF ocorram no mesmo documento). Este pode no ser sempre o caso, e algumas
vezes no possvel modificar o documento que voc deseja ligar.
Os XML XPointers tomam emprestados conceitos de HyTime e da Text Encoding
Initiative (TEI). Os XPointers oferecem a sintaxe que lhe permite localizar um
recurso atravs da rvore de elementos do documento que contm o recurso.
Por exemplo:
criana(2,piada).(3,.)
locazida a terceira criana (qulaquer que possa ser) da segunda piada no
documento.
Os XPointers podem expandir as regies da rvore. A expanso XPointer
span(criana(2,piada),criana(3,piada))
seleciona a segunda e terceira oldjoke no documento.
Alm da seleo atravs de elementos, os XPointers permitem a seleo por ID,
valores de atributos e correspodncia de cadeias de caracteres. Neste trabalho, o
XPointer
span(raiz()criana(3,set1)string(1,"Aqui",0),
raiz()ctriana(3,set1)string(1,"Aqui",4))
seleciona a primeira ocorrncia da palavra "Aqui". O link pode ser estabelecido por
um link extendido sem modificar o documento alvo.
Note que o alcance de um XPointer pode expandir uma seo estruturamente
invlida do documento. A especificao XLink no especifica como as aplicaes
devem tratar tais alcances.
Entendendo as Partes
Alguns documentos, particularmente documentos compostos que colaboram com
XLinks, so provavelmente compostos de elementos de mltiplos conuntos de
marcas. Por exemplo, um artigo tcnico pode ser escrito usando-se um DTD, mas
Estilo e Substncia
Os navegadores HTML so de difcil codificao. Embora alguns navegadores possam
basear sua formatao em Cascading Style Sheets (CSS), eles ainda contm
convenes de difcil codificao para documentos que no fornecem uma folha de
estilos. Um cabealho de primeiro nvel aparece da maneira correta, pois o
navegador reconhece a marca <h1>.
Novamente, visto que os documentos XML no tm um conjunto fixo de marcas,
testa aproximao no funcionar. A apresentao de um documento XML
dependente de uma folha de estilos.
A linguagem de folha de estilos padro para os documentos XML a Extensible Style
Language (XSL).
Outras linguagens de folhas de estilos, como Cascading Style Sheets, tambm so
suportadas.