BREVE INTRODUÇÃO À LINGUAGEM XML Por Carlos H. Marcondes marcon@vm.uff.br Rio de Janeiro Abril 2008
PROGRAMA 1.Problema, motivações e conceitos 2.Estrutura de um documento XML 1.DTDs, Schemas 2.Folhas de estilo 3.Espaços de Nomes 3.RDF
INFORMAÇÃO ESTRUTURADA X NÃO ESTRUTURADA Conteúdos em arquivos-texto, não estruturados dificuldade de processamento por programas
Um formulário, para coletar os dados, de forma estruturada
Um formulário eletrônico
Linguagem XML Extensible Markup Language Referências bibliográficas: DÉCIO, Otávio C. XML: guia de consulta rápido. São Paulo : Novatec, 2000. HOLZER, Steven. Desvendando XML. Rio de Janeiro : Campus, 2001. TESCH JR, José Roberto. XML Schema. Florianópolis : Visual Books, 2002.
Para que possamos processá-las por computador (por ex. negritar o Título, alfabetar por Autor, etc), precisamos inseri-las num sistema gerenciador de base de dados:
Precisamos de um programa, como o MSACCESS, que estruture a informação de cada referência registros com campos como Autor, Título, Local, Editor e Data, para fazer este processamento:
Arquivos convencionais separam estrutura e conteúdo; a estrutura fica dentro do programa que lê o arquivo só quem tem o programa pode ler o arquivo ESTRUTURA CAMPOS POSIÇÕES Matrícula 1-10 Nome 11-40 Salário 41-50 O CONTEÚDO de um arquivo deste tipo seria: posições 12345678901234567890123456789012345678901234567890 reg1-0000014194joão da Silva 0000500000 reg2-0000016315maria Aparecida Souza 0000650000
XML - Extensible Markup Language - Linguagem de Marcação Extensível - Serve para estruturar e intercambiar documentos eletrônicos de forma generalizada, o mais INDEPENDENTEMENTE possível de programas específicos <referencia> <autor>décio, Otávio C</autor> <titulo>xml: guia de consulta rápido</titulo> <imprenta> <local>são Paulo</local> <editor>novatec</editor> <data>2000</data> </imprenta> </referencia> Conteúdos Marcações
CARACTERÍSTICAS E VANTAGENS é uma linguagem de marcação - os CONTEÚDOS são envolvidos por MARCAÇÕES <- inicio-marcação> e </fim-marcação> ; as marcações são DEFINIDAS PELA COMUNIDADE DE USUÁRIOS que vão trocar dados - não são prefixadas como em HTML- o que significa que uma comunidade de usuários que queiram trocar seus dados através da Internet, pode combinar como serão seus documentos, qual a sua estrutura, etc; as marcações permitem que os conteúdos sejam processados por programas; a estrutura dos documentos não fica embutida dentro do código de programas especificos; os documentos se tornam independentes dos programas que os operam e portanto INTEROPERÁVEIS; documentos XML são autodescritíveis estrutura e conterúdo estão juntos; os documentos XML utilizam TEXTO PURO, caracteres do Código ASCII, o formato mais simples e geral existente - portanto, LEGÍVEIS por qualquer sistema computador, de qualquer plataforma, de qualquer fabricante; na verdade XML é uma METALINGUAGEM para criar outras linguagens de marcação para finalidades específicas: ebxml, CML, MathML, etc.
EXEMPLO DE DOCUMENTO <registro> <nome>joão da Silva</nome> <endereço> <rua>rua do Sobe e Desce</rua> <numero>n.5</numero> <complemento>ap. 601</complemento> <cep>99999-999</cep> <cidade>niteroi</cidade> <siglauf>rj</siglauf> </endereco> <email>joao@nada.com.br<email> <telefone> <ddd>021</ddd> <numerotel>5678-4949</numerotel> </telefone> </registro>
ESTRUTURA DE UM DOCUMENTO Um documento XML se estrutura como uma árvore, com RAIZ, GALHOS e FOLHAS; a RAIZ é sempre a marcação inicial, no caso <registro> e </registro>; existe sempre uma única RAIZ registro nome endereço email telefone rua numero complemento CEP cidade siglauf ddd numerotel
ESTRUTURA DE UM DOCUMENTO Um documento XML se estrutra como uma árvore, com RAIZ, GALHOS e FOLHAS; a RAIZ é sempre a marcação inicial, no caso <registro> e </registro>; existe sempre uma única RAIZ
ESTRUTURA EM ÁRVORE DO DOCUMENTO REGISTRO Galhos e Folhas são chamados de ELEMENTOS do documento XML. ELEMENTOS contém VALORES, que são o conteúdo entre as marcações <marcacão> e </marcação>; por exemplo: <cidade>niterói</cidade> - Niterói é o valor do elemento <cidade> - Os galhos ou ELEMENTOS COMPOSTOS, são elementos que contém outros elementos - As folhas ou ELEMENTOS SIMPLES, são elementos que só contém valores - ELEMENTOS podem conter também ATRIBUTOS, além de outros elementos; exemplo < documento idioma= ingles > <titulo>king Lear</titulo> idioma é um atributo de documento <autor>shakespeare, William</autor> </documento> Marcondes
DIFERENÇAS DO HTML No HTML as marcações são fixas, pré-definidas, padronizadas pelo W3C (www.w3c.org) Estas marcações HTML... Resultam numa página com esta aparência <HTML> <HEAD> <TITLE>Exemplo de HTML simples</title> </HEAD> <BODY> <H1>Este é o primeiro nível de cabeçalho</h1> Bem-vindo ao mundo do HTML. Este é o primeiro parágrafo.<p> E este é o segundo.<p> </BODY> </HTML> As marcações HTML servem para definir a APARÊNCIA da página
Documento registro.xml como visto por um browser As marcações XML servem para definir a ESTRUTURA do documento
Diferenças da HTML Em XML as marcações servem para definir a estrutura do documento, independente da sua aparência Esta estrutura Esta aparência <memorando> <para>todos os funcionários</para> <de>coordenador geral</de> <data>23 de janeiro de 1999</data> <assunto>seminário de Planejamento Anual</assunto> <texto>nosso Seminário de Planejamento Anual ocorrerá MEMORANDO Para: todos os funcionários De: Coordenador geral Assunto: Seminário de Planejamento Anual nos próximos dias 3-5 de fevereiro. Todos estão convocados</texto> </memorando> A aparência pode ser definida por uma FOLHA DE ESTILOS, programada em CSS Cascading Style Sheet ou na XSL - XML StyleSheet Language Rio de Janeiro, 23 de janeiro de 1999 Nosso Seminário de Planejamento Anual ocorrerá nos próximos dias 3-5 de fevereiro. Todos estão convocados
3-PADRÕES DE TECNOLOGIA DA INFORMAÇÃO METADADOS Informações relacionadas (por alguém) a recursos informacionais eletrônicos sites, documentos eletrônicos, etc - que os descrevem e fazem referência a eles, possibilitando recuperar, identificar, avaliar a relevância, localizar, acessar, operar e gerenciar esses recursos Esquemas de Metadados são conjuntos formados por elementos ou itens de metadados, como o Dublin Core, IMS, InDECS, EAD, voltados para uma finalidade ou problema e que constituem um vocabulário e uma semântica específicos ex: Dublin Core Metadata Element Set, voltado para a (auto)descrição de artigos científicos pelos próprios autores 15 elementos constituem o Vocabulário: Subject, Title, Creator, Publisher, Contribuitor, Description, Date, Type, Format, Indetifier, Relation, Source, Language, Coverage, Rights Um Esquema de Metadados é um padrão, definido por uma comunidade de usuários, que pressupõe um Vocabulário de elementos descritivos com seus significados (semântica) e regras de codificação destes elementos num meio legível por computador:
3-PADRÕES DE TECNOLOGIA DA INFORMAÇÃO METADADOS DUBLIN CORE Title (título): Creator (autor, responsável pelo documento); Subject (assunto): Publisher (publicador, quem torna o documento disponível na Internet): Contribuitor (outros colaboradores - por ex. editores, tradutores,etc); Description (descrição, resumo, sumário); Date (data de publicação): Type (tipo de recurso - homepage, romance, poesia, software, dicionário): Format (formato do arquivo que contém o documento eletrônico - texto, PDF, LaTex, HTML, WORD ou outro): Indetifier (geralmente o URL de um documento eletrônico): Relation (relacionamentos com outros documentos, por ex. versões): Source (fonte ou recurso de onde o recurso que esta sendo descrito deriva): Language (idioma do documento): Coverage (cobertura - espacial ou temporal, sobre que lugar, ou sobre que época o texto se refere): Rights (texto livre especificando qualquer restrição referente a direitos autorais)
Metadados Dublin Core, usados para descrever um registro bibliográfico de uma biblioteca digital
Metadados Dublin Core, usados para descrever imagens de objetos artísticos
Metadados Dublin Core extendidos, padrão e-ping
Codificação em XML de metadados Dublin Core, transmitidos através do protocolo OAI-PMH
Codificação em SOAP/XML, transmitidos como uma Consulta e Resposta através do protocolo SRW
Codificação em RDF/XML, incluídos na página HTML
EAD Encondign Archival Description Descrição de um instrumento de pesquisa
EAD Encondign Archival Description Descrição de um instrumento de pesquisa
EAD Encondign Archival Description Descrição de um instrumento de pesquisa
TISS Transferência de Informações em Saúde Suplementar Formulário Solicitação de Internação
TISS Transferência de Informações em Saúde Suplementar Solicitação de Internação
TISS Transferência de Informações em Saúde Suplementar Solicitação de Internação
TISS Transferência de Informações em Saúde Suplementar Solicitação de Internação