include-pattern-fr: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
m (typo)
mNo edit summary
Line 1: Line 1:
<h1> include pattern </h1>
<h1> include pattern </h1>
 
Initialement développée en tant que section du [[resume-brainstorming-fr|resume-brainstorming]], il est devenu clair à partir de l'expérience véritable de la syntaxe des microformats avec des sites du vrai monde, que plusieurs microformats (par ex. [[hresume-fr|hResume]], [[hreview-fr|hReview]], [[hatom-fr|hAtom]] etc.) ont besoin d'un mécanisme pour inclure une portion de données provenant d'une aire d'une page à l'intérieur d'une autre aire de page. Cette page documente ce modèle pour réutilisation dans ces microformats et n'importe quel autre microformat qui aura besoin d'utiliser cette fonctionnalité.
Initialement développée en tant que section du [[resume-brainstorming-fr|resume-brainstorming]], il est devenu clair à partir de l'expérience véritable de la syntaxe des microformats avec des sites du vrai monde, que plusieurs microformats (par ex. [[hresume-fr|hResume]], [[hreview-fr|hReview]], [[hatom-fr|hAtom]] etc.) avait besoin d'un mécanimse pour inclure une portion de données d'une page dans une autre aire d'une page. Cette page documente ce modèle pour réutilisation dans ces microformats et n'importe quel autre qui aura besoin d'utiliser cette fonctionnalité.


; Auteur: Tantek Çelik
; Auteur: Tantek Çelik
(Traduction en cours : [[Christophe Ducamp]])
(Traduction en cours : [[Christophe Ducamp]])


Line 10: Line 8:




== Contexte ==
==contexte ==
Dans le [[hresume-fr|hResume]], nous avons eu besoin de la capacité d'inclure le nom extrait de la hCard en haut du CV pour une personne à l'intérieur de ses hCards dans le milieu du CV qui représentait chacun de ses hCards de job (titre du job, nom de l'organisation, adresse, etc.) et de ce fait avons développé la [http://microformats.org/wiki/resume-brainstorming#hCard_reference_via_object référence hCard via technique objet].
 
==champ==
Le "include pattern" est stictement limité au champ de la page en cours. Ceci est par design afin d'éviter les problèmes de multipage / multidomaine. Aussi les usages de la "page en cours" couvrent la majorité des cas d'utilisation, par conséquent nous résolvons d'abord ce problème.


Dans le [[hresume-fr|hResume]], nous avons eu besoin de la capacité d'inclure le nom extrait de la hCard en haut du CV pour une personne à l'intérieur de ses hCards dans le milieu du CV qui représentait chacun de ses hCards de job (titre du job, nom de l'organisation, adresse, etc.) et de ce fait avons développé la [http://microformats.org/wiki/resume-brainstorming#hCard_reference_via_object référence hCard via technique objet].


== nom de classe "include" ==
== nom de classe "include" ==
Afin de rendre ça plus explicite (aider vers une compatibilité à venir pour les parseurs), nous ajoutons le nom de classe "include" sur l'élément objet pour indiquer que cet objet fait référence à un sous-arbre qui devrait être inclus dans sa place par les parseurs de microformats.
Afin de rendre ça plus explicite (aider vers une compatibilité à venir pour les parseurs), nous ajoutons le nom de classe "include" sur l'élément objet pour indiquer que cet objet fait référence à un sous-arbre qui devrait être inclus dans sa place par les parseurs de microformats.


'''Proposition 1 :''' autouriser l'usage de <nowiki><a href class="include"></nowiki> comme un mécanimse secondaire include-pattern, du fait que quelques navigateurs gèrent mal l'objet include-pattern.  Voir [[include-pattern-feedback-fr|include-pattern-feedback]] pour les détails.
'''Proposition 1 :''' autoriser l'usage de <nowiki><a href class="include"></nowiki> comme un mécanisme secondaire include-pattern, du fait que quelques navigateurs gèrent mal l'objet include-pattern.  Voir [[include-pattern-feedback-fr|include-pattern-feedback]] pour les détails.


== exemple inclusion objet  ==
== exemple inclusion objet  ==
 
Voici un exemple d'une [[hcard-fr|hCard]] que vous pourriez avoir en haut d'une page, montrée ici comme une hCard verbeuse pour les besoins de l'illustration que la référence peut être vers un sous-arbre, pas simplement un noeud texte :  
Voici un exemple d'une [[hcard-fr|hCard]] quevous pourriez avoir en haut d'une page, montrée ici comme une hCard verbeuse pour les besoins de l'illustration que la référence peut être vers un sous-arbre, pas simplement un noeud texte :  


<pre><nowiki>
<pre><nowiki>
Line 54: Line 53:
</nowiki></pre>  
</nowiki></pre>  


Cette méthode de redireton de propriété hCard via un élément objet peut s'appliquer à n'importe quelle/toutes les propriétés dans les microformats basés sur les classes.
Cette méthode de redirection de propriété hCard via un élément objet peut s'appliquer à n'importe quelle/toutes les propriétés dans les microformats basés sur les classes.


Note 1 : '''l'attribut de donnée objet DOIT être un ID local de référence'''. Les références externes (qui devraient exiger une application consommatrice à charger une ressource externe) ne sont actuellement pas supportées par cette méthode.
Note 1 : Pour éviter les désordres disgracieux dans Safari, vous devriez inclure la règle de style suivante dans une feuille de style pour la page :
 
Note 2 : Pour éviter les désoredres disgracieux dans Safari, vous devriez inclure la règle de style suivante dans une feuille de style pour la page :
<pre><nowiki>
<pre><nowiki>
object.include { width:0; height:0 }
object.include { width:0; height:0 }
</nowiki></pre>
</nowiki></pre>


Note 3 : Pour éviter les boucles infinies, si un class="include" fait référence à lui-même ou à un ancêtre dans l'arbre de parsage, alors il est ignoré et n'a pas d'effet sur le parseur.
Note 2 : Pour éviter les boucles infinies, si un class="include" fait référence à lui-même ou à un ancêtre dans l'arbre de parsage, alors il est ignoré et n'a pas d'effet sur le parseur.




Line 96: Line 93:
</nowiki></pre>
</nowiki></pre>


== Remerciements ==
==restrictions ==  
Selon le [[include-pattern-fr#champ|champ]], l'attribut objet 'data' et un attribut 'href' DOIVENT être des références ID locales quant utilisées comme des intances d'include pattern. Les références externes (qui obligeraient une application consommatrice de charger une ressource externe) ne sont pas supportées par cette méthode.


==remerciements ==
Grâce aux discussions et brainstorms avec un paquet de gens : Ryan King, James Levine, l'ensemble de la foule présente à [http://mashupcamp.com/index.cgi?HAtomFinalization la session de travail sur les specifications Microformats] lors du MashupCamp, Brian Suda, Scott Reynen, Drew McLellan.
Grâce aux discussions et brainstorms avec un paquet de gens : Ryan King, James Levine, l'ensemble de la foule présente à [http://mashupcamp.com/index.cgi?HAtomFinalization la session de travail sur les specifications Microformats] lors du MashupCamp, Brian Suda, Scott Reynen, Drew McLellan.


== Utilisation des Spécifications ==
==utilisation des spécifications ==
* [[hresume-fr|hResume]]
* [[hresume-fr|hResume]]
* [[hreview-fr|hReview]]
* [[hreview-fr|hReview]]


=== Considération ===
===considération ===
* [[hatom-fr|hAtom]]
* [[hatom-fr|hAtom]]
* [[hcalendar-fr|hCalendar]]
* [[hcalendar-fr|hCalendar]]
* [[hcard-fr|hCard]]
* [[hcard-fr|hCard]]
* [[currency-fr|currency]]
* [[measure-fr|measure]]


== Implémentations ==
==implémentations ==
* X2V implémente le [[include-pattern-fr|include-pattern]] au moment de parser les [[hcard-fr|hCards]] et [[hcalendar-fr|hCalendars]] pour à la fois object.include et a.include.
* X2V implémente le [[include-pattern-fr|include-pattern]] au moment de parser les [[hcard-fr|hCards]] et [[hcalendar-fr|hCalendars]] pour à la fois object.include et a.include.


== Références ==
==références ==


=== Normative ===
=== Normatives ===
* HTML 4.01
* HTML 4.01
* XHTML 1.0
* XHTML 1.0


=== Informative ===
===informatives ===
* [[hcard-fr|hCard]]
* [[hcard-fr|hCard]]


=== En rapport ===
===en rapport ===


* [http://www.mnot.net/javascript/hinclude.html Introducing HInclude] par Mark Nottingham.
* [http://www.mnot.net/javascript/hinclude.html Introducing HInclude] par Mark Nottingham.
** HInclude est une extension de balisage + une librairie javascript pour inclure des fichiers *externes* à l'intérieur d'un document XHTML.
** HInclude est une extension de balisage + une librairie javascript pour inclure des fichiers *externes* à l'intérieur d'un document XHTML.

Revision as of 19:20, 9 January 2007

include pattern

Initialement développée en tant que section du resume-brainstorming, il est devenu clair à partir de l'expérience véritable de la syntaxe des microformats avec des sites du vrai monde, que plusieurs microformats (par ex. hResume, hReview, hAtom etc.) ont besoin d'un mécanisme pour inclure une portion de données provenant d'une aire d'une page à l'intérieur d'une autre aire de page. Cette page documente ce modèle pour réutilisation dans ces microformats et n'importe quel autre microformat qui aura besoin d'utiliser cette fonctionnalité.

Auteur
Tantek Çelik

(Traduction en cours : Christophe Ducamp)


contexte

Dans le hResume, nous avons eu besoin de la capacité d'inclure le nom extrait de la hCard en haut du CV pour une personne à l'intérieur de ses hCards dans le milieu du CV qui représentait chacun de ses hCards de job (titre du job, nom de l'organisation, adresse, etc.) et de ce fait avons développé la référence hCard via technique objet.

champ

Le "include pattern" est stictement limité au champ de la page en cours. Ceci est par design afin d'éviter les problèmes de multipage / multidomaine. Aussi les usages de la "page en cours" couvrent la majorité des cas d'utilisation, par conséquent nous résolvons d'abord ce problème.


nom de classe "include"

Afin de rendre ça plus explicite (aider vers une compatibilité à venir pour les parseurs), nous ajoutons le nom de classe "include" sur l'élément objet pour indiquer que cet objet fait référence à un sous-arbre qui devrait être inclus dans sa place par les parseurs de microformats.

Proposition 1 : autoriser l'usage de <a href class="include"> comme un mécanisme secondaire include-pattern, du fait que quelques navigateurs gèrent mal l'objet include-pattern. Voir include-pattern-feedback pour les détails.

exemple inclusion objet

Voici un exemple d'une hCard que vous pourriez avoir en haut d'une page, montrée ici comme une hCard verbeuse pour les besoins de l'illustration que la référence peut être vers un sous-arbre, pas simplement un noeud texte :

<span class="vcard">
 <span class="fn n" id="j">
  <span class="given-name">Jean</span> <span class="family-name">Levine</span>
 </span>
</span>

Quelque part ailleurs sur la page, vous pourriez avoir une autre hCard qui réutiliserait ce contenu "fn n" à partir de la première hCard :

<span class="vcard">
 <object data="#j" class="include"></object>
 <span class="org">SimplyHired</span>
 <span class="title">Microformat Brainstormer</span>
</span>

De ce fait un parseur microformat traiterait le code ci-dessus comme suit, avec l'inclusion d'objet remplacée complètement par le sous-arbre qu'il référence :

<span class="vcard">
 <span class="fn n" id="j">
  <span class="given-name">Jean</span> <span class="family-name">Levine</span>
 </span>
 <span class="org">SimplyHired</span>
 <span class="title">Microformat Brainstormer</span>
</span>

Cette méthode de redirection de propriété hCard via un élément objet peut s'appliquer à n'importe quelle/toutes les propriétés dans les microformats basés sur les classes.

Note 1 : Pour éviter les désordres disgracieux dans Safari, vous devriez inclure la règle de style suivante dans une feuille de style pour la page :

object.include { width:0; height:0 }

Note 2 : Pour éviter les boucles infinies, si un class="include" fait référence à lui-même ou à un ancêtre dans l'arbre de parsage, alors il est ignoré et n'a pas d'effet sur le parseur.


exemple inclusion hyperlien

D'après la proposition 1 au-dessus, voilà comment vous devriez coder l'exemple de l'inclusion de l'objet au-dessus en utilisant le tag <a href> tag.

<span class="vcard">
 <a href="#j" class="include"></a>
 <span class="org">SimplyHired</span>
 <span class="title">Microformat Brainstormer</span>
</span>

Modifications :

  1. un tag ouvert/fermé au lieu d'un tag objet ouvert/fermé
  2. attribut href au lieu de attribut data
  3. ... voilà. seulement 2 modifications.


Et simplement comme dans l'exemple d'inclusion d'objet, le résultat final vers le parseur est le même et les même Note s'appliquent.

<span class="vcard">
 <span class="fn n" id="j">
  <span class="given-name">Jean</span> <span class="family-name">Levine</span>
 </span>
 <span class="org">SimplyHired</span>
 <span class="title">Microformat Brainstormer</span>
</span>

restrictions

Selon le champ, l'attribut objet 'data' et un attribut 'href' DOIVENT être des références ID locales quant utilisées comme des intances d'include pattern. Les références externes (qui obligeraient une application consommatrice de charger une ressource externe) ne sont pas supportées par cette méthode.


remerciements

Grâce aux discussions et brainstorms avec un paquet de gens : Ryan King, James Levine, l'ensemble de la foule présente à la session de travail sur les specifications Microformats lors du MashupCamp, Brian Suda, Scott Reynen, Drew McLellan.

utilisation des spécifications

considération


implémentations

références

Normatives

  • HTML 4.01
  • XHTML 1.0

informatives

en rapport

  • Introducing HInclude par Mark Nottingham.
    • HInclude est une extension de balisage + une librairie javascript pour inclure des fichiers *externes* à l'intérieur d'un document XHTML.