Relatório do GPES Este relatório tem por objetivo, abordar a sintaxe XML. XML Estrutura do documento Um documento XML é uma árvore rotulada onde um nó externo consiste de: [1] • Dados de caracteres (uma seqüência de texto) • Instruções de processamento (anotações para os processadores), tipicamente no cabeçalho do documento. • Um comentário (nunca com semântica acompanhando). • Uma declaração de entidade (simples macros). • Nós DTD (Document Type Declaration) [1]. Um nó interno é um elemento, o qual é rotulado com: [1] • Um nome ou • Um conjunto de atributos, cada qual consistindo de um nome e um valor. Normalmente, comentários, declarações de entidades e informações DTD não são explicitamente representadas na árvore (ver figura 1) [1]. Figura 1: Árvore XML Regras para Nomes Começam com letras maiúsculas ou com _(traço sublinhado), o restante podem ser dígitos, letras ou: _(traço sublinhado), . (ponto) ou - (hífen) [5]. Não é permitida a utilização de espaço como também não é permitido o início do nome conter “xml”, pois “xml” é a própria especificação [5]. O uso de “:” (dois pontos) e “–“ (sinal de menos) é reservado aos namespaces. Há diversas convenções quanto ao uso de letras maiúsculas e minúsculas em XML, a mais indicada é usar letras minúsculas em XML e maiúsculas em HTML [5]. 1 Declaração XML É a primeira linha do documento. Identifica o documento como um documento XML, e relaciona a versão da XML usada [5]. <?xml version=”1.0”?> A declaração pode conter outros atributos para dar suporte a outros recursos, como codificação de conjunto de caracteres. E é opcional, um documento pode ser válido e não ter uma declaração [5]. XML Namespace Não é um padrão muito lembrado, ele associa um proprietário aos elementos. Isso possibilita que uma organização aumente os elementos existentes e rotule com clareza quem é responsável pela extensão. Evita conflitos de nomes sendo a única maneira de permitir a reutilização de estruturas padrão [5]. <competicao> <nome>João</nome> <nota>5 pontos</nota> <nome>Carla</nome> <nota>8 pontos</nota> <nome>Alice</nome> <nota>2 pontos</nota> </competicao> Notas podem ser dadas de outra forma: Erro: <competicao> <nome>João</nome> <nota>92 pontos</nota> <nota>A</nota> <nome>Carla</nome> <nota>80 pontos</nota> <nota>B</nota> <nome>Alice</nome> <nota>50 pontos</nota> <nota>C</nota> </competicao> Reparo do Erro com Namespaces: <competicao> <nome>João</nome> <prova:nota>92 pontos</prova:nota> <avaliação:nota>A</avaliação:nota> <nome>Carla</nome> <prova:nota>80 pontos</avaliação:prova:nota> <avaliação:nota>B</avaliação:nota> <nome>Alice</nome> <prova:nota>50 pontos</prova:nota> 2 <avaliação: nota>C</avaliação:nota> </competicao> Elementos e Atributos Convém lembrar que os atributos não podem ser hierárquicos, não podem conter sub-elementos, mas podes alterar um atributo para ser um elemento [3]. O elemento é um auxiliar, um complemento [3]. Os Atributos são partes ou propriedades dos elementos [2]. Em XML, todos os valores de atributos devem estar entre aspas [4]. Atributos são pares de valores nomeados que ocorrem dentro das marcas de início após o nome do elemento [4]. <Book Publisher="Manning">Programacao XML </Book> Book – elemento Publisher – atributo Tags As tags de elementos não podem se sobrepor [1]. Erro: <titulo>UTFPR<sub> Universidade Tecnológica Federal do Paraná </titulo> Campus Ponta Grossa</sub> Correção do erro <titulo>UTFPR <sub> Universidade Tecnológica Federal do Paraná </sub> <campus> Ponta Grossa</campus> </titulo> Comentário É delimitado por “<!--” e por “-->”. Eles podem aparecer entes ou após a marcação [5]. <!-- comment -->[1] Caracteres Especiais Podem ser digitados usando referências de caracteres Unicode [1]. & = &. Entidades 3 Os documentos são organizados fisicamente em entidades [5]. Qualquer arquivo ou recurso Web que possa ser “incluído” num arquivo XML é uma entidade. Entidade é também utilizada para referir a representação de caracteres especiais como conteúdo ou substituição de conjunto de caracteres e inclusões [2]. São usadas para referenciar um texto frequentemente repetido ou alterado e para incluí-lo no conteúdo de arquivos externos [4]. Elas são inseridas no documento por meio de referências de entidade (o nome da entidade entre um caractere & e um sinal de ponto e vírgula). Para a aplicação, a referência de entidade é substituída pelo conteúdo dessa entidade [5]. Cada entidade deve ter um nome único, para usar uma entidade o nome é referenciado. As referências às entidades iniciam com o E comercial (&) e terminam com um ponto-e-vírgula [4]. Utilização de entidades para substituição de entidade por um conjunto de caracteres: <!ENTITY BookName “Programação XML”> [2] A entidade &BookName; pode ser utilizada no documento em qualquer local onde esta seja referenciada, sendo esta substituída pelo conjunto de caracteres "Programação XML" [2]. Folhas de estilo Para publicação e gerenciamento. XSL é a folha de estilo padrão da XML. Entidade utfpr[5] <universidade>&utfpr;</universidade> <universidade>Universidade Tecnológica Federal do Paraná</universidade> O Quadro 1 exibe as entidades pré-definidas[5] . Quadro 1: Entidades pré-definidas Entidades pré-definidas < O sinal de menor ‘<’ deve ser substituído por < & O símbolo & deve ser substituído por & > O sinal de maior ‘>’ deve ser substituído por &após na combinação ]]> em seções CDATA ' Pode substituir o apóstrofo “ ‘ ” essencialmente em valor de parâmetro " Pode substituir as aspas “ “” ”, essencialmente em valor de parâmetro Erro: <empresa> Sousa & Ricken <empresa> Correção: <empresa> Sousa & Ricken <empresa> Browsers 4 Realizam várias funções, dentre elas análise e validação de documentos XML, apresentação visual (rendering) com XSL e CSS, e acesso aos scripts via DOM [6]. É importante lembrar que a minora dos sítios na internet está efetivamente pronto a utilizar XML, pela simples razão de existir um número pequeno de browsers que suportam XML [2]. Microsoft Internet Explorer 4.0, 5.0, 5.5 e o próximo 6.0 todos suportam XML [2]. Netscape tem algum suporte para XML no Communicator/Navigator 6.0. e também tem um alargado suporte ao RDF (Resource Description Format) para apresentar o que a Netscape chama de "completa integração da informação do escritório” [2]. Referências [1] Definição conceitual do XML Disponível em:<http://www.gta.ufrj.br/grad/00_1/miguel/link5.htm>. acesso em 16-abr-2007. [2] Top XML: Aprender XML. Disponível em:<http://www.topxml.com/xml/learn/LearnXML.pt.asp>. acesso em: 03-maio-2007. [3] CARDOSO, C. HTML: Programação de Home Pages na Internet. Rio de Janeiro: Axcel Books, 1996. [4] Introdução XML.doc. XML. 3 maio. 2007. 1 disquete. Word for Windows XP. [5] MARCHAL, B. XML: Conceitos e Aplicações. São Paulo: Berkeley, 2000. 548 p. ISBN 85-7251-564-X (arrumar) [6] XML – Extensible Markup Language: Ferramentas XML. Disponível em:<http://www.gta.ufrj.br/grad/00_1/miguel/link11.htm>. acesso em:03-maio-2007. 5