XML (extensible Markup Language)



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

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

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

7. Cascading Style Sheets (CSS)

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

XML extensible Markup Language. Rubens Queiroz de Almeida UNICAMP

Manual do Visualizador NF e KEY BEST

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) XML Origens. HTML Problemas

Engenharia de Software III

02 - Usando o SiteMaster - Informações importantes

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

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

Processamento de dados XML

Web Design. Prof. Felippe

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

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

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

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

Instrução de Trabalho Base de Conhecimento

Manual do Painel Administrativo

XHTML 1.0 DTDs e Validação

HTML 5 + CSS APRESENTANDO O CSS ESTILOS LOCAIS

XML (extensible Markup Language)

Informática. Informática. Valdir

Fone: (19) Site: HTM3.0. Tutorial HTML. versão 4.01

Livro Caixa. Copyright ControleNaNet

Programando em PHP. Conceitos Básicos

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

Manual SAGe Versão 1.2 (a partir da versão )

UFPel Departamento de Informática. Tutorial Google Docs. Profa. Lisane Brisolara de Brisolara

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

PROVA DE NOÇÕES DE MICROINFORMÁTICA

Desenvolvendo Websites com PHP

Orientação a Objetos

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

Manual de Conversão para PDF Envio de Arquivos ao Diário Oficial

Introdução a listas - Windows SharePoint Services - Microsoft Office Online

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

Tutorial Módulo 1: Introdução e primeiros passos Por Daniel Chicayban (dan@trendnet.com.br)

Introdução. Definição. Validação. Universo XML. Apresentação. Processamento. Prof. Enzo Seraphim. Banco de Dados

Manual do Publicador. Wordpress FATEA Sistema de Gerenciamento de Conteúdo Web

Como acessar o novo webmail da Educação? Manual do Usuário. 15/9/2009 Gerencia de Suporte, Redes e Novas Tecnologias Claudia M.S.

Image Enable: conceito

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

GUIA BÁSICO DA SALA VIRTUAL

Introdução ao HTML 5 e Implementação de Documentos

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

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

Voltado para novos usuários, este capítulo fornece uma instrução para edição de Leiaute do SILAS e suas funções.


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

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

4 O Workflow e a Máquina de Regras

Informática Básica. Microsoft Word XP, 2003 e 2007

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

Manual de Utilização

ISO/IEC 12207: Gerência de Configuração

Pró-Reitoria de Administração - PRAd Assessoria de Informática - AI SISTEMA DE PUBLICAÇÃO DE LICITAÇÕES. Manual de Procedimentos

Criando um script simples

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

2 Diagrama de Caso de Uso

CONTEÚDOS PROGRAMÁTICOS DA ACADEMIA

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Construção Páginas de Internet

CAPÍTULO 2. Este capítulo tratará :

Sphinx Scanner Informações gerais V

Direcção Regional de Educação do Algarve

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

UNIVERSIDADE FEDERAL DE GOIÁS CERCOMP (CENTRO DE RECURSOS COMPUTACIONAIS) TUTORIAL DE USO DO WEBMAIL - UFG

Aplicação Prática de Lua para Web

Tutorial Gerar arquivo PDF. Gerando um documento pdf com várias imagens 1- Inserir imagem no Word

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS

UM NOVO CONCEITO EM AUTOMAÇÃO. Série Ponto

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

MANUAL DE IMPLEMENTAÇÃO DO MÓDULO NOTA FISCAL ELETRONICA

15/8/2007 Gerencia de Tecnologia da Informação Claudia M.S. Tomaz

INSTRUMENTO NORMATIVO 004 IN004

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

ATENÇÃO: * Arquivos com tamanho superior a 500 KB NÃO SERÃO ACEITOS * SOMENTE serão aceitos documentos do formato: PDF

Análise da Nova Linguagem HTML5 para o Desenvolvimento Web

Microsoft Access XP Módulo Um

Introdução aos critérios de consulta. Um critério é semelhante a uma fórmula é uma cadeia de caracteres que pode consistir em

Gestão inteligente de documentos eletrônicos

Sistema de Chamados Protega

MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania

Thunder Pro II Gold Edition Manual de operações v 8.7 Rev:b

QUALIDATA Soluções em Informática. Módulo CIEE com convênio empresas

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto

Roteiro 2: Conceitos de Tags HTML

15. OLHA QUEM ESTÁ NA WEB!

Rational Quality Manager. Nome: Raphael Castellano Campus: AKXE Matrícula:

Versão /10. Xerox ColorQube 9301/9302/9303 Serviços de Internet

CATÁLOGO DE CUSTOMIZAÇÃO Tag xped e nitempedno XML de Faturamento

Roteiro 2: (Planilhas Eletrônicas) - Função procv / manipulação de formulários

Transcrição:

XML (extensible Markup Language) João Carlos Pinheiro jcarlos026@ig.com.br Comentário As implicações mais amplas de um formato de dados padrão e de fácil processamento como XML, são difíceis de imaginar, mas certamente irão representar um grande impacto no comércio eletrônico. É claro hoje que o comércio eletrônico irá em breve se tornar sinônimo de comércio em geral 1

A Internet Hoje Primordialmente um meio de acesso a imagens e textos Não existem padrões para buscas inteligentes, intercâmbio de dados, apresentação de informação de modo adaptável e personalização da informação Embora tenha todo tipo de informação a Internet assemelha-se a uma enorme biblioteca sem catalogação com todos os livros espalhados no chão A Internet Hoje... Um tremendo potencial para negócios Americanas.com Amazon Submarino Estrutura inadequada para seu crescente uso comercial 2

Que é o dono do XML O W3C World Wide Web Consortium é o comitê responsável pela formatação e evolução da linguagem XML, de forma que os desenvolvedores possam utilizar o padrão para construir soluções que envolvam intercâmbio de dados e publicação de documentos É constituído por cerca de 14 empresas e organizações, entre elas Adobe, Microsoft, HP, Netscape. Origem do XML As origens do XML estão na SGML Standart Generalized Markup Language SGML Fornece uma maneira padrão para criar, apresentar e trocar documentos com outros usuários independente do sistema ou plataforma utilizada 3

Alguns problemas da HTML Aplicações de comércio eletrônico necessitam de tags para referências à produtos, preços, códigos, etc. Estrutura limitada e simples Projetado para formatação de documentos entregues através da Web Difícil reutilização da informação Padrão limitado para intercâmbio de informações Alguns problemas da HTML... Inadequado para organização das informações. Busca por documentos gera grande número de resultados irrelevantes Automação limitada Padrão modificado constantemente Adequação aos novos padrões requer um grande esforço 4

Exemplo HTML <HTML> <BODY> Microcomputador Pentium IV, 1.5 GHz, 256MB de RAM, Monitor 17 polegadas, Mouse, teclado, estabilizador. </BODY> </HTML> SGML - Problemas Difícil adoção na Web Complexidade torna difícil seu suporte por browsers web Inexistência de estilos amplamente difundidos Para uso na web é convertido para HTML perdendo muito da inteligência do documento original, impedindo a sua reutilização, intercâmbio e automação 5

XML SGML para a Web Formato para descrição de dados estruturados Otimizado para entrega de informações SGML através da Web É uma linguagem para representação de dados, compacta e flexível, que faz parte de uma iniciativa para estabelecer um padrão mundial para troca de dados XML... Dados estruturados utilizando XML são independentes dos aplicativos utilizados ou fornecedores de software Suporta praticamente todas as funcionalidades mais difundidas do padrão SGML Simples: Especificação SGML: 500 páginas Especificação XML: 33 páginas 6

XML versus HTML XML e HTML são derivados da SGML HTML define a visualização e não a semântica XML define a semântica e não a visualização HTML - A codificação dos documentos deve obedecer o conjunto de comandos da linguagem (número de tags limitadas) XML - Permite a criação de estruturas que representam os dados e incrementam a própria linguagem Documento XML Formato texto, semelhante ao HTML em muitos aspectos Permite um número ilimitado de tags, cada uma delas indicativa, não de como algo deve ser exibido, e sim do que significa 7

Exemplo XML (1/2) <?xml version="1.0"?> <MICROCOMPUTADOR> <MODELO>Pentium IV</MODELO> <VELOCIDADE>1,5 GHz</VELOCIDADE> <RAM>256MB</RAM> <MONITOR>17 Polegadas</MONITOR> <TECLADO>Sim</TECLADO> <MOUSE>Sim</MOUSE> <ESTABILIZADOR>Sim</ESTABILIZADOR> <IMPRESSORA>Nao</IMPRESSORA> </MICROCOMPUTADOR> Exemplo XML (2/2) <?xml version="1.0"?> <MICROCOMPUTADOR> <MODELO>Pentium IV</MODELO> <VELOCIDADE>1,5 GHz</VELOCIDADE> <RAM>256MB</RAM> <MONITOR> <FABRICANTE> LG </FABRICANTE> <MODELO> StudioWorks 45i </MODELO> <TAMANHO_TELA>17 polegadas</tamanho_tela> </MONITOR> <TECLADO>Sim</TECLADO> <MOUSE>Sim</MOUSE> <ESTABILIZADOR>Sim</ESTABILIZADOR> <IMPRESSORA>Nao</IMPRESSORA> </MICROCOMPUTADOR> 8

XML: Padrões Associados XSL extensible Style Language Compatível com CSS (Cascading Style Sheet) Capacidade de reordenação da informação sem consultar o servidor Web Suporte aos formatos impressos e online XLL extensible Linking Language Compatível com endereçamento baseado em URL s Links bi-direcionais Links indiretos Apoio ao Padrão XML Internet Explorer e Netscape Navigator já oferecem suporte ao formato XML Microsoft Office 2000 Assunto preferido da imprensa especializada Apenas o apoio das empresas integrantes do grupo de trabalho representa um grande passo para sua adoção universal 9

Perspectivas Tecnologia preferencial para intranets e extranets Torna possível a adoção da Internet como meio preferido para aplicações de negócios Padrões criados a partir do XML MathML (Mathematical markup Language) descrição de fórmulas matemáticas MML (Medical Markup Language) - troca de dados entre diferentes instituições envolvidas com clínicas médicas GXL (Graph Exchange Language) padronizar a troca de elementos gráficos HCML (Heath Care Markup Language) planos de saúde ComicsML (Comocs Markup Language) definir padrões para histórias em quadrinhos... 10

Onde utilizar XML Troca eletrônica de documentos de maneira a automatizar os processos de negócio entre duas ou mais empresas (B2B) Melhorar a busca de informações Automação da Web Em conjunto com documentos HTML Automação de Cadeia de suprimentos Criação de Aplicações XML Para criar aplicações XML são necessários 4 passos: Selecionar ou escrever um DTD (Document Type Definition) Criar documentos XML Interpretar documentos XML Exibir documentos XML 11

A estrutura de um documento XML Elemento root A tag principal que engloba todo documento e sua utilização é obrigatória tag (ou elemento) são os marcadores. E por meio deles que é possível definir o significado dos dados armazenados Instrução de processamento Permite que o documento XML transmita alguma informação para o software que irá interpretar o seu conteúdo Comentários A estrutura de um documento XML... Entidades Refere-se a um caracter ou a um bloco de texto que será importado pelo documento XML Atributos Assim como na HTML, podem ser usadas para definir propriedades especiais para as tags presentes no documento XML 12

A estrutura de um documento XML... Declaração do tipo de documento É utilizado para verificar se todas as tags usadas estão seguindo certos padrões, como: quais tags podem aparecer no documento, seus atributos, os valores que esses atributos podem assumir, etc. Seção CDATA Permite utilizar os caracteres especiais com um texto qualquer. Tipos de Documentos Inválidos Bem formados Válidos 13

Documentos bem formados <CONSTRUCAOCIVIL> <VASOSANITARIO> <NOME>Vaso sanitário para banheiro</nome> <DESCRICAO>Vaso em Louça</DESCRICAO> <FABRICANTE>Vasolegal</FABRICANTE> <VALOR>42,51</VALOR> <QUANTIDADE>10</QUANTIDADE> </VASOSANITARIO> </CONSTRUCAOCIVIL> Declaração XML Deve começar no primeiro caracter da primeira linha do documento A Declaração é opcional, porém a recomendação da W3C sugere que seja incluído em todos os documentos xml Deve ser em minúsculo, obedecendo a versão vigente <?xml version= 1.0?> 14

Unicode Os caracteres nos documentos XML seguem o padrão Unicode Possui suporte para todos os idiomas e símbolos matemáticos Se o tipo de codificação utilizado não for o default, então a declaração do tipo de codificação deve ser informado junto com a declaração do documento <?xml version= 1.0 encoding= ISO-8859-1?> um elemento é qualquer cadeia de caracteres Os elementos que aparece de abertura entre os caracteres começam com o caractere delimitadores < seguido < do e > nome do elemento. Instruções de Processamento: Mecanismo de inserção de informações Os elementos desde explícitas que de não fechamento em esteja um documento contido começam em que um comentário são os caracteres </ ou em uma seção CDATA Referências destinadas seguidos a Entidades do a alguma mesmo aplicação. são nome marcações do elemento que de são abertura. substituídas Comentários começam Começa caracteres com com <!-- <? de e dados e termina terminam no processamento com com?> --> do documento. e são ignorados. Não As podem cinco entidades acontecer a antes seguir da são instrução predefinidas por XML: Uma alternativa é o elemento vazio, declaração XML o qual nem & assume dentro < ambas de um > as elemento; " &apos; funções, não podem conter a seqüência -- de elemento de abertura e de fechamento. Termina com /> em vez de apenas > <passo>se A > B entao MAIOR = A senao MAIOR = B </passo> CDATA: todo o texto que aparece entre delimitadores de seção CDATA que são considerados caracteres de dado: <passo>se MAIOR < C entao MAIOR = C <![CDATA[... ]]> </passo> 15

Formatando um documento XML São utilizadas folhas de estilo Existem dois tipos de folhas de estilos que podem ser usadas em um documento XML CSS (Cascating Style Sheets) XSL (extensible Style Sheets) Utilização de referências nos doc. XML Referência a caracteres especiais Referência a entidades São blocos de textos que podem ser utilizados nos documentos XML Pode ser um único caracter, um documento XML completo, etc 16

Entidades Internas Estão presentes no próprio documento XML Possibilita que caracteres ou partes de um texto sejam substituídos por outros conteúdos Declaração de uma entidade <!DOCTYPE TEXTO [ <!ENTITY nome_da_entidade frases ou documentos XML"> ]> Entidades Externas Entidades externas possibilitam maiores vantagens e possibilidades de utilização prática, principalmente no que se refere ao compartilhamento de informações entre páginas da Web Permitem a construção de documentos extensos em partes Possibilita que pessoas ou empresas diferentes façam documentos separados e depois sejam agrupados de alguma maneira 17

Seções CDATA É usada para proteger um trecho do texto da análise do Processador XML Sintaxe <![CDATA[ ]]>... DTD (Document Type Definition) 18

Documento XML Processador XML Aplicação A Internet Document Type Definition Aplicação B Aplicação C DTD Document Type Definition É um documento tipo texto que contém todas as regras estabelecidas para elaboração de um documento XML Um DTD é como um formulário padrão que é preenchido. Os dados podem vir de uma consulta a um banco de dados, de uma busca em documentos ou pesquisa em um catálogo online. Quando o formulário estiver preenchido, ele pode então ser enviado a quem solicitou o documento 19

A Criação ou seleção de um DTD Sua função é definir todas as tags que um documento XML pode conter, determinando a ordem em que eles devem aparecer e se são obrigatórios ou opcionais. É necessário definir as tags de cada documento quais tags podem conter outras tags o número e seqüência das tags os atributos que as tags podem ter e seus valores A criação ou seleção de um DTD Requer análise de documentos que elementos irão ocorrer? como se relacionam entre si? como irão os usuários interagir com eles? Tarefa difícil quanto mais amplo o escopo maior a complexidade difícil conseguir a concordância de todos os envolvidos 20

DTDs Empresas que desejarem usar XML precisam descobrir uma maneira simples de encontrar a informação de que necessitam sobre os esquemas (DTDs), documentos e processos de negócios que outras empresas suportam Este problema pode ser minimizado pela criação de portais especializados em localizar, gerenciar e informar sobre o padrão XML, XLS e os modelos de informação usados em milhares de aplicações. A Microsoft já criou um portal com este objetivo (http://www.biztalk.org/) Documento Válido Segue a gramática estabelecida por uma DTD. Um documento XML pode estar, opcionalmente, associado a uma gramática que rege sua estrutura e composição, denominada DTD 21

Declaração de Elementos no DTD Objetivos: Definir a sintaxe correta para declaração de elementos em um DTD Demonstrar as variações existentes na declaração dos elementos inseridos em um DTD Maneiras de definir um DTD DTD Interno É útil quando for necessário estabelecer regras para um único documento DTD Externo Vários documento pode utilizar o mesmo DTD 22

Exemplo <?xml version="1.0"?> <!DOCTYPE TEXTO [ <!ELEMENT TEXTO ANY> <!ELEMENT FRASE (#PCDATA)> ]> <TEXTO> <FRASE> Primeiro exemplo de DTD interno. </FRASE> </TEXTO> Blocos de construção no DTD Elementos Atributos Entidades Notações 23

Declaração de elementos no DTD 1. Elemento Vazio <!ELEMENT EMPRESA EMPTY> Indica que o elemento empresa é vazio e provavelmente será utilizado com um conjunto de atributo 2. Elementos que possuem apenas texto É utilizado a palavra reservada PCDATA <!ELEMENT TEXTO (#PCDATA)> 3. Elementos que possuem qualquer coisa <!ELEMENT ELETRONICOS ANY> Declaração de elementos no DTD... 4. Elementos que possuem elementos filhos <!ELEMENT CLIENTE (NOME, CNPJ, INSCRICAO)> 5. Pelo menos uma ocorrência para um elemento <!ELEMENT CLIENTE(CNPJ, TELEFONE+)> 6. Quantos elementos forem necessários <!ELEMENT CLIENTE(CNPJ, TELEFONE*)> 7. Elemento opcional <!ELEMENT CLIENTE(NOME, FAX?, EMAIL?)> 8. Um ou outro elemento <!ELEMENT CLIENTE(CGC CNPJ)> 24

Declaração de elementos no DTD... Exemplos <!ELEMENT CLIENTE(NOME ENDERECO)*> <!ELEMENT CLIENTE(NOME ENDERECO)+> Declaração de atributos no DTD Identificadores especiais inseridos em documentos XML que possibilitam fornecer valores aos elementos inseridos nesses documentos Sua utilização possibilita a elaboração de documentos mais especializados 25

Declaração de atributos no DTD... A utilização de atributos no DTD e, conseqüentemente, nos documentos XML envolvem quatro aspectos: O tipo de elemento a que ele pertence O nome dado ao atributo O tipo de dados que o atributo pode conter Como o atributo será tratado pelo processador XML com relação a valores default Declaração de atributos no DTD... Para realizar a declaração de um atributo, é utilizada a palavra reservada ATTLIST que possui o seguinte formato: <!ATTLIST nome-do-elemento nome-do-atributo tipo-do-atributo valor-default> Ex: <!ATTLIST ESCOLA grau CDATA primário > 26

Declaração de atributos no DTD... CDATA - string (val1 val2 val3...) uma lista de valores ID - identificador único IDREF identificador de outro elemento IDREFS - Uma lista de identificadores de outros atributos NMTOKEN Um nome válido em XML NMTOKENS - lista de nomes validos em XML ENTITY Uma entidade ENTITIES - Uma lista de entidades NOTATION - um de um conj de nomes declarados no DTD Formas de declarar atributos Atributo opcional <!ATTLIST EMPRESA tipo CDATA pequena > Exemplo <EMRPESA tipo pequena >... </EMPRESA> <EMRPESA tipo média >... </EMPRESA> <EMRPESA tipo grande >... </EMPRESA> Vários atributos <!ATTLIST EMPRESA tipo CDATA pequena faturamento CDATA baixo funcionarios CDATA Menos de 1000 > 27

Formas de declarar atributos... Atributos Obrigatório <!ATTLIST EMPRESA tipo CDATA #REQUIRED> Opções para um atributo <!ATTLIST EMPRESA tipo (pequena media grande) pequena #REQUIRED> Escolha do valor pelo processador <!ATTLIST EMPRESA tipo (pequena media grande) #IMPLIED> Formas de declarar atributos... Valor fixo para o atributo <!ATTLIST AUTOMOVEL rodas CDATA #FIXED 4 rodas > Valor único para um atributo <!ATTLIST PRODUTO cod1 ID #REQUIRED> Valor de um identificador <!ATTLIST ACESSORIO cod2 IDREF #REQUIRED> 28

Formas de declarar atributos... Valor de vários identificadores <!ATTLIST CONJUNTO cod3 IDREFS #REQUIRED> Atributos tipo NMTOKEN e NMTOKENS <!ATTLIST Produto material NMTOKEN #REQUIRED> A tag PRODUTO deve possuir obrigatoriamente um atributo com o nome material e seu conteúdo ficara restrito a letras, algarismos e o caracteres -, _. :, outros caracteres, inclusive o espaço em branco, não serão permitidos Entidades Exemplo (automação de processos na Internet) Problema: várias empresas parceira na fabricação de um produto necessitam disponibilizar informações na Internet sobre estes produtos (características, assistência técnica, preços, tipos, condições de pagamento, transporte, etc). Cada empresa possui um documento em XML com informações referentes a sua participação no processo produtivo 29

Entidades... São comumente utilizadas para realizar substituição automática de conteúdo no momento da apresentação Podem acrescentar pequenas frases a um documento, ou até documentos inteiros, o que de fato é mais importante Exemplo Empresa 1: É uma fabrica montadora de microcomputadores, sendo que a mesma produz apenas a placa mãe e todos os outros acessórios são advindos de outras empresas Entidades... Empresa 03 Empresa 02 Especializada na fabricação de gabinetes Produz monitores de vídeo Empresa 05 Montadora (Empresa 1) Fabricante de microprocessadores e memórias tipo RAM e Cache Empresa 04 Fornecedora de disco rígido e driver para CD-ROM 30

Declaração de Entidades... Podem ser utilizadas de duas formas principais: Como entidades de uso geral que podem ser utilizadas em qualquer ponto do documento XML <!ENTITY x1... > Como entidade de parâmetros utilizadas somente dentro do DTD <! ENTITY % X1...> Entidades de uso geral <!ENTITY nome-da-entidade frase-ou-documento> Declaração de Entidades... Declaração 1 Incorporação de um texto simples <!ENTITY personagem Fred Flinkstone > Declaração 2 Incorporação de um outro documento <!ENTITY res SYSTEM http//www.livroxml.com.br/resumo.xml > Mostrar exemplo 13 31

Entidades de Parâmetro Atuam exclusivamente dentro do DTD, não sendo utilizado no documento XML Objetivos: Simplificar o entendimento do tipo de atributo que está sendo utilizado, criando tipos de atributos personalizados Substituir trechos do DTD que se repetem, principalmente para DTDs maiores e mais complexos, criando entidades que armazenam uma lista de elementos ou atributos Sintaxe: <! ENTITY %nome_da_entidade tipo_de_atributo > Entidades de Parâmetro - Exemplo 1. <!-- DTD com entidades de parametro (ex0907.dtd) --> 2. <!ELEMENT MICROCOMPUTADOR ANY> 3. <!ELEMENT MICRO (MEMORIA,VELOCIDADE)> 4. <!ENTITY % caracteres_sem_espaco "NMTOKEN"> 5. <!ENTITY % String "CDATA"> 6. <!-- String do tipo CDATA --> 7. <!ENTITY % chave "ID"> <!-- chave do tipo ID --> 8. <!ELEMENT VELOCIDADE (#PCDATA)> 9. <!ELEMENT MEMORIA (#PCDATA)> 10.<!ATTLIST MICRO codigo %chave; #REQUIRED> 11.<!ATTLIST MEMORIA tipo %String; #REQUIRED> 12.<!ATTLIST VELOCIDADE unidade %caracteres_sem_espaco; #REQUIRED> 32

Lista de elementos ou atributos Atuam com se fossem procedures das linguagem de programação, isto é, armazenam trechos de códigos que se repetem várias vezes no mesmo documento Exemplo 1. <!-- DTD com entidades de parametro (ex0910.dtd) --> 2. <!ELEMENT PRODUTOS ANY> 3. <!ENTITY % lista "CODIGO,DESCRICAO,PRECO"> 4. <!ELEMENT PRODUTO1 (%lista;)> 5. <!ELEMENT PRODUTO2 (%lista;,fabricante)> 6. <!ELEMENT CODIGO (#PCDATA)> 7.... Utilização de módulos como entidade de parâmetro Torna-se possível a construção de partes específicas e especializada do DTD em arquivos separados Exemplo 1. <?xml version= 1.0 encoding= ISO8859-1?> 2. <! DOCTYPE PRODUTOS [ 3. <!Entity %tabelas SYSTEM tabelas.dtd > 4. %tabelas; <!-- aqui é inserido o dtd p/ tabelas --> 5. <!Entity %paragrafos SYSTEM paragrafos.dtd > 6. % paragrafos; <!-- regras para tabelas --> 7. ]> 33

XML não tem um conjunto finito de tags (como HTML) XML, por si só, não tem semântica relacionada à apresentação Um processador XML genérico não tem idéia do que está representado em um documento XML A informação em um documento XML pode não estar na forma em que se deseja apresentá-la Portanto, deve existir alguma coisa, em adição ao documento XML, que forneça informações sobre a maneira que o mesmo deve ser apresentado ou processado. Formatação da XML com CSS Em HTML cada tag possui uma formatação default embutida que não depende da utilização da CSS Enquanto que, XML é totalmente dependente de um estilo externo em que a forma como as tags serão exibidas devem ser especificada Uma folha de estilo pode ser utilizada por diversos documentos, da mesma forma que ocorre com o DTD Caso seja necessário alterar algum padrão no layout, todos os documentos que utilizam a mesma folha de estilo serão afetados 34

Vantagens da separação Conteúdo X estilo Reuso de fragmentos de dados: o mesmo conteúdo pode ser visualizado diferentemente em diferentes contextos Múltiplos formatos de saída: diferentes mídias (papel, on line), diferentes tamanhos (manuais, relatórios), diferentes classes de dispositivos de saída (workstations, dispositivos portáties) Estilo customizado às preferências do usuário (acessibilidade): tamanho de impressão, cor, layout simplificado para leitores auditivos Vantagens da separação Conteúdo X estilo Estilos padronizados: estilo corporativo pode ser aplicado ao conteúdo a qualquer momento. Liberdade a autores de conteúdo em relação à preocupação com estilo de apresentação: o estilo correto pode ser aplicado posteriormente 35

CSS - O que é...? Uma lista de regras Cada regra especifica os nomes dos elementos a que se aplica e o estilo a aplicar Aplicável a XML e também HTML Exemplo: 1. POEM { display: block } 2. TITLE {display: block; font-size: 16pt; font-weight: bold } 3. POET {display: block; margin-bottom: 10px } 4. STANZA {display:block;margin-bottom: 10px } 5. VERSE { display: block } Atributo STYLE Permite especificar estilo de apresentação de elementos diretamente no documento. Ex: <CITATION CLASS= TURING ID= C2 STYLE= font-wight: bold > NÃO recomendado. O documento fica mais legível e de manutenção mais fácil se todas as informações de estilo forem mantidas em folhas de estilo 36

Herança Se não houver regras que especifiquem o estilo de um determinado elemento, esse elemento as herda de seu elemento pai. Associação de folhas de estilo a um documento XML Através de instrução de processamento <?xml-stylesheet?> Uma folha de estilo pode importar outras utilizando @import ex: @import url (http://www.w3.org/basicstyles.css) @import url (/styles/baseball.css) O usuário pode especificar uma folha de estilo utilizando recursos do browser O browser provê estilos default para a maioria das propriedades. 37

Limitações da CSS1 Atribui estilos somente a conteúdo que já aparece no documento. Não pode adicionar conteúdo, mesmo que simples pontuações! (XSL pode) Não é capaz de transformar o conteúdo, como aplicar ordenação, etc. (XSL é) Não tem suporte para tabelas. Não consegue manipular texto em diferentes ordens, como acontece em Árabe, Chinês, Hebreu, etc. CSS2 Extensão de CSS1 Um superconjunto de CSS1 Poucas redefinições, como o default para a propriedade display Capaz de formatar p/ papel e p/ Web Muitas das regras ainda não implementadas por browsers tradicionais como Netscape e IE. 38

CSS2 - características Permite selecionar e formatar mais precisamente o elemento no documento Seleção do primeiro filho de um elemento Ajuste do elemento quando recebe foco Controle automático da disposição de elementos ao redor de elementos selecionados Controle de mudança de páginas p/ slide-show. Suporte a tabelas Indentação automática de listas XSL (Extensible Style Language) Especificam a apresentação de documentos XML utilizando duas categorias básicas de técnicas: A transformação opcional do documento em outro documento, com estrutura diferente. A descrição de como apresentar a informação transformada (isto é, a especificação de que propriedades associar a cada uma das várias partes da informação transformada. 39

Princípios Básicos da XSL A XSL deve ser utilizada na Internet Deve ser definida a partir da sintaxe padrão definida na XML Deve fornecer uma linguagem declarativa, realizando todas as tarefas comuns de formatação Proporcionar não apenas tarefas de formatação, como também procedimentos de uma linguagem de programação, propocionando a transformação dos elementos inseridos nos documentos Fácil criação e legibilidade Divisão da XSL XSLT (Extensible Style Language Transformatio) Transformação de documentos XML XSL-FO (Extensilbe Style Language Formation Objects) Para formatação de objetos apenas Ainda não é reconhecida pelos browsers Site: http://www.w3.org/style/xsl/ 40

XSLT É possível fazer com que o mesmo documento seja visualizado de formas diferentes, sendo que seus elementos podem ser: filtrados, exibidos segundo certas condições Ordenados segundo determinadas regras É possível realizar a transformação de um documento XML em HTML, tudo em tempo de execução pelo próprio browser. Principais benefícios da XSLT Convenção de dados entre diferentes aplicações Convenção de formatos diferentes Filtragem de informações 41

Diferenças básicas entre XSLT e CSS A CSS é mais fácil de aprender e implementar do que a XSLT que é mais complexa, envolvendo diversos conceitos de programação A CSS é suportada pela maioria dos browsers, o que ainda não ocorre com a XSLT A XSLT é muito mais poderosa que a CSS, pois não se restringe apenas a apresentar os elementos na tela, permitido que os dados sejam reordenados, transformados dinamicamente, gerando novos dados a partir do documento XML Como Funciona o XSLT O processador recebe um documento XML e o transforma em outro documento Doc. Fonte XSL Doc. Resultado XSLT Style Sheet 42

A Estrutura de documento XSLT XSLT HTML Documentos XML PDF XML Estrutura de um documento XSLT... Cabeçalho Template Principal (Sempre processado) Tags HTML ou XML Instruções XML Templates secundários <?xml version="1.0" encoding="iso8859-1"?> - <xsl:stylesheet xmlns:xsl= "http://www.w3.org/1999/xsl/transform" version="1.0"> <xsl:template match="/"> <HTML><BODY>... </HTML></BODY> <xml> -<xsl:value-of select= FILME /> -</xsl:for-each select= FILME /> xsl:template match= FILME > 43

Funcionamento do XSLT O arquivo XSLT é utilizados pelo processador do documento XML, no caso o browser, para interpretar com o documento será apresentado na tela Ocorrem dois procedimentos importantes: Ao abrir o documento, o browser percebe que ele aponta para um arquivo XSLT Logo em seguida, cada tag que o browser lê no documento XML, ele verifica no arquivo XSLT o que deve fazer com ele (que tipo de formatação, filtrar ou não...) Exemplos Apresentar os exemplos 15, 16, 17 44

Potencialidades da XSLT Filtrar informações Ex: O usuários está visitando o site de uma locadora virtual e deseja visualizar na tela apenas os filmes de um determinado gênero Aventura <xsl:if test = GENERO[.= Aventura ] > Apresentar o exemplo 18 Editores XML Microsoft XML Notepad Desenvolvido pela Microsoft apenas para elaboração de documentos XML Disponível gratuitamente Permite visualização da estrutura dos dados XMLwriter (Avaliação por 30 dias) Editor mais sofisticado, escrito em C++, que possibilita: Validação de documentos XML por meio de um DTD Convenção de XML em HTML por meio de XSL A visualização da tela de resultados usando CSS e XSL 45

Editores XML XML SPY Uma das principais ferramentas para desenvolvimento de documentos baseado em XML Recomendado pela Microsoft Interpretação de Documentos XML Para a interpretação de documentos XML existem duas APIs que podem ser utilizadas: DOM (Document Object Model) e SAX (Simple API for XML) DOM é um padrão definido pelo W3C que cria uma visão em árvore do documento XML 46

Conclusões Por que usar XML? Viabiliza a troca de dados entre computadores XML é a linguagem da Web para intercâmbio de dados Grande número de aplicações Preparação para o mundo conectado e Internet onipresente Conclusões... O que fazer? Aprender o máximo possível sobre XML Analisar as necessidades cautelosamente XML possui um enfoque diferenciado para resolução de problemas em relação às tecnologias tradicionais Acompanhar a evolução do padrão XML Investigar XML hoje e implantá-la amanhã 47