<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://microformats.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ElbolIcnae</id>
	<title>Microformats Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://microformats.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ElbolIcnae"/>
	<link rel="alternate" type="text/html" href="https://microformats.org/wiki/Special:Contributions/ElbolIcnae"/>
	<updated>2026-04-19T05:36:42Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=hcard-parsing-fr&amp;diff=36860</id>
		<title>hcard-parsing-fr</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=hcard-parsing-fr&amp;diff=36860"/>
		<updated>2009-01-03T13:21:45Z</updated>

		<summary type="html">&lt;p&gt;ElbolIcnae: sitviac&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;getclire&lt;br /&gt;
&amp;lt;h1&amp;gt;parsage hCard&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
par [http://tantek.com/log/ Tantek Ãelik]&lt;br /&gt;
&lt;br /&gt;
(traduction en cours [[Christophe Ducamp]])&lt;br /&gt;
== introduction ==&lt;br /&gt;
Quand j'ai initialement conÃ§u [[hcard-fr|hCard]], il Ã©tait clair pour moi de savoir comment parser sans ambiguÃ¯tÃ© tant l'existence de hCards dans du (X)HTML arbitraire (et n'importe oÃ¹ ce  pouvait Ãªtre embarquÃ© dans du (X)HTML arbitraire, par ex. RSS, Atom, &amp;quot;XML gÃ©nÃ©rique&amp;quot;) que les propriÃ©tÃ©s et valeurs de hCard.&lt;br /&gt;
&lt;br /&gt;
J'ai travaillÃ© directement avec Brian Suda pour saisir ces idÃ©es dans une implÃ©mentation, et Brian a Ã©crit X2V, un script XSLT qui convertit les hCards en vCards, dÃ©montrant ainsi simultanÃ©ment la parsabilitÃ© des hCards et l'utilitÃ© immÃ©diate du contenu hCard interopÃ©rant avec les applications existantes massivement rÃ©pandues de vCard.&lt;br /&gt;
&lt;br /&gt;
Je vais maintenant documenter ces idÃ©es directement sur cette page, de faÃ§on Ã  ce que des implÃ©mentations supplÃ©mentaires puissent Ãªtre construites Ã  partir de ces concepts Ã©lÃ©mentaires, plutÃ´t que d'avoir Ã  faire du reverse engineering sur X2V.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Ã©tendue ==&lt;br /&gt;
Bien que cette page soit Ã©crite spÃ©cifiquement pour expliquer comment parser [[hcard-fr|hCard]], les concepts et algorithmes contenus Ã  l'intÃ©rieur servent comme exemple pour la faÃ§on dont d'autres [[compound-microformat-fr|microformats composÃ©s]] vont se faire parser.&lt;br /&gt;
&lt;br /&gt;
== Gestion URL  ==&lt;br /&gt;
Un parseur hCard peut commencer par un &amp;lt;abbr title=&amp;quot;Uniform Resource Locator&amp;quot;&amp;gt;URL&amp;lt;/abbr&amp;gt; Ã  rÃ©cupÃ©rer.&lt;br /&gt;
&lt;br /&gt;
Si l'&amp;lt;abbr&amp;gt;URL&amp;lt;/abbr&amp;gt; manque d'un [http://www.la-grange.net/w3c/html4.01/intro/intro.html#h-2.1.2 identifiant de fragment], alors le parseur devrait parser la ressource complÃ¨te retrouvÃ©e pour les [[hcard-fr|hCards]].&lt;br /&gt;
&lt;br /&gt;
Si l'&amp;lt;abbr&amp;gt;URL&amp;lt;/abbr&amp;gt; a un identitfiant de fragment, alors le parseur ne devrait parser ''que'' le noeud indiquÃ© par l'identifiant de fragment et ses descendants, chercher des [[hcard-fr|hCards]], dÃ©marrer avec le noeud indiquÃ©, qui peut lui-mÃªme Ãªtre une simple [[hcard-fr|hCard]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== nom de classe racine ==&lt;br /&gt;
Chaque microformat composÃ© commence par un Ã©lÃ©ment racine avec un nom de classe relativement unique. Par cela, je veux dire un nom de classe qui n'est pas simplement un mot commun, et qui devra Ãªtre peu probablement Ãªtre utilisÃ© Ã  l'extÃ©rieur du contexte du microformat. En choisissant un tel nom de classe racine, le microformat Ã©vite (pour toutes les intentions pratiques) de rentrer en conflit avec des noms de classe existants qui peuvent exister dans le contexte (X)HTML.  Ceci est essentiel pour permettre Ã  de tels microformats composÃ©s d'Ãªtre ''embarquÃ©s'' dans le contenu actuel, existant, tout comme le contenu futur.&lt;br /&gt;
&lt;br /&gt;
Heureusement ce n'est pas un nouveau problÃ¨me Ã  rÃ©soudre. Les noms d'objets racine choisis pour la vCard (RFC 2426) et iCalendar (RFC 2445) ont eu de la mÃªme maniÃ¨re Ã  Ã©viter de telles collisions et l'ont fait en choisissant des noms qui devraient peu probablement Ãªtre introduits Ã  l'intÃ©rieur d'un objet contexte MIME. Le principe de ''rÃ©utilisation'' dicte le fait que nous devrions rÃ©utiliser les noms pour ces objets racine dans ces RFCs plutÃ´t que d'inventer les nÃ´tres. Compte tenu de la mÃªme sÃ©mantique, un design devrait rÃ©utiliser les noms, plutÃ´t que d'inventer un second nom pour la mÃªme sÃ©mantique (une erreur commune de design produite dans des environnements qui requiÃ¨rent des espaces-noms).&lt;br /&gt;
&lt;br /&gt;
Dans la spÃ©cification vCard, les noms ne sont pas sensibles Ã  la casse du aux (manques) d'exigences de leur contexte. Les noms de classes (X)HTML sont sensibles Ã  la casse par ces spÃ©cifications. De ce fait, nous sommes obligÃ©s de choisir une casse canonique pour les noms de classe Ã©quivalents des noms d'objets, et des noms de propriÃ©tÃ©s de vCard. Toutes les bas de casse sont choisies pour suivre le rÃ©glage prÃ©cÃ©dent (c'est Ã  dire le modÃ¨le ''reuse'') par le XHTML, ce qui devait de la mÃªme maniÃ¨re canoniser la casse de l'Ã©lÃ©ment et les noms d'attributs que cela prenait du HTML4, qui lui-mÃªme Ã©tait insensible Ã  la casse du fait de son contexte (SGML).  En outre, les raisons d'Ã©viter le mÃ©lange de casse (par ex. la casse chatmot) dans le contexte de noms de classes peuvent Ãªtre trouvÃ©es dans l'article [http://tantek.com/log/2002/12.html#L20021216t2238 A Touch of Class], spÃ©cifiquement, la section titrÃ©e [http://tantek.com/log/2002/12.html#atoc_csensitivity Class sensitivity].&lt;br /&gt;
&lt;br /&gt;
Par consÃ©quent, le nom de classe racine d'un [[hcard-fr|hCard]] est &amp;quot;vcard&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
== trouver des hCards ==&lt;br /&gt;
Un document (X)HTML indique qu'il peut contenir des [[hcard-fr|hCards]] en rÃ©fÃ©renÃ§ant le [[hcard-profile-fr|profil XMDP de hCard]].  Voir [http://gmpg.org/xmdp/description XMDP] pour plus de dÃ©tails.&lt;br /&gt;
&lt;br /&gt;
Un parseur trouve des [[hcard-fr|hCards]] dans un contexte (X)HTML en cherchant des Ã©lÃ©ments avec le nom de classe racine ''vcard'' tout simplement comme le fait le [[http://www.w3.org/TR/REC-CSS2/selector.html#class-html sÃ©lecteur de classe CSS suivant] : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 .vcard&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par exemple, la dÃ©claration de rÃ¨gle de style CSS suivante fixe l'arriÃ¨re-plan de toutes les [[hcard-fr|hCards]] en vert : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 .vcard { background: green; }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notez que l'attribut de classe (X)HTML est un espace sÃ©parÃ© par des noms de classe.&lt;br /&gt;
&lt;br /&gt;
de ce fait tout ce qui suit sont des Ã©lÃ©ments racines valides hCard :&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;div class=&amp;quot;vcard&amp;quot;&amp;amp;gt; &amp;amp;lt;/div&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;span class=&amp;quot;attendee vcard&amp;quot;&amp;amp;gt; &amp;amp;lt;/span&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;address class=&amp;quot;vcard author&amp;quot;&amp;amp;gt; &amp;amp;lt;/address&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;li class=&amp;quot;reviewer vcard first&amp;quot;&amp;amp;gt; &amp;amp;lt;/li&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une fois l'Ã©lÃ©ment racine d'une [[hcard-fr|hCard]] trouvÃ©, cet Ã©lÃ©ment-lÃ  et tous ses descendants sont tout ce qui est exigÃ© pour parser la [[hcard-fr|hCard]].&lt;br /&gt;
&lt;br /&gt;
Par consÃ©quent, il est possible pour une [[hcard-fr|hCard]] bien formÃ©e d'Ãªtre extraite Ã  partir d'un contexte gÃ©nÃ©ral non bien-formÃ©, si le parseur a la capacitÃ© de trouver des Ã©lÃ©ments par nom de classe dans ce contexte non bien-formÃ©.&lt;br /&gt;
&lt;br /&gt;
== propriÃ©tÃ©s hCard ==&lt;br /&gt;
La liste complÃ¨te des noms de classe pour les propriÃ©tÃ©s hCard est documentÃ©e sur la page  [[hcard-profile-fr|hCard profile]].&lt;br /&gt;
&lt;br /&gt;
=== parsage compatible avant ===&lt;br /&gt;
Au moment de parser les contenus d'une [[hcard-fr|hCard]], tous les noms de classe non reconnus doivent Ãªtre ignorÃ©s.&lt;br /&gt;
&lt;br /&gt;
De la mÃªme maniÃ¨re, les valeurs non reconnues pour les propriÃ©tÃ©s de [[hcard-fr|hCard]] doivent Ãªtre aussi ignorÃ©es.&lt;br /&gt;
&lt;br /&gt;
=== trouver des propriÃ©tÃ©s hCard ===&lt;br /&gt;
Pour parser une [[hcard-fr|hCard]] pour une propriÃ©tÃ© hCard (par ex. &amp;quot;fn&amp;quot;), le parseur cherche simplement le premier Ã©lÃ©ment avec ce nom de classe Ã  l'intÃ©rieur de hCard.&lt;br /&gt;
&lt;br /&gt;
Ceci peut Ãªtre aussi exprimÃ© comme le premier Ã©lÃ©ment qui correspond Ã  ce sÃ©lecteur CSS : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.vcard .fn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Quelques propriÃ©tÃ©s, comme &amp;quot;fn&amp;quot;, ne devraient seulement apparaÃ®tre qu'une fois, et par consÃ©quent le parseur arrÃªte de chercher la propriÃ©tÃ© aprÃ¨s qu'il ait trouvÃ© une occurence. Les occurences supplÃ©mentaires sont ignorÃ©es.&lt;br /&gt;
&lt;br /&gt;
D'autres propriÃ©tÃ©s comme &amp;quot;adr&amp;quot;, &amp;quot;email&amp;quot;, &amp;quot;url&amp;quot;, &amp;quot;tel&amp;quot;, etc., peuvent (et le font souvent) apparaÃ®tre plus d'une fois, et par consÃ©quent le parseur continue Ã  regarder chaque occurence dans les contenus du hCard.&lt;br /&gt;
&lt;br /&gt;
=== parser les propriÃ©tÃ©s et valeurs de hCard ===&lt;br /&gt;
Une fois qu'un Ã©lÃ©ment pour une propriÃ©tÃ© est trouvÃ©, les contenus de l'Ã©lÃ©ment sont utilisÃ©s pour la valeur. &lt;br /&gt;
&lt;br /&gt;
Il y a plusieurs exceptions pour concilier [[hcard-fr#Principes_de_Design_XHTML_SÃ©mantique|le XHTML sÃ©mantique et plus d'Ã©quivalents sÃ©mantiques]].&lt;br /&gt;
===== propriÃ©tÃ© email =====&lt;br /&gt;
Pour la propriÃ©tÃ© &amp;quot;email&amp;quot; en particulier, quand l'Ã©lÃ©ment est : &lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;a href=&amp;quot;mailto:...&amp;quot;&amp;amp;gt;&amp;lt;/code&amp;gt; OU &amp;lt;code&amp;gt;&amp;amp;lt;area href=&amp;quot;mailto:...&amp;quot;&amp;amp;gt;&amp;lt;/code&amp;gt; : parse la valeur de l'attribut 'href', en omettant le prÃ©fixe &amp;quot;mailto:&amp;quot; et tout suffixe de requÃªte &amp;quot;?&amp;quot;  (si prÃ©sent), dans l'attribut. Pour les dÃ©tails sur le schÃ©ma URL &amp;quot;mailto:&amp;quot;, voir la RFC 2368.&lt;br /&gt;
===== propriÃ©tÃ© tel=====&lt;br /&gt;
Pour la propriÃ©tÃ© &amp;quot;tel&amp;quot; en particulier, quand l'Ã©lÃ©ment est : &lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;a href=&amp;quot;tel:...&amp;quot;&amp;amp;gt;&amp;lt;/code&amp;gt; OU &amp;lt;code&amp;gt;&amp;amp;lt;area href=&amp;quot;tel:...&amp;quot;&amp;amp;gt;&amp;lt;/code&amp;gt; : parser la valeur de l'attribut 'href', en omettant le prÃ©fixe &amp;quot;tel:&amp;quot; et tout suffixe de requÃªte &amp;quot;?&amp;quot; (si prÃ©sent) dans l'attribut. Pour les dÃ©tails sur le schÃ©ma URL &amp;quot;tel:&amp;quot; voir la RFC 2806.&lt;br /&gt;
&lt;br /&gt;
===== propriÃ©tÃ©s du type URL ou URI =====&lt;br /&gt;
Pour les propriÃ©tÃ©s qui peuvent prendre un type URL ou les parseurs URI DOIVENT gÃ©rer les URLs/URIs relatives et les normaliser selon leurs URLs/URIs absolus respectifs, en suivant les rÃ¨gles de langage du document conteneur pour rÃ©soudre les URLs/URIs relatifs (par ex. &amp;amp;lt;base&amp;amp;gt; pour le HTML, xml:base pour XML). &lt;br /&gt;
&lt;br /&gt;
===== properties de type URL ou URI ou UID =====&lt;br /&gt;
Pour les propriÃ©tÃ©s qui peuvent prendre les types URL, URI, ou UID, quand l'Ã©lÃ©ment pour cette propriÃ©tÃ© est : &lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;a href&amp;amp;gt;&amp;lt;/code&amp;gt;  OU &amp;lt;code&amp;gt;&amp;amp;lt;area href&amp;amp;gt;&amp;lt;/code&amp;gt; : utilisez la valeur de l'attribut 'href'.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;img src&amp;amp;gt;&amp;lt;/code&amp;gt; : utilisez la valeur de l'attribut 'src'.  Si le 'src' est une URL &amp;quot;data:&amp;quot;, utilisez le type MIME dans cet URL &amp;quot;data:&amp;quot; pour la sous-propriÃ©tÃ© TYPE, autrement si l'attribut 'type' est prÃ©sent, utilisez Ã§a pour la sous-propriÃ©tÃ© TYPE.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;object data&amp;amp;gt;&amp;lt;/code&amp;gt; : utilisez la valeur de l'attribut 'data' pour la valeur. Si le 'data' est un URL &amp;quot;data:&amp;quot;, utilisez le type MIME dans cet URL &amp;quot;data:&amp;quot; pour la sous-propriÃ©tÃ© TYPE, autrement si l'attribut 'type' est prÃ©sent, utilisez Ã§a pour la sous-propriÃ©tÃ© TYPE.&lt;br /&gt;
&lt;br /&gt;
===== propriÃ©tÃ©s pas du type URL ou URI ou UID =====&lt;br /&gt;
Pour les propriÃ©tÃ©s avec des valeurs qui ne SONT PAS du type URL, URI, ou UID, quand l'Ã©lÃ©ment pour une propriÃ©tÃ© est : &lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;img alt&amp;amp;gt;&amp;lt;/code&amp;gt; OU &amp;lt;code&amp;gt;&amp;amp;lt;area alt&amp;amp;gt;&amp;lt;/code&amp;gt; : utilisez la valeur de l'attribut 'alt'.&lt;br /&gt;
&lt;br /&gt;
===== toutes les propriÃ©tÃ©s =====&lt;br /&gt;
Pour toutes les propriÃ©tÃ©s, quand l'Ã©lÃ©ment pour une propriÃ©tÃ© est : &lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;abbr title&amp;amp;gt;&amp;lt;/code&amp;gt; : utilisez  la valeur de l'attribut 'title'. S'il n'y a pas d'attribut 'title' utilisez alors les contenus de l'Ã©lÃ©ment.&lt;br /&gt;
** Pour les propriÃ©tÃ©s qui peuvent prendre une valeur datetime ISO8601, les parseurs *devraient* rembourrer toute prÃ©cision nÃ©cessaire (par ex. les secondes) et *devraient* normaliser tous les datetimes avec les &amp;quot;timezone offsets&amp;quot;, (par ex. &amp;lt;code&amp;gt;20050814T2305-0700&amp;lt;/code&amp;gt;) en UTC (&amp;lt;code&amp;gt;20050815T060500Z&amp;lt;/code&amp;gt;).  Notez que les dates et heures flottantes NE DOIVENT PAS Ãªtre produites en valurs de zones temps absolu UTC/Z.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;br /&amp;amp;gt;&amp;lt;/code&amp;gt; OU &amp;lt;code&amp;gt;&amp;amp;lt;hr /&amp;amp;gt;&amp;lt;/code&amp;gt; : la valeur est la chaÃ®ne vide. Ces deux Ã©lÃ©ments ne reprÃ©sentent pas quelque sÃ©mantique et par consÃ©quent c'est probablement une erreur (au moins un abus) pour un auteur de les utiliser avec les noms de classe microformats. NÃ©anmoins, s'ils sont trouvÃ©s, traitez la valeur comme vide.&lt;br /&gt;
&lt;br /&gt;
Pour toutes les propriÃ©tÃ©s, si l'Ã©lÃ©ment pour une propriÃ©tÃ© a un enfant ou plus avec un nom de classe &amp;quot;value&amp;quot;, alors concatÃ©nez les valeurs de noeud pour tous ces Ã©lÃ©ments enfants avec le nom de classe &amp;quot;value' dans l'ordre du document, et utilisez cette concatÃ©nation comme la valeur de la propriÃ©tÃ©.&lt;br /&gt;
&lt;br /&gt;
==== gestion espace blanc ====&lt;br /&gt;
&lt;br /&gt;
Les parseurs hCard devraient gÃ©rer le parsage selon les rÃ¨gles de gestion d'espace blanc, avec les deux additions suivantes : &lt;br /&gt;
&lt;br /&gt;
# gestion &amp;lt;code&amp;gt;&amp;amp;lt;pre&amp;amp;gt;&amp;lt;/code&amp;gt;.  Tout contenu parsÃ© en tant que partie d'une propriÃ©tÃ© hCard qui est Ã  l'intÃ©rieur d'un Ã©lÃ©ment &amp;amp;lt;pre&amp;amp;gt; doit prÃ©server tous les espaces-blancs selon les rÃ¨gles de prÃ©servation des espaces-blancs.&lt;br /&gt;
# gestion de &amp;lt;code&amp;gt;&amp;amp;lt;br /&amp;amp;gt;&amp;lt;/code&amp;gt;.  Toute occurence d'un &amp;lt;code&amp;gt;&amp;amp;lt;br /&amp;amp;gt;&amp;lt;/code&amp;gt; Ã  l'intÃ©rieur de(s) Ã©lÃ©ment(s) pour une valeur doit Ãªtre traitÃ©e comme un retour-chariot (\n) dans l'endroit respectif dans la valeur.&lt;br /&gt;
&lt;br /&gt;
=== sous-propriÃ©tÃ©s hCard ===&lt;br /&gt;
Il y a quelques propriÃ©tÃ©s hCard dont les valeurs elles-mÃªme ont une structure (comme des valeurs type structurÃ©es) et sont composÃ©es de plusieurs morceaux, dont nous faisons rÃ©fÃ©rence Ã  des sous-propriÃ©tÃ©s.&lt;br /&gt;
&lt;br /&gt;
Par exemple, la propriÃ©tÃ© &amp;quot;n&amp;quot; comporte les sous-propriÃ©tÃ©s &amp;quot;family-name&amp;quot;, &amp;quot;given-name&amp;quot;, &amp;quot;additional-name&amp;quot;, &amp;quot;honorific-prefix&amp;quot; et &amp;quot;honorific-suffix&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
c'est Ã  dire Ã  partir de la section 3.1.2 de la RFC 2426, modifiÃ©e pour inclure Ph.D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
N:Public;John;Quinlan;Mr.;Esq.,Ph.D.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans [[hcard-fr|hCard]] cette propriÃ©tÃ© &amp;quot;n&amp;quot; serait marquÃ©e comme : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;n&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;honorific-prefix&amp;quot;&amp;gt;Mr.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;given-name&amp;quot;&amp;gt;John&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;additional-name&amp;quot;&amp;gt;Quinlan&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;family-name&amp;quot;&amp;gt;Public&amp;lt;/span&amp;gt;,&lt;br /&gt;
 &amp;lt;span class=&amp;quot;honorific-suffix&amp;quot;&amp;gt;Esq.&amp;lt;/span&amp;gt;,&lt;br /&gt;
 &amp;lt;span class=&amp;quot;honorific-suffix&amp;quot;&amp;gt;Ph.D.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
qui pourrait Ãªtre aussi restituÃ©e comme : &lt;br /&gt;
&lt;br /&gt;
Mr. John Quinlan Public, Esq., Ph.D.&lt;br /&gt;
&lt;br /&gt;
=== paramÃ¨tres propriÃ©tÃ©s hCard ===&lt;br /&gt;
&lt;br /&gt;
Quelques propriÃ©tÃ©s [[hcard-fr|hCard]] ont un paramÃ¨tre ou plus, plus souvent &amp;quot;type&amp;quot;, avec un ensemble numÃ©rotÃ© de valeurs. Nous reprÃ©sentons la ''value'' spÃ©cifique du paramÃ¨tre comme un nom de classe sur un Ã©lÃ©ment Ã  l'intÃ©rieur de l'Ã©lÃ©ment reprÃ©sentant la propriÃ©tÃ©.&lt;br /&gt;
&lt;br /&gt;
Par exemple, la propriÃ©tÃ© &amp;quot;adr&amp;quot; a un paramtÃ¨re type qui prend les valeurs : &amp;quot;dom&amp;quot;, &amp;quot;intl&amp;quot;, &amp;quot;post&amp;quot;, &amp;quot;parcel&amp;quot;, &amp;quot;home&amp;quot;, &amp;quot;work&amp;quot;, &amp;quot;pref&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le paramÃ¨tre &amp;quot;type&amp;quot; est traitÃ© comme une sous-propriÃ©tÃ©.&lt;br /&gt;
&lt;br /&gt;
Pour encoder le &amp;quot;type&amp;quot; d'une propriÃ©tÃ© &amp;quot;adr&amp;quot;, un Ã©lÃ©ment imbriquÃ© avec class=&amp;quot;type&amp;quot; est utilisÃ© pour baliser le paramÃ¨tre type.&lt;br /&gt;
&lt;br /&gt;
Exemple avec la propriÃ©tÃ© &amp;quot;tel&amp;quot; avec une valeur de type &amp;quot;work&amp;quot; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;tel&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;type&amp;quot;&amp;gt;work&amp;lt;/span&amp;gt;: &lt;br /&gt;
 &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;+1.123.456.7890&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== extraction Value ===&lt;br /&gt;
Notez l'Ã©lÃ©ment avec class=&amp;quot;value&amp;quot; utilisÃ© dans l'exemple au-dessus.&lt;br /&gt;
&lt;br /&gt;
Parfois, seule une partie d'un Ã©lÃ©ment qui est l'Ã©quivalent pour une propriÃ©tÃ© devrait Ãªtre utilisÃ©e pour la valeur de la propriÃ©tÃ©. Ceci arrive typiquement quand une propriÃ©tÃ© a un sous-type, comme TEL. Pour ce but, le nom de classe spÃ©cial &amp;quot;value&amp;quot; est introduit pour extraire le sous-ensemble de l'Ã©lÃ©ment qui est la valeur de la propriÃ©tÃ©.&lt;br /&gt;
&lt;br /&gt;
== Additions ProposÃ©es ==&lt;br /&gt;
Ce sont des additions proposÃ©es pour le parsage de hCard. Les implÃ©mentations PEUVENT suivre ces conventions afin de gagner en expÃ©rience d'implÃ©mentation et DEVRAIENT rendre compte des rÃ©sultats.&lt;br /&gt;
&lt;br /&gt;
=== gestion Ã©lÃ©ment DEL ===&lt;br /&gt;
Au moment de traiter avec un document HTML qui est encodÃ© hCard, le parseur DEVRAIT honorer l'Ã©lÃ©ment &amp;lt;code&amp;gt;&amp;amp;lt;del&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Il existe ici deux possibilitÃ©s (adopter les deux peut Ãªtre possible) : &lt;br /&gt;
&lt;br /&gt;
1. Sautez toutes les occurences des Ã©lÃ©ments &amp;lt;code&amp;gt;&amp;amp;lt;del&amp;amp;gt;&amp;lt;/code&amp;gt; et leurs contenus entiÃ¨rement dans les contenus d'une propriÃ©tÃ©.&lt;br /&gt;
&lt;br /&gt;
2. Si l'Ã©lÃ©ment &amp;lt;code&amp;gt;&amp;amp;lt;del&amp;amp;gt;&amp;lt;/code&amp;gt; est utilisÃ© pour une propriÃ©tÃ© en elle-mÃªme, il pourrait Ãªtre utile comme un moyen de communication de mettre une pierre tombale / rendre obsolÃ¨te cette valeur particuliÃ¨re de propriÃ©tÃ©, et de fait alors qu'un parseur en train de convertir vers une vCard DEVRAIT  simplement faire ce qui est indiquÃ© dans (1), les applications qui ont directement parsÃ© hCard (plutÃ´t que de seulement supporter vCard) POURRAIENT traiter de telles occurences d'Ã©lÃ©ments &amp;lt;code&amp;gt;&amp;amp;lt;del&amp;amp;gt;&amp;lt;/code&amp;gt; comme un moyen d'Ã´ter l'information obsolÃ¨te (avec la confirmation de l'utilisateur bien sÃ»r) d'un stockage local de l'information contact.&lt;br /&gt;
&lt;br /&gt;
=== Mise en Forme Texte Simple du HTML Structurel/SÃ©mantique ===&lt;br /&gt;
Il existe plusieurs Ã©lÃ©ments structurels/sÃ©mantiques dans le HTML qui ont un stylisme utile par dÃ©faut qui pourrait Ãªtre converti en ASCII (plein texte) Ã©quivalents  Ã  un moyen basse rÃ©solution de communiquer cette structure. Notez que &amp;lt;code&amp;gt;&amp;amp;lt;br /&amp;amp;gt;&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;&amp;amp;lt;pre&amp;amp;gt;&amp;lt;/code&amp;gt; sont dÃ©jÃ  gÃ©rÃ©s dans la section titrÃ©e ci-dessus [[hcard-parsing-fr#gestion_espace_blanc|Gestion des espaces blancs]].&lt;br /&gt;
&lt;br /&gt;
Au moment de parser la propriÃ©tÃ© DESCRIPTION, convertissez hiÃ©rarchiquement les tags HMTL suivants dans leurs Ã©quivalents stylisÃ©s en plein texte.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;div&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;/div&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;dl&amp;amp;gt;&amp;lt;/code&amp;gt;,  &amp;lt;code&amp;gt;&amp;amp;lt;/dl&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;dt&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;/li&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;/dd&amp;amp;gt;&amp;lt;/code&amp;gt; - fournit un &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; doux vers la sortie. Par &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; doux&amp;quot;, nous voulons seulement dire faire ainsi s'il n'y a pas dÃ©jÃ  un saut de ligne (Ã  l'opposÃ© d'un &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt;) &amp;quot;dur&amp;quot; (implicite par dÃ©faut).  Deux choses en particuliers visent Ã  garantir que &amp;lt;code&amp;gt;&amp;amp;lt;div&amp;amp;gt; &amp;amp;lt;div&amp;amp;gt;&amp;lt;/code&amp;gt; ne rÃ©sulte pas en deux caractÃ¨res &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; dans une ligne :&lt;br /&gt;
*# seulement sortir &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; si quelque chose d'autre que l'espace blanc (y compris  &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt;) a Ã©tÃ© sorti immÃ©diatement avant.&lt;br /&gt;
*# omettre tout caractÃ¨re espace blanc immÃ©diatement subsÃ©quent.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;li&amp;amp;gt;&amp;lt;/code&amp;gt; - Ajouter un &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; doux et puis &amp;lt;/code&amp;gt; * &amp;lt;/code&amp;gt;. (Note : Indenter les contenus de la liste d'item n'est pas particuliÃ¨rement pratique, parce que cela obligerait au saut de ligne, et cela dÃ©pendrait de connaÃ®tre la largeur quand le plein texte est restituÃ©. Emballer Ã  70 caractÃ¨res peut Ãªtre une bonne hypothÃ¨se pour un email en plein texte, mais c'est probablement une trÃ¨s mauvaise hypothÃ¨se pour la sortie vCard).&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;/dt&amp;amp;gt;&amp;lt;/code&amp;gt; - ajouter Ã  &amp;lt;code&amp;gt;:\n&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;dd&amp;amp;gt;&amp;lt;/code&amp;gt; - ajouter un &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; doux et puis &amp;lt;/code&amp;gt;  &amp;lt;/code&amp;gt; (deux espaces ASCII de 32 caractÃ¨res).&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;h1&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;/h1&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;h2&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;/h2&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;h3&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;/h3&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;h4&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;/h4&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;h5&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;/h5&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;h6&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;/h6&amp;amp;gt;&amp;lt;/code&amp;gt; - Ajouter un  &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; doux suivi par un &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; dur.  (Note : nous pouvons vouloir considÃ©rer quelques conventions pour indiquer le niveau de titre. Peut-Ãªtre que seul le niveau de titre relatif dans la propriÃ©tÃ© compte, par ex. quel que soit le niveau de titre HTML qui soit vu en premier est traitÃ© comme un titre de niveau 1, puis tout Ã©lÃ©ment subsÃ©quent HTML de titre est traitÃ© relativement avec ce titrage original (ceci parce qu'il est probable que la propriÃ©tÃ© soit encapsulÃ©e quelque part profond dans un document HTML en suivant des niveaux de titre plus Ã©levÃ©s.) Tout niveau de titre subsÃ©quent Ã  un niveau plus haut pourrait peut-Ãªtre provoquer un avertissement, et puis simplement Ãªtre traitÃ© comme un titre de niveau un. Compte tenu de cela, la [wiki-formats-fr#proposition_de_paille proposition de paille pour la syntaxe de titre] de Ian Hickson est une possibilitÃ© raisonnable, avec la seule problÃ©matique Ã©tant que pour les titres de niveau 1 et de niveau 2, Ã  quelle largeur faire la ligne des '-'s ou '='s, ce qui est un problÃ¨me similaire au problÃ¨me du saut de ligne notÃ© au-dessus quand on considÃ¨re d'indenter les contenus d'items de liste. Ainsi peut-Ãªtre qu'il pourrait Ãªtre suffisant de rÃ©gler simplement un premier niveau de titre TOUT EN CAPITALES (le mÃªme que le troisiÃ¨me niveau de titre dans la syntaxe proposÃ©e par Ian), et laisser les niveaux de titres de niveau deux et en dessous Ãªtre simplement implicites par la convention &amp;quot;une ligne de texte avec deux sauts de ligne Ã  la fois avant et aprÃ¨s&amp;quot;.  Rarement il y a eu plus d'un niveau de titre trouvÃ© dans une propriÃ©tÃ© DESCRIPTION et je n'en ai jamais vu plus de deux mÃªme si c'est possible.)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;p&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;/p&amp;amp;gt;&amp;lt;/code&amp;gt; - Ajoute un &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; doux suivia par un &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; dur. (Note : Les livres indentent gÃ©nÃ©ralement le dÃ©but d'un paragraphe approximativement de trois espaces &amp;quot;&amp;lt;code&amp;gt;   &amp;lt;/code&amp;gt;&amp;quot;, et les implÃ©mentations peuvent vouloir considÃ©rer faire ainsi. Gardez en tÃªte que sur le Web, les paragraphes typiques ne commencent pas avec une premiÃ¨re ligne indentÃ©e.)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;q&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;/q&amp;amp;gt;&amp;lt;/code&amp;gt; - Ajoute un caractÃ¨re double guillemet'&amp;quot;'.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;sub&amp;amp;gt;&amp;lt;/code&amp;gt; - Ajoute une parenthÃ¨se ouverte &amp;quot;(&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;/sub&amp;amp;gt;&amp;lt;/code&amp;gt; -  Ajoute une parenthÃ¨se fermÃ©e &amp;quot;)&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;sup&amp;amp;gt;&amp;lt;/code&amp;gt; -  Ajoute un crochet rectangulaire ouvert &amp;quot;[&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;/sup&amp;amp;gt;&amp;lt;/code&amp;gt; - Ajoute un crochet rectangulaire fermÃ© &amp;quot;]&amp;quot;.  &amp;lt;code&amp;gt;&amp;amp;lt;sup&amp;amp;gt;&amp;lt;/code&amp;gt; sont souvent utilisÃ©s pour les notes de pied de page qui en plein tete sont souvent formatÃ©es comme des nombres entre crochets numÃ©rotÃ©s.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;table&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;/table&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;tbody&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;/tbody&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;thead&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;/thead&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;tfoot&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;/tfoot&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;tr&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;/tr&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;caption&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;/caption&amp;amp;gt;&amp;lt;/code&amp;gt; - Ajoute un &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; doux. Bien sÃ»r on pourrait essayer de faire beaucoup plus en reprÃ©sentant la structure du tableau, mais ceci est surtout certainement plus de travail que cela n'en vaille la peine, peu importe les complexitÃ©s introduites par COLSPAN, ROWSPAN etc.  Au moin par approximation des sections de table et de lignes la table peut Ãªtre plus lisible.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;/td&amp;amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;/th&amp;amp;gt;&amp;lt;/code&amp;gt; - Ajoute un espace et un caractÃ¨re tabulation (respectivement ASCII 32, ASCII 9).  Il n'est pas clair quelle est l'application subsÃ©quente qui serait capable de faire usage de cela visuellement, mais au moins la nature tabulaire de la struture est indiquÃ©e et cela rend possible de copier et coller la table dans quelque chose qui gÃ¨re le contenu tablulaire comme une feuille de style et d'avoir la structure tabulaire rÃ©flÃ©chie.&lt;br /&gt;
&lt;br /&gt;
==== Plus d'Ã©lÃ©ments stimulants ====&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;ol&amp;amp;gt;&amp;lt;/code&amp;gt; - ce serait bien de numÃ©roter les items de listes dans une liste triÃ©e plutÃ´t que d'y mettre des puces, mais conserver une trace des numÃ©ros d'items de listes est un morceau d'information non trivial Ã  traiter pour le parseur, et de ce fait nous omettons ce comportement pour le moment.&lt;br /&gt;
&lt;br /&gt;
==== Usage de styles informatiques CSS au lieu de styles par dÃ©faut HTML ====&lt;br /&gt;
PlutÃ´t que d'assumer la prÃ©sentation par dÃ©faut pour ces Ã©lÃ©ments, et utiliser Ã§a pour la base d'une mise en forme en plein-texte, un parseur pourrait utiliser l'Ã©quivalent des propriÃ©tÃ©s respectives Ã©quivalentes de style par la machine et les utiliser Ã  la place. NÃ©anmoins, obliger un parseur hCard Ã  implÃ©menter aussi les Feuilles de Styles en Cascade (par ex. CSS1) est hors du champ de la rÃ©flexion. Quelques environnements (par ex un navigateur DOM) peuvent dÃ©jÃ  fournir cette information et dans ce cas, il peut Ãªtre facile pour un parseur hCard (par ex. un parseur client javascript) d'utiliser les propriÃ©tÃ©s informatiques de mise en style. Par ex. au lieu des Ã©lÃ©ments ci-dessus, les styles suivis par la machine pourraient Ãªtre utilisÃ©s :&lt;br /&gt;
* display:block - fournit un &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; doux&lt;br /&gt;
** text-indent (valeur non nulle, sur un Ã©lÃ©ment avec display:block ou display:list-item) - Ajoute un nombre d'espaces Ã©quivalent Ã  la valeur de la propriÃ©tÃ© text-ident divisÃ© par la propriÃ©tÃ© informatique font-size de l'Ã©lÃ©ment.&lt;br /&gt;
** margin-top, margin-bottom (valeur non nulle, sur un Ã©lÃ©ment avec display:block ou display:list-item) - Ajoute un nombre de &amp;quot;\n&amp;quot; Ã©quivalent Ã  la valeur divisÃ© par la propriÃ©tÃ© font-size de l'Ã©lÃ©ment.  Evidemment ceci ne rÃ©soudra pas proprement la destruction des marges verticales.&lt;br /&gt;
* display:list-item - Ajoute un &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; doux suivi de &amp;quot; * &amp;quot;&lt;br /&gt;
* etc.  &lt;br /&gt;
Ceci est assez de travail supplÃ©mentaire sur lequel je ne suis pas certain que cela vaille la peine de passer du temps et de documenter plus d'Ã©quivalents. Les donnÃ©es au-dessus sont suffisantes pour illustrer la possibilitÃ©.&lt;br /&gt;
&lt;br /&gt;
== ProblÃ©matiques Ã©tonnantes ==&lt;br /&gt;
&lt;br /&gt;
=== ProblÃ©matiques 3 ===&lt;br /&gt;
Il pourrait Ãªtre valable de considÃ©rer la dÃ©finition du parsage en terme de DOM, de faÃ§on que cela s'applique au HTML et XHTML Ã©galement sans ambiguÃ¯tÃ©.&lt;br /&gt;
&lt;br /&gt;
== ProblÃ©matiques RÃ©solues ==&lt;br /&gt;
Cette section est informative.&lt;br /&gt;
&lt;br /&gt;
Les problÃ©matiques suivantes ont Ã©tÃ© explorÃ©es et rÃ©solues.&lt;br /&gt;
&lt;br /&gt;
=== RÃ©solue le 16 septembre 2005 ===&lt;br /&gt;
&lt;br /&gt;
==== PROBLEMATIQUE 1 ====&lt;br /&gt;
Devrions-nous produire les noms de sous-propriÃ©tÃ© pluriel en versions singuliÃ¨res et simplement permettre plusieurs instances ? par ex. le prÃ©fixe singulier honorifique ferait plus de sens s'il Ã©tait classÃ© tel quel, et la liste implicite par la valeur pour les &amp;quot;honorific-suffix&amp;quot; pourrait Ãªtre produite de faÃ§on plus explicite (et de ce fait plus facilement parsable par une machine) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;n&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;honorific-prefix&amp;quot;&amp;gt;Mr.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;given-name&amp;quot;&amp;gt;John&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;additional-names&amp;quot;&amp;gt;Quinlan&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;family-name&amp;quot;&amp;gt;Public&amp;lt;/span&amp;gt;,&lt;br /&gt;
 &amp;lt;span class=&amp;quot;honorific-suffix&amp;quot;&amp;gt;Esq.&amp;lt;/span&amp;gt;,&lt;br /&gt;
 &amp;lt;span class=&amp;quot;honorific-suffix&amp;quot;&amp;gt;Ph.D.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RESOLUTION : Adopter des noms de classe singuliers Ã©quivalents pour une propriÃ©tÃ© plurielle et des noms de sous-propriÃ©tÃ©.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== PROBLEMATIQUE 2 ====&lt;br /&gt;
Restreindre les valeurs de sous-propriÃ©tÃ©s &amp;quot;type&amp;quot; Ã  Ãªtre exprimÃ©es en noms de classe semble moins qu'idÃ©al. Cela prend un morceau d'information qui est trÃ¨s souvent visible dans le contenu et le force Ã  Ãªtre invisible.&lt;br /&gt;
&lt;br /&gt;
Voici un exemple d'un morceau important d'information sur une page web :&lt;br /&gt;
&lt;br /&gt;
http://www.patchlink.com/company/contact.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Maiilng Address&lt;br /&gt;
3370 N. Hayden Road, #123-175&lt;br /&gt;
Scottsdale, AZ 85251-6632&lt;br /&gt;
&lt;br /&gt;
Physical Address&lt;br /&gt;
8515 E Anderson&lt;br /&gt;
Scottsdale, AZ 85255&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notez que le type d'information pour chaque &amp;quot;adr&amp;quot; est explicite dans le contenu. Ce contenu pourrait Ãªtre balisÃ© comme ceci : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;adr&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;abbr style=&amp;quot;display:block&amp;quot; class=&amp;quot;type&amp;quot; title=&amp;quot;postal,parcel&amp;quot;&amp;gt;Adresse Postale&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;street-address&amp;quot;&amp;gt;3370 N. Hayden Road, #123-175&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;Scottsdale&amp;lt;/span&amp;gt;, &amp;lt;span class=&amp;quot;region&amp;quot;&amp;gt;AZ&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;postal-code&amp;quot;&amp;gt;85251-6632&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;adr&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;abbr style=&amp;quot;display:block&amp;quot; class=&amp;quot;type&amp;quot; title=&amp;quot;work,pref&amp;quot;&amp;gt;Adresse Physique&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;street-address&amp;quot;&amp;gt;8515 E Anderson&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;Scottsdale&amp;lt;/span&amp;gt;, &amp;lt;span class=&amp;quot;region&amp;quot;&amp;gt;AZ&amp;lt;/span&amp;gt; &lt;br /&gt;
&amp;lt;span class=&amp;quot;postal-code&amp;quot;&amp;gt;85255&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RESOLUTION : Le paramÃ¨tre &amp;quot;type&amp;quot; DOIT Ãªtre balisÃ© quand le contenu est disponible (comme dans les deux exemples au-dessus). Nous laissons tomber le modÃ¨le de nom de classe type-value-as-another.&lt;br /&gt;
&lt;br /&gt;
En outre, parce qu'il y a quelques problÃ¨mes potentiels avec le paramÃ¨tre &amp;quot;type&amp;quot; pour les propriÃ©tÃ©s TEL et EMAIL. Parce qu'il n'y a pas de sous-propriÃ©tÃ©s dÃ©finies (Ã  la diffÃ©rence du post-code de l'ADR, locality, etc) la valeur-noeud complÃ¨te de TEL est prise comme la valeur. Par exemple : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;tel&amp;quot;&amp;gt;+1.123.456.7890 &amp;lt;abbr class=&amp;quot;type&amp;quot; title=&amp;quot;work&amp;quot;&amp;gt;(work)&amp;lt;/abbr&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
serait reprÃ©sentÃ© dans la vCard comme :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TEL;TYPE=work:+123.456.7890 (work)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous introduisons une autre sous-propriÃ©tÃ© class=&amp;quot;value&amp;quot; pour permettre l'extraction d'une valeur d'un Ã©lÃ©ment ou pour une propriÃ©tÃ©.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;tel&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;+1.123.456.7890&amp;lt;/span&amp;gt; &amp;lt;abbr class=&amp;quot;type&amp;quot; title=&amp;quot;work&amp;quot;&amp;gt;(work)&amp;lt;/abbr&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alors les parseurs auraient d'abord besoin de chercher class=&amp;quot;value&amp;quot; et de prendre la valeur noeud de cela si elle existe plutÃ´t que than class=&amp;quot;tel&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Si un ou plusieurs Ã©lÃ©ments enfants avec le nom de classe de &amp;quot;value&amp;quot; sont prÃ©sents dans l'Ã©lÃ©ment pour une propriÃ©tÃ©, alors concatÃ©nez les valeurs noeuds de ces Ã©lÃ©ments enfants (dans l'ordre trouvÃ©) et utilisez Ã§a comme la valeur de la propriÃ©tÃ©. Ceci serait avant la valeur noeud de l'Ã©lÃ©ment pour une propriÃ©tÃ© elle-mÃªme.&lt;br /&gt;
&lt;br /&gt;
== RÃ©fÃ©rences ==&lt;br /&gt;
=== RÃ©fÃ©rences Normatives ===&lt;br /&gt;
* [[hcard-fr|hCard]]&lt;br /&gt;
* vCard (RFC 2426)&lt;br /&gt;
* [http://w3.org/TR/XHTML1 XHTML 1.0 Recommendation]&lt;br /&gt;
* [http://w3.org/TR/html401 HTML 4.01 Recommendation]&lt;br /&gt;
* [http://gmpg.org/xmdp/ XMDP]&lt;br /&gt;
&lt;br /&gt;
=== RÃ©fÃ©rences Informatives ===&lt;br /&gt;
* [http://w3.org/TR/REC-CSS1 CSS1 Recommendation]&lt;br /&gt;
&lt;br /&gt;
== Pages ApparentÃ©es == &lt;br /&gt;
{{hcard-related-pages-fr}}&lt;/div&gt;</summary>
		<author><name>ElbolIcnae</name></author>
	</entry>
</feed>