<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hooba Studios &#187; XML</title>
	<atom:link href="http://www.hooba.ca/blog/categorie/xml/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hooba.ca/blog</link>
	<description></description>
	<lastBuildDate>Sun, 11 Jul 2010 13:51:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Introduction au XML</title>
		<link>http://www.hooba.ca/blog/2008/introduction-au-xml/</link>
		<comments>http://www.hooba.ca/blog/2008/introduction-au-xml/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 19:41:40 +0000</pubDate>
		<dc:creator>Antoine Leclair</dc:creator>
				<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.hooba.ca/blog/?p=20</guid>
		<description><![CDATA[Si vous n&#8217;avez pas encore touché à du XML, c&#8217;est un langage qui peut faire peur, étant donné qu&#8217;il est associé à des usages qui semblent plutôt avancés. Sur le web, on l&#8217;utilise entre autres pour le AJAX, pour les feeds (RSS, Atom) et pour les services web. Pourtant, lorsqu&#8217;on décide d&#8217;y jeter un oeil, [...]]]></description>
			<content:encoded><![CDATA[<p>Si vous n&#8217;avez pas encore touché à du XML, c&#8217;est un langage qui peut faire peur, étant donné qu&#8217;il est associé à des usages qui semblent plutôt avancés. Sur le web, on l&#8217;utilise entre autres pour le AJAX, pour les feeds (RSS, Atom) et pour les services web. Pourtant, lorsqu&#8217;on décide d&#8217;y jeter un oeil, il n&#8217;est vraiment pas si compliqué.</p>
<h3>Exemple de code</h3>
<pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;library&gt;
  &lt;book&gt;
    &lt;title&gt;Interview with the Vampire&lt;/title&gt;
    &lt;author&gt;Ann Rice&lt;/author&gt;
    &lt;year&gt;1976&lt;/year&gt;
  &lt;/book&gt;
  &lt;book&gt;
    &lt;title&gt;American Psycho&lt;/title&gt;
    &lt;author&gt;Bret Easton Ellis&lt;/author&gt;
    &lt;year&gt;1991&lt;/year&gt;
  &lt;/book&gt;
&lt;/library&gt;
</code></pre>
<p><span id="more-20"></span></p>
<h3>La déclaration XML</h3>
<p>Les documents XML devraient commencer par la déclaration XML, c&#8217;est-à-dire:</p>
<p><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;</code></p>
<p>Il ne devrait pas y avoir de caractère avant la déclaration (même pas un espace). On peut aussi spécifier l&#8217;encodage utilisé. Les deux encodages supportés de manière obligatoires sont UTF-8 et UTF-16. Les version XML qui existent présentement sont 1.0 et 1.1.</p>
<h3>Les étiquettes et les éléments</h3>
<p>Les étiquettes (<em>tags</em>) et les éléments (<em>elements</em>) sont ce qui compose le document XML. Dans l&#8217;exemple plus haut, <code>book</code> et <code>title</code> sont des <em>tags</em>. Ces <em>tags</em> démarquent le début et la fin des éléments. <code>&lt;author&gt;Ann Rice&lt;author&gt;</code> est un élément (incluant le <em>tag</em> d&#8217;ouverture et de fermeture).</p>
<p>La syntaxe est la même qu&#8217;en HTML: il faut toujours fermer les <em>tags</em> qu&#8217;on ouvre avec le même <em>tag</em>, qui commence par un &laquo;&nbsp;/&nbsp;&raquo;. Exemple: <code>&lt;year&gt;1976&lt;/year&gt;</code>. Aussi, il ne faut pas que les <em>tags</em> se croisent: <code>&lt;a&gt;&lt;b&gt;1976&lt;/a&gt;&lt;/b&gt;</code> est invalide.</p>
<h3>Un seul élément racine</h3>
<p>Dans notre exemple, l&#8217;élément racine (<em>root element</em>) est délimité par les <em>tags</em> <code>&lt;library&gt;</code>. En XML, il ne doit y avoir qu&#8217;un seul élément racine. Si je devais avoir plus d&#8217;un <code>&lt;library&gt;</code>, je devrais les encapsuler dans un autre <em>tag</em>.</p>
<h3>Les attributs</h3>
<p>Comme en HTML, on peut mettre des attributs à l&#8217;intérieur des <em>tags</em>. Exemple:</p>
<p><code>&lt;c b="x"&gt;Arthur&lt;/c&gt;</code></p>
<p>Les attributs doivent être dans le <em>tag</em> d&#8217;ouverture, avec la syntaxe <code>nom="valeur"</code>. N&#8217;oubliez pas les guillemets.</p>
<h3>Caractères spéciaux (références)</h3>
<p>En XML, le caractère <code>&amp;</code> est réservé pour les références. Les références sont, comme en HTML, pour représenter des caractères spéciaux. Par exemple, <code>&lt;</code> est représenté par <code>&amp;lt;</code>. Contrairement au HTML, les seuls codes spéciaux en XML sont:</p>
<ul>
<li>&amp; → &amp;amp;</li>
<li>&lt; → &amp;lt;</li>
<li>&gt; → &amp;gt;</li>
<li>&nbsp;&raquo; → &amp;quot;</li>
<li>&#8216; → &amp;apos;</li>
</ul>
<p>Les autres caractères comme &laquo;&nbsp;é&nbsp;&raquo; (<code>&amp;eacute;</code> n&#8217;existant pas en XML) sont représentés par <code>&amp;#233;</code>, c&#8217;est à dire, <code>&amp;#</code> suivit du numéro de caractère unicode, et de <code>;</code>.</p>
<p>Avec la version 1.1 du XML, à moins que je me trompe, les caractères spéciaux n&#8217;ont pas besoin d&#8217;être référencés et peuvent être écrits directement dans le document, sauf pour les 5 caractères listés plus haut.</p>
<h3>Quelques liens</h3>
<ul>
<li><a href="http://www.w3.org/TR/REC-xml/">Spécifications du XML 1.0</a></li>
<li><a href="http://www.w3.org/TR/xml11/">Spécifications du XML 1.1</a></li>
<li><a href="http://en.wikipedia.org/wiki/Xml">Articles du XML sur Wikipedia</a></li>
<li><a href="http://www.w3schools.com/xml/default.asp">Tutoriels de W3Schools</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.hooba.ca/blog/2008/introduction-au-xml/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
