parsing-microformats-fr: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
(acacel)
m (Reverted edits by TrbasLitrd (Talk) to last version by ChristopheDucamp)
Line 1: Line 1:
delmon
= Parser les Microformats  =
= Parser les Microformats  =


Le mécanisme de parsage des microformats qui dépend de documents ayant même des propriétés xml minimales comme celles bien formées peut échouer au moment de consommer un contenu non-bien-formé. [http://tidy.sourceforge.net/ Tidy] ou même mieux [http://people.apache.org/~andyc/neko/doc/html/ CyberNeko] peut être un travail utile à regarder.
Le mécanisme de parsage des microformats qui dépend de documents ayant même des propriétés xml minimales comme celles bien formées peut échouer au moment de consommer un contenu non-bien-formé. [http://tidy.sourceforge.net/ Tidy] ou même mieux [http://people.apache.org/~andyc/neko/doc/html/ CyberNeko] peut être un travail utile à regarder.
En particulier,  [http://suda.co.uk/projects/X2V/ X2V la découverte et les prototypes de transformation fréquemment citées de hCard et hCalendar par le X2V de Brian Suda] utilisent XSLT, et "nettoient" toute entrée non bien formée avant de la traiter.
En particulier,  [http://suda.co.uk/projects/X2V/ X2V la découverte et les prototypes de transformation fréquemment citées de hCard et hCalendar par le X2V de Brian Suda] utilisent XSLT, et "nettoient" toute entrée non bien formée avant de la traiter.


La plupart des microformats tendent à être agnostiques sur des choses comme le type d'élément exact à utiliser.
La plupart des microformats tendent à être agnostiques sur des choses comme le type d'élément exact à utiliser.


Les développeurs peuvent utiliser des outils comme XPATH qui supposent du "bien-formé" sur un contenu bien-formé (à partir du web ou par l'utilisation de tidy). L'exemple du [http://sourceforge.net/projects/feedparser/ parseur universel de fil] de Mark Pilgrim suggère qu'il peut être possible de nettoyer le html utilisateur jusqu'à un stade où il est adaptable pour un traitement ultérieur comme le xml.
Les développeurs peuvent utiliser des outils comme XPATH qui supposent du "bien-formé" sur un contenu bien-formé (à partir du web ou par l'utilisation de tidy). L'exemple du [http://sourceforge.net/projects/feedparser/ parseur universel de fil] de Mark Pilgrim suggère qu'il peut être possible de nettoyer le html utilisateur jusqu'à un stade il est adaptable pour un traitement ultérieur comme le xml.


== Parser les valeurs de classe ==
== Parser les valeurs de classe ==


Au moment de parser les valeurs de classe, une attention doit être portée :  
Au moment de parser les valeurs de classe, une attention doit être portée :  
# les attributs Class peuvent contenir plusieurs noms de classe, par ex : <code>class="foo vcard bar"</code>
# les attributs Class peuvent contenir plusieurs noms de classe, par ex : <code>class="foo vcard bar"</code>
# les attributs Class peuvent contenir plusieurs noms de classe qui contiennent le nom de classe utilisé par un microformat, par ex : <code>class="foo<strong>vcard</strong>bar"</code> <code>class="foo<strong>vcard</strong>"</code>, <code>class="<strong>vcard</strong>bar"</code>.
# les attributs Class peuvent contenir plusieurs noms de classe qui contiennent le nom de classe utilisé par un microformat, par ex : <code>class="foo<strong>vcard</strong>bar"</code> <code>class="foo<strong>vcard</strong>"</code>, <code>class="<strong>vcard</strong>bar"</code>.
# Plusieurs noms de classe sont séparés pr un ou plusieurs caractères espace blanc.
# Plusieurs noms de classe sont séparés pr un ou plusieurs caractères espace blanc.
# Les noms de classes sont sensibles à la casse.
# Les noms de classes sont sensibles à la casse.
   
   
Voir http://www.la-grange.net/w3c/html4.01/struct/global.html#h-7.5.2
Voir http://www.la-grange.net/w3c/html4.01/struct/global.html#h-7.5.2
Line 21: Line 20:
=== Exemple JavaScript ===
=== Exemple JavaScript ===


La fonction JavaScript [http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/ Ultimate getElementsByClassName] peut être utile. Alors vous pouvez faire
La fonction JavaScript [http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/ Ultimate getElementsByClassName] peut être utile. Alors vous pouvez faire


<code>
<code>
Line 27: Line 26:
</code>
</code>


ou même :  
ou même :  


<code>
<code>
Line 46: Line 45:




[http://balloon.hobix.com/xpath-generator xpath generator], pour vous aider à générer ces longues et laides requêtes xpath. (lien mort en date du 10/08/2006)
[http://balloon.hobix.com/xpath-generator xpath generator], pour vous aider à générer ces longues et laides requêtes xpath. (lien mort en date du 10/08/2006)


== Parser les valeurs rel/rev  ==
== Parser les valeurs rel/rev  ==


Parser les valeurs rel et rev est similaire au parsage de valeurs de classe exception faite pour les différences suivantes :  
Parser les valeurs rel et rev est similaire au parsage de valeurs de classe exception faite pour les différences suivantes :  


# les valeurs rel et rev devraient être séparées par un espace.
# les valeurs rel et rev devraient être séparées par un espace.
# les valeurs rel et rev ne sont pas sensibles à la casse.
# les valeurs rel et rev ne sont pas sensibles à la casse.


Voir http://www.la-grange.net/w3c/html4.01/types.html#h-6.12.
Voir http://www.la-grange.net/w3c/html4.01/types.html#h-6.12.

Revision as of 19:24, 3 January 2009

Parser les Microformats

Le mécanisme de parsage des microformats qui dépend de documents ayant même des propriétés xml minimales comme celles bien formées peut échouer au moment de consommer un contenu non-bien-formé. Tidy ou même mieux CyberNeko peut être un travail utile à regarder. En particulier, X2V la découverte et les prototypes de transformation fréquemment citées de hCard et hCalendar par le X2V de Brian Suda utilisent XSLT, et "nettoient" toute entrée non bien formée avant de la traiter.

La plupart des microformats tendent à être agnostiques sur des choses comme le type d'élément exact à utiliser.

Les développeurs peuvent utiliser des outils comme XPATH qui supposent du "bien-formé" sur un contenu bien-formé (à partir du web ou par l'utilisation de tidy). L'exemple du parseur universel de fil de Mark Pilgrim suggère qu'il peut être possible de nettoyer le html utilisateur jusqu'à un stade où il est adaptable pour un traitement ultérieur comme le xml.

Parser les valeurs de classe

Au moment de parser les valeurs de classe, une attention doit être portée :

  1. les attributs Class peuvent contenir plusieurs noms de classe, par ex : class="foo vcard bar"
  2. les attributs Class peuvent contenir plusieurs noms de classe qui contiennent le nom de classe utilisé par un microformat, par ex : class="foovcardbar" class="foovcard", class="vcardbar".
  3. Plusieurs noms de classe sont séparés pr un ou plusieurs caractères espace blanc.
  4. Les noms de classes sont sensibles à la casse.

Voir http://www.la-grange.net/w3c/html4.01/struct/global.html#h-7.5.2

Exemple JavaScript

La fonction JavaScript Ultimate getElementsByClassName peut être utile. Alors vous pouvez faire

var adrs = document.getElementsByClassName(document, "*", "adr");

ou même :

var cities = document.getElementsByClassName(document, "*", "locality");


Exemple XSLT

<xsl:if test="contains(
   concat (
       ' ',
       concat(normalize-whitespace(@class),' ')
   ),
   ' vcard '
 )" > ...


xpath generator, pour vous aider à générer ces longues et laides requêtes xpath. (lien mort en date du 10/08/2006)

Parser les valeurs rel/rev

Parser les valeurs rel et rev est similaire au parsage de valeurs de classe exception faite pour les différences suivantes :

  1. les valeurs rel et rev devraient être séparées par un espace.
  2. les valeurs rel et rev ne sont pas sensibles à la casse.

Voir http://www.la-grange.net/w3c/html4.01/types.html#h-6.12.

Voir aussi