XML pour les nuls

Le langage extensible de balisage plus connu sous le nom de xml, occupe une grande place dans FlightGear. Son utilisation est extrêmement simple ce qui est un atout considérable. Nous allons voir dans cette page comment fonctionne ce langage et où il intervient dans FlightGear

Lire du xml

Les fichiers xml peuvent être visionnés avec des logiciels comme le bloc note de windows. Mais est fortement déconseillé d'utiliser de tels logiciels pour travailler sur des fichiers xml. Il existe des logiciels plus spécialisés dont le plus connu est notepad++ (logiciel libre et gratuit) que je vous le recommande car il vous colore les balise et permet ainsi de trouver d'éventuels erreurs en peu de temps

Petit moyen de trouver une éventuelle erreur dans un fichier: Ouvrez-le avec un navigateur comme Mozilla Firefox ou midori (oubliez internet explorer, beark !) et si il y a erreur on vous dira précisément où elle se trouve.

Structure du langage

Introduction

Un document XML, est dit balisé, c'est à dire que sa mise en forme se fait par des balises. Mais qu'est ce qu'une balise me direz vous. Une balise est une structure de la forme :

<nom_de_la_balise>

Maintenant que vous savez ce qu'est une balise, nous allons voir deux types de balises, les balises ouvrantes et les balises fermantes.

Les balises ouvrantes et les balises fermantes

En XML un contenu doit toujours être entre deux balises une balise ouvrante, et une balise fermante par exemple :

<ma_balise_ouvrante>Mon contenu</ma_balise_fermante>

Notez le / qui indique qu'il s'agit d'une balise fermante. Il existe cependant des balises auto-fermantes.

<ma_balise_auto_fermante />

Ces balises sont utilisées lorsque aucun contenu n'est à englober. Voyons maintenant les paramètres applicables aux balises.

Les paramètres

Il est aussi possible de mettre des paramètres à des balises. Ces paramètres aussi appelés attributs, servent par exemple à donner plus d'informations sur la balise affectées. Par exemple :

<personne nom="LESCOUZERES" prenom="Loïc" />

Comme vous avez du le remarquer j'ai utilisé ici une balise auto-fermante, mais c'est un hasard, je n'étais pas obligé. Quoi qu'il en soit j'ai défini une balise personne avec comme paramètre nom et prenom. On comprend immédiatement qu'il s'agit des nom et prénom de la personne à qui se réfere la balise.

Je ne suis cependant pas obligé d'utiliser des paramètres, j'aurais pu utiliser des balises englobantes :

<personne>
    <nom>LESCOUZERES</nom>
    <prenom>Loïc</prenom>
</personne>

Attention : Pour Flightgear, il ne faut jamais mettre d'accents dans les fichiers xml.

Maintenant que vous connaissez les bases concernant les balises, voyons quelques balises particulières.

Les balises particulières

La balise d'entête

La balise d'entête n'est pas englobante, mais n'est pas non plus auto-fermante. C'est une balise bien particulière qui permet de définir la version xml utilisée, et l'encodage de la page. Elle est de la forme :

<?xml version="1.0" encoding="UTF-8"?>

Cette balise DOIT se situer au début de chaque document XML.

La balise racine

La balise racine est unique, et est de type englobante. Cette balise sert à définir l'ensemble de votre document, et englobera toutes les autres balises contenues dans votre page XML.

<racine>
	...
</racine>

La balise commentaire

La balise commentaire sert comme sont nom l'indique, à ajouter des commentaires. Je vous recommande très fortement d'utiliser ces balises, elles se révèlent très utiles pour vous y retrouver lorsque votre fichier xml commence à être consistant. FG ne va pas lire ces balises, elles n'apportent donc rien au simulateur. Elles ne servent donc qu'à vous mais surtout à tout ceux qui souhaitent regarder et modifier votre fichier xml. Une balise commentaire prend cette forme :

 <!-- Votre commentaire --> 

Cela sert aussi très souvent à supprimer une grande partie d'un fichier sans perdre la possibilité de revenir à l'état précédent, ou de prendre pour modèle les anciennes balises:

<!--node1>
  <prop1>valeur1</prop1>
  <prop2>valeur2</prop2>
</node1-->
<node1>
  <prop1>nouvelle valeur1</prop1>
  <prop2>nouvelle valeur2</prop2>
</node1>

Attention toutefois car une balise commentaire ne peut pas englober une balise commentaire. L'exemple ci-dessous produira une erreur:

<!--node1>
  <!-- ce commentaire va générer une erreur -->
  <prop1>valeur1</prop1>
  <prop2>valeur2</prop2>
</node1-->
<node1>
  <prop1>nouvelle valeur1</prop1>
  <prop2>nouvelle valeur2</prop2>
</node1>

Le xml dans FlightGear

Pour FlightGear, le xml occupe une très grande importance. Sa simplicité permet aux utilisateurs de le modifier sans avoir de connaissances en programmation. On distingue diverses applications dans plusieurs domaines dont les deux principaux sont les FDM et les animations. Enfin on trouve des application du xml dans tout le reste, notamment pour lier tout les fichier (dire où se trouve le modèle 3d de l'avion, le FDM, ect…)

Les applications

Un FDM (Flight Dynamic Model) est le fichier xml permettant à un avion ou même un hélicoptère de voler. Il existe plusieurs approches pour réaliser un FDM, les deux principales sont JSBsim YAsim.

Le FDM YAsim (Une page y sera bientôt dédiée)

Les FDM JSBsim (Une page y sera bientôt dédiée)

Les animations sont importantes dans Flightgear, elles rendent votre avion beaucoup plus vivant. Le fait de voir le train rentrer, les ailerons bouger ou même les roues tourner est permis grâce à une animation xml.(Une page y sera bientôt dédiée)

 
devel/xml_pour_les_nuls.txt · Dernière modification: 2011/12/27 14:06 (modification externe)
 
Recent changes RSS feed GNU General Public License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki