XOXO-fr: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
(XOXO french translation)
 
(DeletedPage voir xoxo-fr)
Line 1: Line 1:
<h1> XOXO 1.0 : Extensible Open XHTML Outlines </h1>
[[DeletedPage]]


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.
cf [[xoxo-fr]]
XOXO est l'un des nombreux standards ouverts [[microformats-fr|microformat]].
 
__TOC__
 
== Spécifiction Brouillon du 01-Octobre-2004 ==
 
=== Editeur ===
[http://tantek.com/ Tantek Çelik], [http://technorati.com Technorati, Inc]
 
=== Auteurs ===
* [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://diveintomark.org/ Mark Pilgrim], [http://ibm.com IBM]
* [http://www.blogologue.com/ Morten W. Petersen]
 
=== Traducteur(s) ===
* [[Christophe Ducamp]]
 
 
=== Copyright ===
{{MicroFormatCopyrightStatement2003}}
 
=== Brevets ===
{{MicroFormatPatentStatement}}
 
== 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 est à 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-fr|microformats]].  Cette spécification définit un nouveau
type de document XHTML qui est basé sur le squelette module et modules défini 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 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 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]
  body, head, html, title
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_hypertextmodule Hypertext Module]
  a
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_listmodule List Module]
  dl, dt, dd, ol, ul, li
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_metamodule Metainformation Module]
  meta
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_stylemodule Stylesheet Module]
  style element
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_styleattributemodule Style Attribute Module]
  style attribute
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_linkmodule Link Module]
  link
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_legacymodule Legacy Module]
  Attribute compact on ol and ul
 
=== 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.
 
== Fragment Simple XOXO  ==
 
=== Balisage ===
 
<pre><nowiki><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>
</nowiki></pre>
 
=== Restitution Echantillon ===
<pre><nowiki>
  1. Sujet 1
      a. souspoint a
      b. souspoint b
  2. Sujet 2
  3. Sujet 3
      a. souspoint e
</nowiki></pre>
=== 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 ===
 
<pre><nowiki>
ol.xoxo { list-style:decimal; }
ol.xoxo ol { list-style:lower-latin; }
ol[compact="compact"] { display:none; }
</nowiki></pre>
 
 
== 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 qui est 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-embeddable.xo XO avec groupes imbriqués, aussi directement embarquable 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-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 simplicity, 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ément ol et ul est ce qui conduit à l'état d'affichage.
Via la programmation, je sis en train d'installer des classes sur l'élément conteneur li pour une flexibilité ajouté 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 sise "sélectionnez un noeud li qui contient un noeud ol avvec un réglage d'attribut sur '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és. 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 <code><nowiki><li></nowiki></code> sont représentées par une
liste de définition imbriquée <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 avnt 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).
 
<pre><nowiki>
<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>subpoint a</li>
      <li>subpoint b</li>
    </ol>
  </li>
</nowiki></pre>
 
=== Propriétés Spéciales ===
Il existe une poignée 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 :
 
<pre><nowiki>
<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>
</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>.
 
Exemple véritable XOXO :
 
<pre><nowiki>
<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>
</nowiki></pre>
 
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".
 
== 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.
 
<pre><nowiki>
<!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>
</nowiki></pre>
 
==== Content-Type ====
 
Le XOXO XHTML Valide DEVRAIT être servi avec cet en-tête Content-Type pour une compatibilité navigateur maximale.
 
<pre><nowiki>
Content-Type: text/html; charset=utf-8
</nowiki></pre>
 
Il DOIT être servi avec l'un de ces en-têtes de Content-Type :
 
<pre><nowiki>
Content-Type: text/html; charset=utf-8
Content-Type: application/xhtml+xml
</nowiki></pre>
 
=== 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]].
 
<pre><nowiki>
<ol class="xoxo">
<li><a href="URL-un">TEXT-un</a</li>
<li><a href="URL-deux">TEXT-deux</a></li>
...
</ol>
</nowiki></pre>
 
==== Content-Type ====
 
Le XML Simple bien formé XOXO DEVRAIT être sevi avec cet en-tête Content-Type :
<pre><nowiki>
Content-Type: text/xml; charset=utf-8
</nowiki></pre>
 
Il DOIT être servi avec l'un de ces en-têtes Content-Type :
 
<pre><nowiki>
Content-Type: text/xml; charset=utf-8
Content-Type: application/xml
Content-Type: application/xml; charset=utf-8
</nowiki></pre>
 
== Exemples "in the Wild" ==
Cette section est '''informative'''.
 
Trop nombreux pour documenter exhaustivement. Presque chaque blogroll sur le web peut être parsée sous XOXO,
parce qu'elles sont généralement sous formes de listes non triées d'items de listes d'hyperliens, ce qui est dans le profil XOXO.
 
== Implémentations ==
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://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://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://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://techno-weenie.net/blog/main/261/if-i-had-a-tumblelog ligne unique de rails pour convertir XOXO en HTML]
 
=== Code échantillon ===
 
* Voir la page [[xoxo-sample-code]] pour un code échantillon open source afin de lire et écrire des fichiers XOXO.
* Voir aussi la page [[xoxo-compact-sample]] avec la source pour le CSS et JS qui altère le "look and feel"
de quelque XOXO pur pour avoir des triangles dépliables pour les listes imbriquées qui respectent aussi l'attribut compact.
 
== Schémas XOXO ==
Cette setion est "informative".
 
Note : ces liens peuvent être démodées 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]]
* [http://www.nidelven-it.no/projects/XOXO/xoxo-0.1.tgz Schemas (Relax NG and DTDs)]
 
 
== Références ==
=== Références "Normatives" ===
* [http://www.w3.org/TR/xhtml1 XHTML 1.0]
* [http://www.w3.org/TR/xhtml-modularization XHTMLMOD]
* [http://gmpg.org/xmdp/ XMDP]
* [http://gmpg.org/xfn/ XFN]
 
=== Références "Informative"  ===
Cette section est '''informative'''.
* [http://developers.technorati.com/wiki/attentionxml Attention.xml]
* [[VoteLinks]]
* [http://www.w3.org/TR/xhtml11 XHTML 1.1]
* [http://opml.scripting.com/spec OPML 1.0]
* Contribution provenant de http://developers.technorati.com/wiki/XOXO
 
=== 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
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)
 
=== 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://raybenchen.blogspot.com/2005/11/is-crappy-format-worth-saving.html Dr. Tao Chen sur pourquoi il est mieux d'utiliser XOXO que de continuer à avancer sur OPML]
 
=== Lecture sans aucun rapport  ===
* [http://www.questionablecontent.net/view.php?comic=493 Questionable Content comic #493] - apparemment le personnage Faye est un fan of XOXO.
 
=== 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].
 
== 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 :
 
* Voir [[xoxo-brainstorming]] 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].
** [http://blogxoxo.blogspot.com/ XOXO Blog]
 
=== Q&R ===
* Si vous avez quelque questions à 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 [[xoxo-issues]].

Revision as of 13:20, 22 June 2006