Tutorial de XML

XML INÍCIO Introdução ao XML XML Como usar Árvore XML Sintaxe XML Elementos XML Atributos XML Namespaces XML Exibição XML XML HttpRequest Analisador de XML XML DOM XML XPath XML XSLT XML XQuery XML XLink Validador de XML XML DTD Esquema XML Servidor XML Exemplos XML Teste de XML Certificado XML

XML AJAX

Introdução AJAX AJAX XML Http Solicitação AJAX Resposta AJAX Arquivo XML AJAX PHP AJAX ASP AJAX Banco de dados AJAX Aplicativos AJAX Exemplos AJAX

XML DOM

Introdução ao DOM Nós DOM Acesso ao DOM Informações do nó DOM Lista de nós DOM Travessia do DOM Navegação DOM Valores de obtenção do DOM Nós de alteração do DOM Remoção de nós do DOM Substituir nós DOM DOM Criar nós DOM Adicionar nós Nós clones DOM Exemplos de DOM

Tutorial XPath

Introdução ao XPath Nós XPath Sintaxe XPath Eixos XPath Operadores XPath Exemplos de XPath

Tutorial XSLT

Introdução ao XSLT Idiomas XSL Transformação XSLT XSLT <modelo> XSLT <valor-de> XSLT <para-cada> XSLT <classificar> XSLT <if> XSLT <escolha> Aplicar XSLT XSLT no cliente XSLT no servidor XSLT Editar XML Exemplos de XSLT

Tutorial XQuery

Introdução ao XQuery Exemplo de XQuery XQuery FLWOR XQuery HTML Termos de XQuery Sintaxe XQuery Adicionar XQuery Seleção de XQuery Funções XQuery

XML DTD

Introdução DTD Blocos de construção de DTD Elementos DTD Atributos DTD Elementos DTD vs Attr Entidades DTD Exemplos de DTD

Esquema XSD

Introdução ao XSD XSD Como fazer XSD <esquema> Elementos XSD Atributos XSD Restrições XSD

Complexo XSD

Elementos XSD XSD vazio Apenas elementos XSD Somente texto XSD XSD Misto Indicadores XSD XSD <qualquer> XSD <qualquer atributo> Substituição XSD Exemplo de XSD

Dados XSD

Cadeia XSD Data XSD XSD Numérico XSD Misc Referência XSD

Serviços da Web

Serviços XML XML WSDL XML SOAP XML RDF XML RSS

Referências

Tipos de nós DOM Nó DOM Lista de nós DOM DOM NamedNodeMap Documento DOM Elemento DOM Atributo DOM Texto DOM DOM CDATA Comentário DOM DOM XMLHttpRequest Analisador de DOM Elementos XSLT Funções XSLT/XPath

Elementos XML


Um documento XML contém elementos XML.


O que é um elemento XML?

Um elemento XML é tudo, desde (incluindo) a marca inicial do elemento até (incluindo) a marca final do elemento.

<price>29.99</price>

Um elemento pode conter:

  • texto
  • atributos
  • outros elementos
  • ou uma mistura dos anteriores
<bookstore>
  <book category="children">
    <title>Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
  <book category="web">
    <title>Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </book>
</bookstore>

No exemplo acima:

<title>, <author>, <year> e <price> têm conteúdo de texto porque contêm texto (como 29,99).

<bookstore> e <book> possuem elementos de conteúdo , pois contêm elementos.

<book> tem um atributo (category="children").


Elementos XML vazios

Um elemento sem conteúdo é dito vazio.

Em XML, você pode indicar um elemento vazio como este:

<element></element>

Você também pode usar a chamada tag de fechamento automático:

<element />

As duas formas produzem resultados idênticos em software XML (Leitores, Analisadores, Navegadores).

Elementos vazios podem ter atributos.



Regras de nomenclatura XML

Os elementos XML devem seguir estas regras de nomenclatura:

  • Os nomes dos elementos diferenciam maiúsculas de minúsculas
  • Os nomes dos elementos devem começar com uma letra ou sublinhado
  • Os nomes dos elementos não podem começar com as letras xml (ou XML, ou Xml, etc)
  • Os nomes dos elementos podem conter letras, dígitos, hífens, sublinhados e pontos
  • Os nomes dos elementos não podem conter espaços

Qualquer nome pode ser usado, nenhuma palavra é reservada (exceto xml).


Práticas recomendadas de nomenclatura

Crie nomes descritivos, como este: <person>, <firstname>, <lastname>.

Crie nomes curtos e simples, como este: <book_title> não assim: <the_title_of_the_book>.

Evitar "-". Se você nomear algo como "primeiro nome", alguns softwares podem pensar que você deseja subtrair "nome" de "primeiro".

Evitar ".". Se você nomear algo como "first.name", alguns softwares podem pensar que "name" é uma propriedade do objeto "first".

Evitar ":". Dois pontos são reservados para namespaces (mais adiante).

Letras não inglesas como éòá ​​são perfeitamente legais em XML, mas cuidado com os problemas se o seu software não as suportar.


Estilos de nomenclatura

Não há estilos de nomenclatura definidos para elementos XML. Mas aqui estão alguns comumente usados:

Estilo Exemplo Descrição
Minúsculas <nome> Todas as letras minúsculas
Maiúsculas <FIRSTNAME> Todas as letras maiúsculas
Sublinhado <first_name> O sublinhado separa as palavras
Caso Pascal <Nome> Primeira letra maiúscula em cada palavra
Caixa de camelo <firstName> Primeira letra maiúscula em cada palavra, exceto a primeira

Se você escolher um estilo de nomenclatura, é bom ser consistente!

Os documentos XML geralmente têm um banco de dados correspondente. Uma prática comum é usar as regras de nomenclatura do banco de dados para os elementos XML.

Camel case é uma regra de nomenclatura comum em JavaScripts.


Elementos XML são extensíveis

Elementos XML podem ser estendidos para transportar mais informações.

Veja o seguinte exemplo de XML:

<note>
  <to>Tove</to>
  <from>Jani</from>
  <body>Don't forget me this weekend!</body>
</note>

Vamos imaginar que criamos um aplicativo que extraiu os elementos <to>, <from> e <body> do documento XML para produzir esta saída:

MENSAGEM

Para: Tove
De: Jani

Não se esqueça de mim neste fim de semana!

Imagine que o autor do documento XML adicionou algumas informações extras a ele:

<note>
  <date>2008-01-10</date>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

O aplicativo deve quebrar ou travar?

Não. O aplicativo ainda deve ser capaz de localizar os elementos <to>, <from> e <body> no documento XML e produzir a mesma saída.

Essa é uma das belezas do XML. Pode ser estendido sem interromper os aplicativos.