Guia de Consulta Rápida XML. Otávio C. Décio. Novatec Editora



Documentos relacionados
XML Básico. Murillo Vasconcelos Henriques B. Castro. 17 de maio de 2011

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS

XML XML. XML extensible Markup Language HTML. Motivação. W3C: World Wide Web Consortium XML 1.0. Mário Meireles Teixeira DEINF-UFMA

extensible Markup Language (XML) XML é uma linguagem de anotação. XML utiliza tags para descrever informação.

Desenvolvimento em Ambiente Web. HTML - Introdução

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Bem-vindo ao XML. Apostila de XML

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

Internet. Gabriela Trevisan Bacharel em Sistemas de Infomação

UFG - Instituto de Informática

Serviços Web: Arquitetura

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

Web Design Aula 11: XHTML

Introdução a Web Services

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 06: Introdução Linguagem HTML

Este relatório tem por objetivo, abordar a sintaxe XML.

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi

Técnicas e processos de produção. Profº Ritielle Souza

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

XHTML 1.0 DTDs e Validação

Como usar as Instruções de Embarque avançadas em PDF

XML (extensible Markup Language) por. Rafael Port da Rocha. (Notas de Aula)

HTML Página 1. Índice

O Gerenciamento de Documentos Analógico/Digital

Gerenciamento do ciclo de vida de um documento Simone de Abreu

DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP. VitorFariasCoreia

agility made possible

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML

2 Ferramentas Utilizadas

UNIVERSIDADE. Sistemas Distribuídos

Web Services. Autor: Rômulo Rosa Furtado

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de

ftp://ftp.cr-df.rnp.br/pub/netinfo/training/rnp/kit-bsb/html/guia5.zip 1996 Tutorial - Autoria em World Wide Web

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Especificação do Trabalho

Aula de JavaScript 05/03/10

Usando o do-file editor Automatizando o Stata

GERÊNCIA DE DADOS SEMIESTRUTURADOS -DTD. Prof. Angelo Augusto Frozza, M.Sc.

Armazenamento e Pesquisa de Topic Maps em Banco de Dados Relacional

Professor: Paulo Macos Trentin Escola CDI de Videira 4/6/2011 1

Web Design. Prof. Felippe

XML (extensible Markup Language)

Um documento XML possui Unidade lógica - os elementos Usuário "inventa" as marcas através de DTDs

MADALENA PEREIRA DA SILVA SLA Sociedade Lageana de Educação DCET Departamento de Ciências Exatas e Tecnológica

Padrão ix. Q-Ware Cloud File Publisher Manual para realização do Donwload de Arquivos. Versão

JavaScript (ou JScript)

O QUE É A CENTRAL DE JOGOS?

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

GESTÃO DA CADEIA DE SUPRIMENTOS FORMAS DE TROCA DE INFORMAÇÃO: EDI E XML

Manual de Rotinas para Usuários. Advogados da União. Procuradoria da União no Estado do Ceará PU/CE SAPIENS. Sistema da AGU de Inteligência Jurídica

Criar as tabelas para um banco de dados

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

O aplicativo de desktop Novell Filr é compatível com as seguintes versões do sistema operacional Windows:

Conhecendo o BrOffice.org Calc. Por: Paulo Garcez Leães

Software Básico. Conceito de Linguagem de Máquina e Montagem: introdução ao Assembly. Prof. MSc. Hugo Vieira L. Souza

Guia de publicação de imóveis

Conceitos básicos da linguagem C

Resolução da lista de exercícios de casos de uso

Do Word 2007 para o Office 365 para empresas

Sistemas Distribuídos

Sumário FPD Formulário de projeto P&D...4

JavaServer Faces. Parte 2

Modelos de Caso de Administração

UML: Diagrama de Casos de Uso, Diagrama de Classes

MANUAL DE UTILIZAÇÃO DOMINIO ATENDIMENTO

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2

Manual do Usuário. Protocolo

LINX POSTOS AUTOSYSTEM

Apostilas OBJETIVA Atendente Comercial / Carteiro / Op. Triagem e Transbordo CORREIOS - Concurso Público º CADERNO. Índice

Mais configuração OptraImage

Avaya Softconsole Versão 1.5 Referência Rápida

CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word Sumário

Sistemas Operacionais. Prof. André Y. Kusumoto

TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo

Aula 2: Listas e Links

Figure 2 - Nós folhas de uma árvore binária representando caracteres ASCII

Manual do Usuário do Produto EmiteNF-e. Manual do Usuário

INTRODUÇÃO AO DESENVOLVIMENTO WEB. PROFª. M.Sc. JULIANA H Q BENACCHIO

Guia de Consulta Rápida XHTML. Juliano Niederauer. Novatec Editora.

Folhas de estilo. Jomi Fred Hübner (XSL e XPath) FURB / DSC

MANUAL DA SECRETARIA

ROBERTO OLIVEIRA CUNHA

Portal do Projeto Tempo de Ser

Desenvolvimento Web Introdução a XHTML. Prof. Bruno Gomes

MANUAL DE UTILIZAÇÃO. Produtos: Saúde Pró Faturamento Saúde Pró Upload. Versão:

Trabalho de Graduação

Para o PowerPoint, assim como para vários softwares de apresentação, uma apresentação é um conjunto de slides.

Guia de utilização da notação BPMN

PowerPoint 2010 para o Office 365 para empresas

Unidade 5: Sistemas de Representação

Desenvolvendo Websites com PHP

6 Ferramenta de Apoio ao Processo de Desenvolvimento de Sistemas Multi-Agentes

Transcrição:

Guia de Consulta Rápida XML Otávio C. Décio Novatec Editora

Guia de Consulta Rápida XML de Otávio C. Décio Copyright@2000 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: RUBENS PRATES ISBN: 85-85184-86-8 NOVATEC EDITORA LTDA. Rua Luís Antônio dos Santos 110 02460-000 São Paulo SP Brasil Tel.: +55 11 6959-6529 Fax: +55 11 6950-8869 E-mail: novatec@novatec.com.br Site: www.novatec.com.br 2

Sumário XML... 5 Introdução à XML... 5 O que é XML?... 5 Sopa de letras... 7 Aplicações de XML... 8 O estado atual de XML... 9 Outras tecnologias XML... 10 Conceitos básicos de documento XML... 12 Hierarquia e seqüência... 13 Hierarquia... 13 Seqüência... 13 Dados e Markup... 13 Conteúdo misto... 14 Atributos... 16 XML e sua relação com HTML... 16 Exemplo de transformação XML em HTML... 18 Definindo o estilo em CSS... 20 Definindo o estilo em XSL... 20 Alterando o documento... 22 Softwares disponíveis para XML... 26 Browsers... 26 Editores... 27 Parsers... 27 Processadores XSL... 27 Banco de dados com suporte a XML... 28 Sintaxe de XML... 29 Documento XML bem-formado... 29 Prólogo... 29 Um exemplo de documento XML... 30 Regras para se escrever um documento XML bem-formado... 31 Regras para definição de nomes... 33 Tags XML maiúsculas são diferentes de minúsculas... 34 Elementos devem ter uma tag de abertura e fechamento... 34 Elementos XML vazios... 34 Todos os elementos XML devem ser aninhados apropriadamente... 34 Todos os documentos XML devem obrigatoriamente ter um único elemento-raiz... 35 Caracteres reservados... 35 Atributos... 36 Valores de atributos devem estar entre aspas (simples ou duplas)...36 Exemplos de uso de elementos versus atributos... 36 Limitações de atributos... 37 Quando usar atributos... 38 Um exemplo de uso adequado de atributos... 39 Seções CDATA... 39 Espaços de nomes (namespaces)... 40 Por que usar espaços de nomes... 40 Declarando espaços de nomes... 41 3

Sumário DTD... 42 Aplicações de DTD... 42 XML News...42 SMIL... 43 CDF... 43 Declaração de tipos de documento... 43 Declaração interna...45 Declaração externa...46 Declaração mista... 46 Uso de DTD com HTML... 47 Declarações DTD... 47 Declarando elementos...48 Elementos-filhos... 49 Escolhas... 50 Grupos... 50 Conteúdo misto... 51 Elementos vazios... 51 Comentários... 51 Declarando atributos... 52 Tipos de atributo... 52 Valores default do atributo...56 Usando Xerces para validar documentos XML... 57 Entidades... 60 Entidades gerais internas... 60 Entidades gerais externas... 61 Entidades parametrizadas... 62 Entidades parametrizadas externas... 63 Exemplo de DTD... 64 XML Schemas...65 Tecnologias XML...66 CSS Folhas de estilo em cascata... 66 Componentes de uma folha de estilo CSS... 66 Como associar CSS com um documento... 67 Sintaxe CSS... 68 Múltiplos estilos para um seletor... 69 Um estilo para múltiplos seletores... 69 Selecionando por identificador... 69 Selecionando por contexto...69 Herdando estilos... 70 Estabelecendo subclasses... 71 Estabelecendo subclasses dependentes de ID... 72 Por que folha de estilos em cascata... 72 A declaração!important... 72 Limitações de CSS para aplicações complexas... 73 XPath... 74 Exemplos de XPath... 75 XSLT (XSL Transformations)...76 Templates XSL... 78 Instruções XSLT... 79 Glossário... 83 Lista de endereços interessantes... 92 Informações adicionais... 93 Notação utilizada neste Guia... 93 Comentários e sugestões... 93 Sobre o autor... 93 4

Introdução à XML XML O que é XML? XML é a mais nova solução para a pobreza mundial, as guerras e a integração de sistemas, assim como um dia também foram a programação estruturada, a tecnologia de orientação a objetos e a linguagem Java. Os grandes fabricantes de sistemas apóiam essa visão, e atualmente estão integrando XML cada vez mais em seus produtos. Bancos de dados, ferramentas de desenvolvimento, computação distribuída, browsers, waps, enfim, onde há transferência de informação há XML. XML tem como propósito fundamental a descrição de informações. Essa capacidade é extremamente importante para armazenamento, recuperação e transmissão de informações. XML permite colocarmos em um mesmo lugar dados e os assim chamados metadados, ou seja, uma descrição desses dados. XML estabelece um formato textual que pode ser facilmente entendido quando olhado diretamente (como, por exemplo, por meio de um editor de textos), ao invés de usar um formato binário ou seqüencial. A vantagem que XML traz é sutil, mas importante. Quando usamos um formato binário, os dados podem ser lidos somente pelo programa que os produz, ou por um programa que tenha um conhecimento íntimo da estrutura desse arquivo. Na maioria das vezes, essa estrutura é proprietária, tornando-se necessário em muitos casos fazer-se uma engenharia reversa para entender esses dados. Imagine, por exemplo, o que seria necessário para escrever um programa que produzisse ou lesse arquivos no formato MS-Word. Aliás, preste atenção no comando Salvar Como do MS-Word. Você pode escolher entre vinte e três diferentes formatos, a última vez que eu contei. Assim como no MS-Word, todos os sistemas profissionais têm várias maneiras de fazer basicamente a mesma coisa: gerar, recuperar e transmitir informações. O problema é que praticamente todos eles fazem isso de maneira mais ou menos proprietária, assumindo que todas as partes envolvidas estão de acordo com um formato preestabelecido. 5

XML Em XML, os dados são armazenados com sua descrição, de maneira simples e clara. Não é necessário nenhuma tabela adicional para nos informar o nome e a posição de certo elemento. Por exemplo, atualmente uma maneira comum de se transmitir dados de um sistema para outro é por meio de arquivos delimitados, onde cada registro ocupa uma linha e cada coluna de dados é separada das outras por uma vírgula ou um caractere de tabulação. Tanto o programa que gera quanto o programa que utiliza esses dados devem possuir uma definição de registro em separado, ou seja, uma definição que informe que a coluna 1 é o RG, a coluna 2 é o NOME e assim por diante. Coluna Posição RG 1-10 NOME 11-50 ENDERECO 51- Dados 1200229912ADALBERTO SILVA...AVENIDA CENTRAL, 123 2343222231JOSEFINA DOS ANJOS... RUA DOS PARDAIS, 23 Outra vantagem de XML: a adição ou a remoção de elementos tem um impacto menor que nos formatos binário ou seqüencial, onde o deslocamento de apenas um byte pode ser catastrófico. Em XML, se adicionarmos um elemento e o programa não o estiver esperando, ele vai ser ignorado. Se omitirmos um elemento, ele simplesmente deixará de ser identificado. Exemplo <PESSOA> <RG>1299228812</RG> <NOME>Adalberto Silva</NOME> <ENDERECO>Avenida Central, 123</ENDERECO> </PESSOA> <PESSOA> <RG>2343222231</RG> <NOME>Josefina Dos Anjos</NOME> <ENDERECO>Rua dos Pardais, 23</ENDERECO> </PESSOA> 6

Por ter uma estrutura simples e bem-definida, XML permite que validemos o documento antes de iniciarmos seu processamento. Para dar uma idéia de como isso é importante, tente abrir um arquivo com extensão.doc criado pelo MS-Word, usando o programa WordPad (que vem na instalação-padrão do Windows 95 e NT). O resultado é um total desastre, sendo impossível determinar seu conteúdo. Isso ocorre porque não é possível validar um arquivo.doc. XML tem um objetivo importante: uma maneira comum de descrever dados. Não se trata de querer transferir informações essencialmente incompatíveis, como, por exemplo, carregar uma figura de Autocad em um documento Word. Trata-se, sim, de fazer com que ambos os programas, se desejarem trocar documentos, descrevam esses documentos usando sintaxe e estrutura comuns. Mais tarde, veremos que, mediante tecnologias como XSL, se torna possível o desenvolvimento de regras de transformação que vão traduzir dados de um sistema a outro, pelo mapeamento dos elementos. XML tem grandes ambições e talvez não acabe com a pobreza no mundo. Contudo, já provou ser capaz de implementar Remote Procedure Calls (RPCs) e protocolos de consulta e de atualização de bancos de dados (como o padrão SOAP). Ou seja, não é apenas uma maneira de armazenar dados, é uma forma de transmiti-los. Sopa de letras XML XML é uma tecnologia que nos traz, antes de mais nada, várias novas siglas. Como se a vida já não fosse cheia delas. Mas aos poucos elas vão fazendo sentido. A grande maioria delas começa com X, o que já ajuda. X é a letra em inglês que denota extensibilidade. XML é o acrônimo de (EXtensible Markup Language Linguagem Extensível de Marcas). XML é uma linguagem padronizada, originalmente direcionada para o processamento de documentos, proposta e controlada pelo mesmo organismo que mantém o padrão HTML (W3C, ou World Wide Web Consortium). 7

XML Aplicações de XML XML tem suas raízes na indústria de publicações (documentação, livros, páginas Web) e, portanto sua apliação nessas áreas é claramente visível. Entretanto, graças à simplicidade sintática, à disponibilidade de ferramentas, e à capacidade de descrever dados de maneira estruturada, XML passou a ser utilizada em muitas outras aplicações. Uma área de particular interesse é a de interoperabilidade. Recentemente, muitas tecnologias foram desenvolvidas para permitir a comunicação e a colaboração entre sistemas distribuídos. Entre elas, protocolos como RPC, DCE, CORBA, COM e DCOM, arquiteturas como ActiveX e linguagens como Java. Entretanto, essas tecnologias se preocupam muito com o controle, mas pouca atenção é dada para a informação. Ou seja, pouco se prestou atenção às maneiras padronizadas de se transferir dados. XML não exclui nenhuma dessas tecnologias, ao contrário, vem a ser uma adição importante. Podemos usar XML por meio desses protocolos ou até mesmo podemos criar novas maneiras de realizar processamento distribuído sobre protocolos como HTTP, FTP ou SMTP. Isso permite, por exemplo, a comunicação de sistemas através de firewalls ou pelo uso de e-mails tendo XML como conteúdo. Aplicação Descrição XML-QL Uma linguagem de pesquisa para XML com funções parecidas com SQL (Structured Query Language). AXTP Umalinguagemextensívelparadefiniçãodetransações em bancos de dados distribuídos. FinXML Uma linguagem para transferência de informações financeiras. SOAP Um protocolo que permite acessar serviços, objetos e servidores de maneira independente sobre protocolos como HTTP, FTP e SMTP. Muitas outras aplicações estão surgindo a cada dia, todas se beneficiando da capacidade da XML de descrever informações. 8

XML O estado atual de XML XML é um conjunto de recomendações publicadas pelo W3C, que especifica a semântica e a sintaxe de XML e de tecnologias correlatas. Muitas dessas tecnologias estão estáveis, já com status de recomendação, o que significa que são extremamente estáveis e têm amplo suporte da indústria. Entretanto, muitas outras tecnologias estão ainda em andamento, em diversos estágios, desde submissão inicial (working draft) até candidatos a recomendação. Por isso, falar de XML é um pouco como tentar trocar um pneu de automóvel com este a 100 km/h. A única maneira de se ter a informação mais atualizada é seguir as publicações do W3C, que estão à disposição do público no site www.w3c.org, ou até mesmo acompanhar as listas de discussão dos grupos de trabalho. Status do documento Significado Recomendação Éumtrabalhoquerepresentaoconsenso dentro da W3C e que tem o selo de aprovação do Diretor. As idéias e tecnologias descritas em uma recomendação são apropriadas para ampla divulgação. Candidato à recomendação É um trabalho que recebeu significativa revisão da comunidade técnica. Significa que grupos de trabalho e empresas interessadas podem iniciar a construção Documento de trabalho de programas e dar retorno técnico. ÉumtextoquefoisubmetidoaoW3Cpor seus membros e outras partes interessadas. Esses documentos podem ser substituídos por outros a qualquer momento. Não é apropriado ter esses documentos como referência. Doc. de trabalho em última chamada Um documento de trabalho pronto para revisão final pelos grupos de trabalho, comumadatadeterminadaparaoretorno de comentários e alterações. Doc. de trabalho em desenvolvimento Documento de trabalho no processo de ser escrito e revisto pelos grupos de trabalho. Nota Umanotarepresentaoreconhecimentopelo W3Cdasubmissãodeumaidéiaouproposta. Não há qualquer requisito de que os grupos detrabalhoaelassedediquemamenosque haja interesse suficiente. O texto da Recomendação XML pode ser encontrado em http://www.w3.org/tr/rec-xml. 9

XML Outras tecnologias XML 10 XML é o que se chama de tecnologia de infra-estrutura. Sobre a estrutura simples e bem-formada de XML outras aplicações são construídas. O desenvolvimento em XML consiste na criação de vocabulários que serão processados por programas. Apesar de HTML não seguir totalmente as regras de XML, podemos usá-lo como exemplo. O vocabulário consiste das tags, como BODY, HTML, P, A, etc., e a aplicação é simplesmente o browser. No caso de XML, foram criados vocabulários para aplicações como WAP, financeiras, tratamento de banco de dados. Além disso, outros padrões foram criados usando-se XML como linguagem de descrição, e também regras para estender e tornar XML mais completa. Tais padrões incluem Namespaces (para identificar elementos de forma única), DOM (um modelo de programação para tratamento de documentos XML), Schemas (uma espécie de DTD usando sintaxe XML). A seguir, relacionamos alguns desses padrões. Namespaces in XML Adendo a XML 1.0 que especifica como qualificar nomes de elementos e atributos com identificadores de espaços de nomes únicos. Endereço: http://www.w3.org/tr/rec-xml-names Status: Recomendação Document Object Model (DOM) Level 2 Conjunto de interfaces de programação abstratas para percorrer, manipular e criar documentos XML. Endereço: http://www.w3.org/tr/dom-level-2 Status: Candidato a Recomendação XML Schema Part 1: Structures Uma linguagem baseada em XML para descrever elementos, atributos e notações em termos de tipos hierárquicos. Endereço: http://www.w3.org/tr/xmlschema-1 Status: Documento de trabalho em última chamada XML Schema Part 2: Datatypes Um conjunto de tipos de dados predefinidos e uma linguagem baseada em XML para definir tipos de dados gerados pelo usuário. Endereço: http://www.w3.org/tr/xmlschema-2 Status: Documento de trabalho em última chamada

XML XML Information Set Descrição de um documento XML abstrato, sem preocupação com sintaxe. Endereço: http://www.w3.org/tr/xml-infoset Status: Documento de trabalho em última chamada (working draft) XML Base (XBase) Adendo a XML 1.0 que especifica como determinar qual URI se utilizar quando se tem várias referências URI relativas. Endereço: Status: http://www.w3.org/tr/xmlbase Documento de trabalho em última chamada (working draft) XML Inclusions (XInclude) Adendo a XML 1.0 que provê uma alternativa a DTDs para acessar entidades externas. Endereço: http://www.w3.org/tr/xinclude Status: Documento de trabalho em última chamada XML Path Language (XPath) Version 1.0 Uma linguagem para selecionar um conjunto de nós em um documento XML. Endereço: http://www.w3.org/tr/xpath Status: Recomendação XML Pointer Language Uma linguagem que usa expressões XPath como identificadores URI, para permitir a referência de elementos em documentos externos. Endereço: http://www.w3.org/tr/xptr Status: Documento de trabalho em última chamada XML Linking Language Uma linguagem para representar ligações entre documentos XML. Endereço: http://www.w3.org/tr/xpath Status: Documento de trabalho em desenvolvimento 11

XML Conceitos básicos de documento XML XML é uma linguagem usada para descrever e manipular documentos estruturados. A manipulação de documentos XML é feita por meio desta estrutura. Um documento XML é estruturado em forma de árvore. Possui sempre um elemento-raiz, de onde outros elementos vão se ramificar. Essa estrutura em árvore estabelece como documentos XML vão ser definidos e como vão ser tratados. O tratamento envolve principalmente encontrar um determinado elemento, ou grupo de elementos para serem processados. Exemplo <?xml version= 1.0"?> <Capitulo> <Titulo> Capitulo Um </Titulo> <Tabela> <Titulo> Tabela Um </Titulo> </Tabela> <Secao><Titulo>Secao Um</Secao></Titulo> <Tabela><Titulo>Tabela Dois</Titulo></Tabela> </Secao> </Capitulo> 12

Hierarquia e seqüência XML Em XML, duas relações entre os elementos são importantes: hierarquia e seqüência. Hierarquia Hierarquia estabelece relações pai/filho e ancestral/ descendente. Por exemplo, no trecho XML anterior, Capitulo é o elemento-raiz. Se quisermos determinar quais os Titulo que são filhos de Capitulo, veremos que somente Capitulo Um é filho. Por outro lado, se quisermos determinar quais os Titulos que são descendentes de Capitulo, então acharíamos Capitulo Um, Tabela Um, Secao Um e Tabela Dois. Seqüência A seqüência em que as informações aparecem também é importante, especialmente em documentos que estabelecem uma narrativa. Por exemplo: <Instrucoes> <Titulo> Lavar os cabelos </ Titulo > <Sequencia> <Passo> Molhar os cabelos </Passo> <Passo> Fazer espuma </Passo> <Passo> Enxaguar </Passo> <Passo> Repetir </Passo> </Sequencia > </Instrucoes > Dados e Markup Um documento XML consiste de uma combinação de dados caracteres e tags (markup). As tags podem ser caracteres de início de tag, fim de tag, elementos vazios, referências a entidades, referências a caracteres, comentários, delimitadores de seções CDATA (valores a serem desconsiderados quanto a sintaxe XML), declaração de tipo de documento, instruções de processamento, declarações XML, declarações textuais e quaisquer espaços em branco que estejam no nível mais alto do documento, ou seja, fora do elemento raiz e fora de qualquer outra tag. Em outras palavras, tudo o que não é markup constitui dados textuais do documento. 13

XML No trecho a seguir, as palavras em negrito são markups enquanto que as palavras em sublinhado são dados textuais. <?xml version= 1.0"?> <!DOCTYPE PRECOS [ <!ELEMENT PRECOS (LIVRO LIVRO+)> <!ELEMENT LIVRO (TITULO TITULO,DISTRIBUIDOR DISTRIBUIDOR?)> <!ATTLIST TITULO VALOR CDATA #REQUIRED REQUIRED> <!ELEMENT TITULO (#PCDATA PCDATA)> <!ELEMENT DISTRIBUIDOR (#PCDATA PCDATA)> ]> <PRECOS PRECOS> <LIVRO LIVRO> <TITULO VALOR= 120">Manual de Comércio Exterior</ TITULO> <DISTRIBUIDOR DISTRIBUIDOR>Publicações Internacionais</DISTRIBUIDOR DISTRIBUIDOR> </LIVRO LIVRO> <LIVRO LIVRO> <TITULO VALOR= 078">Sistemas de Informação Relacionais</TITULO TITULO> <DISTRIBUIDOR DISTRIBUIDOR>Livros Técnicos</DISTRIBUIDOR DISTRIBUIDOR> </LIVRO LIVRO> </PRECOS PRECOS> Conteúdo misto Os elementos de informação podem representar estruturas de dados arbitrárias. Eles podem conter valores codificados como caracteres e, nesse caso, dizemos que são elementos com apenas texto. Por outro lado, quando um elemento representa um tipo estruturado, ele tipicamente não contém dados textuais, e sim um ou mais elementos descendentes. Esse modelo é conhecido como somente elementos. XML também permite uma mistura de conteúdos, ou seja, elementos descendentes com texto. Nesse caso, dizemos que o documento tem conteúdo misto. Apesar desta flexibilidade, quando construímos documentos XML para serem processados por programas, é aconselhável se evitar o conteúdo misto. 14

O trecho a seguir mostra um exemplo de conteúdo misto (em negrito). <Pedidos> <NroPedido NumPedido= 12345"> <Cliente NumCliente= 543"> <CustName>Industrias ABC</CustName> <Rua>Avenida Central, 123 </Rua> <Cidade>Sao Paulo</Cidade> <Estado>SP</Estado> <CEP>60609</CEP> </Cliente> <DataPedido>981215</DataPedido> <Linha NroLinha= 1"> <Peca NroPeca= 123"> <Descricao> <P><B>Alicate:</B><BR /> Aco inox, construido em uma so peca. Garantia de 10 anos.</p> </Descricao> <Preco>9.95</Preco> </Peca> <Quantidade>10</Quantidade> </Linha> <Linha NroLinha= 2"> <Peca NroPeca= 456"> <Descricao> <P><B>Separador de gizmos:<b><br /> Aluminio, um ano de garantia.</p> </Descricao> <Preco>13.27</Preco> </Peca> <Quantidade>5</Quantidade> </Linha> </NroPedido> </Pedidos> XML Documentos que não têm conteúdo misto são chamados normalizados. 15