Please enable JavaScript.
Coggle requires JavaScript to display documents.
XML (eXtensible Markup Language) (Características (É uma metalinguagem de…
XML (eXtensible Markup Language)
Características
É uma metalinguagem de marcação especificada pela W3C
Define um conjunto de regras para codificar documentos em formato legível por humanos e máquinas
HTML vs XML: A primeira é uma linguagem de marcação, a segunda é uma metalinguagem de marcação
XML não possui tags predefinidas, o usuário quem cria suas próprias tags
Elementos: tudo que se encontra entre tag inicial e final, incluindo a própria tag
Atributos: informações adicionais sobre um elemento, deve vir com aspas
É uma metalinguagem extremamente extensível, capaz de separar dados da aparência
Simplifica o compartilhamento e transporte de dados
Namespaces: diferenciar elementos com nomes iguais utilizando xmlns
Em geral, quando não se declara nada, o elemento-raiz é declarado por um !ELEMENT, mas nós podemos declarar o elemento-raiz de um Arquivo XML no <!DOCTYPE>.
XML Bem Formado e XML Válido
Bem Formado
Um XML bem formado não é necessariamente válido
Documentos XML devem possuir um único elemento-raiz
Todos elementos devem conter uma tag de fechamento
Elementos devem estar corretamente aninhados
Atributos devem possuir valor entre aspas simples ou duplas
Nomes de tags e atributos são Case-Sensitive
Caracteres especiais não podem ser usados diretamente
Atributos não podem se repetir dentro de um elemento
Atributos devem seguir regras de nomenclatura: nomes não podem conter espaços em branco, não podem começar com número, ponto ou hífen, e não podem possuir !"#$%&'+,/;<=>? entre outros caracteres especiais
Validade
Para que seja válido, o XML deve ser consistente com seu esquema
Existem dois tipos principais de Arquivos de Definição: DTD (Data Type Definition) e XSD (Xml Schema Definition)
Um XML válido é um XML bem-formado e que também segue as regras de um DTD ou XSD
Não é obrigatório o uso de Arquivos de Definição
DTD vs XSD
O objetivo de ambos é definir uma estrutura de um documento XML, estipulando os elementos e atributos que podem aparecer
O DTD possui uma sintáxe própria, enquanto o XSD é escrito em XML
O XSD permite criação de namespaces, definição de novos tipos, definição de restrições, conversão de dados
XML Schemas (XSD) são mais ricos e poderosos que DTDs
Como o XSD é escrito em XML, pode-se usar o mesmo Editor XML e o mesmo Parser XML; pode-se manipular o Schema utilizando o XML DOM; pode-se transformá-lo com o XSLT.
O elemento raíz de um XML Schema é o <schema> </schema>
XML Schema: Tipos de Conteúdo
Tipo simples contém apenas texto, e não contém nenhum outro elemento ou atributo
Tipo complexo contém outros elementos e/ou atributos, podendo ser elementos vazios, conter outros elementos, conter somente texto ou conter ambos
XML Schema: Facetas
Facetas fundamentais: determinam o tipo de dado (equal, ordered, numeric)
Facetas restritivas: aplicadas opcionalmente a tipos de dados a fim de restringir valores
XML Schema: Elementos Diferentes
<notation>: elemento responsável por descrever o formato de dados não-XML dentro de um documento XML
O tipo AnyType é o tipo default quando nenhum outro tipo é especificado
A especificação XML Schema assume que ao menos dois documentos são utilizados: um documento de instância (Ex: XML) e pelo menos um documento esquema (Ex: XML Schema)
Tipos de dados nativos mais comuns são: xs:string, xs:decimal, xs:integer, xs:boolean, xs:date, xs:time
XSL (eXtensible Stylesheet Language)
XML -> XSL
HTML -> CSS
Linguagem de folha de estilo para XML.
<xsl:stylesheet version ="1.0" xmlns:xsl ="url">
<xsl:template match = "/">
A "/" significa o documento inteiro
Se divide em XSLT, XPath e XSL-FO
XSLT
Linguagem para transformação de documentos XML em outros formatos reconhecidos por um navegador web (XML, XHTML, HTML, etc)
É possível adicionar ou removar elementos e atributos de/para um arquivo de saída
Transforma uma Árvore-Fonte XML em uma Árvore-Resultado XML
Busca informações no XML através do XPath
<xsl:stylesheet version = 1.0" xmlns:xsl="url"> ou <xsl:transform version=1.0" xmlns:xsl="url">
<xsl:for-each> seleciona elementos XML de um conjunto de nós
o SELECT seleciona o nó por meio do XPath.
O elemento <xsl:value-of> extrai o valor de um elemento e adiciona-o à saída da transformação
Document Object Model (DOM)
Simple API for XML (SAX)
Representa como as marcações em HTML, XHTML, XML são organizadas e lidas pelo navegador
As marcações são indexadas e se transformam em elementos de uma árvore em que se pode manipular
Scripts podem manipular as marcações através da ÁRVORE DOM
A árvore é composta por nós que contêm elementos, textos, atributos, etc
DOM opera sobre o documento como um todo, SAX opera sobre cada parte do documento sequencialmente
Um aplicativo baseado em SAX pode gerar apenas os elementos que precisa, sem construir uma estrutura na memória com o documento inteiro
SAX utiliza memória constante
Por isso, para arquivos grandes, é inviável utilizar o DOM