Usando XML para criar páginas da Web melhores e mais responsivas

Divulgação: Seu suporte ajuda a manter o site funcionando! Ganhamos uma taxa de indicação por alguns dos serviços que recomendamos nesta página.


XML é a abreviação de Extensible Markup Language. É uma linguagem de marcação altamente estruturada, projetada para ser humana e legível por máquina. Mas XML não é uma linguagem da mesma forma que HTML é uma linguagem. XML não possui tags como

.

Em vez disso, o XML permite que o codificador crie qualquer tag. E, mais importante, permite que essas tags sejam relacionadas entre si. Portanto, o XML permite armazenar dados de uma maneira poderosa. Mas ele não fornece nenhuma informação sobre o que deve ser feito com esses dados. É aí que entram as linguagens baseadas em XML – coisas como: XHTML, RSS e SOAP. Também é uma maneira comum que programas como processadores de texto e planilhas podem salvar dados de maneira independente do aplicativo.

Usando XML

Uma breve história das linguagens de marcação

As linguagens de marcação começaram como uma maneira de combinar os melhores elementos de arquivos de texto (legibilidade dos dados) e arquivos binários (descrição precisa dos dados). Assim, no final dos anos 80, foi criada a SGML (Standard Generalized Markup Language). Era uma linguagem baseada em texto que permitia que os dados e sua exibição fossem descritos com precisão. HTML era um sistema muito simples, baseado em SGML.

Mas quando o HTML se tornou imensamente popular como base da rede mundial de computadores, ficou claro que era preciso algo melhor. O HTML era limitado e não estava bem formatado, de modo que os navegadores precisavam analisar todos os tipos de código. Por exemplo, as tags de fechamento eram frequentemente omitidas e os atributos da tag não eram colocados entre aspas. Lembre-se de código como este?

  • Pernalonga
  • Patolino
  • Leghorn Foghorn

Digite XML

O HTML mal estruturado não pode ser substituído pelo SGML, porque é ridiculamente complicado. Teria sido algo como substituir HTML por PostScript. Então, em meados dos anos 90, o trabalho começou em XML. É um subconjunto do SGML que permite que os codificadores descrevam dados e seus relacionamentos. E com o uso de folhas de estilo, ele pode ser usado para formatar e transmitir dados da maneira quase imaginável. Mas, diferentemente do SGML, escrever programas de análise para ele é bastante simples. E no início de 1998, o W3C lançou o primeiro padrão XML.

Por que usar XML?

Tudo isso pode parecer meio abstrato. Afinal, independentemente de quão poderoso é o XML no armazenamento de dados, como um navegador da Web exibe nada além de uma lista de dados? Mas esse é o ponto. O grande problema do HTML nos primeiros dias era que as informações de dados e layout estavam espalhadas por um documento. Lembra quando algum tipo de layout de página tinha que ser feito com tabelas, tornando o código HTML quase ilegível? Hoje, usamos folhas de estilo para separar o código do layout das informações apresentadas. Assim, uma vez concluído o layout, é simples manter e adicionar dados.

Mas o XML não é um substituto para o HTML. No sistema mais geral, XML é um tipo de banco de dados legível por humanos. Mas pode ser transformado em uma página da Web em HTML (e muito mais!) Usando outra versão, as Extensible Stylesheet Language Transformations (ou XSLT). Ele converte documentos XML em outros documentos XML – por exemplo: documentos XHTML. Mais interessante ainda, o XML é usado para coisas como RSS e SOAP.

Um exemplo básico

Vamos começar com um exemplo muito básico de como os dados são inseridos em um arquivo XML.

<?versão xml ="1.0" ?>

Bullwinkle
2
10

Boris Badenov
4
0 0

Observe que nenhuma dessas tags é definida pelo XML. Eles são definidos pelo codificador. O que o XML sabe (e isso é crítico) é que o personagem é um tipo de cartoon_characters e que cada personagem tem características, nome, inteligência e sorte. Outras características (como espécies) e mais caracteres (como Wrongway Peachfuzz) podem ser adicionados e não afetariam nenhum analisador XML.

Podemos dar um passo adiante, criando um arquivo de transformação XSL que criará um arquivo XHTML que exibe os nomes dos caracteres em uma lista não ordenada. Primeiro, teríamos que adicionar uma linha extra de código ao código XML anterior, logo após a primeira linha que define o arquivo como XML. Seria assim:

<?versão xml ="1.0" ?>
<?tipo de folha de estilo xml ="text / xsl" href ="bullwinkle.xsl"?>

.
.
.

Em seguida, crie um arquivo XSL com o nome “bullwinkle.xsl”:

<?versão xml ="1.0" codificação ="UTF-8"?>

Rocky e Bullwinkle Show

Personagens de desenhos animados

Em seguida, carregue o arquivo XML original e ele será exibido como um arquivo XHTML.

Você pode experimentar esses arquivos para ter uma idéia melhor do que está acontecendo. Mas o mais importante é que você pode deixar o arquivo XSL em paz, enquanto adiciona mais e mais dados ao arquivo XML.

Tem mais

XML é um assunto enorme. Acabamos de mergulhar o dedo em algumas águas muito profundas. A Wikipedia lista aproximadamente 200 idiomas XML. Isso inclui coisas como XHTML, é claro. Mas eles também incluem ferramentas XML estreitamente relacionadas, como Criptografia XML (para criptografia de dados) e Assinatura XML (para assinaturas digitais). Mas mais do que isso, existem vários aspectos importantes para o idioma:

  • Namespaces: uma maneira de permitir que diferentes conjuntos de dados existam em um único arquivo XML sem conflitos de nomes.
  • Definições de tipo de documento: a temida DTD que os codificadores de sites normalmente apenas copiam e colam em seus documentos sem entender.
  • Esquema: uma maneira de estruturar um documento XML para limitar como ele é usado.
  • Banco de dados: uma abordagem não SQL para armazenamento de banco de dados. Existem vários diferentes disponíveis.

Recursos online

Há uma quantidade incrível de material relacionado a XML online. De fato, há tanta coisa que é esmagadora. Como resultado, tentamos manter apenas os principais tópicos XML. Mas você encontrará links aqui que responderão a qualquer pergunta que você tenha em sua carreira de codificação XML.

Tutoriais

  • Introdução ao XML: a introdução básica do W3 Schools ao XML – fácil de entender com muitos exemplos
  • XML Basics – Uma Introdução ao XML: uma introdução antiga, mas que o leva a um longo caminho com alguns exemplos avançados.
  • Tutorial XML de Møller e Schwartzbach: uma introdução básica, mas muito ampla, sobre XML.
  • XML Master Basic Edition: um tutorial orientado à certificação que é muito claro.
  • Tutorial gratuito em XML do Webucator: um tutorial detalhado – uma excelente opção depois de executar um dos tutoriais mais simples.
  • O tutorial XML do Skew.org: outro tutorial avançado.

Tutoriais em vídeo

  • Tutorial XML para iniciantes: introdução da Portnov Computer School ao XLM.
  • XML com Java: um curso online gratuito composto por 13 palestras em vídeo de David J Malan.
  • Ciência da Computação E-75 Aula 3: do curso de extensão de Harvard “Construindo Sites Dinâmicos”. Esta palestra foca em XML. Em menos de duas horas, ele fornece tudo o que você precisa saber para criar suas próprias páginas da Web baseadas em XML. Nota: assume o conhecimento de PHP.

Fontes de dados

  • Página XML do W3C: tudo sobre XML – especialmente eventos futuros.
  • Arquivo W3C: muitas recomendações e notas de grupo. A página geral possui links para informações sobre outros tópicos relacionados ao XML.
  • Especificação anotada do XML 1.0: a especificação bruta pode ser difícil de passar, mas esta versão fornece histórico extra, detalhes técnicos, conselhos e muito mais.
  • Perguntas freqüentes sobre linguagem de marcação extensível: uma FAQ muito básica para respostas rápidas.
  • O XML FAQ: uma grande coleção de perguntas e respostas sobre aspectos básicos e avançados do XML.
  • FAQ sobre namespaces XML: perguntas e respostas detalhadas sobre namespaces.

Tópicos avançados

  • XML e bancos de dados: introdução completa de Ronald Bourret sobre bancos de dados XML. Inclui uma lista exaustiva de links. Muitos deles estão mortos, mas podem ser encontrados no Internet Archive.
  • O XML do Skew.org & Recursos XSLT: principalmente um monte de exemplos de XSLT, mas também outras informações, incluindo sua excelente lista de links para todas as coisas relacionadas a XML.

Livros

Dado o que é um grande assunto XML, pode ser realmente útil ter um ou dois livros: para aprender e para referência.

Aprendendo XML

  • Beginning XML, 4th Edition, de David Hunter e Jeff Rafter: excelente introdução com seções detalhadas sobre coisas como RSS e SOAP.
  • Learning XML, Second Edition por Erik Ray: uma introdução completa ao XML.
  • Começando XML por Fawcett e Ayers: uma introdução básica ao XML.

Referência XML

  • XML em poucas palavras de Harold e Means: um clássico, mas fora de catálogo e geralmente caro. Mas você pode encontrar uma cópia em uma venda de quintal.
  • XML Pocket Reference de St Laurent e Fitzgerald: exatamente o que diz – um livreto que você pode guardar no bolso da camisa para referência.
  • XML: The Complete Reference, de Heather Williamson: uma antiga referência de mil páginas; bom ter por perto.

Ferramentas de codificação XML

  • Altova XMLSpy: um ambiente completo de desenvolvimento XML integrado para Microsoft Windows. É bastante caro, mas para o desenvolvedor profissional, um bom investimento.
  • Editor XML: mais do que um editor, ele fornece depuração, criação de perfil e outras ferramentas. É baseado em Java e, portanto, será executado em qualquer plataforma. Também é caro, embora tenha disponível licenças acadêmicas e pessoais a preços razoáveis.
  • Stylus Studio: um conjunto de desenvolvimento XML baseado no Microsoft Windows, incluindo editor e ferramenta de mapeamento visual XSLT. É bastante caro, mas oferece uma edição doméstica com preços razoáveis.
  • EditiX XML Edit: um editor, depurador com preços razoáveis ​​e assim por diante. Também oferece uma versão gratuita do EditiX Lite.
  • Lista de editores XML da Wikipedia: existem muitos editores disponíveis de código aberto para proprietários e baseados na web.

Validadores XML

O XML é uma ótima ferramenta em parte porque é altamente padronizado. Isso significa que é exigente. Portanto, é fundamental que você verifique se seu código é XML válido. Muitas das ferramentas destacadas aqui contêm seus próprios validadores XML. Mas há muitos validadores XML gratuitos para ajudá-lo em seus projetos de codificação.

  1. O Serviço de validação de marcação do W3C: uma ferramenta geral que permite validar por URI, upload de arquivo e entrada direta.
  2. Validador XML do W3 Schools: um validador online fácil de usar.
  3. Validação XML: um validador online simples que permite entrada direta ou upload de arquivo.
  4. Code Beautify XML Validator: um validador simples que também formata seu código para facilitar a leitura.
  5. Verificação XML: um validador XML do Windows independente.
  6. Validador de esquema XML: um validador para sua definição de XML e esquema.

XML e o modelo de objeto de documento

Devido aos poderosos usos do XML pelo HTML, é essencial entender como o XML se relaciona com o DOM (Document Object Model).

XML e HTML

Na primeira vez que você ouviu falar de XML, você pode ter pensado no XML como uma alternativa à HTML (Hypertext Markup Language). Embora saibamos que o XML pode ser usado dessa maneira, isso é bastante incomum. O melhor uso é puxar dados para um documento HTML.

Vamos ver um exemplo conceitual.

função getXMLData () {
/ * insira a função JavaScript para obter dados de um arquivo XML * /
}
document.getElementById ("dados") .innerHTML = getXMLData ();

Tudo bem, para que o código não faça nada, mas podemos usá-lo para explicar como HTML e XML podem ser usados ​​para trabalhar juntos. No código acima, o HTML define uma div vazia que servirá como um contêiner para dados em um arquivo XML. Em seguida, uma função JavaScript é definida. A função está vazia, mas em aplicação prática, essa função identifica um arquivo XML, extrai dados do arquivo e adiciona tags HTML aos dados para que sejam renderizados corretamente pelo navegador.

Com uma função gravada corretamente, quando esse bit de HTML foi carregado, a div de dados não estaria vazia, mas conteria o conteúdo definido pela função JavaScript.

Você está começando a ver o poder do XML? Com esse arranjo, os dados exibidos em uma página da Web podem ser atualizados dinamicamente, atualizando o arquivo XML referenciado, da mesma maneira que um banco de dados pode ser usado para atualizar o conteúdo de uma página da Web..

O que é o modelo de objeto de documento?

O Document Object Model (DOM) é a interface de programação usada para manipular documentos HTML e XML. Quando você usa JavaScript, ou outra linguagem de script, para manipular um elemento em uma página da Web, o que você está realmente fazendo é manipular o DOM, não o próprio documento HTML.

O DOM é a camada virtual entre os documentos de origem usados ​​para criar uma página da web e os scripts que modificam essa página. Pense no DOM como a versão de uma página da web renderizada por um navegador e armazenada na memória do navegador. O DOM é uma representação dinâmica de uma página da Web que existe em um navegador da Web e pode ser acessada e modificada por script – geralmente JavaScript.

Conceituando o DOM XML

O conteúdo do DOM XML pode ser manipulado com scripts. No entanto, precisamos entender os relacionamentos entre os elementos XML DOM, chamados nós, antes que possamos fazer qualquer coisa com eles..

Vejamos uma versão simplificada do nosso código de exemplo XML anterior:

<?versão xml ="1.0" codificação ="UTF-8"?>

Máx.
Cão
7 de julho de 2014

O DOM XML é construído de nós. Cada parte do DOM XML é um nó.

  • Nó do documento: Todo o conteúdo do documento XML representa o nó do documento.
  • Nó raiz: O primeiro elemento em um documento XML é chamado de nó raiz. Nesse caso, o nó raiz é .
  • Nós pai e filho: Os termos pai e filho são usados ​​para descrever o relacionamento entre os elementos DOM e os elementos aninhados dentro deles. Em nosso código de amostra, o nó do elemento é o pai do nó e o nó possui três filhos: nome, tipo e data de nascimento. Cada nó em um documento XML, exceto o nó raiz, possui exatamente um nó pai e pode ter qualquer número de nós filhos.
  • Nós irmãos: Quando dois nós são filhos do mesmo pai, eles são chamados de nós irmãos. Em nosso exemplo, nome, tipo e aniversário são nós irmãos.
  • Nó de texto: O texto contido em um elemento é definido como um nó de texto no XML DOM. Esta é uma distinção importante. Se queremos chegar ao texto em um nó de texto, precisamos nos referir a ele como o valor do nó de texto, não o valor do nó filho. Em outras palavras, o caminho para o texto “Max” é assim: pets > animal > nome > nó de texto > valor: “Máx.”

Manipulando o DOM XML

Em geral, seu JavaScript é usado para manipular o XML DOM. JavaScript pode ser usado para recuperar uma variedade de propriedades dos nós no XML DOM. As propriedades XML DOM comumente acessadas incluem:

  • nodeValue: Obtém o valor contido no nó.
  • parentNode: faz referência ao nó pai. Se aplicássemos essa propriedade ao nó de nome em nosso XML de amostra, estaríamos nos referindo ao nó de estimação.
  • childNodes: faz referência a filhos de um nó. Se aplicada ao nó do animal de estimação em nosso código acima, essa propriedade retornaria os nós de nome, tipo e aniversário.

O JavaScript pode ser usado para fazer mais do que apenas referenciar as propriedades dos nós XML DOM. Aqui estão alguns dos métodos JavaScript mais comuns usados ​​para manipular ativamente o XML DOM.

  • getElementsByTagName: você poderá reconhecer esse método se já tiver usado o JavaScript para manipular elementos HTML. Solte o nome de qualquer elemento XML DOM, como “animal de estimação” ou “nome” do nosso código XML de exemplo, para acessar esses elementos.
  • appendChild: esse método é usado para adicionar nós filhos a um nó.
  • removeChild: remova um nó de um nó pai. Lembre-se de que os dados permanecerão no arquivo XML original, apenas serão removidos do DOM criado pelo navegador.

Existem muitos métodos e propriedades XML DOM adicionais. No entanto, você realmente precisa ter uma forte compreensão de JavaScript, XML e saber como planeja usar dados XML para aprofundar muito este tópico.

Recursos

Parece haver um número interminável de tutoriais on-line, e alguns são muito melhores que outros. Depois de analisar dezenas de tutoriais XML DOM, achamos que os tutoriais a seguir o atualizarão mais rapidamente.

  • W3Schools: Tutorial XML e Tutorial DOM XML.
  • Rede de desenvolvedores da Microsoft: um guia para iniciantes no DOM XML
  • Sitepoint: uma introdução muito, muito, muito boa ao XML, uma introdução ao XML de 25.000 palavras que abrange a manipulação do DOM. Este tutorial é, na verdade, os quatro primeiros capítulos de um livro muito mais longo chamado No Nonsense XML Web Development With PHP por Thomas Myer.
  • Ponto dos tutoriais: Tutorial XML DOM.
  • Rede de Desenvolvedores Mozilla: Introdução ao DOM.

Se você preferir um formato de aprendizado que ofereça um pouco mais de estrutura do que um tutorial, talvez esteja interessado em um dos seguintes cursos on-line que cobrem XML e o XML DOM.

  • Udemy: XML do iniciante ao especialista
  • Lynda: Treinamento Essencial em XML.

O XML existe há muito tempo. Como resultado, muitos textos XML foram escritos ao longo dos anos. Abaixo estão alguns títulos XML modernos que cobrem o XML DOM e são altamente cotados pelos leitores:

  • XML inicial por Fawcett, et al.
  • Novas perspectivas em HTML, CSS e XML por Patrick Carey
  • Sucesso da programação XML em um dia por Sam Key
  • XML em poucas palavras por Harold e Means
  • Começando XML com DOM e Ajax por Sas Jacobs.

Codificadores HTML sérios devem conhecer XML

XML é uma linguagem simples e poderosa para transportar dados em um formato que pode ser usado de várias maneiras diferentes. O DOM XML é o modelo criado pelo navegador para interagir e manipular dados XML. Depois de entender como trabalhar com o DOM XML, você poderá obter, alterar e estilizar dados XML para uso em páginas da web e aplicativos.

MSXML: XML da Microsoft

O Microsoft XML Core services (MSXML) é um conjunto de ferramentas e serviços da Microsoft para a criação de aplicativos baseados em XML usando as ferramentas de desenvolvimento da Microsoft.

O MSXML é na verdade um conjunto de interfaces de programação de aplicativos (APIs) compatíveis com o World Wide Web Consortium (W3C), amplamente utilizado por inúmeros desenvolvedores de software.

Breve histórico do MSXML

Ao longo dos anos, o MSXML passou por inúmeras atualizações e lançamentos, geralmente sendo lançados juntamente com outros produtos da Microsoft, como o Internet Explorer ou o Microsoft Office..

  • O MSXML 1.0 foi lançado em 1997 e enviado com o Internet Explorer 4.0.
  • O MSXML 2.0a foi lançado em 1999 e enviado com o Internet Explorer 5.0.
  • O MSXML 2.5 foi lançado em 2000 e fornecido com o Windows 2000, Internet Explorer 5.01 e MDAC 2.5.
  • O MSXML 2.6 foi lançado em 2000 e fornecido com o Microsoft SQL Server 2000 e MDAC 2.6.
  • O MSXML 3.0 foi lançado em 2001 e fornecido com o Windows XP, Internet Explorer 6.0 e MDAC 2.7.
  • O MSXML 4.0 foi lançado em 2001 como um kit de desenvolvimento de software independente (SDK).
  • O MSXML 5.0 foi lançado em 2003 e enviado com o Microsoft Office 2003 e o Office 2007.
  • O MSXML 6.0 foi lançado em 2005 e fornecido com o Microsoft SQL Server 2005, Visual Studio 2005, .NET Framework 3.0, Windows Vista, Windows 7 e Windows XP Service Pack 3.

As versões 1.0, 2.0a, 2.5, 2.6 e 4.0 do MSXML estão obsoletas e obsoletas, enquanto as versões 3.0, 5.0 e 6.0 continuam a ser suportadas pela Microsoft.

Recursos MSXML

MSXML é a API nativa do Windows para aplicativos baseados em XML, em conformidade com o padrão XML 1.0.

Alguns dos serviços fornecidos pelo MSXML incluem o DOM (Document Object Model) – uma biblioteca para acessar documentos XML; a API simples para XML (SAX) – uma alternativa programática ao processamento DOM; XMLHttpRequest e Server XMLHTTPRequest para implementar aplicativos AJAX e RESTful; uso de consultas XPath 1.0 sobre documentos DOM; Transformações XML usando XSLT 1.0; e suporte para a especificação XSD 1.0 com o XmlSchemaCache.

Todos os novos aplicativos devem ser gravados em conformidade com o MSXML 6.0, a versão mais recente do MSXML ou XmlLite, um analisador XML leve para projetos de código nativo.

Usando MSXML

Os serviços MSXML são expostos programaticamente como componentes de automação OLE (Object Linking and Embedding) e podem ser usados ​​por desenvolvedores que usam linguagens de programação nativas C, C ++ ou linguagens de script ativas Jscript e VBScript.

O uso de componentes COM (MSXML Component Object Model) não é recomendado ou suportado se você estiver escrevendo código gerenciado direcionado ao .NET Framework em C #, Visual Basic, C ++ gerenciado ou qualquer outra linguagem de programação gerenciada. O MSXML usa modos de encadeamento específicos e rotinas de coleta de lixo que não são compatíveis com o .NET Framework. A funcionalidade XML deve ser implementada em aplicativos .NET usando classes do namespace System.Xml ou LINQ to XML, ambos nativos da estrutura .NET. O uso do MSXML em aplicativos .NET por meio da interoperabilidade COM pode resultar em problemas inesperados e difíceis de depurar.

O MSXML é frequentemente usado no processamento de XML em aplicativos da Web ou como um processo autônomo usando o DOM (Document Object Model). O DOM e a API simples para XML (SAX2) podem ser utilizados em qualquer linguagem de programação capaz de usar objetos ActiveX ou COM.

Devo usar e aprender MSXML?

Se o seu trabalho de programação gira em torno de aplicativos usando o .NET Framework, você não precisa se preocupar com o MSXML, pois não é recomendável usá-lo em projetos .NET.

Por outro lado, se você trabalha em projetos de código nativo ou de linguagem de programação de script que interagem com XML, provavelmente estará usando o MSXML ou sua alternativa leve, XmlLite.

Existem muitas alternativas de código aberto ao MSXML, por exemplo, NativeXML, mas você deve escolher uma alternativa que ofereça suporte à sua linguagem de programação.

Recursos MSXML

Se você trabalha em programas que interagem com XML e esses programas não dependem do .NET Framework, verifique os seguintes recursos no MSXML:

  • A seção Documentação do Microsoft Developer Network MSXML fornece uma visão geral e documentação completas do MSXML.
  • A seção Microsoft Developer Network Learn MSXML fornece recursos úteis, como um guia para iniciantes, tutoriais e um fórum do usuário sobre o uso do MSXML. Você também pode fazer o download do MSXML6 nesta página.
  • O site ASP / Free tem um bom tutorial sobre MSXML. Este tutorial explica o que é MSXML e como acessar um documento XML usando JavaScript. Foi extraído do capítulo 10 do XML DeMYSTified (2005) por Jim Keogh e Ken Davidson.

Livros MSXML

Os livros que cobrem especificamente o MSXML são bastante raros, em parte devido ao fato de haver amplos recursos disponíveis para o MSXML online. Além disso, muitos livros sobre programação de linguagens de script têm capítulos no MSXML. Em alguns casos, esses capítulos são bastante abrangentes e detalhados, enquanto outros apenas oferecem uma visão geral básica do MSXML.

  • Desenvolvimento de aplicativos XML com Msxml 4.0 (2002) por Ayers et al: este livro aborda o MSXML 4.0, agora considerado obsoleto. Apesar disso, os leitores podem encontrar muitos exemplos úteis.

Você deve investir tempo no aprendizado de MSXML?

Embora o MSXML não tenha sido preterido e ainda seja amplamente utilizado, sua relevância a longo prazo está em debate. O desenvolvimento diminuiu para um rastreamento e o tempo do MSXML obviamente chegou e se foi.

No entanto, o MSXML ainda é usado em muitos projetos, embora o alcance de seus aplicativos em potencial esteja diminuindo. Para iniciantes, não deve ser usado com o .NET Framework. Também não é a única maneira de garantir a interação XML. Várias alternativas de código aberto estão disponíveis, mas lidar com cada uma delas estava além do escopo deste artigo.

Caso você ainda queira dominar o MSXML, ou apenas aprimorar suas habilidades antigas, pode ser difícil encontrar novos recursos. Muitos recursos do MSXML, especialmente livros e outros recursos de impressão, estão desatualizados e abrangem versões obsoletas do MSXML. Isso não os torna inúteis, mas limita sua utilidade e força você a verificar muito do que lê, apenas para garantir que se aplique ao MSXML 6.0.

O MSXML 6.0 foi lançado há mais de uma década e, embora a Microsoft ainda o suporte (tecnicamente), é óbvio que o fim do caminho para o MSXML está próximo.

Definição do tipo de documento

Uma Definição de Tipo de Documento (DTD) fornece uma maneira de definir a estrutura dos tipos de linguagem SGML – mais especificamente XML.

XML

Então você quer usar XML para marcar um email? Você pode usar,, e. Ou, se você estiver usando XML para armazenar detalhes sobre uma coleção de registros, poderá ter tags como, etc..

Mas há um problema. Como você define um conjunto de tags para que todos usem (por exemplo) em vez de ou em vez de ?

Definição do tipo de documento

A solução é uma DTD – uma definição de tipo de documento.

Um DTD é um documento que especifica quais elementos um documento XML pode ter. Inclui informações sobre quais elementos podem ser aninhados dentro de outro, quais elementos são obrigatórios ou opcionais e quais atributos podem ser incluídos em um elemento.

A linguagem DTD (ela própria uma derivada do SGML) fornece uma maneira de especificar essa estrutura de nomes e atributos de elementos. A definição resultante pode ser usada para validar um documento XML para garantir que esteja em conformidade com a definição.

Por que validar?

Os documentos HTML são (geralmente) destinados a serem lidos por seres humanos. A marcação é principalmente para fins semânticos e de apresentação e é usada por um navegador da web para renderizar o documento – mas o usuário final do HTML é quase sempre uma pessoa que está olhando uma página da web..

Portanto, embora a validação do HTML seja importante e útil, não é estritamente necessária. Os navegadores tendem a perdoar, e os humanos podem descobrir o significado, mesmo que a marcação esteja um pouco errada.

Mas o XML é usado para transmitir dados, não páginas da web. O XML geralmente é consumido por outro software, não por um ser humano.

Geralmente, não há espaço para ambiguidade ou erros. Além disso, é possível que os invasores incorporem código malicioso ao XML, para que os aplicativos que aceitam entrada XML não confiem em toda a entrada que receberem..

Geralmente, o HTML é validado por seu autor, como uma espécie de etapa de “revisão de prova” no processo de publicação. XML, por outro lado, é mais frequentemente validado pelo destinatário. Isso é feito para garantir a segurança e evitar erros antes que um aplicativo realmente faça algo com os dados XML.

DTD vs. XSD

DTD foi o primeiro formato de definição de documento inventado para XML. Tem certas limitações, entre as quais a DTD em si não é XML. A gramática DTD é um pouco difícil de analisar, exigindo um conjunto de ferramentas diferente da análise XML.

XSD – XML ​​Schema Definition – é um padrão posterior que aprimorou o DTD de várias maneiras. Um documento XSD é, ele próprio, XML válido. XSD pode especificar tipos de dados para cada elemento; por exemplo, se um elemento deve conter uma data e hora, um número, uma sequência ou outro tipo de dados.

Por esses motivos, o XSD se tornou mais popular na validação de XML transacional – ou seja, XML gerado, enviado e recebido como parte de uma API. XSDs, por exemplo, são usados ​​no SOAP.

Como o DTD é mais fácil de criar e ler (por seres humanos, isto é), ele permaneceu popular em contextos em que o XML era usado para publicar informações.

No entanto, essa maneira de usar XML foi amplamente ultrapassada com o aumento do HTML5 e a crescente divergência de HTML e XML. Hoje, os desenvolvedores de API que procuram uma alternativa leve ao XML + XSD têm mais probabilidade de simplesmente usar JSON do que usar XML e DTDs.

Mas ainda existem muitos DTDs em uso. Se você trabalha com a tecnologia da web legada, especialmente sistemas de dados criados no final dos anos 90, provavelmente se encontrará trabalhando com DTDs em algum momento. Para ajudá-lo a encontrar o caminho, reunimos os melhores tutoriais, recursos e ferramentas de DTD que pudemos encontrar.

Tutoriais de DTD

  • Construir uma definição de tipo de documento (DTD) para XML é uma visão geral bem apresentada de DTDs do Instituto de Mineração e Tecnologia do Novo México.

  • O tutorial DTD do W3Schools fornece uma introdução metódica ao tópico e é um bom ponto de partida se você está apenas chegando a este tópico.

  • XML e DTDs (PDF) fornecem uma explicação da anatomia de um arquivo XML e mostram como as DTDs definem um tipo de documento XML específico. Este é um bom tutorial, se você precisar atualizar o básico sobre XML enquanto aprende sobre DTDs.

  • XML DTD – Uma introdução às definições de tipo de documento XML é um tutorial em 7 partes que orienta os leitores na criação de uma DTD e na validação de documentos XML..

  • O Guia de 10 Minutos para Ler uma DTD XML é uma breve visão geral sobre como ler e interpretar uma Definição de Tipo de Documento XML, sem fazer suposições sobre o quanto você já sabe sobre XML ou DTDs.

  • O DTD Tutorial é um recurso escrito pela comunidade do EduTech Wiki.

Outros recursos de aprendizagem da DTD

  • Esquema XML, DTD e ataques de entidade (PDF) é um documento detalhando vulnerabilidades de segurança que podem ocorrer em sistemas que usam DTDs para validação de XML.

  • XML Coding Exercises é uma série de tutoriais e exercícios baseados em Java, incluindo cobertura sobre a criação e o uso de DTDs.

  • O SGML Exceptions and XML é um tutorial avançado sobre a criação de DTDs com regras complexas de inclusão e exclusão.

  • A Programação Genérica para Ferramentas XML é um documento avançado sobre a implementação de ferramentas XML compatíveis com DTD como programas genéricos.

  • DTDs XML vs Esquema XML explica as diferenças entre DTDs e XSDs, duas maneiras de definir a estrutura de um documento XML.

Ferramentas DTD

  • O Online XML Validator permite validar rapidamente um arquivo XML em relação a um DTD mencionado no próprio arquivo.

  • Xmllint é uma ferramenta de linha de comando para analisar e aprender arquivos XML. Pode ser usado para validar rapidamente contra um DTD.

  • DTDGenerator é uma ferramenta que produz um documento DTD com base em um determinado documento XML.

  • DTD2Schema converte arquivos DTD em XSD.

  • XML Tools by Platform é uma lista abrangente de ferramentas XML para vários idiomas e plataformas. A maioria deles pode ser usada para construir arquivos DTD ou validar documentos XML contra DTDs.

Conclusão da DTD

Pode parecer que as DTDs não são mais usadas. No mundo do XML, eles foram substituídos pelo XSD. E o próprio XML foi amplamente substituído por novas tecnologias.

Porém, muitos sistemas legados e de grandes empresas continuam usando XML e DTD. Se você trabalha com grandes sistemas corporativos ou desenvolve usando ferramentas da Web corporativas como o .NET, provavelmente deve estar familiarizado com DTD e padrões relacionados.

ECMAScript para XML

O ECMAScript for XML, geralmente chamado de E4X, foi projetado para facilitar o trabalho com dados XML.

Embora você não esteja familiarizado com o ECMAScript, certamente já ouviu falar da implementação mais popular: JavaScript.

De fato, o E4X é uma extensão bolt-on para JavaScript que adiciona suporte nativo a dados XML da mesma maneira que o JavaScript inclui suporte nativo a dados no formato JSON.

Embora o E4X nunca tenha desfrutado de ampla adoção e tenha sido removido de todos os navegadores modernos, ele ainda é usado em alguns outros produtos Adobe da Flash.

O que é o E4X?

No momento, você deve estar pensando: “Mas o JavaScript pode ser usado para acessar dados XML!” E se você teve esse pensamento, parabéns, você está certo! No entanto, há uma grande diferença entre a maneira como os dados XML são acessados ​​com JavaScript e os dados XML com o E4X.

JavaScript moderno pode ser usado para percorrer o XML DOM. Isso significa que os dados XML existem como uma entidade separada e o JavaScript pode ser usado para interagir com esses dados..

No entanto, os dados em si sempre permanecem uma entidade separada – um recurso usado por um script – em vez de se tornar parte do próprio script.

O E4X, por outro lado, torna possível importar ou criar dados XML em JavaScript e tratá-los como um tipo de dados primitivo. Isso significa que os dados XML são realmente parte do próprio script e podem ser manipulados da mesma maneira que outros tipos de dados, como matrizes, seqüências de caracteres e objetos, podem ser manipulados.

Em suma, o E4X torna o trabalho com dados XML um processo muito mais flexível e acelera a análise de dados, pois eles existem como um tipo de dados primitivo, e não como um recurso externo..

E4X parece ótimo, certo? Se você usa XML regularmente, pode estar se perguntando por que o E4X não é suportado nativamente por todos os navegadores. Para descobrir o que aconteceu com o E4X, vamos para a fita.

História do E4X

O E4X foi desenvolvido originalmente na BEA Systems por Terry Lucas e John Schneider e implementado pela primeira vez no BEA WebLogic Platform 7.0 em 2002.

Isso realmente antecedeu a conclusão formal da especificação E4X, que foi lançada mais de dois anos depois em 2004. Logo depois, o E4X foi implementado pelo Firefox e o suporte também foi adicionado ao ActionScript 3 da Adobe..

Apesar dessa adoção antecipada, a implementação do E4X foi desigual e inconsistente. Brendan Eich, criador do JavaScript e fundador da Mozilla, foi citado por dizer que “E4X é uma terra louca”.

Além disso, Mark S Miller, cientista pesquisador do Google, observou que a implementação do E4X no Firefox se desviava “da especificação (oficial do E4X) de maneiras que não são escritas em nenhum lugar”.

Outro fator que pode ter contribuído para a aceitação morna do E4X foi o desenvolvimento simultâneo de JSON.

O JSON resolveu muitos dos mesmos problemas que o E4X tentou resolver com XML, mas o JSON resolveu-os sem exigir uma extensão ECMAScript aparafusada e sem os problemas de consistência que afetavam o E4X.

Em outras palavras, embora o E4X tenha sido adotado antecipadamente pelo Firefox e Adobe, ele nunca foi implementado de forma consistente e perdido para rivais como o JSON. Como resultado, o suporte ao navegador nunca se expandiu além do Firefox.

Como o suporte ao E4X foi adicionado ao ActionScript 3, o suporte ao E4X teve que ser incorporado a todos os aplicativos da Adobe que implementam o ActionScript 3. Como resultado, o E4X vive nos produtos da Adobe.

Suporte do navegador para E4X

Enquanto o E4X já foi suportado pelo Firefox, o suporte foi descontinuado no Firefox versão 16 em outubro de 2012 e posteriormente removido do Firefox na versão 18 em janeiro de 2013.

Hoje, o E4X não é suportado por nenhum dos mecanismos JavaScript por trás dos principais navegadores, como Safari (mecanismo Nitro), Chrome (mecanismo V8) ou navegadores da Microsoft Internet Explorer e Edge (ambos usam Chakra).

No entanto, como mencionamos, o E4X está integrado ao ActionScript 3, que é o sabor do Adobe Flash do ECMAScript. Como resultado, os mecanismos JavaScript associados ao Flash, como Rhino e Tamarin, oferecem suporte ao E4X.

No entanto, nenhum desses mecanismos é usado por navegadores populares da Web para consumidores. Em outras palavras, você pode usar o E4X se estiver escrevendo um aplicativo Flash, mas para a programação geral da Web, siga o JavaScript padrão para percorrer o XML DOM e pular a extensão E4X.

Aplicação E4X moderna

Se você precisar aprender mais sobre o E4X, é bem provável que você o use para um aplicativo Adobe Flash. O uso moderno mais visível do E4X ocorre dentro do ecossistema Adobe Flash.

O E4X é implementado no ActionScript 3 e é suportado por vários produtos modernos da Adobe, incluindo Flash CS3, Adobe AIR, Adobe Flex, Adobe Acrobat e Adobe Reader. No entanto, a implementação não-Adobe do E4X é praticamente inexistente.

Recursos E4X

Se você já conhece o ActionScript ou o JavaScipt, aprender a manipular dados XLM com o E4X não será difícil. O E4X é apenas um componente parafusado para o mecanismo de renderização ECMAScript. Como resultado, tudo o que você precisa fazer é aprender as funções específicas do XML e estará pronto para rolar.

A maioria dos recursos do E4X é bastante antiga. No entanto, como o desenvolvimento do E4X não está em andamento, esses recursos datados ainda são precisos e úteis. Rastreamos alguns dos melhores recursos do E4X para que você possa aprender o que precisa saber para manipular dados XML com o E4X e o ActionScript.

  • XML.com, Apresentando o E4X por Kurt Cagle: uma breve introdução ao E4X que aborda o básico.

  • Rede de Desenvolvedores Mozilla | Tutorial do E4X: este tutorial foi descontinuado. No entanto, o conteúdo ainda é sólido e útil.

  • Rede de Desenvolvedores Mozilla | Processando XML com E4X: este tutorial é uma próxima etapa natural após a conclusão do tutorial anterior do MDN E4X.

  • Guia de início rápido do E4X: este guia aborda os conceitos básicos do E4X rapidamente.

  • IBM developerWorks | E4X: JavaScript em esteróides: aprenda a criar objetos XML, acessar dados XML, manipular dados XML, executar cálculos e muito mais neste guia para o E4X da IBM.

  • ECMA-357, 2ª edição, dezembro de 2005: Especificação ECMAScript for XML (E4X): a especificação oficial, agora obsoleta do E4X. Se você precisa conhecer o E4X em profundidade, a documentação oficial são os recursos mais detalhados disponíveis.

Conclusão E4X

O E4X foi uma boa ideia que foi implementada de maneira inconsistente e superada pelas tecnologias concorrentes. No entanto, ele permanece vivo em produtos compatíveis com o ActionScript 3 e é extremamente útil para criar e manipular dados XML com o ECMAScript.

XUL

O idioma da interface do usuário XUL ou XML consiste em tags que podem ser usadas para criar GUIs avançadas para aplicativos da Web ou independentes. É usado principalmente para desenvolver extensões para o navegador Mozilla e não requer uma conexão à Internet para ser executado..

O XUL permite ao usuário especificar e exibir vários elementos da GUI, incluindo caixas de texto e imagens, além de lidar com vários eventos do navegador. Inicialmente, a biblioteca foi desenvolvida pela fundação Mozilla para preencher “as lacunas da linguagem HTML para criar grandes aplicativos da Web”. No entanto, em breve será substituído, pois os fabricantes do Firefox decidiram concentrar seus esforços em outras áreas..

Mesmo assim, o XUL fornece uma ótima introdução sobre a criação de elementos da GUI usando uma linguagem de tipo XML. Confira os recursos descritos para obter mais informações.

XUL Tutorials

Os seguintes tutoriais são uma ótima maneira de aprender o XUL. Use os exemplos apresentados e personalize-os para seus próprios projetos.

  • O Tutorial XUL da Mozilla Developer Network apresenta um conjunto abrangente de links que descrevem vários recursos de idioma. Os desenvolvedores que visitam o site verão vários tópicos abordados, incluindo como adicionar botões, criar menus e manipular eventos.
  • O Tutorial XUL com exemplos abrange vários elementos da biblioteca com exemplos fáceis de entender. Também é possível baixar um conjunto abrangente de arquivos de código-fonte que podem ser facilmente usados ​​para seus próprios aplicativos da web.
  • XUL: O futuro das interfaces de usuário na Web apresenta um resumo e um link para slides da apresentação de um tutorial sobre XUL, apresentado na Convenção de código aberto O’Reilly em 2005.
  • A introdução do XUL apresenta uma visão geral do XUL e como ele se relaciona com outras linguagens da web, incluindo CSS, JavaScript e XML. O autor também apresenta um script PHP que incorpora XUL.
  • O Tutorial do XULRunner mostra como configurar o programa XULRunner que é usado para executar aplicativos XUL. A página percorre a configuração do XULRunner seguida de instruções sobre como criar e executar o código XUL.
  • O XUL Manager possui um link para download da extensão do firefox, que permite que os desenvolvedores “listem” endereços locais e remotos para que os aplicativos XUL sejam exibidos e executados corretamente.

Tutoriais em vídeo XUL

Os desenvolvedores devem ter a oportunidade de visualizar o que estão aprendendo. Aqui estão alguns tutoriais em vídeo sobre o XUL que passam pela configuração básica e alguns exemplos.

  • O Firefox Extension Development é a primeira parte de uma série de vídeos que mostra aos desenvolvedores como configurar seu sistema para o desenvolvimento de XUL. A série de vídeos também mostra a estrutura geral de um aplicativo XUL e mostra alguns exemplos de código.
  • Como desenvolver uma barra de ferramentas básica de extensão do Firefox é um tutorial passo a passo que demonstra os arquivos e o código necessários para desenvolver uma barra de ferramentas simples, incluindo arquivos RDF, XUL e manifest.
  • Ian McKeller – Desenvolvendo aplicativos XUL apresenta uma visão geral do XUL e o contrasta com o Gtk + para desenvolvimento de aplicativos no GNOME, um gerenciador gráfico para Linux.

Livros XUL

Além de ler e assistir a tutoriais online, os desenvolvedores podem ler livros escritos sobre o XUL.

  • Programando o Firefox: Construindo Aplicativos Ricos na Internet com o XUL (2007), de Kenneth Feldt, fornece uma introdução ao XUL e inclui muitos exemplos de código diferentes. Os desenvolvedores podem usar este livro para aprender como criar elementos da interface do usuário, manipular eventos e criar aplicativos gráficos. O livro também aborda a execução do XUL em plataformas adicionais, incluindo o Chrome.
  • O ZK Developer’s Guide (2008), de Staeuble e Schumacher, demonstra a biblioteca de estrutura ZK e como ela pode ser usada em combinação com XUL e AJAX para criar aplicativos da Web.
  • Essential XUL Programming (2001), de Bullard, Smith e Daconta, apresenta um recurso aprofundado sobre o XUL. Os desenvolvedores que lerem este livro não apenas aprenderão o básico, como também usarão outras linguagens como JavaScript, CSS e RDF em conjunto com o XUL. Os autores dão instruções passo a passo sobre a criação de aplicativos XUL e exemplos reais do XUL.
  • O XUL introdutório (2015), de John Richardson, é outro e-book mais recente que fornece um recurso para os desenvolvedores começarem rapidamente a desenvolver aplicativos XUL. O livro aborda a criação de aplicativos independentes em conjunto com o XULRunner, XPCOM, JavaScript, HTML e CSS.

Recursos alternativos do XUL

Além do XUL, outras bibliotecas, incluindo XAML para WPF (Windows Presentation Foundation) e FXML para JavaFX, oferecem funcionalidade semelhante. Pode valer a pena dar uma olhada nos seguintes recursos para uma rápida introdução a essas bibliotecas.

  • O tutorial XAML do TutorialsPoint apresenta a estrutura básica do XAML, bem como vários componentes que podem ser usados ​​para criar GUIs de aplicativos responsivos, incluindo controles, layouts e manipulação de eventos. O tutorial também passa pela configuração do ambiente e percorre o processo de instalação do Visual Studio completo com capturas de tela.
  • O Tutorial do WPF apresenta uma série de tutoriais sobre como usar a biblioteca WPF em conjunto com o XAML para criar controles personalizados e especificar o comportamento. O WPF faz parte da estrutura .NET e permite que os desenvolvedores gravem aplicativos usando C # ou VB.NET enquanto especificam elementos da GUI por meio de XAML.
  • O Tutorial FXML da Oracle ensina aos desenvolvedores como usar o FXML para especificar elementos da GUI, incluindo caixas de texto, botões e layouts. Os desenvolvedores usarão as lições aprendidas neste tutorial para criar uma tela de login simples.
  • O Tutorial JavaFX abrange muitos aspectos da biblioteca JavaFX que podem ajudar os desenvolvedores a obter uma visão geral dos recursos, incluindo a especificação de elementos da GUI e manipulação de eventos.

Devo aprender XUL?

O XUL fornece aos desenvolvedores a capacidade de especificar elementos da GUI de aplicativos da web e extensões de navegador para o navegador Firefox. Geralmente é combinado com código JavaScript, CSS e HTML para criar layouts personalizados e aplicativos orientados a eventos.

Embora a Mozilla tenha decidido se concentrar em outras áreas, aprender XUL vale a pena. Muitos aplicativos, incluindo aplicativos para Windows e celulares, usam XML para especificar elementos da GUI. Familiarizar-se com o XUL tornará o aprendizado de outras bibliotecas como o XAML muito mais fácil e rápido.

O aprendizado do XUL também ajudará os desenvolvedores a se acostumarem com o método MVC (model view controller) de criar aplicativos que separa a lógica do aplicativo do layout ou da visualização. Em vez de incluir GUI e elementos lógicos em um único arquivo, o aprendizado do XUL incutirá a disciplina necessária para ajudar a desenvolver aplicativos mais robustos.

Conclusão

O próprio XML é bastante direto. Para um codificador XHTML experiente, isso pode parecer quase trivial. Mas existem tantas tecnologias relacionadas e tantas coisas que podem ser feitas com ela que você pode passar o resto da vida sem fazer mais nada. Acabamos de arranhar a superfície aqui.

Outras coisas interessantes

Temos mais guias, tutoriais e infográficos relacionados à codificação e desenvolvimento:

  • Microsoft Visual Basic / Visual Studio: esta é a nossa cartilha básica no Visual Studio, com foco no Visual Basic.
  • HTML para iniciantes: este artigo o levará da própria estrela. Mas, considerando o tamanho de um livro, existem muitos codificadores experientes que podem aprender.
  • Recursos C #: como um dos idiomas mais populares no firmamento .NET, o C # é muito útil para saber.

Que código você deve aprender?

Confuso sobre qual linguagem de programação você deve aprender a codificar? Confira nosso infográfico: Que código você deve aprender? Ele não apenas discute aspectos diferentes das linguagens, mas também responde a perguntas importantes como: “Quanto dinheiro ganho com a programação de Java para viver?”

Que código você deve aprender?
Que código você deve aprender?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map