Archives de catégorie : XML

Le XML (eXtensible Markup Language ou en français Langage Extensible de Balisage) est un langage informatique de balisage générique. Il sert essentiellement à stocker ou transférer des données de type texte structurées en champs arborescents. Ce langage est qualifié d’extensible, en effet il permet à l’utilisateur de définir le nom et la structure des balises des différents éléments. L’utilisateur peut multiplier les espaces de nommage des balises et emprunter les définitions d’autres utilisateurs.Le W3C (World Wide Web Consortium), promoteur de standards favorisant l’échange d’informations sur Internet, recommande la syntaxe XML pour exprimer des langages de balisages spécifiques. Et en effet, plusieurs langages utilisent la syntaxe XML : XHTML, SVG, RSS, XSLT…Cette catégorie regroupe tous les billets abordant l’XML de près ou de loin.

La Syntaxe XPath

Publié dans XML | Un commentaire

Bonjour tout le monde ! Aujourd’hui nous allons parler d’un outils très utilisé dans le traitement de données XML, J’ai nommé XPath. La syntaxe XPath est notamment utilisée dans certains langages tels que XSLT dont nous parlerons dans un prochain article. On peut citer également XQuery qui joue énormément avec XPath. Voyons de plus près à quoi ca ressemble.

Présentation du langage XPath

Comme son nom l’indique, XPath permet de définir d’écrire des « chemins » (path en anglais). Ces chemins, qui ont une syntaxe particulière, ont pour but la sélection de certaines parties, certains nœuds d’un document XML et ce de manière simplissime. Découvrons ca sur un exemple.

<blog>
	<info>
		<nom>30 minutes par jour</nom>
		<description langue="fr">Un blog qui cause d'informatique</description>
		<url type="internet">http://30minparjour.la-bnbox.fr/</url>
	</info>
	<billets>
		<billet>
			<titre langue="fr">Petit point sur le XML</titre>
			<categorie>XML</categorie>
		</billet>
		<billet>
			<titre langue="fr">En ce début d'année, faisant le point</titre>
			<categorie>Generalité</categorie>
		</billet>
	</billets>
</blog>

Continuer la lecture

Petit point sur le XML

Publié dans XML | 3 commentaires

Voilà quelques temps déjà que je veux faire un petit point sur le XML. Une sorte d’aperçu théorique et un peu pratique permettant d’aller plus loin avec ce langage tellement utilisé aujourd’hui. Ce jour semble être venu ! (tintindindin !) Tout du moins en partie, puisqu’aujourd’hui, je parlerai du XML, de la bonne formation d’un fichier XML et de sa validité.

Présentation rapide d’XML

XML, qu’est-ce que c’est ? C’est un langage d’échange basé sur le balisage. Peu après sa création en 1996 (ça date quand même), il remplace le SGML qui était un peu plus compliqué, et c’est aujourd’hui un méta-langage universel pour les données sur le Web, surtout depuis que le W3C s’est chargé de le standardiser.
Bref, on peut mettre des données dans un fichier XML, et grâce à différentes techniques on est capable de les récupérer, les traiter, les afficher, ajouter des données au fichier… faire des trucs un peu cool dessus ! On s’en sert pour les flux RSS et Atom, pour l’Ajax, on peut l’utiliser comme base de données en PHP et je sais aussi qu’OpenOffice s’en sert pour le format de ses fichiers (.odt, tout ça). C’est utile et utilisé !

Un fichier XML bien formé

Un fichier XML est bien formé lorsqu’il respecte la syntaxe d’XML. Pour vérifier qu’un fichier XML est bien formé, on peut utiliser le validateur de la W3schools. Et d’ailleurs, pour apprendre à créer un fichier XML bien formé, on peut utiliser le tutoriel de la W3schools : Tutoriel XML W3schools.
Exemple de fichier XML bien formé :

<?xml version="1.0" encoding="ISO-8859-1"
<blog>
	<nom>30 minutes par jour</nom>
	<description langue="fr">Un blog qui cause d'informatique 30 minutes tous les jours (ou presque)</description>
	<url type="internet">http://30minparjour.la-bnbox.fr/</url>
	<billets>
		<billet>
			<titre langue="fr">Petit point sur le XML</titre>
		</billet>
		<billet>
			<titre langue="fr">En ce début d'année, faisant le point</titre>
		</billet>
	</billets>
</blog>

Voici un résumé de cette syntaxe :
Continuer la lecture

Parlons de sitemaps

Publié dans XML | Laisser un commentaire

A vrai dire il y a 2 types de sitemaps, puisque 2 utilisations possible des dites sitemaps :

  • La sitemap pour les visiteurs, plus communément appelée « Plan du Site ». Son but est d’aider le visiteur à se repèrer, elle doit donc être jolie, bien mise en forme, et ne pas contenir trop de liens. Google n’aime pas quand le nombre d’urls sur une page approche les 100, donc une sitemap ne doit afficher que les liens importants, et à la rigueur les articles en vues.
  • La sitemap pour les robots, comme les robots de moteur de recherche. Son but est d’aider les moteurs de recherche à indexer plus rapidement toutes les pages d’un site Internet. Qu’importe la beauté, c’est donc la structure du fichier qui compte puisqu’un protocole a été mise en place pour standardiser tout ça. Une sitemap peut contenir autant d’url que l’on veut, tant que l’on s’y prend bien. (puisqu’en fait on peut créer plusieurs sitemaps que l’on liste avec une sitemapindex)

Je vais m’attarder un tout petit peu sur le deuxième type de sitemaps puisque j’ai dû générer la sitemaps d’un site de plus de 3 millions de pages, ce qui m’a un peu forcé à me pencher sur la question. (j’étais bien guidé cela dit !)

Le protocole Sitemap

Sitemap classique

Deux choix pour les sitemaps classiques * Un fichier texte avec tous les urls à la ligne. Pas top. * Un fichier XML bien mis en page avec possibilité de spécifier certaines options. Bien mieux ! C’est là dessus que je vais m’attarder.
Voici la tête d’une petite sitemap XML avec 3 urls :

 <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <url>  
      <loc>http://la-bnbox.fr/cahier.html</loc>
      <lastmod>2009-07-10</lastmod>
      <changefreq>weekly</changefreq>
      <priority>0.8</priority>
   </url>
   <url>
      <loc>http://la-bnbox.fr/t18-francais.cahier</loc>
      <lastmod>2009-07-25</lastmod>
      <changefreq>weekly</changefreq>
      <priority>0.7</priority>
   </url>
   <url>
      <loc>http://la-bnbox.fr/554-Prepa-PSI--Penser-l-Histoire---Introduction.cahier</loc>
      <lastmod>2009-07-25</lastmod>
      <changefreq>yearly</changefreq>
      <priority>0.5</priority>
   </url>
</urlset>

L’entête est assez classique, mais on peut noter que l’encodage est en UTF-8 et qu’il faut qu’il soit en UTF-8.
Et on peut résumer un bloc pour un url de cette manière :
Continuer la lecture