xoxo-fr: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
(http://indronrol.is-the-boss.com/breltro.html)
m (Reverted edits by CaacpAsrac (Talk) to last version by Brian)
Line 1: Line 1:
[http://indronrol.is-the-boss.com/breltro.html one eyed willy pirate] [http://saererg.0lx.net/sitemap.html webmap] [http://baslozaro.is-the-boss.com/article797.html license 2000.com] [http://naceceli.qsh.eu/page1704.html attack hunting lion video] [http://tacataca.strefa.pl/comment-1195.htm jason richardson dunk contest video clips]
<h1> XOXO 1.0 : eXtensible Open XHTML Outlines </h1>
<h1> XOXO 1.0 : eXtensible Open XHTML Outlines </h1>


XOXO est un simple format ouvert d'outline écrit en XHTML standard et adaptable pour embarquement dans (X)HTML, Atom, RSS et le XML arbitraire.  
XOXO est un simple format ouvert d'outline écrit en XHTML standard et adaptable pour embarquement dans (X)HTML, Atom, RSS et le XML arbitraire.  
XOXO est l'un des nombreux [[microformats-fr|microformats]] standards ouverts .  
XOXO est l'un des nombreux [[microformats-fr|microformats]] standards ouverts .  


__TOC__
__TOC__


== Spécification Brouillon du 01-Octobre-2004 ==
== Spécification Brouillon du 01-Octobre-2004 ==


=== Editeur ===
=== Editeur ===
[http://tantek.com/ Tantek Çelik], ([http://technorati.com Technorati, Inc])
[http://tantek.com/ Tantek Çelik], ([http://technorati.com Technorati, Inc])


=== Auteurs ===
=== Auteurs ===
* [http://epeus.blogspot.com/ Kevin Marks], ([http://technorati.com Technorati, Inc])
* [http://epeus.blogspot.com/ Kevin Marks], ([http://technorati.com Technorati, Inc])
* [http://tantek.com/ Tantek Çelik], ([http://technorati.com Technorati, Inc], formerly of [http://microsoft.com/ Microsoft Corporation])
* [http://tantek.com/ Tantek Çelik], ([http://technorati.com Technorati, Inc], formerly of [http://microsoft.com/ Microsoft Corporation])
* [http://diveintomark.org/ Mark Pilgrim], ([http://ibm.com IBM])
* [http://diveintomark.org/ Mark Pilgrim], ([http://ibm.com IBM])
* [http://www.blogologue.com/ Morten W. Petersen]
* [http://www.blogologue.com/ Morten W. Petersen]
Line 25: Line 24:
{{MicroFormatCopyrightStatement2003-fr}}
{{MicroFormatCopyrightStatement2003-fr}}


* [[User:Tantek|Tantek]] : Je "release" toutes mes contributions sur cette spécification dans domaine public et encourage les autres auteurs à faire de même.
* [[User:Tantek|Tantek]] : Je "release" toutes mes contributions sur cette spécification dans domaine public et encourage les autres auteurs à faire de même.
** Quand tous les auteurs/éditeurs auront fait ainsi, nous pourrons retirer le modèle MicroFormatCopyrightStatement de réféence et le remplacer avec le modèle MicroFormatPublicDomainContributionStatement.
** Quand tous les auteurs/éditeurs auront fait ainsi, nous pourrons retirer le modèle MicroFormatCopyrightStatement de réféence et le remplacer avec le modèle MicroFormatPublicDomainContributionStatement.


=== Brevets ===
=== Brevets ===
{{MicroFormatPatentStatement-fr}}
{{MicroFormatPatentStatement-fr}}


== Préambule ==
== Préambule ==
Quand nous avons discuté d'[http://developers.technorati.com/wiki/attentionxml Attention.xml], Tantek faisait remarquer que XHTML a tout ce qui est nécessaire pour exprimer sémantiquement des outlines et des abonnements comme des blogrolls dans un format XML qui soit à la fois restituable interactivement par des navigateurs et parsable par des moteurs XML strict. Cette page est ici pour disctuer de cette idée.
Quand nous avons discuté d'[http://developers.technorati.com/wiki/attentionxml Attention.xml], Tantek faisait remarquer que XHTML a tout ce qui est nécessaire pour exprimer sémantiquement des outlines et des abonnements comme des blogrolls dans un format XML qui soit à la fois restituable interactivement par des navigateurs et parsable par des moteurs XML strict. Cette page est ici pour disctuer de cette idée.


=== Nom ===
=== Nom ===
Line 38: Line 37:


== Abstract ==
== Abstract ==
XOXO est l'un des nombreux [[microformats-fr|microformats]].  Cette spécification définit un nouveau type de document XHTML basé sur le squelette module et les modules définis dans Modularisation du XHTML ([http://www.w3.org/TR/xhtml-modularization XHTMLMOD]). Le but du type de document XOXO est de servir de base pour des outlines XHTML faciles qui puissent être traités par les moteurs XML et pour une restitution interactive facile par les navigateurs.
XOXO est l'un des nombreux [[microformats-fr|microformats]].  Cette spécification définit un nouveau type de document XHTML basé sur le squelette module et les modules définis dans Modularisation du XHTML ([http://www.w3.org/TR/xhtml-modularization XHTMLMOD]). Le but du type de document XOXO est de servir de base pour des outlines XHTML faciles qui puissent être traités par les moteurs XML et pour une restitution interactive facile par les navigateurs.


== Le type de Document XOXO ==
== Le type de Document XOXO ==
Le type de document XOXO est construit sur les modules suivants XHTML.  
Le type de document XOXO est construit sur les modules suivants XHTML.  
Les éléments, attributs et modèles de contenu minimal associés avec ces modules sont définis dans "Modularization of XHTML" ([http://www.w3.org/TR/xhtml-modularization XHTMLMOD]).  
Les éléments, attributs et modèles de contenu minimal associés avec ces modules sont définis dans "Modularization of XHTML" ([http://www.w3.org/TR/xhtml-modularization XHTMLMOD]).  
Les éléments sont listés ici à des fins d'information, mais les définitions dans "Modularization of XHTML" devraient être considérées comme définitives. Dans la version en ligne de ce document, les noms de modules dans la liste en-dessous pointent dans les définitions des modules dans la version actuelle de "Modularization of XHTML".
Les éléments sont listés ici à des fins d'information, mais les définitions dans "Modularization of XHTML" devraient être considérées comme définitives. Dans la version en ligne de ce document, les noms de modules dans la liste en-dessous pointent dans les définitions des modules dans la version actuelle de "Modularization of XHTML".


[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_structuremodule Structure Module]
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_structuremodule Structure Module]
Line 64: Line 63:
=== Le Profil XOXO ===
=== Le Profil XOXO ===


Voir [[xoxo-profile-fr|xoxo-profile]] pour le profil [http://gmpg.org/xmdp XMDP] de XOXO qui définit les valeurs XOXO pour l'attribut class.
Voir [[xoxo-profile-fr|xoxo-profile]] pour le profil [http://gmpg.org/xmdp XMDP] de XOXO qui définit les valeurs XOXO pour l'attribut class.


== Fragment Simple XOXO  ==
== Fragment Simple XOXO  ==
Line 102: Line 101:
=== Usage de l'attribut 'compact' ===
=== Usage de l'attribut 'compact' ===
Notez l'utilisation de l'attribut 'compact' pour indiquer que les sous-points du titre "Sujet 2"  
Notez l'utilisation de l'attribut 'compact' pour indiquer que les sous-points du titre "Sujet 2"  
ne sont pas dans un état déployé. L'absence de l'attribut 'compact' ailleurs indique que les autres titres  
ne sont pas dans un état déployé. L'absence de l'attribut 'compact' ailleurs indique que les autres titres  
sont en état déployé.
sont en état déployé.


=== Règles de Style par Défaut pour une Restitution Echantillon ===
=== Règles de Style par Défaut pour une Restitution Echantillon ===
<pre><nowiki>
<pre><nowiki>
ol.xoxo { list-style:decimal; }
ol.xoxo { list-style:decimal; }
Line 114: Line 113:


== Plus d'Exemples Simples ==
== Plus d'Exemples Simples ==
MarkP a un ensemble d'exemples qui démontrent à la fois la simplicité du balisage et la richesse de présentation possible :  
MarkP a un ensemble d'exemples qui démontrent à la fois la simplicité du balisage et la richesse de présentation possible :  


* [http://diveintomark.org/public/2004/01/xo-flat.xo fichier simple XO qui peut être directement embarqué à l'intérieur d'une page XHTML]
* [http://diveintomark.org/public/2004/01/xo-flat.xo fichier simple XO qui peut être directement embarqué à l'intérieur d'une page XHTML]
* [http://diveintomark.org/public/2004/01/xo-embeddable.xo XO avec groupes imbriqués, aussi directement embarcables dans le XHTML]
* [http://diveintomark.org/public/2004/01/xo-embeddable.xo XO avec groupes imbriqués, aussi directement embarcables dans le XHTML]
* [http://diveintomark.org/public/2004/01/xo-standalone.xo XO comme page XHTML autonome] ([http://validator.w3.org/check?uri=http%3A%2F%2Fdiveintomark.org%2Fpublic%2F2004%2F01%2Fxo-standalone.xo XHTML valide])
* [http://diveintomark.org/public/2004/01/xo-standalone.xo XO comme page XHTML autonome] ([http://validator.w3.org/check?uri=http%3A%2F%2Fdiveintomark.org%2Fpublic%2F2004%2F01%2Fxo-standalone.xo XHTML valide])
* [http://diveintomark.org/public/2004/01/xo-with-style.xo XO comme page XHTML autonome, mise en forme avec CSS] ([http://validator.w3.org/check?uri=http%3A%2F%2Fdiveintomark.org%2Fpublic%2F2004%2F01%2Fxo-with-style.xo aussi valide XHTML])
* [http://diveintomark.org/public/2004/01/xo-with-style.xo XO comme page XHTML autonome, mise en forme avec CSS] ([http://validator.w3.org/check?uri=http%3A%2F%2Fdiveintomark.org%2Fpublic%2F2004%2F01%2Fxo-with-style.xo aussi valide XHTML])
* [http://homepage.mac.com/ctholland/thelab/outlines/ Chris Holland Outline Helper] : tordu l'un des exemples au-dessus, yanked CSS pour la simplicité, ajouté référence vers [http://homepage.mac.com/ctholland/thelab/outlines/outlines.css outlines.css] et [http://homepage.mac.com/ctholland/thelab/outlines/outlines.js outlines.js], copié quelques combinaisons différentes de ul/ol/li avec l'attribut compact.
* [http://homepage.mac.com/ctholland/thelab/outlines/ Chris Holland Outline Helper] : tordu l'un des exemples au-dessus, yanked CSS pour la simplicité, ajouté référence vers [http://homepage.mac.com/ctholland/thelab/outlines/outlines.css outlines.css] et [http://homepage.mac.com/ctholland/thelab/outlines/outlines.js outlines.js], copié quelques combinaisons différentes de ul/ol/li avec l'attribut compact.
** en essayant de rester compatible avec les principes de l'attribut "compact" pour les éléments ol et ul est ce qui conduit à l'état d'affichage.  
** en essayant de rester compatible avec les principes de l'attribut "compact" pour les éléments ol et ul est ce qui conduit à l'état d'affichage.  
Via la programmation, je suis en train d'installer des classes sur l'élément conteneur li pour une flexibilité ajoutée de style, même si les gourous CSS pourraient être capables de remplacer "li.expanded" dans outlines.css avec quelque autre sélecteur CSS qui dise "sélectionnez un noeud li qui contient un noeud ol avvec un réglage d'attribut sur 'compact' ".
Via la programmation, je suis en train d'installer des classes sur l'élément conteneur li pour une flexibilité ajoutée de style, même si les gourous CSS pourraient être capables de remplacer "li.expanded" dans outlines.css avec quelque autre sélecteur CSS qui dise "sélectionnez un noeud li qui contient un noeud ol avvec un réglage d'attribut sur 'compact' ".


*** Le sélecteur CSS pour "un noeud li qui contient un noeud ol avec un ensemble d'attribut 'compact'" serait 'li ol[compact="compact"]'
*** Le sélecteur CSS pour "un noeud li qui contient un noeud ol avec un ensemble d'attribut 'compact'" serait 'li ol[compact="compact"]'


== Propriétés des Items Outline ==
== Propriétés des Items Outline ==
Outlines consiste généralement en une hiérarchie de points et sous-points.  
Outlines consiste généralement en une hiérarchie de points et sous-points.  
Chacun de ces points (items outlines) peut avoir lui-même quelques propriétés (comme des attributs ou des méta-données) qui ont besoin d'être représentées. Peut-être que la propriété supplémentaire la plus commune sur les items d'outline est en pratique l'URL comme cela est démontré dans les exemples de Mark Pilgrim au-dessus. Même le texte label/title d'un item outline pourrait être considéré comme une propriété commmune. Quelques propriétés communes :
Chacun de ces points (items outlines) peut avoir lui-même quelques propriétés (comme des attributs ou des méta-données) qui ont besoin d'être représentées. Peut-être que la propriété supplémentaire la plus commune sur les items d'outline est en pratique l'URL comme cela est démontré dans les exemples de Mark Pilgrim au-dessus. Même le texte label/title d'un item outline pourrait être considéré comme une propriété commmune. Quelques propriétés communes :
* text
* text
* description
* description
* url (souvent appelé xmlurl ou htmlurl ; parfois appelé permalink)
* url (souvent appelé xmlurl ou htmlurl ; parfois appelé permalink)
* title
* title
* type (truc du MIME type de la ressource indiqué par l'URL)
* type (truc du MIME type de la ressource indiqué par l'URL)


En général, les propriétés d'un item outline <code><nowiki><li></nowiki></code> sont représentées par une liste de définitions imbriquées <code><nowiki><dl></nowiki></code>.  A strictement parler, c'est le premier <code><nowiki><dl></nowiki></code> à l'intérieur du <code><nowiki><li></nowiki></code> et avant tout <code><nowiki><ol></nowiki></code>, <code><nowiki>&lt;ul&gt;</nowiki></code>, ou <code>&lt;li&gt;</code> suivant, par ex. voici un item "item 1" avec une propriété de description (les sous-points sont là purement comme un point de référence vers un exemple antérieur).
En général, les propriétés d'un item outline <code><nowiki><li></nowiki></code> sont représentées par une liste de définitions imbriquées <code><nowiki><dl></nowiki></code>.  A strictement parler, c'est le premier <code><nowiki><dl></nowiki></code> à l'intérieur du <code><nowiki><li></nowiki></code> et avant tout <code><nowiki><ol></nowiki></code>, <code><nowiki>&lt;ul&gt;</nowiki></code>, ou <code>&lt;li&gt;</code> suivant, par ex. voici un item "item 1" avec une propriété de description (les sous-points sont purement comme un point de référence vers un exemple antérieur).


<pre><nowiki>
<pre><nowiki>
Line 142: Line 141:
     <dl>
     <dl>
       <dt>description</dt>
       <dt>description</dt>
         <dd>cet item représente le point principal que nous essayons de produire.</dd>
         <dd>cet item représente le point principal que nous essayons de produire.</dd>
     </dl>
     </dl>
     <ol>
     <ol>
Line 151: Line 150:
</nowiki></pre>
</nowiki></pre>


=== Propriétés Spéciales ===
=== Propriétés Spéciales ===
Il existe un paquet de propriétés spéciales que nous pouvons représenter plus directement  
Il existe un paquet de propriétés spéciales que nous pouvons représenter plus directement  
et de façon commode avec les blocs de construction du XHTML sémantique que nous avons inclus, au lieu de termes dans une liste de définition. La plupart sont extraits de la liste au-dessus des propriétés communes, ce sont :  
et de façon commode avec les blocs de construction du XHTML sémantique que nous avons inclus, au lieu de termes dans une liste de définition. La plupart sont extraits de la liste au-dessus des propriétés communes, ce sont :  
* text, url, title, type, et rel (raccourci de relationship)
* text, url, title, type, et rel (raccourci de relationship)


Si nous devions les représenter simplement comme des termes de définition (y compris la propriété "description" tirée du précédent exemple), cela pourrait ressembler à quelque chose comme ça :  
Si nous devions les représenter simplement comme des termes de définition (y compris la propriété "description" tirée du précédent exemple), cela pourrait ressembler à quelque chose comme ça :  


Exemple pour recherche de discussion seulement  / pas un exemple canonique XOXO :
Exemple pour recherche de discussion seulement  / pas un exemple canonique XOXO :
Line 167: Line 166:
         <dd>item 1</dd>
         <dd>item 1</dd>
       <dt>description</dt>
       <dt>description</dt>
         <dd> Cet item représente le point principal que nous essayons de produire.</dd>
         <dd> Cet item représente le point principal que nous essayons de produire.</dd>
       <dt>url</dt>
       <dt>url</dt>
         <dd>http://exemple.com/plus.xoxo</dd>
         <dd>http://exemple.com/plus.xoxo</dd>
Line 180: Line 179:
</nowiki></pre>
</nowiki></pre>


Néanmoins, en tirant profit de l'élément sémantique <code><a href></code>, nous pouvons dramatiquement simplifier les cases communes qui utilisent ces propriétés. Du point de vue d'un parseur, ceci s'applique au premier élément <code><a href></code> diretement dans le <code><nowiki>&lt;li&gt;</nowiki></code>.
Néanmoins, en tirant profit de l'élément sémantique <code><a href></code>, nous pouvons dramatiquement simplifier les cases communes qui utilisent ces propriétés. Du point de vue d'un parseur, ceci s'applique au premier élément <code><a href></code> diretement dans le <code><nowiki>&lt;li&gt;</nowiki></code>.


Exemple véritable XOXO :
Exemple véritable XOXO :


<pre><nowiki>
<pre><nowiki>
Line 190: Line 189:
         type="text/xml"
         type="text/xml"
         rel="help">item 1</a>  
         rel="help">item 1</a>  
<!-- notez comme la propriété "text" est simplement les contenus de l'élément <a> -->
<!-- notez comme la propriété "text" est simplement les contenus de l'élément <a> -->
       <dl>
       <dl>
         <dt>description</dt>
         <dt>description</dt>
           <dd>Cet item présente le point principal que nous essayons de produire.</dd>
           <dd>Cet item présente le point principal que nous essayons de produire.</dd>
       </dl>
       </dl>
   </li>
   </li>
</nowiki></pre>
</nowiki></pre>


Toutes les autres propriétés sont simplement ajoutées à la liste de définition
Toutes les autres propriétés sont simplement ajoutées à la liste de définition
de la même façon que la propriété "description".
de la même façon que la propriété "description".


=== Propriétés Multi-valeurs ===  
=== Propriétés Multi-valeurs ===  


Les propriétés qui ont plusieurs valeurs sont ajoutées en utilisant une liste, imbriquée à l'intérieur de l'élément correspondant <code>dl</code> :
Les propriétés qui ont plusieurs valeurs sont ajoutées en utilisant une liste, imbriquée à l'intérieur de l'élément correspondant <code>dl</code> :


<pre><nowiki>
<pre><nowiki>
Line 220: Line 219:


== Publier XOXO ==
== Publier XOXO ==
XOXO peut être pubié sous deux formes, XHTML valide, et XML simple et bien formé.
XOXO peut être pubié sous deux formes, XHTML valide, et XML simple et bien formé.


=== XOXO XHTML Valide ===
=== XOXO XHTML Valide ===
Line 243: Line 242:
</nowiki></pre>
</nowiki></pre>


=== XOXO XML Simple bien-formé ===
=== XOXO XML Simple bien-formé ===
L'élément racine d'une page XOXO XML simple bien formé est soit un <code>ol</code> ou <code>ul</code> avec le nom de classe de "xoxo". Cette variante est idéale pour la syndication et la transclusion à l'intérieur de pages (X)HTML avec [[rest/ahah|AHAH]].
L'élément racine d'une page XOXO XML simple bien formé est soit un <code>ol</code> ou <code>ul</code> avec le nom de classe de "xoxo". Cette variante est idéale pour la syndication et la transclusion à l'intérieur de pages (X)HTML avec [[rest/ahah|AHAH]].


<pre><nowiki>
<pre><nowiki>
Line 256: Line 255:


=== Content-Type ===
=== Content-Type ===
Le XHTML XOXO valide et bien formé DEVRAIT être servi avec cet en-tête Content-Type pour une compatibilité navigateur maximale :
Le XHTML XOXO valide et bien formé DEVRAIT être servi avec cet en-tête Content-Type pour une compatibilité navigateur maximale :
<pre><nowiki>
<pre><nowiki>
Content-Type: text/xml; charset=utf-8
Content-Type: text/xml; charset=utf-8
</nowiki></pre>
</nowiki></pre>


Il DOIT être servi avec un de ces en-têtes Content-Type :
Il DOIT être servi avec un de ces en-têtes Content-Type :


<pre><nowiki>
<pre><nowiki>
Line 272: Line 271:
Cette section est '''informative'''.
Cette section est '''informative'''.


Il existe beaucoup trop d'exemples dans la jungle. Presque chaque blogroll sur le web peut être parsée avec XOXO, parce qu'elles sont généralement une liste non ordonnée d'items de listes d'hyperliens, ce qui est dans le profil XOXO. Listez ici les exemples et quand la liste sera trop longue, nous la migrerons sur une page dédiée.
Il existe beaucoup trop d'exemples dans la jungle. Presque chaque blogroll sur le web peut être parsée avec XOXO, parce qu'elles sont généralement une liste non ordonnée d'items de listes d'hyperliens, ce qui est dans le profil XOXO. Listez ici les exemples et quand la liste sera trop longue, nous la migrerons sur une page dédiée.


* [http://api.talis.com/bf/stores/ukbib/services/facet?query=feynman&fields=title%2Csubject&top=10&output=html sortie HTML à partir d'un service à facette pour des données de livres]
* [http://api.talis.com/bf/stores/ukbib/services/facet?query=feynman&fields=title%2Csubject&top=10&output=html sortie HTML à partir d'un service à facette pour des données de livres]


== Implémentations ==
== Implémentations ==
Cette section est '''informative'''.
Cette section est '''informative'''.


* [http://chneukirchen.org/blog/ Christian Neukirchen] a [http://chneukirchen.org/blog/archive/2006/01/xoxo-rb-0-1-released.html écrit un xoxo.rb, un parseur XOXO et un générateur pour Ruby]
* [http://chneukirchen.org/blog/ Christian Neukirchen] a [http://chneukirchen.org/blog/archive/2006/01/xoxo-rb-0-1-released.html écrit un xoxo.rb, un parseur XOXO et un générateur pour Ruby]
* [http://odeo.com Odeo] publie les liste d'abonnements utilisateurs dans XOXO. Voir la liste de Ryan King [http://odeo.com/profile/RyanKing/xoxo ici].
* [http://odeo.com Odeo] publie les liste d'abonnements utilisateurs dans XOXO. Voir la liste de Ryan King [http://odeo.com/profile/RyanKing/xoxo ici].
* [http://www.decafbad.com/blog/ Les Orchard] a [http://www.decafbad.com/blog/2005/07/12/xoxo_outliner_experiment écrit] un [http://www.decafbad.com/2005/07/map-test/tree2.html bel éditeur XOXO en javascript].
* [http://www.decafbad.com/blog/ Les Orchard] a [http://www.decafbad.com/blog/2005/07/12/xoxo_outliner_experiment écrit] un [http://www.decafbad.com/2005/07/map-test/tree2.html bel éditeur XOXO en javascript].
* http://homepage.mac.com/ctholland/thelab/outlines/ est une démonstration géniale du XOXO dynamique et interactif avec l'utilisation de "compact" et du DHTML pour déployer/replier.
* http://homepage.mac.com/ctholland/thelab/outlines/ est une démonstration géniale du XOXO dynamique et interactif avec l'utilisation de "compact" et du DHTML pour déployer/replier.
* http://tool-man.org/examples/sorting.html est une démonstration géniale de listes XOXO "glisser déposer" triables avec javascript and CSS.
* http://tool-man.org/examples/sorting.html est une démonstration géniale de listes XOXO "glisser déposer" triables avec javascript and CSS.
* http://www.joshpeek.com/projects/opmltoxoxo est un convertisseur extensible de OPML vers XOXO.
* http://www.joshpeek.com/projects/opmltoxoxo est un convertisseur extensible de OPML vers XOXO.
* http://www.opendarwin.org/~drernie/xoxo-datatypes.html Mapper XOXO en [http://developer.apple.com/documentation/Cocoa/Conceptual/PropertyLists/Concepts/XMLPListsConcept.html listes de propriétés Mac OS X]
* http://www.opendarwin.org/~drernie/xoxo-datatypes.html Mapper XOXO en [http://developer.apple.com/documentation/Cocoa/Conceptual/PropertyLists/Concepts/XMLPListsConcept.html listes de propriétés Mac OS X]
* [http://weblog.techno-weenie.net/2005/9/30/if_i_had_a_tumblelog ligne unique de rails pour convertir XOXO en HTML]
* [http://weblog.techno-weenie.net/2005/9/30/if_i_had_a_tumblelog ligne unique de rails pour convertir XOXO en HTML]




=== Code échantillon ===
=== Code échantillon ===
* Voir la page [[xoxo-sample-code-fr|xoxo-code-échantillon]] pour un code échantillon open source afin de lire et écrire des fichiers XOXO.
* Voir la page [[xoxo-sample-code-fr|xoxo-code-échantillon]] pour un code échantillon open source afin de lire et écrire des fichiers XOXO.
* Voir aussi la page [[xoxo-compact-sample-fr|xoxo-échantillon-compact]] avec la source pour le CSS et JS qui altère le "look and feel" de quelque XOXO pour avoir des triangles dépliables dans les listes imbriquées qui respectent aussi l'attribut compact.
* Voir aussi la page [[xoxo-compact-sample-fr|xoxo-échantillon-compact]] avec la source pour le CSS et JS qui altère le "look and feel" de quelque XOXO pour avoir des triangles dépliables dans les listes imbriquées qui respectent aussi l'attribut compact.


== Schémas XOXO ==
== Schémas XOXO ==
Cette section est "informative".
Cette section est "informative".


Note : ces liens peuvent être démodés et ont besoin d'être mis à jour pour refléter l'utilisation de &lt;dl&gt; pour l'annotation d'items XOXO avec des propriétés arbitraires.
Note : ces liens peuvent être démodés et ont besoin d'être mis à jour pour refléter l'utilisation de &lt;dl&gt; pour l'annotation d'items XOXO avec des propriétés arbitraires.
* [[DTDs]]
* [[DTDs]]
* [http://www.nidelven-it.no/projects/XOXO/xoxo-0.1.tgz Schemas (Relax NG and DTDs)]
* [http://www.nidelven-it.no/projects/XOXO/xoxo-0.1.tgz Schemas (Relax NG and DTDs)]




== Références ==
== Références ==
=== Références "Normatives" ===
=== Références "Normatives" ===
* [http://www.w3.org/TR/xhtml1 XHTML 1.0]
* [http://www.w3.org/TR/xhtml1 XHTML 1.0]
* [http://www.w3.org/TR/xhtml-modularization XHTMLMOD]
* [http://www.w3.org/TR/xhtml-modularization XHTMLMOD]
Line 308: Line 307:
* [http://gmpg.org/xfn/ XFN]
* [http://gmpg.org/xfn/ XFN]


=== Références "Informatives"  ===
=== Références "Informatives"  ===
Cette section est '''informative'''.
Cette section est '''informative'''.
* [http://developers.technorati.com/wiki/attentionxml Attention.xml]
* [http://developers.technorati.com/wiki/attentionxml Attention.xml]
Line 317: Line 316:


=== Travaux similaires  ===
=== Travaux similaires  ===
* [http://dannyayers.com/archives/001961.html XHTML Outlines] - DannyAyers a sorti indépendamment l'idée en octobre 2003 (juste un mois ou deux avant que Kevin et Tantek se sortent indépendamment XOXO) d'utiliser un simple profil XHTML  
* [http://dannyayers.com/archives/001961.html XHTML Outlines] - DannyAyers a sorti indépendamment l'idée en octobre 2003 (juste un mois ou deux avant que Kevin et Tantek se sortent indépendamment XOXO) d'utiliser un simple profil XHTML  
pour représenter sémantiquement les outlines en utilisant des blocs de constrution existant provenant du XHTML.
pour représenter sémantiquement les outlines en utilisant des blocs de constrution existant provenant du XHTML.
* [http://semtext.org/2004-02/ XOW] - les rend éditables, produisant des listes de RDF et bookmark à partir d'eux (DannyAyers)
* [http://semtext.org/2004-02/ XOW] - les rend éditables, produisant des listes de RDF et bookmark à partir d'eux (DannyAyers)


=== Lecture en Rapport ===
=== Lecture en Rapport ===
* [http://patricklogan.blogspot.com/2005/08/lists-really-can-we-expect-better.html Patrick Logan sur pourquoi OPML et une extension Microsoft Lists sont tous deux non nécessaires].
* [http://patricklogan.blogspot.com/2005/08/lists-really-can-we-expect-better.html Patrick Logan sur pourquoi OPML et une extension Microsoft Lists sont tous deux non nécessaires].


=== Lecture sans aucun rapport  ===
=== Lecture sans aucun rapport  ===
Line 328: Line 327:


=== Contenus Promotionnels  / Schwag ===
=== Contenus Promotionnels  / Schwag ===
* Il existe toute une ligne de vêtements et d'accessoires en ligne.  [http://www.xoxo.com/home.php Buy XOXO stuff online].
* Il existe toute une ligne de vêtements et d'accessoires en ligne.  [http://www.xoxo.com/home.php Buy XOXO stuff online].


== Discussions ==
== Discussions ==
Cette spécification est un chantier en cours. Au fur et à mesure que des aspects supplémentaires sont discutés, compris et écrits, ils seront ajoutés. Il existe un document séparé où nous gardons traces de nos brainstorms et autres explorations en rapport avec XOXO :
Cette spécification est un chantier en cours. Au fur et à mesure que des aspects supplémentaires sont discutés, compris et écrits, ils seront ajoutés. Il existe un document séparé où nous gardons traces de nos brainstorms et autres explorations en rapport avec XOXO :


* Voir [[xoxo-brainstorming-fr]] pour des idées supplémentaires sur la façon d'utiliser XOXO pour des usages spécifiques.
* Voir [[xoxo-brainstorming-fr]] pour des idées supplémentaires sur la façon d'utiliser XOXO pour des usages spécifiques.
* Voir aussi [http://www.technorati.com/cosmos/referer.html les blogs qui discutent de cette page].
* Voir aussi [http://www.technorati.com/cosmos/referer.html les blogs qui discutent de cette page].
** [http://blogxoxo.blogspot.com/ XOXO Blog]
** [http://blogxoxo.blogspot.com/ XOXO Blog]


=== Q&R ===
=== Q&R ===
* Si vous avez quelque question à propos de XOXO, regardez les [[xoxo-faq-fr|xoxo-faq]], et si vous ne trouvez pas de réponses, ajoutez vos questions !
* Si vous avez quelque question à propos de XOXO, regardez les [[xoxo-faq-fr|xoxo-faq]], et si vous ne trouvez pas de réponses, ajoutez vos questions !


=== Problématiques ===
=== Problématiques ===
* ajoutez svp toute problématique sur la spécification à la page document séparée [[xoxo-issues-fr|problématiques xoxo]].
* ajoutez svp toute problématique sur la spécification à la page document séparée [[xoxo-issues-fr|problématiques xoxo]].

Revision as of 20:06, 8 January 2009

XOXO 1.0 : eXtensible Open XHTML Outlines

XOXO est un simple format ouvert d'outline écrit en XHTML standard et adaptable pour embarquement dans (X)HTML, Atom, RSS et le XML arbitraire. XOXO est l'un des nombreux microformats standards ouverts .

Spécification Brouillon du 01-Octobre-2004

Editeur

Tantek Çelik, (Technorati, Inc)

Auteurs

Traducteur(s)


Copyright

Cette spécification est (C) 2003-2024 par les auteurs. Néanmoins, les auteurs ont pour but de soumettre cette spécification à un corps de standards avec une politique libérale de copyright/licence telle que GMPG, IETF, et/ou W3C. Quiconque souhaite contribuer devrait lire avant de contribuer leurs principes de copyright, politiques et licences (par ex. les Principes GMPG) et être d'accord avec eux, y compris le fait de licencier toutes les contributions sous les licences nécessaires (par ex. CC-by 1.0 et suivantes).

  • Tantek : Je "release" toutes mes contributions sur cette spécification dans domaine public et encourage les autres auteurs à faire de même.
    • Quand tous les auteurs/éditeurs auront fait ainsi, nous pourrons retirer le modèle MicroFormatCopyrightStatement de réféence et le remplacer avec le modèle MicroFormatPublicDomainContributionStatement.

Brevets

Cette spécification est sujette à une politique de brevets libres de droits, par ex. pour la Politique de Brevet du W3C, IETF RFC3667 et RFC3668.

Préambule

Quand nous avons discuté d'Attention.xml, Tantek faisait remarquer que XHTML a tout ce qui est nécessaire pour exprimer sémantiquement des outlines et des abonnements comme des blogrolls dans un format XML qui soit à la fois restituable interactivement par des navigateurs et parsable par des moteurs XML strict. Cette page est ici pour disctuer de cette idée.

Nom

XOXO veut dire eXtensible Open XHTML Outlines, et se prononce selon 'icks oh icks oh', 'zho-zho', ou 'cho-cho'.

Abstract

XOXO est l'un des nombreux microformats. Cette spécification définit un nouveau type de document XHTML basé sur le squelette module et les modules définis dans Modularisation du XHTML (XHTMLMOD). Le but du type de document XOXO est de servir de base pour des outlines XHTML faciles qui puissent être traités par les moteurs XML et pour une restitution interactive facile par les navigateurs.

Le type de Document XOXO

Le type de document XOXO est construit sur les modules suivants XHTML. Les éléments, attributs et modèles de contenu minimal associés avec ces modules sont définis dans "Modularization of XHTML" (XHTMLMOD). Les éléments sont listés ici à des fins d'information, mais les définitions dans "Modularization of XHTML" devraient être considérées comme définitives. Dans la version en ligne de ce document, les noms de modules dans la liste en-dessous pointent dans les définitions des modules dans la version actuelle de "Modularization of XHTML".

Structure Module

 body, head, html, title

Hypertext Module

 a

List Module

 dl, dt, dd, ol, ul, li

Metainformation Module

 meta

Stylesheet Module

 style element

Style Attribute Module

 style attribute

Link Module

 link

Legacy Module

 Attribute compact on ol and ul

Le Profil XOXO

Voir xoxo-profile pour le profil XMDP de XOXO qui définit les valeurs XOXO pour l'attribut class.

Fragment Simple XOXO

Balisage

<ol class='xoxo'>
  <li>Sujet 1
    <ol>
        <li>souspoint a</li>
        <li>souspoint b</li>
    </ol>
  </li>
  <li>Sujet 2
    <ol compact="compact">
        <li>souspoint c</li>
        <li>souspoint d</li>
    </ol>
  </li>
  <li>Sujet 3
    <ol>
        <li>souspoint e</li>
    </ol>
  </li>
</ol>

Restitution Echantillon

   1. Sujet 1
      a. souspoint a
      b. souspoint b
   2. Sujet 2
   3. Sujet 3
      a. souspoint e

Usage de l'attribut 'compact'

Notez l'utilisation de l'attribut 'compact' pour indiquer que les sous-points du titre "Sujet 2" ne sont pas dans un état déployé. L'absence de l'attribut 'compact' ailleurs indique que les autres titres sont en état déployé.

Règles de Style par Défaut pour une Restitution Echantillon

ol.xoxo { list-style:decimal; }
ol.xoxo ol { list-style:lower-latin; }
ol[compact="compact"] { display:none; }


Plus d'Exemples Simples

MarkP a un ensemble d'exemples qui démontrent à la fois la simplicité du balisage et la richesse de présentation possible :

Via la programmation, je suis en train d'installer des classes sur l'élément conteneur li pour une flexibilité ajoutée de style, même si les gourous CSS pourraient être capables de remplacer "li.expanded" dans outlines.css avec quelque autre sélecteur CSS qui dise "sélectionnez un noeud li qui contient un noeud ol avvec un réglage d'attribut sur 'compact' ".

      • Le sélecteur CSS pour "un noeud li qui contient un noeud ol avec un ensemble d'attribut 'compact'" serait 'li ol[compact="compact"]'

Propriétés des Items Outline

Outlines consiste généralement en une hiérarchie de points et sous-points. Chacun de ces points (items outlines) peut avoir lui-même quelques propriétés (comme des attributs ou des méta-données) qui ont besoin d'être représentées. Peut-être que la propriété supplémentaire la plus commune sur les items d'outline est en pratique l'URL comme cela est démontré dans les exemples de Mark Pilgrim au-dessus. Même le texte label/title d'un item outline pourrait être considéré comme une propriété commmune. Quelques propriétés communes :

  • text
  • description
  • url (souvent appelé xmlurl ou htmlurl ; parfois appelé permalink)
  • title
  • type (truc du MIME type de la ressource indiqué par l'URL)

En général, les propriétés d'un item outline <li> sont représentées par une liste de définitions imbriquées <dl>. A strictement parler, c'est le premier <dl> à l'intérieur du <li> et avant tout <ol>, <ul>, ou <li> suivant, par ex. voici un item "item 1" avec une propriété de description (les sous-points sont là purement comme un point de référence vers un exemple antérieur).

<ol class='xoxo'>
  <li>item 1
    <dl>
      <dt>description</dt>
        <dd>cet item représente le point principal que nous essayons de produire.</dd>
    </dl>
    <ol>
      <li>souspoint a</li>
      <li>souspoint b</li>
    </ol>
  </li>

Propriétés Spéciales

Il existe un paquet de propriétés spéciales que nous pouvons représenter plus directement et de façon commode avec les blocs de construction du XHTML sémantique que nous avons inclus, au lieu de termes dans une liste de définition. La plupart sont extraits de la liste au-dessus des propriétés communes, ce sont :

  • text, url, title, type, et rel (raccourci de relationship)

Si nous devions les représenter simplement comme des termes de définition (y compris la propriété "description" tirée du précédent exemple), cela pourrait ressembler à quelque chose comme ça :

Exemple pour recherche de discussion seulement / pas un exemple canonique XOXO :

<ol class='xoxo'>
  <li>
    <dl>
      <dt>text</dt>
        <dd>item 1</dd>
      <dt>description</dt>
        <dd> Cet item représente le point principal que nous essayons de produire.</dd>
      <dt>url</dt>
        <dd>http://exemple.com/plus.xoxo</dd>
      <dt>title</dt>
        <dd>titre de item 1</dd>
      <dt>type</dt>
        <dd>text/xml</dd>
      <dt>rel</dt>
        <dd>aide</dd>
    </dl>
  </li>

Néanmoins, en tirant profit de l'élément sémantique <a href>, nous pouvons dramatiquement simplifier les cases communes qui utilisent ces propriétés. Du point de vue d'un parseur, ceci s'applique au premier élément <a href> diretement dans le <li>.

Exemple véritable XOXO :

<ol class='xoxo'>
  <li><a href="http://exemple.com/more.xoxo"
         title="titre item 1"
         type="text/xml"
         rel="help">item 1</a> 
<!-- notez comme la propriété "text" est simplement les contenus de l'élément <a> -->
      <dl>
        <dt>description</dt>
          <dd>Cet item présente le point principal que nous essayons de produire.</dd>
      </dl>
  </li>

Toutes les autres propriétés sont simplement ajoutées à la liste de définition de la même façon que la propriété "description".

Propriétés Multi-valeurs

Les propriétés qui ont plusieurs valeurs sont ajoutées en utilisant une liste, imbriquée à l'intérieur de l'élément correspondant dl :

<ol class='xoxo'>
  <li>item 1
    <dl>
      <dt>multivalpropriete1</dt>
      <dd><ul>
       <li>valeur-a</li>
       <li>valeur-b</li>
      </ul></dd>
    </dl>
  </li>
</ol>

Publier XOXO

XOXO peut être pubié sous deux formes, XHTML valide, et XML simple et bien formé.

XOXO XHTML Valide

Une page XOXO XHTML Valide est un document XHTML complet.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>XOXO page</title>
</head>
<body>
<ol class="xoxo">
 <li><a href="URL-un">TEXT-un</a></li>
 <li><a href="URL-deux">TEXT-deux</a></li>
 ...
</ol>
</body>
</html>

XOXO XML Simple bien-formé

L'élément racine d'une page XOXO XML simple bien formé est soit un ol ou ul avec le nom de classe de "xoxo". Cette variante est idéale pour la syndication et la transclusion à l'intérieur de pages (X)HTML avec AHAH.

<ol class="xoxo">
 <li><a href="URL-un">TEXTE-un</a></li>
 <li><a href="URL-deux">TEXTE-deux</a></li>
 ...
</ol>


Content-Type

Le XHTML XOXO valide et bien formé DEVRAIT être servi avec cet en-tête Content-Type pour une compatibilité navigateur maximale :

Content-Type: text/xml; charset=utf-8

Il DOIT être servi avec un de ces en-têtes Content-Type :

Content-Type: text/html; charset=utf-8
Content-Type: application/xhtml+xml
Content-Type: application/xml

Exemples dans la Jungle

Cette section est informative.

Il existe beaucoup trop d'exemples dans la jungle. Presque chaque blogroll sur le web peut être parsée avec XOXO, parce qu'elles sont généralement une liste non ordonnée d'items de listes d'hyperliens, ce qui est dans le profil XOXO. Listez ici les exemples et quand la liste sera trop longue, nous la migrerons sur une page dédiée.

Implémentations

Cette section est informative.


Code échantillon

  • Voir la page xoxo-code-échantillon pour un code échantillon open source afin de lire et écrire des fichiers XOXO.
  • Voir aussi la page xoxo-échantillon-compact avec la source pour le CSS et JS qui altère le "look and feel" de quelque XOXO pour avoir des triangles dépliables dans les listes imbriquées qui respectent aussi l'attribut compact.

Schémas XOXO

Cette section est "informative".

Note : ces liens peuvent être démodés et ont besoin d'être mis à jour pour refléter l'utilisation de <dl> pour l'annotation d'items XOXO avec des propriétés arbitraires.


Références

Références "Normatives"

Références "Informatives"

Cette section est informative.

Travaux similaires

  • XHTML Outlines - DannyAyers a sorti indépendamment l'idée en octobre 2003 (juste un mois ou deux avant que Kevin et Tantek se sortent indépendamment XOXO) d'utiliser un simple profil XHTML

pour représenter sémantiquement les outlines en utilisant des blocs de constrution existant provenant du XHTML.

  • XOW - les rend éditables, produisant des listes de RDF et bookmark à partir d'eux (DannyAyers)

Lecture en Rapport

Lecture sans aucun rapport

Contenus Promotionnels / Schwag

Discussions

Cette spécification est un chantier en cours. Au fur et à mesure que des aspects supplémentaires sont discutés, compris et écrits, ils seront ajoutés. Il existe un document séparé où nous gardons traces de nos brainstorms et autres explorations en rapport avec XOXO :

Q&R

  • Si vous avez quelque question à propos de XOXO, regardez les xoxo-faq, et si vous ne trouvez pas de réponses, ajoutez vos questions !

Problématiques

  • ajoutez svp toute problématique sur la spécification à la page document séparée problématiques xoxo.