AeroPlanos
Aero
Aero
EXtensible Markup Language é uma linguagem criada para descrever e caracterizar dados.
Não é uma alternativa a HTML, mas um seu complemento.
Enquanto o papel de HTML é o de controlar o aspecto de um elemento, XML caracteriza-o, descrevendo o que é.
XML é um formato de texto, flexivel e simples, concebido originalmente para apresentar grandes publicações electrónicas. Tem desempenhado um papel cada vez mais importante na manipulação e transmissão de dados na Web e noutros ambientes, como por exemplo, nos telemóveis.
O exemplo seguinte é um ficheiro relativo a aviões:
<?xml version="1.0" encoding="ISO-8859-1"?>
<Planes>
<Aviao>
<imagem name="src">imgs/cs-xao.jpg</imagem>
<Modelo>Van's RV-6</Modelo>
<VNE>210</VNE>
<Stall>49</Stall>
<Takeoff>270</Takeoff>
<Landing>300</Landing>
<Gross>1600</Gross>
<Empty>1000</Empty>
<Power>180</Power>
</Aviao>
</Planes>
A primeira linha de código é a declaração do tipo de ficheiro, "Documento XML".
Toda a informação está abrangida pelo elemento <Planes>. Este elemento possui um sub-elemento <Avião>, que por sua vez contém outros sub-elementos (child-nodes), <imagem>, <Modelo>, <VNE>,...
Utilizando XML os dados são armazenados fora do ficheiro.html, resultando como benefício que a alteração dos dados altera automaticamenta a apresentação do documento HTML, sem que para isso se tenha de alterar o ficheiro.html, responsável apenas pela apresentação.
A base de dados XML pode também ser armazenada dentro de páginas HTML como "Data Islands".
Observando o exemplo do documento XML apresentado, podemo-nos aperceber que não contém nenhuma instrução! Apenas contém dados! Os dados foram armazenados de acordo com o critério de quem os recolheu, livremente e independentemente de qualquer regra previamente estabelecida.
Se um documento XML não executa qualquer tarefa, apenas armazena dados, qual será o objectivo desta linguagem?
O objectivo é precisamente armazenar dados!
O problema de incompatibilidade de transmissão da informação entre os vários programas e sistemas existentes, pode ser resolvido com este tipo de documentos.
A grande vantagem de utilização do tipo de documentos XML, é possibiliar que outros computadores, utilizando diferentes sistemas operativos ou outros programas, possam aceder à mesma base de dados utilizando a Internet.
XML é uma linguagem que respeita os Web standards definidos pelo World Wide Web Consortium (W3C).
Como visualizar o conteúdo de documentos XML?
O browser ao apresentar um documento XML, como não reconhece o significado das instruções <Planes>, <Avioes>, etc. apresenta o documento tal como ele é.
Exemplo: — "Planes1.xml"
Podemos no entanto inclui-lo num documento HTML, por exemplo nesta página, da seguinte maneira:
<xml id="Planes_performance" src="Planes1.xml"></xml>
<table border="1" cellspacing="0" cellpadding="5px"
datasrc="#Planes_performance">
<tr>
<td><span datafld="Modelo"></span> </td>
<td>
VNE: <span datafld="VNE"></span>mph<br>
Stall: <span datafld="Stall"></span>mph<br>
Landing Dist: <span datafld="Landing"></span> feet
</td>
</tr>
</table>
Resultando:
Nota:
Na primeira linha de comando o "tag" utilizado foi <xml>.
Este "tag" é uma instrução HTML e não XML.
Esta é a razão pela qual em XML não é permitida a utilização desta sigla na definição de elementos.
Alterando o exemplo inicial, adicionando outro avião...
<?xml version="1.0" encoding="ISO-8859-1"?>
<Planes>
<Aviao>
<imagem name="src">imgs/cs-xao.jpg</imagem>
<Modelo>Van's RV-6</Modelo>
<VNE>210</VNE>
<Stall>49</Stall>
<Takeoff>270</Takeoff>
<Landing>300</Landing>
<Gross>1600</Gross>
<Empty>1000</Empty>
<Power>180</Power>
</Aviao>
<Aviao>
<imagem name="src">imgs/cs-xai.jpg</imagem>
<Modelo>Aircamper</Modelo>
<VNE>105</VNE>
<Stall>40</Stall>
<Takeoff>400</Takeoff>
<Landing>300</Landing>
<Gross>1100</Gross>
<Empty>650</Empty>
<Power>50</Power>
</Aviao>
</Planes>
... e repetindo as mesmas instruções para a inclusão do documento XML nesta página...
<xml id="Planes2" src="Planes2.xml"></xml>
<table border="1" cellspacing="0" cellpadding="5px"
datasrc="#Planes2">
<tr>
<td><span datafld="Modelo"></span> </td>
<td>
VNE: <span datafld="VNE"></span>mph<br>
Stall: <span datafld="Stall"></span>mph<br>
Landing Dist: <span datafld="Landing"></span> feet
</td>
</tr>
</table>
Resulta:
Nota:
Neste momento a base de dados Planes2.xml tem apenas dois aviões.
Adicionando mais aviões à base de dados, a apresentação será automaticamente actualizada.
Estes blocos de dados XML, introduzidos num documento HTML, foram apelidados: —"Data Islands".
Os documentos XML necessitam de estar correctamente formatados. Todos os documentos devem possuir uma declaração especificando o tipo de documento, document type declaration.
A verificação de erros pode ser feita com as seguintes instruções:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Parser Error Checker</title>
<style type="text/css">
h2 {color:blue;}
</style>
</head>
<body>
<script type="text/javascript">
//var file = "Planes1.xml"
//var file = "Planes2.xml"
var file = "PlanesX.xml"
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.validateOnParse="true"
xmlDoc.load(file)
document.write("<h1>Parser error!</h1>")
document.write("Error Code: " + xmlDoc.parseError.errorCode
+ "<br />Error Reason: " + xmlDoc.parseError.reason
+ "<br />Error Line: " + xmlDoc.parseError.line)
document.write("<h2>" + "File: " + file + "</h2>")
</script>
</body>
</html>
!DOCTYPE "document type declaration" ver: — "S.O.S. DTD"
Tomemos por referência o ficheiro PlanesX.xml como sendo a "nossa" base de dados de Aviões EXperimentais.
Qualquer página da internet (ou outro site) pode aceder a estes elementos e manuseá-los, sem ter a necessidade de criar uma nova base de dados.
Essa página (ou site), será automaticamente actualizada, sempre que se altere a base de dados (PlanesX.xml), como por exemplo a correcção de algum erro, ou a adição de mais um avião à lista dos EXperimentais.
O quadro seguinte apresenta o conteúdo actual da "Base de Dados":
Nota:
Esta lista pode ser completada com a tua ajuda.
Envia-me uma foto e as características do avião da tua preferência!
Obrigado.
Esta base de dados foi aqui introduzida utilizando XSL "eXtensible Stylesheet Language".
Para comparar as performances destes aviões... PlanesX.html