Informations générales de développement numérique.

Informations MEZOTICAM - Activités générales : Plus de masque, mais restons vigilants. Les contraintes sanitaires obligent à un ralentissement des développements. | Guerre en Ukraine : Un conflit qui mène à une pénurie alimentaire et informatique. | Cybersécurité : La guerre en Ukraine nous montre combien il est important de renforcer la sécurité informatique.
Chiffre 1Chiffre 6Chiffre 3Chiffre 1Chiffre 2Chiffre 2
depuis le 15/05/2009
Lundi 4 Juillet 2022 | Saint Florent

Format XML

Qu'est ce que le XML ?

XML est l'abréviation de eXtensible Markup Language( langage de balisage extensible).  Il a été mis au point par le XML Working Group sous l'égide du W3C dès 1996. (http://www.w3.org/XML/ ).  Il s'agit d'un sous ensemble, une simplification de SGML (Standard Generalized Markup Language) pour le rendre utilisable sur le web !
XML décrit le contenu plutôt que la présentation (contrairement à HTML). Ainsi, XML permet de séparer le contenu de la présentation .. ce qui permet par exemple d'afficher un même document sur des applications ou des périphériques différents sans pour autant nécessiter de créer autant de versions du document que l'on nécessite de représentations.

Qu'est ce qu'une balise ?

'Élément Sémantique de base' des langages de balisage.  Une balise est un 'mot clé', un élément, comprise entre crochets (< et > ) qui possède un nom et parfois des attributs.  Toutes les balises doivent être ouvertes puis refermées (contrairement à l'HTML ou certaines balises n'ont pas besoin d'être refermées).  On retrouvera donc toujours une balise de début et une balise de fin. La balise de fin porte le même nom que la balise de début à l'exception du nom du la balise qui est précédé du signe /.


Exemple:

	<titre> cours de XML </titre>

Si une balise est vide on peut combiner balise de début et de fin:


	<reponse /> 
						

Le nom de la balise et le nom des attributs (contenu entre les crochets) doit être en majuscule ou minuscule. Les noms de balise peuvent comporter des lettres, des chiffres, des tirets, des traits de soulignement, des deux-points ou des points. Le caractère deux-points (:) ne peut être utilisé que dans le cas particulier où il sert à séparer des espaces de noms. Un nom de balise ne doit pas commencer par xml ou XML.
Les caractères < et & ne peuvent pas être utilisés dans le texte, car ils sont utilisés dans le balisage. Si vous devez employer ces caractères, utilisez &lt; à la place de < et &amp; à la place de &.
Sinon utiliser la basile CDATA , dans ce cas on peut mettre les caractères interdits:


Un attribut est le nom d'une propriété de la balise souvent associé à une valeur, il est mis dans la balise d'ouverture après le nom de la balise, il est en minuscule ou majuscule, la valeur est entre " ou entre ':

	
	<élément attribut="valeur"/>
					

Exemple:


	<reponse = "oui" />
	

La balise ne sera pas vu si on affiche le document dans un navigateur. 
Il n'y a aucun nom d'élément réservé.(quelques noms d'attributs le sont). 
Les noms d'élément sont choisis librement par l'auteur du document. 

Composition d'un document XML

  • un prologue contenant des déclarations (facultatifs).
  • un arbre d'éléments.(contenu proprement dit du document).
  • des commentaires ou des instructions de traitement (facultatifs).

PROLOGUE XML

Les documents doivent commencer par une déclaration indiquant la version de l'XML.


	<?xml version="1.0"?>

Ce document respecte la spécification XML 1.0.


On peut ajouter le type de codage des caractères:


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

'Ici les caractères sont codés en UTF-8


	Les caractères >, " , et ' peuvent également être remplacés respectivement par &gt; , &quot; et &apos;

On peut aussi ajouter une déclaration de type de document (DTD).
Si le document doit se conformer à une structure particulière, on doit l'indiquer:
Exemple: le document est de type rapport medical et sa structure doit se conformer à la structure type définie dans la ressource "rapportmedical.dtd"


	<!DOCTYPE rapportmedical SYSTEM "rapportmedical.dtd" [  déclarations ]> 


STRUCTURE en arbre

Il peut y avoir plusieurs balises intriquées, mais attention à l'ordre des balises de fin qui doivent être dans l'ordre inverse (première balise ouverte, dernière fermée).


	<article>
	<para>
        ......
 
	</para>
	</article>

Tout élément enfant est inclus dans l'élément parent.


Il doit y avoir un élément racine qui englobe tous les autres:

	<livre>
 
	<chapitre>Item 1</chapitre>
 
	<chapitre>Item 2</chapitre>
 
	<chapitre>Item 3</chapitre>
 
	</livre>

Ici l'élément racine est livre , peut importe le nom, pourvu qu'il englobe tout.
On remarque qu'il y a plusieurs balises chapitre.


Commentaires et instructions de traitement.

Il existe des instructions de traitement qui contiennent des instructions destinées aux applications.


	<?perl lower-to-upper-case  ?>


On peut mettre des commentaires:


	<!-- Commentaire -->
	

Dissocier la forme et le fond:

Les balises XML indiqueront le contenu, la signification (la sémantique) des éléments de la page et non pas comment les afficher.
Le HTML lui comportait des informations sur la forme, la manière dont était affichée la page, l'apparence du site.


- Dans un document HTML, les balises définissent pour ce document ce qui est en gras( balise b), en italique ( balise i)...
- Pour un document XML, les balises définissent le contenu. Ainsi une oeuvre est contenu entre les balises 'oeuvre'; de même les balises 'date' et 'auteur' permettent de dresser une liste des auteurs et des dates. La présentation sera, si nécessaire, indiquée dans une feuille de style CSS.


Ce document XML est enregistré dans un fichier '.xml'
Le développeur peut avoir des noms de balise propre à son document (en HTML, les noms sont prédéfinis).


DTD

On peut aussi ajouter une déclaration de type de document (DTD).  Si le document doit se conformer à une structure particulière, on doit l'indiquer:
Exemple: le document est de type rapport medical et sa structure doit se conformer à la structure type définie dans la ressource "rapportmedical.dtd"


	<!DOCTYPE rapportmedical SYSTEM "rapportmedical.dtd" [  déclarations ]> 


Feuille de style

La feuille de style, ou CSS est l'abréviation de Cascading Style Sheets. Cette feuille nous sert uniquement à présenter la page web. C'est en CSS que l'on dira : "Mes titres sont en vert et sont soulignés, le nom doit être affiché en gras.  La feuille de style est dans un fichier '.css'


XML dans VB

A partir de Visual Basic 2008 on peut créer directement de l'XML dans le code.

On peut créer un élément XML:

Dim contact1 As XElement = _
    <contact>
      <name>Patrick Dupont</name>
      <phone type="home">206-555-0144</phone>
      <phone type="work">425-555-0145</phone>
    </contact>
On peut créer un document XML:

Dim contactDoc As XDocument = _
    <?xml version="1.0"?>
    <contact>
      <name>Patrick Dupont</name>
      <phone type="home">206-555-0144</phone>
      <phone type="work">425-555-0145</phone>
    </contact>

On peut mettre dans le XML des expressions qui sont évaluées au cours de l'exécution, ces expressions sont de la forme:

<%= expression %>.

Exemple: Inclure dans l'élément XML un nombre et une date:

Dim MyNumber As String = "12345" 
 
Dim MyDate As String = "3/5/2006" 
 
Dim livre As XElement = _ 
 
<livre category="fiction" isbn=<%= MyNumber %>> <TheDate><%= MyDate %></TheDate> </livre>

On peut aussi créer une String et la transformer en XML.

Dim MyString = "<Cours id=""1"">" & vbCrLf & _ 
 
 " <Author>Philippe</Author>" & vbCrLf & _ 
 
 " <Title>Cours VB</Title>" & vbCrLf & _ 
 
" <Price>0</Price>" & vbCrLf & _ 
 
 "</Cours>" 
 
Dim xmlElem = XElement.Parse(MyString) 

On peut charger un document à partir d'un fichier.

Dim books = XDocument.Load("books.xml")
ou à partir d'un Stream:
	
	Dim reader = System.Xml.XmlReader.Create("books.xml") 
 
	reader.MoveToContent() 
 
	Dim inputXml = XDocument.ReadFrom(reader)