Sintaxe XML César Vittori cvittori@inf.ufrgs.br Outubro de 2000 Resumo Introdução à sintaxe XML. Marcação tradicional x marcação de documentos XML. Sintaxe XML
Marcação de documentos eletrônicos XML é uma linguagem para descrever o conteúdo de documentos armazenados eletronicamente legíveis por humanos processáveis por softwares Um arquivo de dados em formato XML contém: texto marcação XML Sintaxe XML 1
Marcação tradicional A forma mais simples de um documento eletrônico é um arquivo de texto comum ou fluxo de dados seqüência de caracteres que são lidos e processados por um software em ordem estrita Sistemas de typesetting utilizam instruções de marcação para possibilitar uma formatação mais flexível, exemplo: tá indo para *ITA POA *ROM amanhã? tá indo para POA amanhã? Sintaxe XML 2
Marcação XML Instruções de marcação XML são denominadas tags não especificam um estilo de apresentação particular identificam a natureza de um componente de texto As tags XML delimitam um objeto identificável no fluxo de dados Sintaxe XML 3
Marcação XML - elementos Start tag Elemento Conteúdo End tag Um elemento está formado por uma start-tag, uma end-tag e o conteúdo propriamente dito Sintaxe XML 4
Marcação XML (cont.) A start-tag e a end-tag encontram-se distribuídas no fluxo de dados delimitando objetos identificáveis Exemplo: tá indo para <nome>poa</nome> amanhã? Sintaxe XML 5
Estrutura de um documento XML Elementos podem conter outros elementos aninhamento de tags O documento completo encontra-se delimitado por um único elemento denominado elemento documento Sintaxe XML 6
Hierarquia da estrutura de um documento Pode ser visualizada de diferentes formas forma de árvore, caixas dentro de caixas, etc. Cada elemento deve estar completamente contido em outro elemento exemplo: uma seção não pode exceder o limite de um capítulo Sintaxe XML 7
Visualização da estrutura de um documento Livro Capítulo Seção Seção Sintaxe XML 8
Terminologia Do ponto de vista de um capítulo... capítulos adjacentes são denominados irmãos o elemento livro é denominado pai as seções que contém são denominadas filhos Sintaxe XML 9
Regras de estruturação Cada elemento possui um único pai Cada elemento possui um número arbitrário de irmãos e filhos um elemento sem filhos é denominado folha Exceção: o elemento documento não possui pai e não possui irmãos Sintaxe XML 10
Exemplo: um livro em sintaxe XML <livro> <capitulo> <secao> <para>...</para> <para>...</para> </secao> <secao> <para>...</para> </secao> </capitulo> <capitulo>...... </livro> Sintaxe XML 11
Estruturas hierárquicas É possível definir regras que expressam como os elementos podem ser combinados (estrutura hierárquica) DTD (Document Type Definition) Estruturas hierárquicas recursivas Um elemento pode conter direta ou indiretamente instâncias de mesmo tipo (uma seção pode conter outras seções) Sintaxe XML 12
Exemplo: estrutura hierárquica recursiva Exemplo: listas aninhadas <list> <item>...</item> <item>...</item> <item> <list> <item>...</item> <item>...</item> </list> </item> </list> Sintaxe XML 13
Atributos Um elemento pode conter informação adicional acerca de seu conteúdo estes metadados são armazenados em atributos Um elemento pode conter um número arbitrário de atributos cada atributo possui, no mínimo, nome e valor um atributo possui um tipo quando é utilizada uma DTD uma DTD pode associar um valor default a um atributo Sintaxe XML 14
Atributos reservados O padrão XML possui alguns atributos reservados seu nome começa sempre com "xml:" Exemplo: língua utilizada xml:lang Sintaxe XML 15
Exemplo: atributos <livro isbn="85.241.0590-9"> <capitulo capnum="3"> <secao> <para>...</para> <para>...</para> </secao> <secao> <para>...</para> </secao> </capitulo> <capitulo capnum="4">...... </livro> Sintaxe XML 16
Instruções especiais Um documento pode conter instruções especiais para o processador XML Estas instruções estão contidas em declarações de marcação Sintaxe XML 17
Declarações de marcação Uma declaração de marcação é delimitada pelos caracteres "<!"e ">" <!... > Uma declaração de marcação pode conter um grupo de outras declarações de marcação o grupo é delimitado por "["e "]" <!... [ <!... > <!... > ]> Sintaxe XML 18
Declaração do tipo documento DTD definida em um recurso externo, apontado por um identificador de sistema <!DOCTYPE MeuLivro SYSTEM "MeuLivro.DTD"> DTD embutida no documento <!DOCTYPE MeuLivro [... ]> Sintaxe XML 19
Comentário Identificado pela palavra reservada "--" Comentário bem formado <!-- Este é um comentário --> Comentário com erro <!-- Este é um comentário --ILEGAL-- --> Sintaxe XML 20
Seção character data Em um segmento de texto character data os caracteres de marcação não possuem relevância possibilitam o uso de caracteres de marcação especiais no texto Delimitadas por "[CDATA[" e "]]" Exemplo: <![CDATA[Em XML a referência < é built-in.]]> Em XML a referência < é built-in. Sintaxe XML 21
Instruções de processamento Contém informação requerida por uma aplicação específica Não é especificada por uma declaração de marcação Delimitada pelos caracteres "<?" e "?>" Exemplo <para>seria bom finalizar a página <?ACME-paginator DO:new-page?> <pagebreak/> aqui.</para> Sintaxe XML 22
Declaração XML É uma instrução de processamento especial <?xml version="1.0" encoding="utf-8" standalone="yes"?> Parâmetros version indica a versão do documento (atualmente, existe somente uma versão) encoding indica o código de caracteres utilizado no documento standalone indica se um conjunto de declarações definido externamente contém informação que afeta a interpretação do conteúdo do documento (default é yes) Sintaxe XML 23
Outras declarações <!ENTITY... > <!NOTATION... > <!ELEMENT... > <!ATTLIST... > <![IGNORE[... ]]> <!INCLUDE[... ]]> Sintaxe XML 24