Version initiale
authorPatrick PIERRE <patrick.pierre@prismallia.fr>
sam., 04 juin 2011 09:01:30 +0200
changeset 0 41a5385c69a2
child 1 5f332cc7150a
Version initiale
Data/Documents/Images/chil_chaja.jpg
Data/Documents/Images/editionsdesrosiers_logo.png
Data/Documents/Images/fms_logo.png
Data/Documents/demi-douce.xml
Data/Documents/schemas.xml
Data/Documents/torture_test.xml
Data/Sets/schemas.xml
Data/Sets/topic_set.xml
Data/Topics/Images/centre_pompidou.jpg
Data/Topics/Images/chasseurs.jpg
Data/Topics/Images/roi_belge.jpg
Data/Topics/centre_pompidou.xml
Data/Topics/chasseurs.xml
Data/Topics/portugal_ue.xml
Data/Topics/roi_belge.xml
Data/Topics/schemas.xml
RelaxNG/publidoc.rnc
RelaxNG/publidoc.rng
RelaxNG/publiset.rnc
RelaxNG/publiset.rng
Binary file Data/Documents/Images/chil_chaja.jpg has changed
Binary file Data/Documents/Images/editionsdesrosiers_logo.png has changed
Binary file Data/Documents/Images/fms_logo.png has changed
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Data/Documents/demi-douce.xml	sam. juin 04 09:01:30 2011 +0200
@@ -0,0 +1,1291 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Id$ -->
+<publidoc version="1.0">
+  <document xml:id="demi-douce" >
+    <metadata>
+      <title>La demi-douce</title>
+      <subtitle>Récit</subtitle>
+      <author>
+        <firstname>Henri</firstname><lastname>Ostrowiecki</lastname>
+      </author>
+      <publisher>Les éditions des Rosiers</publisher>
+      <language xml:lang="fr"/>
+      <abstract>
+        <parag>
+          C'est l'histoire d'un petit garçon qui faillit ne jamais avoir 5 ans
+          ce 16 juillet 1942, jour de la rafle du Vel' d'Hiv'.
+        </parag>
+        <parag>
+          Ce livre raconte l'histoire d'un petit garçon qui a perdu ses parents
+          dans la Shoah. Recueilli par ses oncle et tante, il grandit dans un
+          milieu de juifs polonais progressistes, négociants en métaux et
+          chiffons. Alors que ses cousin et cousine font leurs études
+          supérieures, il rate le concours d'entrée en sixième et se retrouve
+          en centre d'apprentissage puis à l'usine. Ouvrier ajusteur jusqu'à
+          vingt ans, il va vivre l'univers de l'atelier de l'immédiat
+          après-guerre, l'humiliation du travail répétitif et la solidarité
+          ouvrière. Il nous fait pénétrer dans le monde de la mécanique, du
+          geste manuel. Une partie de sa jeunesse est captée par l'usine alors
+          qu'il n'aspire qu'à retrouver le chemin des études.
+        </parag>
+        <parag>
+          Il faut lire le texte de cet homme qui revient s'habiter après des
+          siècles de silence. Un récit précis et passionnant.
+        </parag>
+      </abstract>
+    </metadata>
+
+    <!-- ================================================================== -->
+    <topic type="title-page">
+      <metadata>
+        <title>La demi-douce</title>
+        <subtitle>Récit</subtitle>
+        <author>
+          <firstname>Henri</firstname><lastname>Ostrowiecki</lastname>
+        </author>
+      </metadata>
+      <section>
+        <parag>Préface de Georges Bensoussan</parag>
+        <media><image id="editionsdesrosiers_logo"/></media>
+      </section>
+    </topic>
+    
+    <!-- ================================================================== -->
+    <topic type="copyright-page">
+      <metadata>
+        <title>Copyright</title>
+      </metadata>
+      <section>
+        <parag>Les Éditions des Rosiers</parag>
+        <parag>10, rue Champfleury</parag>
+        <parag>92310 Sèvres, France</parag>
+        <parag>Tél/Fax. : 01 45 07 27 49</parag>
+        <parag>contact@editionsdesrosiers.fr</parag>
+        <parag>www.editionsdesrosiers.fr</parag>
+      </section>
+      <section>
+        <parag>© Éditions des Rosiers, Sèvres, 2011</parag>
+        <parag>Avec le soutien de la Fondation pour la Mémoire de la Shoah</parag>
+        <parag>Conception graphique : Isabelle Benoit</parag>
+        <parag>ISBN : 979-10-90108-02-8</parag>
+      </section>
+      <section>
+        <media><image id="fms_logo"/></media>
+      </section>
+    </topic>
+    
+    <!-- ================================================================== -->
+    <topic type="dedication">
+      <metadata>
+        <title>Dédicace</title>
+      </metadata>
+      <section>
+       <media><image id="chil_chaja"/></media>
+     </section>
+    </topic>
+
+    <!-- ================================================================== -->
+    <topic type="epigraph">
+      <metadata>
+        <title>Épigraphe</title>
+      </metadata>
+      <section>
+        <section>
+          <parag>L'écriture est le souvenir</parag>
+          <parag>de leur mort et l'affirmation de ma vie.</parag>
+          <parag><name>Georges Pérec</name></parag>
+        </section>
+        <section>
+          <parag>L'homme pense parce qu'il a des mains.</parag>
+          <parag><name>Anaxagore</name></parag>
+        </section>
+      </section>
+      <section>
+        <parag>Sylvia, toi qui as su</parag>
+        <parag>entendre mes silences…</parag>
+      </section>
+    </topic>
+    
+    <!-- ================================================================== -->
+    <topic type="acknowledgements">
+      <metadata>
+        <title>Remerciements</title>
+      </metadata>
+      <section>
+        <parag>Il s'est écoulé un bon demi-siècle entre le premier mot déposé
+        sur une feuille de papier lors de cette fameuse nuit de garde à
+        Bizerte, nuit où l'écriture s'est « invitée » dans ma vie comme par
+        effraction, et la parution de ce texte. De combien de personnes n'ai-je
+        pas sollicité l'avis, le conseil, le soutien ?  Tant pis si la liste
+        est longue, mais je tiens à les remercier toutes pour leur témoigner ma
+        reconnaissance et ma gratitude, comme au cinéma à la manière d'un
+        générique de film. Bien sûr, il y aura d'inévitables oublis dus
+        uniquement au grand nombre d'années qui se sont écoulées depuis le
+        début de cette histoire, qu'ils veuillent bien m'en excuser.</parag>
+      </section>
+      <section>
+        <parag>Avant tout, si ce texte a pu prendre la forme d'un manuscrit et
+        maintenant celle d'un livre, je le dois essentiellement à trois
+        personnes avec qui j'ai travaillé durant des mois : Bernard Lehembre,
+        Geneviève Pichon et Anne Quesemand. Il y a plus de vingt ans, avec
+        Anne, reprenant un travail écrit une dizaine d'années auparavant, nous
+        avons entrepris le premier travail critique, ligne par ligne, chapitre
+        après chapitre, m'obligeant même à écrire l'événement essentiel qui
+        constitue le nœud, le tournant de mon récit dont je pensais pouvoir
+        faire « discrètement » l'impasse, par peur de l'aborder. Je veux parler
+        de ma rencontre avec Alexis, de sa désertion et de ses conséquences sur
+        la suite de ma vie. C'est d'ailleurs ce travail qui fut à l'origine du
+        film « Belleville Drancy, par Grenelle », tourné par Anne à l'occasion
+        du 50<sup>e</sup> anniversaire de la rafle du Vel' d'Hiv'. Des années
+        plus tard, Katy, ma deuxième femme, après avoir lu et apprécié mon
+        travail, me fit rencontrer Geneviève Pichon, animatrice des ateliers
+        d'écriture à l'OSE (Œuvre de secours aux enfants), qui, grâce à son
+        enthousiasme, sa gentillesse et sa persuasion sut me convaincre de me
+        remettre à l'ouvrage, lequel était resté inachevé durant une bonne
+        douzaine d'années. Plus récemment, ma rencontre avec Bernard Lehembre,
+        grâce à l'amicale entremise de Patrick Ferrage, fut le point d'orgue de
+        cette longue et belle aventure. Il vint parachever ce travail
+        d'accompagnement en apportant sa connaissance du monde de l'édition,
+        son expérience de tuteur et d'homme de lettres engagé avec qui je
+        partage une certaine complicité militante. Enfin, il ne serait pas
+        juste de ne pas mentionner l'active participation de Thierry Lopez qui,
+        dans la dernière période, me donna de pertinents et précieux
+        conseils.</parag>
+      </section>
+      <section>
+        <parag>Durant toutes ces années, je n'ai cessé de recevoir de mon
+        entourage, amical et familial, conseils et encouragements, à commencer
+        par ceux d'Alice, ma première femme, et de mes trois enfants, Hélène,
+        Thomas et Bertrand, qui surent faire une place à la toute nouvelle et
+        envahissante activité de leur père. En élargissant le cercle, vinrent
+        les premiers amis et collègues de travail : Dominique Cartier,
+        Catherine Constant, Jacqueline Narboni, Francis Rumpf, Marie-Françoise
+        Fontaine, Patrice Ranjard, Dominique Létoquart, Pauline Blachair, Henri
+        Rackzymov, Laurence Podselver, Jean Baumgarten, Michèle Jordan,
+        Frédérique Laubenheimer, Marie-Odile Babier-Bouvet, Claude Ostrowetsky,
+        sans oublier ma cousine Sylvia, qui tient une place centrale dans cette
+        histoire. En avançant dans le temps, la liste des lecteurs attentifs
+        s'est considérablement allongée, et c'est avec grand plaisir que je
+        veux remercier tous ceux qui ont pris de leur temps pour m'apporter
+        soutien et critiques : Gérard Villemain, Nicole, Isabelle et Béatrice
+        Martelly, Denis Guedj, André Kaspi, Jean-Louis Garreau, Laurent Berman,
+        Alice Chalanset, Marie-Claude Bénard, Didier et Irène Epelmaum,
+        Michelle Ourévitch, Michèle Rechtman, Hervé Prévost, Mathieu Elbaz,
+        Georges Bensoussan, Annette Bursztein, Monique Novodosqui, Marie-France
+        Cristofari, Bruno Marielle, Alain Deniau, Michèle Fellous, Hélène
+        Monneret, Danièle Chambionnat, Jacques Pierrin, Laurent Mandeix et
+        Hervé Tenot pour la photo de mes parents. Merci à tous, merci à cette
+        belle mosaïque de noms et de visages, d'histoires croisées qui, tout au
+        long de ces années, m'aura permis de mener à bien ce projet.</parag>
+      </section>
+    </topic>
+
+    <!-- ================================================================== -->
+    <topic type="preface">
+      <metadata>
+        <title>Préface</title>
+      </metadata>
+      <section>
+        <section>
+          <parag>C'est l'histoire d'un homme que le silence aura protégé autant
+          qu'altéré, et abîmé autant que secouru dans les nuits
+          inquiètes. L'histoire d'une errance d'enfance et d'adolescence dans
+          le pays de nulle part et dans le temps de personne, entre école
+          primaire et internat, oncle et tante tuteurs, et souvenir d'une
+          absence. L'histoire d'un enfant qui faillit ne jamais avoir cinq ans
+          ce 16 juillet 1942, premier jour de la « rafle du Vel' d'Hiv' »
+          quand, grelottant de fièvre, porté dans les bras d'un policier
+          français, enveloppé dans une couverture, il voit sa mère s'éloigner
+          et monter dans un car (un fourgon ? un autobus ?). La plupart des
+          gens ne meurent qu'une fois. Lui, non. Bien vivant aujourd'hui dans
+          ce récit d'un chagrin surmonté, il est déjà mort d'une première mort
+          dont sa mémoire reconstruit les contours. Et, de ce brouillard de
+          souvenirs, surgit l'image de sa mère, cette jeune femme dont les
+          traits ont disparu et que viennent seuls rappeler trois photos
+          égarées au fond d'un sac sauvé du désastre. Ici, l'imaginaire se
+          déploie où le vrai n'a pas forcément à voir avec le réel. Sa mère le
+          sauve en ne le réclamant pas, comme elle le sauvera encore quelques
+          jours plus tard, début août 1942, en déléguant son droit parental à
+          sa belle-sœur qui pourra ce faisant chercher l'enfant encore alité à
+          l'hôpital Rothschild.</parag>
+        </section>
+        <section>
+          <parag>Cela, on le lira dans ce texte où le silence fait
+          partie intégrante du récit.</parag>
+        </section>
+      </section>
+      <section>
+        <section>
+          <parag>Un récit qui nous dit un monde oublié, celui de la banlieue du
+          début des années 1950, quand un enfant orphelin est recueilli par son
+          oncle et sa tante, à Gentilly. Le monde des Travaux de Georges Navel,
+          le monde de l'apprentissage et de la dureté grise de l'usine. Le
+          monde des vies émiettées en destins, de la solidarité ouvrière et de
+          la résignation, le monde de la mécanique de précision et du travail
+          bien fait, le monde de la « belle pièce » conjugué à la mélancolie
+          des occasions perdues. Un monde qui résonne à nos oreilles amoureuses
+          d'une France oubliée comme le dernier écho de Martin Nadaud et
+          d'Agricol Perdiguier, le monde des compagnons du Tour de
+          France.</parag>
+        </section>
+        <section>
+          <parag>Henri est orphelin. Mais c'est d'abord un enfant devenu
+          adolescent au début des années 1950, apprenti puis ouvrier… et
+          mauvais élève tant le refus d'apprendre est chez lui rejet d'un monde
+          arrêté au 16 juillet 1942. Avant d'être cette victime que l'on aura
+          seul tendance à considérer aujourd'hui, il est cet enfant espiègle,
+          aimant ou silencieux et fermé en lui-même. Un vivant que l'Europe et
+          l'Allemagne avaient voulu retrancher du monde des vivants. De là ces
+          moments épiques dans un récit rien moins que doloriste et souffrant,
+          les éclats de rire des gamins de la Bièvre, l'humiliation cocasse du
+          Balajo, la tension heureuse du Brevet professionnel, l'acharnement
+          aux cours du soir pour sortir du piège où, enfant, sa dérive
+          ascolaire l'avait plongé. Ce parcours est beau de ténacité. L'homme à
+          la belle chevelure laissée en héritage par son père, la femme au doux
+          visage, ses parents engloutis dans le délire allemand, c'est à eux
+          qu'il doit et qu'il dédie aussi la force vitale qui l'anime en dépit
+          des nuages de la mélancolie.</parag>
+        </section>
+      </section>
+      <section>
+        <section>
+          <parag>Si le rescapé d'aujourd'hui est un héros, hier c'était une
+          victime. Qui ne revendiquait pas et se cachait souvent. Qui refusait
+          les mots de « déporté racial » pour leur préférer « morts pour la
+          France », comme les déportés-résistants.  « Morts pour la France » ?
+          Les enfants aussi ? En notations éparses, presque en filigrane,
+          H.O. raconte la honte qui fut celle de tant de revenants, la honte
+          d'un destin si peu conforme et d'avoir été réduit à cela.</parag>
+        </section>
+        <section>
+          <parag>Dans le silence protecteur et tombal à la fois qui lui sert de
+          vie, seul contre le monde responsable de leur mort, Henri apprend
+          progressivement que via des policiers français et des Allemands en
+          nombre, la violence de l'antisémitisme conjuguée à la veulerie
+          ambiante auront fait en sorte qu'il ne puisse plus jamais prononcer,
+          comme il l'écrit, les mots « Papa » « Maman ».</parag>
+        </section>
+        <section>
+          <parag>Contre un monde synonyme de mort, la parole est interdite. À
+          l'absence de ses parents, impossible à accepter, la nuit surtout,
+          reste le mutisme d'une peur qui aura gangrené sa vie d'enfant.  La
+          peur de la disparition, celle de son père le 14 mai 1941, jamais revu
+          alors qu'il s'est enfui de Beaune la Rolande en août 1941 avant
+          d'être repris quelques jours plus tard, à Ménilmontant. Le gouffre du
+          16 juillet 1942 ensuite, la nuit qui tombe à midi, quand les mots
+          laissent place à cette question répétée comme un chagrin sans fin,
+          dans la Varsovie d'août 1942<footnote><parag>Hillel
+          Seidman. « Pourquoi, Hillel, pourquoi ? » In Du Fond de
+          l'abîme. Collection Terre humaine. Paris : Plon, 1998 : 710
+          pages.</parag></footnote>comme dans le Paris de ce même été de
+          désolation : « Pourquoi ? Pourquoi ? ».</parag>
+        </section>
+        <section>
+          <parag>Juif et mort. Quasi synonymes à ses yeux, ces mots lui donnent
+          envie de fuir à jamais la terreur de ce monde-là. Le délire phobique
+          de l'antisémite gangrène la vie de ses contemporains juifs et modèle
+          leurs visages aux figures d'épouvante qui l'habitent.</parag>
+        </section>
+      </section>
+      <section>
+        <section>
+          <parag>C'est là l'histoire d'un abîme, celui du 16 juillet 1942. Le
+          récit prononcé d'une voix blanche au chagrin contenu, celui d'une vie
+          défaite par ses contemporains et reconstruite à force de rencontres à
+          visage humain, de Sylvia sa cousine, jusqu'à l'usine et à
+          l'armée. Jusqu'à cette « nuit de Bizerte » enfin où, avec l'écriture
+          qui survient, la parole s'installe. Où le destin juif et le destin
+          ouvrier, ces deux figures du malheur à ses yeux, se craquellent pour
+          laisser place à un sujet qui fait de la parole et de l'écrit les
+          visages d'une même libération. Quand les mots du souvenir canalisés
+          par la pensée se mettent à penser ce qui vous écrase, quand ils
+          viennent répondre à l'impensé qui nous travaille, et quand l'écriture
+          enfin redonne forme au visage maternel et à ce matin où il faillit ne
+          jamais avoir cinq ans.</parag>
+        </section>
+        <section>
+          <parag>Quand tant de vies deviennent des destins, ici le destin
+          redevient cette vie qui reprend le chemin interdit des études. Le
+          gouffre ouvert en juillet 1942 ne sera jamais comblé. Reste la
+          conscience du monde englouti et des parents effacés de la surface de
+          la terre, la réappropriation imaginaire d'une langue perdue qui fut
+          pourtant la langue maternelle des paroles de tendresse qui protègent
+          à jamais de la précarité. Il n'est pas besoin de lointain
+          déracinement géographique pour goûter la saveur de l'exil, il suffit
+          qu'au fil de ces « vies ordinaires » dites « sans importance »
+          disparaisse un jour, dans une violence inexpliquée, la figure aimée.
+          Entre les orphelins du monde se tisse ainsi la solidarité des
+          ébranlés.</parag>
+        </section>
+      </section>
+      <section>
+        <section>
+          <parag>« À présent que les vieux se taisent, qu'ils laissent cet
+          adolescent parler à ses frères<footnote><parag>Jean-Paul
+          Sartre. Préface à Paul Nizan, Aden Arabie. Paris : La Découverte,
+          1960.</parag></footnote>. » Redevenir juif et sujet parlant. Casser
+          la gangue de cette parole blanche qui parle pour faire oublier ce
+          qu'elle pourrait dire. À ceux qui pensaient qu'un événement
+          coïncidait avec sa chronologie, à tous les autres aussi, il faut dire
+          de lire le texte d'un homme qui revient s'habiter après des siècles
+          de silence.</parag>
+        </section>
+      </section>
+    </topic>
+    
+    <!-- ================================================================== -->
+    <topic>
+      <metadata>
+        <title>1 — Le chrono</title>
+      </metadata>
+      <section>
+        <section>
+          <parag>À sept heures du matin, en ce début d'octobre 1954, il faisait
+          encore nuit noire. Je me sentais traversé par une foule de sentiments
+          contradictoires où s'entrechoquaient fierté et inquiétude. Arc-bouté
+          sur mon vélo, traversant plusieurs communes de la banlieue sud,
+          Arcueil, Montrouge, Vanves, je me rendais de Gentilly, où j'habitais
+          depuis dix ans, à Issy-les-Moulineaux. En chemin, je croisais par
+          dizaines des silhouettes qui marchaient sur les trottoirs d'un pas
+          rapide vers un même but : l'usine. Je venais d'avoir dix-sept ans et
+          d'être embauché à la Sadir-Carpentier. En les observant du coin de
+          l'œil, j'avais déjà le sentiment d'appartenir à cette famille
+          composée d'une multitude de visages anonymes. À l'entrée et de chaque
+          côté de la rue Guynemer, siège de mon futur emploi, quelques
+          réverbères diffusaient une pâle lumière sur les murs des deux
+          imposantes rangées d'usines. J'ignorais tout du travail qui
+          m'attendait, je savais seulement que l'entreprise était spécialisée
+          dans la fabrication de matériel électrique destiné aux
+          télécommunications.</parag>
+        </section>
+        <section>
+          <parag>L'heure de l'embauche se faisait à sept heures quarante. Il
+          restait encore quelques minutes avant que retentisse la sonnerie
+          annonçant le début de la journée. Le hall d'entrée était à présent
+          comble. En file indienne, les ouvriers se dirigeaient vers la
+          pointeuse, passage obligé avant les vestiaires puis l'accès aux
+          ateliers. Ce premier jour, je n'avais pas encore mon carton de
+          pointage.  Sur ma lettre d'embauche, il était précisé que je devais
+          me présenter au pointeau – je l'apprendrais par la suite –,
+          personnage important et redouté, car c'est lui qui venait dans les
+          ateliers chaque vendredi après-midi remettre en main propre la paie
+          de chacun.</parag>
+        </section>
+      </section>
+      <section>
+        <section>
+          <parag>Chaque ouvrier, d'un geste machinal, saisissait son carton et
+          le glissait dans la pointeuse, qui, à chaque passage, faisait
+          retentir un bref tintement aigu, si bien qu'il était impossible de
+          passer inaperçu auprès du pointeau. Sur le plan des horaires, le
+          règlement stipulait qu'en cas de retard supérieur à deux minutes,
+          c'était quinze minutes de la paie qui disparaissaient. De cet endroit
+          stratégique, d'un simple coup d'œil jeté sur les râteliers à cartons
+          disposés de part et d'autre de la pointeuse, il me fut possible
+          d'estimer à trois cents le nombre d'ouvriers travaillant dans cette
+          partie de l'usine.</parag>
+        </section>
+        <section>
+          <parag>D'un signe de la main, le pointeau me demanda de l'attendre
+          encore quelques instants. Au-delà du hall d'entrée, à travers des
+          vitres couvertes de crasse, mélange de poussière et de vapeur grasse,
+          j'aperçus les machines-outils de l'immense atelier, d'un côté les
+          tours de différentes tailles, de l'autre les fraiseuses alignées en
+          quinconce. Les lampes suspendues au-dessus de chacune d'elles
+          découpaient une multitude de cônes bleutés, renforçant par contraste
+          l'obscurité dans laquelle se trouvait encore le reste de l'atelier où
+          l'on distinguait avec peine la charpente métallique. L'atmosphère
+          était imprégnée d'une odeur qui me rappelait celle du métro, mélange
+          d'huile brûlée et de tabac froid.</parag>
+        </section>
+        <section>
+          <parag>La journée de travail commença. L'une après l'autre, chaque
+          machine se mit en marche. Malgré la distance, leur bruit me parvint
+          comme un roulement mêlé de sifflements provoqués par le contact de
+          l'outil sur le métal. De son bureau situé au-dessus de la pointeuse,
+          le pointeau m'adressa un léger mouvement de la tête pour me signifier
+          qu'il ne m'avait pas oublié. Combien de temps l'ai-je attendu ? D'un
+          pas pressé, il arriva sans me serrer la main en me tendant mon carton
+          de pointage. Je le glissai pour la première fois dans le bec de la
+          pointeuse. Aussitôt celle-ci me gratifia d'un bref signal
+          sonore. Voilà par quel geste je fis mon entrée dans la vie
+          active.</parag>
+        </section>
+        <section>
+          <parag>L'homme me conduisit jusqu'à mon futur poste de
+          travail. L'atelier de montage des relais téléphoniques auquel j'étais
+          affecté se trouvait à l'étage juste au-dessus de l'atelier de
+          mécanique.  La salle était vaste, calme, claire et sans aucune odeur
+          d'huile. Là, le bruit des machines-outils parvenait très atténué. On
+          entendait à peine un ronronnement.</parag>
+        </section>
+        <section>
+          <parag>Sur la moitié de l'étage, l'atelier était disposé tout en
+          longueur avec quatre rangées de tables d'une hauteur identique à
+          celle d'un comptoir de bistrot : devant chacune d'elles, une douzaine
+          d'ouvriers, en majorité des femmes, étaient assis sur de hauts
+          tabourets disposés de mètre en mètre. Le pointeau me présenta au
+          contremaître qui me tendit une main molle, accompagnée d'un vague
+          rictus en guise de sourire. Cette poignée de main contrastait avec la
+          rigidité de son apparence, accentuée par ses cheveux grisonnants
+          coupés en brosse. Après m'avoir demandé mon nom d'une voix morne, il
+          appela le chef d'équipe. Je vis arriver un petit bonhomme mince, aux
+          épaules étroites, vêtu d'une blouse grise. Une moustache droite
+          taillée à la Charlie Chaplin et de rares cheveux plaqués sur les
+          tempes lui donnaient un air presque comique, plutôt sympathique. Il
+          m'invita à le suivre.</parag>
+        </section>
+        <section>
+          <parag>Je traversai l'atelier, tout le monde était à son poste depuis
+          un bon moment. Intimidé par ces dizaines d'ouvriers penchés sur leur
+          travail, je n'osai pas regarder autour de moi et voir ce qu'ils
+          faisaient. Pour me saluer, certains esquissèrent un léger sourire. Le
+          chef d'équipe me dirigea vers la première rangée, à une place
+          inoccupée entre deux ouvrières. Là, le dos tourné au reste de
+          l'atelier, j'avais en vis-à-vis le crépis d'un mur gris sale et une
+          rangée de baies vitrées placées si haut qu'elles ne laissaient
+          apercevoir qu'une étroite bande de ciel. Sur la table de travail à
+          gauche, une série de mille pièces était en attente.</parag>
+        </section>
+        <section>
+          <parag>— Voilà ton poste de travail. Tu vas voir pour ton boulot,
+          c'est très simple, me dit le chef d'équipe en prenant une
+          armature. Quand la série t'arrive, les deux lamelles de cuivre qui
+          supportent les contacts électriques sont plus ou moins bien alignées,
+          il faudra donc que tu les mettes aussi parallèles que possible. C'est
+          Madame Jaubert qui te fournira ton travail.</parag>
+        </section>
+        <section>
+          <parag>Je glissai un coup d'œil rapide vers ma voisine de gauche qui,
+          sans se préoccuper de notre présence, continua avec une dextérité et
+          un rythme de métronome à monter l'armature mobile sur son embase en
+          stéatite.</parag>
+        </section>
+        <section>
+          <parag>— Maintenant, regarde bien, tu prends cette petite tige en
+          acier avec sa fente au bout, tu l'enfourches sur la première lamelle
+          et tu lui fais faire des petits mouvements en la tournant par petits
+          coups tantôt à droite, tantôt à gauche pour la redresser. Ensuite, tu
+          fais la même chose sur l'autre lamelle. Et pour finir, tu vérifies
+          avec ta loupe si elles sont bien parallèles et correctement en
+          contact. Il faut qu'elles se touchent sur au moins trois
+          millimètres. Eh oui, ça fait pas très grand. C'est pour ça qu'il te
+          faut une loupe !</parag>
+        </section>
+        <section>
+          <parag>Il m'avait donné toutes ces explications d'une voix
+          calme, presque paternelle.</parag>
+        </section>
+        <section>
+          <parag>— Avant de commencer, il faudra que tu ouvres le bon de
+          travail qui accompagne chaque série, sinon tu ne pourras pas être
+          payé, poursuit-il avec un sourire. Pour ça, tu iras voir la femme en
+          blouse bleue assise devant le bureau là-bas près de la porte
+          d'entrée, c'est elle qui tient la comptabilité des bons de travail
+          pour toute l'équipe. Sur chaque bon, il y a trois volets de couleurs
+          différentes : le bleu, c'est pour elle, le vert, c'est pour le
+          service de la paie, et le jaune, il est pour toi, tu le gardes. C'est
+          comme ça qu'on pourra établir ta paie. Pour chaque pièce, il y a un
+          temps – il jeta un coup d'œil sur le bon – chaque pièce est payée
+          35/100<sup>e</sup>, ça fait pas tout à fait six heures pour toute la
+          série de 1 000. Si tu veux faire ton boni, il faudra que tu te
+          grouilles un peu. Mais tu verras, c'est facile, les temps sont
+          comptés plutôt larges.  Tu as le droit de faire jusqu'à 20 % de boni,
+          c'est le maxi…</parag>
+        </section>
+        <section>
+          <parag>En moins de temps qu'il n'en faut pour le dire, je
+          venais de faire connaissance avec le travail au rendement, le travail
+          « au boni » comme ils disaient. Le chef vit dans mon regard
+          comme un étonnement :</parag>
+        </section>
+        <section>
+          <parag>— Ça veut dire quoi 35/100<sup>e</sup> ?</parag>
+        </section>
+        <section>
+          <parag>— Ah oui, c'est vrai, ici on compte pas en secondes mais en
+          centièmes de minute, c'est paraît-il plus facile pour faire la
+          paie. Maintenant c'est à toi de jouer, me dit-il avec un sourire, je
+          crois que tu peux y aller tout seul comme un grand. Mais si quelque
+          chose ne va pas, tu m'appelles…</parag>
+        </section>
+
+      </section>
+      <section>
+        <section>
+          <parag>Après avoir accompli les formalités des bons de travail auprès
+          de la dame en bleu, je n'avais plus qu'à me lancer dans cette grande
+          et belle aventure. Désormais j'étais seul, avec à gauche les dix
+          plateaux de cent pièces chacun, devant moi un mur gris sale surmonté
+          d'une vitre translucide, avec pour seul outillage, une loupe, une
+          petite tige d'acier fendue à son extrémité, et à ma droite :
+          rien. J'hésitai encore à prendre la première pièce, comme si une
+          force de répulsion m'interdisait de la saisir et pourtant il allait
+          bien falloir que je m'y mette. En fait, j'avais la désagréable
+          impression que tous les regards étaient braqués sur moi, comme si
+          j'étais en quelque sorte pris en faute. Je me répétai : « Allez,
+          vas-y, n'aie pas peur ! »</parag>
+        </section>
+        <section>
+          <parag>D'un geste encore mal assuré, je saisis ma première pièce en
+          stéatite, sorte de porcelaine, surmontée de son armature en
+          cuivre. Sa forme pouvait rappeler celle d'une grosse plume de stylo
+          dont la pointe aurait été déformée à la suite d'une
+          chute. J'enfourchai la tige sur une des lamelles. Ma main gauche
+          trembla un peu. À cause de leurs formes assez particulières, les
+          lamelles faisaient ressort, elles résistaient, si bien que j'eus du
+          mal à contrôler la force à exercer, je tournai trop d'un côté, pas
+          assez de l'autre. Restait à régler la question de la loupe. Si je
+          parvenais à la porter comme un monocle, je serais plus à l'aise. Mais
+          pour l'instant je laissai cette question de côté. Cahin-caha, la
+          première pièce fut terminée, je la plaçai avec délicatesse dans la
+          case du plateau situé à ma droite. J'en saisis une deuxième, puis une
+          troisième… Bientôt la première rangée se trouva remplie. Petit à
+          petit, mon geste se fit plus sûr, l'appréhension du début s'estompa
+          lentement. Après une heure de ce travail dont l'apprentissage n'avait
+          duré que quelques minutes, je devins un OS (ouvrier spécialisé)
+          accompli.</parag>
+        </section>
+
+      </section>
+      <section>
+        <section>
+          <parag>Huit jours s'étaient à peine écoulés qu'un matin un homme en
+          blouse blanche, d'assez forte corpulence, vint se planter à côté de
+          moi sans me donner le moindre mot d'explication. Je levai
+          naturellement la tête vers lui pour savoir ce qu'il me
+          voulait :</parag>
+        </section>
+        <section>
+          <parag>— Non, non, me dit-il d'une voix qui se voulait rassurante, ne
+          change rien à ton travail, continue, fais comme si je n'étais pas
+          là.</parag>
+        </section>
+        <section>
+          <parag>Facile à dire. Qui était-il ? Que me voulait-il ? Qu'avais-je
+          fait pour qu'il vienne me voir, moi ?  Pour le coup, j'avais la
+          désagréable impression d'être pris en faute, avec l'obligation de
+          continuer. Sa présence m'écrasait. Il était là, immobile. Au-dessus
+          de ma tête, j'aperçus une planchette qu'il tenait horizontalement
+          bien appuyée contre son gros ventre, avec à son extrémité un objet
+          métallique brillant que je ne parvins pas à identifier.Pendant mon
+          travail, que je continuai d'exécuter aussi naturellement que
+          possible, il ne cessait de prendre des notes tout en appuyant à
+          intervalles réguliers sur l'objet en question fixé à l'extrémité de
+          sa planchette. Pourquoi ce silence ? Pourquoi tant de mystère ? À
+          mesure que le temps passait, je me sentis de plus en plus enfermé
+          dans une bulle : s'il avait souhaité me couper du monde, c'était
+          plutôt réussi. Depuis combien de temps était-il à côté de
+          moi ?</parag>
+        </section>
+        <section>
+          <parag>Autour de nous, l'atelier continuait à fonctionner
+          normalement, chacun était à son poste. Le chef d'équipe marchait
+          entre les rangées d'un pas lent, les deux mains accrochées à la
+          martingale de sa blouse grise. Sur son visage, on pouvait deviner un
+          léger sourire de satisfaction : tout allait bien. Au fond de
+          l'atelier, le contremaître et le chef de service, chacun dans son
+          bureau vitré, pouvaient observer tout ce petit monde au travail. La
+          peur au ventre, je continuai le mien sous le regard impassible de
+          l'homme à la planchette.  Puis sans crier gare, il partit comme il
+          était venu, sans donner la moindre explication. Aussitôt après son
+          départ, Madame Jaubert vint me voir :</parag>
+        </section>
+        <section>
+          <parag>— Alors mon p'tit, comment ça va ?
+          T'avais pas l'air très rassuré, me dit-elle avec un sourire plein de
+          tendresse.</parag>
+        </section>
+        <section>
+          <parag>— Mais qui c'est ce type ? Qu'est-ce
+          qu'il faisait avec sa planchette, sans dire un mot ? Il m'a même
+          pas dit bonjour ni au revoir.</parag>
+        </section>
+        <section>
+          <parag>— C'est le chrono. Tu sais, ils font l'coup à chaque fois
+          qu'il embauche un nouveau. Dans toutes les équipes, c'est la même
+          chose.</parag>
+        </section>
+        <section>
+          <parag>— Et maintenant, qu'est-ce qui va se
+          passer ?</parag>
+        </section>
+        <section>
+          <parag>— J'en sais rien…, enfin si, ils profitent des nouveaux,
+          surtout des jeunes, pour faire tomber les temps, je sais, c'est
+          dégueulasse… c'est sûr, on aurait dû te prévenir, on a beau le
+          savoir, mais on n'y pense pas. En fin de compte, même si on te
+          l'avait dit, t'aurais rien pu faire. Quand on est nouveau, on veut
+          toujours bien faire, et voilà le résultat. De toute façon, ils
+          préviennent jamais quand ils débarquent, c'est le principe. Moi aussi
+          quand j'ai commencé, ça m'est arrivé.</parag>
+        </section>
+        <section>
+          <parag>La sentence ne se fit pas attendre, quelques jours
+          plus tard le chef d'équipe vint m'annoncer qu'en récompense de ma
+          rapidité, j'avais obtenu une diminution de 10% sur le temps alloué à
+          chaque pièce.</parag>
+        </section>
+
+      </section>
+      <section>
+        <section>
+          <parag>Après ce sale coup, il n'était pas question de rester sans
+          réagir ! Mais que faire face à ce rouleau compresseur ? La seule
+          chose sur laquelle je pouvais encore intervenir, c'était sur le
+          temps, mon temps de travail : ne plus accepter de faire mon boni,
+          refuser la cadence qu'ils voulaient m'imposer. Pas si simple, dans
+          l'équipe la question du boni occupait une place centrale. Chacun
+          tenait une stricte comptabilité du temps qu'il passait sur chaque
+          série, car de ce calcul, dépendait le montant de la paie. Ce
+          comportement avait le don de me mettre hors de moi. Pour le coup, je
+          trouvais tous ces adultes dociles, passifs, prêts à tout accepter
+          sans broncher. Au moins, j'aurais voulu les entendre se rebeller,
+          manifester, dire quelque chose ! Où était donc passé le combat, ce
+          cri de la classe ouvrière se dressant contre l'injustice et
+          l'exploitation, dont j'entendais parler à chaque réunion depuis mon
+          adhésion un an plus tôt, en 1953, à l'UJRF (Union de la jeunesse
+          républicaine de France), ou dans L'Huma que mon cousin Henri
+          apportait tous les jours à la maison ?</parag>
+        </section>
+        <section>
+          <parag>Au bout de quelques jours, mon laisser-aller ne
+          passa plus inaperçu auprès de quelques ouvrières :</parag>
+        </section>
+        <section>
+          <parag>— Oui, mais toi, tu peux t'le permettre, tu
+          t'en fous, me dit Madame Jaubert, ça s'voit que t'as pas d'gosses à
+          nourrir, t'es encore trop jeune pour ça. Tu peux t'le permettre, toi, tu
+          peux couler ton temps, personne te dira rien.</parag>
+        </section>
+        <section>
+          <parag>Elle avait raison, mais je n'avais pas d'autres choix pour
+          manifester ma colère, c'était ma seule arme. Avec les idées que
+          j'avais en tête, il fallait bien que je fasse quelque chose pour
+          exprimer ma révolte. Aucun mot, aucune image ne pourrait décrire le
+          niveau de bêtise que mon travail atteignait à mes yeux. Il en était
+          le degré zéro. Comment imaginer mon existence dans cet univers ? Et
+          dire que j'avais fait trois ans d'apprentissage, avec le CAP
+          d'ajusteur en poche, pour en arriver là !</parag>
+        </section>
+
+      </section>
+      <section>
+        <section>
+          <parag>En vérité, j'avais honte. Profondément honte d'être dans cette
+          situation, comme si j'en étais le seul responsable. En fin de compte,
+          l'alternative était simple : accepter ou partir. Mais partir, c'était
+          rompre le contrat implicite avec le bureau de placement qui m'avait
+          permis d'obtenir ce boulot, ô combien gratifiant ! Et dans l'état du
+          marché du travail, il était hors de question de faire la fine
+          bouche. Il m'avait fallu attendre près d'un mois pour obtenir cette
+          première embauche. De plus, je l'avais obtenue grâce à l'intervention
+          de mon oncle qui, par son travail, se trouvait en contact avec
+          plusieurs usines de la région. Négociant en métaux, chiffons et
+          ferrailles, comme il aimait se présenter, son travail consistait à
+          récupérer dans ces usines leurs déchets sous forme de copeaux, chutes
+          de toutes sortes de métaux, acier, duralumin, laiton, maillechort,
+          bronze, etc. On disait de lui qu'il était ferrailleur, terme qu'il
+          trouvait injurieux ; c'était, disait-il, lui manquer de respect que
+          de considérer qu'il n'était qu'un vulgaire ferrailleur ou
+          chiffonnier.  Partir, c'était à coup sûr le mettre en mauvaise
+          posture vis-à-vis de l'entreprise qui avait si gentiment fait un
+          geste pour « accueillir » le petit-neveu. Je me sentais
+          coincé.</parag>
+        </section>
+      </section>
+      <section>
+        <section>
+          <parag>Tout en tortillant mes lamelles tantôt dans un sens, tantôt
+          dans l'autre, assis sur mon tabouret, la loupe solidement coincée au
+          coin de l'œil gauche, ma tige d'acier fendue à son extrémité dans la
+          main gauche, je revivais avec précision chacune de ces étapes à la
+          manière d'un film que l'on se repasse en boucle, pour tenter de
+          comprendre l'enchaînement des événements qui s'étaient déroulés ces
+          quatre derniers mois depuis ma sortie du centre d'apprentissage : à
+          commencer par les Établissements Ruby, puis la Corse, la Snecma,
+          Panhard, et encore Ruby, la Corse, la Snecma, Panhard…</parag>
+        </section>
+      </section>
+      <section>
+        <section>
+          <parag>Mon embauche dans les Établissements Ruby restera
+          pour longtemps une véritable interrogation. Comment avait-on pu me
+          proposer une telle place ? L'humiliation que j'avais ressentie au
+          cours de ce trop long mois de juillet 1954 était toujours aussi
+          brûlante. Cette place, je l'avais obtenue par l'intervention du Centre
+          d'apprentissage de Cachan qui, chaque année, recevait de plusieurs
+          entreprises de la région quelques propositions d'emplois réservées en
+          priorité aux titulaires du CAP, ce qui était mon cas.</parag>
+        </section>
+        <section>
+          <parag>Ainsi, plusieurs jours après l'annonce des résultats du CAP,
+          alors que je venais au Centre bien plus pour discuter avec les
+          copains que pour travailler réellement, Monsieur Thibault, notre prof
+          d'atelier, m'avait demandé de passer à son bureau. C'était un homme à
+          la stature carrée, aux mains épaisses : son air bourru ne l'empêchait
+          pas d'avoir l'estime de la section d'ajusteurs dont il avait la
+          responsabilité. Et cela, malgré les coups de pipe dont il n'hésitait
+          pas à nous gratifier sur le sommet du crâne chaque fois qu'il nous
+          surprenait à oublier ses conseils. Son ambition d'ancien compagnon le
+          poussait à vouloir faire de nous des ouvriers capables d'affronter ce
+          monde du travail dont il nous avait si souvent parlé et qui allait
+          devenir le nôtre. Son brûle-gueule toujours accroché au coin de la
+          bouche, il m'avait accueilli avec un sourire :</parag>
+        </section>
+        <section>
+          <parag>— Je crois que j'ai trouvé une bonne place pour toi,
+          m'avait-il dit, en me tendant la main. Si j'me trompe pas, tu habites
+          bien à Gentilly ?</parag>
+        </section>
+        <section>
+          <parag>— Oui, pourquoi ?</parag>
+        </section>
+        <section>
+          <parag>— Parc'que… comme elle est dans le
+          13<sup>e</sup> arrondissement, pas très loin de chez toi, j'ai pensé
+          que tu pourrais y aller facilement en vélo. Mais attention, avait-il
+          ajouté aussitôt, le patron a été très ferme, pour ce type de boulot,
+          il veut quelqu'un de sérieux, c'est pour ça que j'ai pensé à
+          toi.</parag>
+        </section>
+        <section>
+          <parag>Après un court silence, il avait continué presque
+          sur le ton de la confidence :</parag>
+        </section>
+        <section>
+          <parag>— Dans cette boîte, comme il y a que des femmes, que des très
+          jeunes femmes, il a bien insisté qu'il ne voulait pas avoir
+          d'histoires. Tu comprends ? Alors, si t'es d'accord, tu fais ton
+          boulot tranquillement et comme ça tout ira bien.</parag>
+        </section>
+        <section>
+          <parag>Quelques instants après l'avoir quitté, je m'étais aperçu que
+          je ne lui avais même pas demandé de quel genre de travail il
+          s'agissait.</parag>
+        </section>
+      </section>
+      <section>
+        <section>
+          <parag>Voilà comment début juillet, quelques jours seulement après ma
+          sortie du Centre, je m'étais présenté aux Établissements Ruby, situés
+          rue des Reculettes, à mi-chemin entre le square Le Gall et la place
+          Paul Verlaine, à trois pas de la Place d'Italie. Au fond, l'idée de
+          travailler dans une usine où il y avait essentiellement des filles
+          n'était pas pour me déplaire, bien au contraire. Arrivé devant
+          l'entrée de l'usine, le creux au ventre, j'entendais encore les
+          conseils de Monsieur Thibault : « Fais ton boulot, tiens-toi
+          tranquille et comme ça, tout ira bien… ».  Muni de la lettre de
+          recommandation à l'en-tête du Centre, que je tenais serrée dans la
+          main comme un talisman, j'essayais de me rassurer tant bien que
+          mal.</parag>
+        </section>
+        <section>
+          <parag>Dès mon entrée, tout alla très vite. En haut de l'escalier qui
+          menait au secrétariat, je remis ma lettre à une jeune femme que
+          j'avais aperçue dans le premier bureau, assise devant une belle
+          machine à écrire à large clavier. Absorbé par ma peur, je n'avais
+          même pas pris le temps de la regarder, de voir sa silhouette, son
+          visage. Était-elle jolie ?</parag>
+        </section>
+        <section>
+          <parag>— Attendez quelques instants, m'a-t-elle dit,
+          je vais voir si le chef du personnel peut vous recevoir.</parag>
+        </section>
+        <section>
+          <parag>Un homme, sanglé dans un costume trois pièces, me fit signe
+          d'entrer. Il me serra machinalement la main, son regard glissa sur
+          moi comme si je n'avais pas de consistance. Il portait des lunettes à
+          gros foyers qui lui dilataient les pupilles. Son regard me troubla.
+          Après avoir jeté un rapide coup d'œil sur la lettre, il commença à me
+          poser toute une série de questions sur mon identité : âge, adresse,
+          étais-je titulaire du CAP… Puis, à brûle-pourpoint, il me
+          lança :</parag>
+        </section>
+        <section>
+          <parag>— Et vos parents, que font-ils ?</parag>
+        </section>
+        <section>
+          <parag>Durant une fraction de seconde, je gardai ma réponse en
+          suspens, déstabilisé par cette question en apparence banale.  Je lui
+          répondis le plus naturellement possible : « Négociant en métaux et
+          chiffons », comme on me l'avait tant de fois répété.  Après quoi, il
+          daigna un regard vers moi et me dit :</parag>
+        </section>
+        <section>
+          <parag>— Bon, c'est très bien. À partir de maintenant, vous faites
+          partie de la maison – ce vouvoiement me faisait l'effet d'avoir
+          subitement vieilli de dix ans. Comme vous le savez sans doute, vous
+          serez employé chez nous comme aide-mécanicien. Monsieur Renault, le
+          responsable de l'entretien, viendra dans un instant vous montrer
+          votre travail. Pour ce qui est de votre salaire, vous toucherez pour
+          commencer 105 francs de l'heure : pour la suite, nous
+          verrons.</parag>
+        </section>
+        <section>
+          <parag>À tout prendre, le boulot d'aide-mécanicien me séduisait
+          surtout à cause du nom, il sonnait bien, en tout cas bien plus que
+          celui d'ajusteur que je trouvais plutôt vieillot.  « Mécanicien »,
+          cela me faisait penser au garage situé à deux pas de la maison où
+          tout môme j'allais me couvrir de cambouis à farfouiller dans les
+          moteurs. Je m'imaginais déjà travaillant sur des machines plus ou
+          moins compliquées, dans un atelier clair, entouré de compagnons
+          attentifs, prêts à apprendre le métier au débutant que
+          j'étais.</parag>
+        </section>
+      </section>
+      <section>
+        <section>
+          <parag>Monsieur Renault arriva, me salua. Pas très grand, débonnaire,
+          d'allure plutôt placide, le crâne largement dégarni, il était vêtu
+          d'une blouse grise un peu trop juste qui faisait amplement ressortir
+          son embonpoint. Il me conduisit à travers un dédale d'escaliers, de
+          couloirs sombres encombrés de caisses, de planches, de chariots, vers
+          ce qui allait devenir mon lieu de travail : les sous-sols. Je
+          pénétrai dans une salle, longue d'une vingtaine de mètres sur une
+          dizaine de large, au plafond bas traversé par d'énormes poutres en
+          béton. La couleur des murs qui avait dû être initialement blanche
+          était devenue au fil du temps d'un gris crasseux. La lumière du jour
+          ne passait que par trois petites lucarnes grillagées débouchant au
+          ras du trottoir. Le reste provenait de plusieurs tubes fluorescents
+          qui faisaient tomber sur ce décor une lumière plate.</parag>
+        </section>
+        <section>
+          <parag>En fait d'atelier, ce n'était qu'un entrepôt où étaient
+          stockées, dans un incroyable bric-à-brac, un grand nombre de machines
+          apparemment hors d'usage. Certaines d'entre elles étaient recouvertes
+          d'une bâche, d'autres d'une épaisse couche de graisse. À l'une des
+          extrémités de la salle imprégnée d'odeur de tabac froid, se trouvait
+          le domaine de Monsieur Renault, en partie dissimulé derrière les
+          machines. Son atelier était aménagé en deux espaces bien séparés :
+          d'un côté, quelques machines, un petit tour de marque « Précis », une
+          vieille fraiseuse, une perceuse à colonne, une meule et un touret à
+          polir : de l'autre, un établi équipé d'un solide étau à pied,
+          surmonté d'un râtelier à outils parfaitement ordonné, avec ses jeux
+          de clefs plates et de clefs à pipes, une série de tournevis de toutes
+          tailles, des grattoirs droits ou en forme de feuilles de sauge, et
+          toutes sortes de limes : tiers-points, bâtardes et demi-bâtardes,
+          douces et demi-douces, queues de rat, enfin toute la panoplie du
+          parfait ajusteur. Contre l'établi, un meuble massif en bois à
+          plusieurs tiroirs étroits contenait vis, écrous, rondelles de toutes
+          tailles.</parag>
+        </section>
+        <section>
+          <parag>D'un coup œil circulaire, j'essayai de voir à quelle place
+          Monsieur Renault allait me mettre. Sur son établi, il n'y avait qu'un
+          étau… Il coupa court aux interrogations qu'il avait dû lire dans mon
+          regard :</parag>
+        </section>
+        <section>
+          <parag>— Tu vois toutes ces machines ? Elles sont là depuis des
+          années et des années, certaines ne servent plus à rien, d'autres sont
+          encore en état de marche. Le patron veut faire de la place et s'en
+          débarrasser, mais avant, il veut qu'on les nettoie pour qu'elles
+          aient bonne allure quand les futurs acheteurs viendront pour les
+          voir. Alors, avec un pinceau et du pétrole, tu enlèveras toute la
+          graisse, et ensuite tu passeras un bon coup de chiffon. Et surtout,
+          fais attention à bien regarder dans les recoins, sous les glissières,
+          partout.</parag>
+        </section>
+        <section>
+          <parag>S'il s'était agi d'une blague ou d'une
+          plaisanterie, j'aurais pu partir d'un grand éclat de rire, mais
+          manifestement ce n'était pas le genre du bonhomme. Il s'en alla, me
+          laissant seul face à ma « noble » tâche.</parag>
+        </section>
+      </section>
+      <section>
+        <section>
+          <parag>Ce n'était pas fini. Dès le lendemain, une autre tâche tout
+          aussi humiliante m'attendait. Entre deux nettoyages, on vint me
+          demander d'aller dans les étages avec un chariot pour monter la
+          marchandise vers les ateliers de fabrication. Merde, cent fois merde,
+          pour qui me prenait-on ? Après avoir fait le manœuvre, voilà que l'on
+          me transformait en manutentionnaire. Pour ce premier contact avec le
+          monde du travail, c'était plutôt réussi ! À moins de tout planter là
+          et de ficher le camp, je n'avais plus qu'à obéir et à
+          m'exécuter. Mais pourquoi m'avait-on choisi ? J'avais beau tourner et
+          retourner la question dans tous les sens, je ne voyais qu'une
+          explication : étant le plus jeune de la section d'ajustage, avec mes
+          seize ans trois-quarts, j'avais sans doute été perçu comme quelqu'un
+          d'inoffensif à qui l'on pouvait confier ce genre de travail sans
+          prendre trop de risque vis-à-vis de la gent féminine !</parag>
+        </section>
+        <section>
+          <parag>Depuis le quai de livraison, je devais charger sur un chariot
+          à trois roues d'énormes balles de coton derrière lesquelles je
+          disparaissais littéralement. Destination : les ateliers, ou plutôt
+          devant leurs portes, car il m'était interdit d'y pénétrer.  C'était
+          la consigne ! Sans doute à cause de toutes ces filles, ces jeunes
+          femmes que je croisais chaque matin en arrivant à l'usine. Ce qui ne
+          m'empêchait pas de tenter un regard à travers les vitres des portes à
+          battants ; cependant, la peur d'être surpris et l'épaisse couche de
+          poussière m'interdisaient d'en savoir davantage.</parag>
+        </section>
+
+      </section>
+      <section>
+        <section>
+          <parag>Un matin, alors que j'étais arc-bouté derrière mon
+          chargement, j'aperçus trois filles au bout du couloir qui venaient dans
+          ma direction. Je ne voulais surtout pas être vu dans cet état, tout
+          couvert de graisse. Trop tard, impossible de faire demi-tour, d'autant
+          que l'on m'attendait à l'étage avec la marchandise. Elles n'étaient plus
+          qu'à quelques mètres, elles avaient sensiblement mon âge, chacune
+          portait une blouse blanche qui s'arrêtait nettement au-dessus du genou,
+          à croire qu'elles ne portaient pas grand-chose dessous ! Je laissai
+          glisser mon regard vers la plus petite des trois. À travers sa blouse
+          serrée à la taille, on distinguait amplement les formes arrondies, de
+          ses hanches et de ses seins. Arrivées à ma hauteur, elles se mirent à
+          pouffer de rire : voulaient-elles se moquer ? Il ne m'en
+          fallut pas davantage pour sentir mes joues, mes oreilles devenir
+          brûlantes, le sang battre dans mes tempes. Je n'eus qu'une hâte, fuir,
+          disparaître dans mon sous-sol.</parag>
+        </section>
+
+      </section>
+      <section>
+        <section>
+          <parag>C'est finalement Monsieur Renault qui me révéla le
+          mystère entourant cette entreprise :</parag>
+        </section>
+        <section>
+          <parag>— Ah, parce que tu n'sais pas ? dit-il en
+          partant dans un grand éclat de rire. Ici, c'est une fabrique de
+          serviettes hygiéniques. C'est pour ça qu'il y a tant de bonnes
+          femmes.</parag>
+        </section>
+        <section>
+          <parag>D'un seul coup, je compris l'insistance de Monsieur
+          Thibault à vouloir ce quelqu'un de « très sérieux », et son
+          silence sur la nature de mon futur travail. Peut-être l'ignorait-il
+          lui-même ? Savait-il que derrière la fonction d'aide-mécanicien se
+          cachait en fait le travail d'un manœuvre, d'un simple
+          manutentionnaire ? Et ce CAP dont il nous avait tant vanté les
+          mérites ? J'avais une furieuse envie d'aller le prendre par la
+          manche pour lui montrer la réalité qui se cachait derrière ces mots
+          ronflants.</parag>
+        </section>
+
+      </section>
+      <section>
+        <section>
+          <parag>Par bonheur, à la fin du mois de juillet, à la
+          veille mon départ prochain pour la Corse, j'en ai profité pour dire à
+          Monsieur Renault tout le mal que je pensais de ce sale boulot, et qu'il
+          n'était plus question que je remette les pieds dans cette sale
+          boîte.</parag>
+        </section>
+      </section>
+    </topic>
+    
+    <!-- ================================================================== -->
+    <topic>
+      <metadata>
+        <title>2 — Daniel</title>
+      </metadata>
+      <section><section>
+        <parag>Après ce contact pour le moins rugueux avec le
+        monde du travail, il était urgent que je prenne le large pour tenter
+        d'oublier ce qui venait de se passer, me laver au plus vite de cette
+        humiliation. D'autant que ces vacances en Corse ne s'annonçaient pas
+        comme toutes celles que j'avais connues jusque-là, puisqu'elles étaient
+        mes premières vacances payées grâce à mon salaire. Je devais retrouver
+        un groupe d'étudiants dont j'avais fait connaissance six mois auparavant
+        à l'occasion d'un séjour de ski à La Clusaz, alors que j'étais en
+        troisième et dernière année d'apprentissage à Cachan.</parag>
+      </section>
+
+      </section>
+      <section>
+        <section>
+          <parag>Ce séjour à la montagne, je le devais à ma cousine
+          Sylvia, qui, avec beaucoup de persuasion, avait su convaincre mon oncle
+          Maurice et ma tante Charlotte, auprès de qui je vivais depuis la
+          disparition de mes parents, de m'offrir ces vacances avant mon entrée
+          dans la vie active :</parag>
+        </section>
+        <section>
+          <parag>— Ce n'est pas quand il sera à l'usine qu'il
+          pourra se payer des sports d'hiver, leur avait-elle dit.</parag>
+        </section>
+        <section>
+          <parag>Sylvia était mon aînée d'environ cinq ans. Elle
+          supportait mal la perspective de me voir devenir ouvrier, alors
+          qu'elle-même faisait des études d'histoire et de géographie à la
+          Sorbonne, et que son frère Henri avait terminé des études de chimie à la
+          Faculté des Sciences. Selon la tradition juive, le premier garçon de
+          chaque famille devait prendre le prénom du grand-père, par conséquent
+          nous portions, mon cousin et moi, le même prénom et, pour nous
+          distinguer, lui c'était le « Grand Henri » et moi le petit
+          « Riri ».</parag>
+        </section>
+        <section>
+          <parag>À cette époque, les congés payés des salariés
+          duraient deux semaines pour les adultes et trois pour les moins de
+          dix-huit ans dont je faisais partie pour une année encore. Ce n'est
+          qu'en 1956 que les salariés pourront bénéficier de la troisième semaine.
+          Ce séjour à la neige était bien plus qu'une aubaine : un véritable
+          événement. Pensez, moi, le futur ouvrier, j'allais pour la première fois
+          me mêler à ceux qui avaient basculé du bon côté et qui représentaient
+          pour moi le modèle de l'intelligence et de la réussite puisqu'ils
+          faisaient des études. Ces vacances à La Clusaz étaient organisées par le
+          GUMS (Groupe Universitaire de Montagne et de Ski), créé peu de temps
+          après la Libération par quelques étudiants dont Henri faisait
+          partie : son but était de permettre la pratique du ski et de
+          l'escalade à ceux qui n'en avaient pas les moyens. La neige, le ski, la
+          montagne étaient un rêve qui soudain devenait réalité. De plus, il
+          satisfaisait mon secret désir de faire d'agréables rencontres.</parag>
+        </section>
+      </section>
+      <section>
+        <section>
+          <parag>Ma présence dans ce groupe d'étudiants avait été
+          quelque chose d'irréel. J'avais eu beau adopter l'attitude la plus
+          naturelle possible, tout ce qu'ils disaient ou faisaient me fascinait.
+          Jusque-là, je n'en avais jamais rencontré, exception faite de mes
+          cousins. Au cours de ce séjour, du matin au soir, je passais une grande
+          partie de mon temps à les observer, à les épier jusque dans les moindres
+          instants, partout, au petit-déjeuner, à table à midi, au ski, en balade,
+          le soir. En les regardant ainsi vivre, je les sentais terriblement
+          complices dans leurs façons de parler, de rire, de discuter. Leurs
+          moindres plaisanteries me semblaient toujours drôles, pleines d'humour.
+          Tout en eux me montrait à quel point ils étaient différents de
+          moi ; ils faisaient partie d'un monde qui n'était pas et ne serait
+          jamais le mien. Franchement, qu'y avait-il de commun entre un centre
+          d'apprentissage et un lycée, sans parler d'une faculté ? Cependant,
+          le regard et le sourire d'Anna, une jolie étudiante en propédeutique de
+          sciences, ses rondeurs plutôt agréables à regarder, sa bonne humeur
+          avaient failli vaincre ma timidité. Malheureusement, la peur de ne pas
+          être à son niveau et de la décevoir avait été la plus forte :
+          j'étais pris de panique dès qu'une discussion s'engageait, surtout à
+          l'idée que l'on m'interpelle pour me demander mon avis. Avec elle, nos
+          échanges ne dépassaient jamais le stade des sourires, des regards
+          furtifs ou de quelques rigolades au cours de balades en groupe, jamais
+          en tête-à-tête.</parag>
+        </section>
+        <section>
+          <parag>C'est Daniel qui m'avait permis de faire la
+          connaissance de ce groupe d'étudiants, communistes pour la plupart.
+          C'est lui, qui, un an auparavant, m'avait fait adhérer à l'UJRF (Union
+          des jeunesses républicaines de France). Avec lui, je me sentais bien
+          plus à l'aise qu'avec tous les autres. Il y avait entre nous une réelle
+          complicité, doublée d'une telle ressemblance physique qu'elle pouvait
+          nous faire passer pour frères. Il était en dernière année d'études à Du
+          Breuil, une école d'horticulture, proche du bois de Vincennes. Mais
+          notre vraie complicité venait de sa situation familiale : son père,
+          militant communiste, n'avait-il pas été fusillé comme
+          résistant !</parag>
+        </section>
+      </section>
+      <section>
+        <section>
+          <parag>Début août, je partais pour la Corse rejoindre le
+          groupe de La Clusaz. Nice, la mer, puis l'arrivée au port d'Ajaccio, un
+          voyage sans histoire, mais un dépaysement total.</parag>
+        </section>
+        <section>
+          <parag>Le parcours jusqu'à Porto était d'une rare beauté.  Sur les
+          cinquante kilomètres à parcourir, la côte était sauvage, escarpée et si
+          entaillée qu'elle obligeait la route à dessiner de magnifiques
+          entrelacs. Au loin en mer, à intervalles réguliers, on apercevait les
+          ruines de quelques tours carrées. Ces édifices, me dit mon voisin de
+          voyage, ont été construits par les Génois au
+          <romannum>xiii</romannum><sup>e</sup> siècle, pour protéger l'île
+          d'éventuels envahisseurs.</parag>
+        </section>
+        <section>
+          <parag>En arrivant à Porto abasourdi par les interminables
+          virages, je m'attendais à voir un petit village de pêcheurs niché au
+          fond d'une crique avec son port et ses bateaux, tel que je l'avais
+          imaginé depuis mon sous-sol crasseux. Je découvris une magnifique baie
+          de sable blond, au fond de laquelle s'élevait une forêt d'eucalyptus,
+          avec quelques maisons accrochées à la montagne toute proche. Cette forêt
+          offrait un étrange spectacle par la quantité impressionnante d'arbres
+          couchés pêle-mêle qui faisaient penser à un immense tas de quilles qu'un
+          géant aurait renversé, transformant le paysage en un véritable chaos.
+          Pour éviter tout accident, notre campement était installé au milieu
+          d'une clairière. Pour nous y rendre, nous devions emprunter la barque
+          d'un passeur et traverser un petit bras de mer large d'une cinquantaine
+          de mètres. Le passeur était un gars d'une vingtaine d'années, rigolard,
+          malicieux, qui, peu de temps après notre arrivée, voyant certains
+          d'entre nous lorgner sa jolie sœur avec un peu trop d'insistance, nous
+          fit gentiment comprendre qu'il serait préférable de porter nos
+          amabilités ailleurs, si nous souhaitions que tout se passe bien. Après
+          ce gentil rappel à l'ordre, il devint notre premier copain corse.</parag>
+        </section>
+        <section>
+          <parag>Arrivé au milieu des tentes disposées en cercle, je
+          retrouvai la plupart de ceux que j'avais connus six mois plus tôt à La
+          Clusaz. Malheureusement, Anna, elle, n'était pas au rendez-vous. Daniel
+          vint vers moi :</parag>
+        </section>
+        <section>
+          <parag>— Pose vite tes affaires dans la tente, je
+          vais te montrer la côte. Tu vas voir, elle est superbe, il y a des
+          criques profondes comme des grottes, remplies de sable fin. On y vient
+          dormir au lieu de cuire sous les guitounes dès que le soleil se pointe.
+          Et puis le matin, quand tu t'réveilles, tu piques directement une tête
+          dans la flotte…</parag>
+        </section>
+      </section>
+      <section>
+        <section>
+          <parag>Le séjour se présentait sous les meilleurs
+          auspices. Tout en marchant sur la plage, pieds nus dans le sable, je
+          repensai à l'univers de crasse, de graisse et de poussière que je venais
+          de quitter. S'agissait-il d'un mauvais rêve ? Il suffisait que je
+          jette un coup d'œil sur les plis et sur les ongles de mes mains pour me
+          rappeler à la réalité. En fait, quoi qu'il arrive, j'étais et je serais
+          toujours ce petit ajusteur que l'on avait transformé en manœuvre malgré
+          son CAP en poche. Grâce à Daniel, mon adaptation au sein du groupe se
+          fit en douceur, mon arrivée passa presque inaperçue, trop peut-être,
+          chacun vivant à son rythme sans se préoccuper du voisin. Mises à part
+          les discussions politiques qui se prolongeaient souvent tard le soir,
+          l'essentiel de nos activités se résumait en lectures, baignades,
+          siestes, balades, parties de ping-pong dans l'arrière-salle du
+          restaurant et préparation des repas, essentiellement ceux du soir, car
+          souvent le petit-déjeuner se confondait avec le repas de midi. Le
+          ravitaillement nous était apporté comme sur un plateau par une vieille
+          femme tout de noir vêtue, un fichu sur la tête. Chaque matin, elle
+          passait accompagnée de son âne pour nous approvisionner en fruits et
+          légumes, plus quelques articles d'épicerie. De quoi assurer l'essentiel
+          de notre subsistance sans être obligés d'aller à l'unique commerce du
+          village.</parag>
+        </section>
+        <section>
+          <parag>Nous étions une vingtaine de garçons et filles,
+          presque tous étaient membres de l'UJRF et quelques-uns avaient déjà leur
+          carte du Parti. J'avais donc toutes les raisons d'être à l'aise. Nous
+          étions tous, eux étudiants et moi le seul ouvrier du groupe, animés du
+          même idéal. Et pourtant, quel abîme entre ces grandes et nobles idées
+          que j'entendais dans les discussions et l'expérience que je venais de
+          vivre. Nous rêvions tous, chacun à notre façon, d'une société plus
+          juste, sans classe, où l'exploitation de l'homme par l'homme, comme on
+          disait, et les guerres auraient disparu. Nous voulions vivre dans un
+          monde où chacun pourrait s'épanouir selon ses besoins, etc. En les
+          entendant parler de révolution, de lutte des classes, du rôle de la
+          classe ouvrière comme moteur de l'histoire, de la dictature du
+          prolétariat, j'avais un mal fou à faire entrer ces idées dans ma réalité
+          quotidienne. Quant à la dictature du prolétariat, cette expression me
+          faisait réellement peur par la violence qu'elle contenait, puisqu'il
+          s'agissait tout simplement d'imposer par les armes la suprématie de la
+          classe ouvrière sur la bourgeoisie. Même si je pouvais comprendre et
+          apprécier la Révolution d'octobre en Russie, en aucun cas je ne
+          souhaitais la cautionner pour notre pays. En fait, je vivais cette
+          situation dans une totale contradiction : d'un côté, je ne
+          supportais pas cette politique prônée tranquillement par mes camarades
+          qui prévoyaient de tuer au nom de la révolution, et de l'autre j'étais
+          obsédé par mon désir de rester fidèle à mon père dont on m'avait dit
+          l'attachement à l'idéal communiste. J'aurais tellement voulu trouver une
+          oreille attentive pour parler de cette contradiction. Mais vers qui
+          pouvais-je me tourner sans passer pour un petit-bourgeois peureux ?
+          Une seule solution : le silence.</parag>
+        </section>
+        <section>
+          <parag>Parmi toutes les soirées passées en Corse, une
+          allait davantage me marquer. Dans le flot des idées qui s'étaient
+          échangées ce soir-là, il était question de savoir si la classe ouvrière
+          était ou non entrée dans une phase de paupérisation relative ou
+          absolue ? Tout d'abord, il me fallut un certain temps avant de
+          comprendre la différence entre relative et absolue. En apparence, tout
+          le monde sauf moi semblait comprendre de quoi il s'agissait. Pour la
+          majorité, cette question était capitale dans la stratégie du parti. Au
+          cours de la discussion, aux échanges souvent vifs, chacun défendait ses
+          arguments à grands renforts de citations d'auteurs de référence tels
+          que Marx, Lénine, Engels. Toujours aussi silencieux, calé dans mon
+          coin, j'assistais à cette discussion qui me passait au-dessus de la
+          tête. J'écoutais, fasciné par leurs sommes de connaissances.</parag>
+        </section>
+        <section>
+          <parag>Fort heureusement, il n'y avait pas que la
+          politique dans nos échanges. Souvent le soir, nous nous retrouvions sur
+          la plage autour d'un feu et, accompagnés d'une guitare, nous chantions
+          des airs révolutionnaires ou folkloriques, sans oublier les chansons de
+          Francis Lemarque et d'Yves Montand, notre chanteur préféré. C'est là,
+          entouré de tous, dans cette ambiance chaleureuse, que je passai mes plus
+          beaux moments. Par instants, je me surprenais à croire que j'avais
+          définitivement quitté mon bleu de travail maculé de graisse et que
+          j'étais devenu semblable à ceux qui m'entouraient.</parag>
+        </section>
+      </section>
+      <section>
+        <section>
+          <parag>La fin du séjour approchait et la plus grande
+          partie du groupe s'en alla. Nous n'étions plus que cinq à rester dans
+          notre campement un peu trop grand pour nous. C'est alors que l'un
+          d'entre nous proposa d'aller rendre visite à « la Perrini »
+          dans son petit village natal de Piana, situé à cinq kilomètres de Porto.
+          Tout le monde acquiesça sans aucune difficulté. Ils parlaient de cette
+          femme avec tant de familiarité et d'affection que je pensai
+          naturellement qu'il s'agissait de la grand-mère de celui qui l'avait
+          proposé. Discrètement, je posai la question à Daniel : « Ah,
+          parce que tu sais pas ? C'est la mère de Danièle Casanova ».
+          Comment pouvait-on être un jeune communiste et ignorer qui était Danièle
+          Casanova ! Évidemment, je connaissais le nom de cette femme
+          héroïque, son action pendant l'occupation nazie, puis son arrestation et
+          sa déportation à Auschwitz. Figure emblématique de la place des femmes
+          dans la Résistance, elle avait payé de sa vie son dévouement à la cause
+          du pays. Mais comment aurais-je pu connaître son nom de jeune fille et,
+          qui plus est, celui de son village natal ?</parag>
+        </section>
+        <section>
+          <parag>À notre arrivée, c'est d'un œil légèrement menaçant
+          que les jeunes du village commencèrent à nous observer. Ils n'aimaient
+          pas que d'autres jeunes viennent sur leur territoire sans qu'ils sachent
+          qui nous étions et pourquoi nous venions. Sans doute, un vieux réflexe
+          insulaire ! Dès qu'ils apprirent que nous allions chez
+          « la Perrini », ce fut un véritable viatique qui nous
+          permit de nous retrouver avec eux au café central du village. Pensez,
+          nous étions accueillis par la mère de Danièle Casanova, cette femme
+          symbole…</parag>
+        </section>
+        <section>
+          <parag>Madame Perrini nous reçut dans sa petite maison
+          située à l'extérieur du village, au bord d'un chemin de terre
+          surplombant la côte escarpée avec la mer en contrebas des falaises. Très
+          gentiment, elle nous logea à côté de chez elle dans une baraque qui lui
+          avait servi de débarras. Lorsque je vis cette petite femme toute frêle,
+          voûtée, vêtue de noir, un foulard encadrant son visage, je fus frappé
+          par la vivacité de son regard qui avait oublié de vieillir. Elle avait
+          aux coins des yeux un éventail de petites rides qui augmentaient son air
+          rieur. En observant cette vieille femme au teint cuivré, je me mis à
+          imaginer que sa fille Danièle Casanova et mes parents auraient pu se
+          rencontrer dans l'enfer de la mort. Mais qu'y avait-il de commun entre
+          eux ? Ils n'avaient pas été arrêtés pour les mêmes raisons. Tout en
+          connaissant les raisons de la déportation de mes parents, j'imaginai que
+          leur mort aurait pu se confondre avec celle de cette femme héroïque
+          arrêtée les armes à la main, dans le seul et unique but de donner
+          un sens à leur disparition. Sinon, comment pouvait-on accepter qu'on ait
+          pu les tuer pour rien. Je pouvais toujours me réfugier derrière
+          l'engagement de mon père, ne m'avait-on pas dit qu'il avait été
+          communiste ? Mais qu'en était-il pour ma mère ? Avec mon
+          camarade Daniel, c'était la même chose, je pouvais m'abriter derrière la
+          mort de son père que j'utilisais comme un paravent pour me recomposer
+          une identité semblable à la sienne. D'autant que depuis mon adhésion à
+          l'UJRF, il n'était question que de résistants, de patriotes, de
+          combattants… Et mes parents dans tout cela, où étaient-ils ?
+          Pourquoi étaient-ils morts ? J'avais beau tourner et retourner la
+          question dans tous les sens, je me cognais toujours contre une muraille
+          d'interdits. Impossible d'émettre le moindre son, d'articuler le moindre
+          mot pour exprimer ce que je ressentais. Mais au plus profond de moi, je
+          n'avais aucun doute sur la seule et unique raison de leur mort. Oui, je
+          savais. Ils avaient été tués parce qu'ils étaient « juifs » et
+          uniquement pour cela, un point c'est tout. Il était pourtant hors de
+          question que cela se sache, encore moins que j'en parle. Mieux valait
+          encore et toujours le silence et mettre en avant des actes de
+          Résistance, mais lesquels ? J'allai même jusqu'à imaginer qu'à
+          Auschwitz, Danièle Casanova aurait pu croiser le regard de mon père,
+          celui de ma mère. Peut-être s'étaient-ils rencontrés, peut-être même
+          avaient-ils échangé quelques mots, parlé ensemble… Dans ce paysage corse
+          brûlé de soleil, se télescopaient des images de camps, avec leurs
+          alignements de baraques à perte de vue, leurs miradors, leurs fils
+          barbelés et leurs sinistres cheminées carrées d'où s'échappait une
+          lourde fumée noire, avec, en contrepoint, les images du pittoresque
+          village de Piana adossé au pied de ses magnifiques calanques dévalant
+          jusqu'à la mer.</parag>
+        </section>
+      </section>
+    </topic>
+  </document>
+</publidoc>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Data/Documents/schemas.xml	sam. juin 04 09:01:30 2011 +0200
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<!-- $Id$ -->
+<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
+  <documentElement localName="publidoc" uri="../../RelaxNG/publidoc.rnc"/>
+  <documentElement localName="publiset" uri="../../RelaxNG/publiset.rnc"/>
+</locatingRules>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Data/Documents/torture_test.xml	sam. juin 04 09:01:30 2011 +0200
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Id$ -->
+<publidoc version="1.0">
+  <document xml:id="torture_test" >
+    <metadata>
+      <title>Torture test</title>
+      <subtitle>Test des capacités de <name>publidoc</name></subtitle>
+      <author>
+        <firstname>Patrick</firstname><lastname>PIERRE</lastname>
+      </author>
+      <publisher>Prismallia</publisher>
+      <language xml:lang="fr"/>
+      <date of="event">2011-06</date>
+      <place>Paris</place>
+      <source type="book" id="9782843550362">
+        <title>Les misérables</title>
+        <pagenumber value="312"/>
+      </source>
+      <source type="file" id="hugo_miserables.xml"/>
+      <abstract>
+        <parag>
+          Ce fichier rassemble un maximum de situations afin de tester les
+          possibilités de <name>publidoc</name>.
+        </parag>
+      </abstract>
+      <subjectset>
+        <subject id="test"/>
+        <subject id="littérature"/>
+      </subjectset>
+      <annotation></annotation>
+    </metadata>
+
+    <!-- ================================================================== -->
+    <division>
+      <metadata>
+        <title>La littérature</title>
+      </metadata>
+      <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+      <topic>
+        <metadata>
+          <title>Les misérables</title>
+          <subtitle>Extrait</subtitle>
+          <author>
+            <firstname>Victor</firstname><lastname>HUGO</lastname>
+          </author>
+        </metadata>
+        <section>
+          <parag>
+            Cosette et Marius tombèrent à genoux, éperdus, étouffés de larmes,
+            chacun sur une des mains de Jean Valjean. Ces mains augustes ne
+            remuaient plus.
+          </parag>
+          <parag>
+            Il était renversé en arrière, la lueur des deux chandeliers
+            l'éclairait ; sa face blanche regardait le ciel, il laissait
+            Cosette et Marius couvrir ses mains de baisers ; il était
+            mort.
+          </parag>
+          <parag>
+            La nuit était sans étoiles et profondément obscure. Sans doute,
+            dans l'ombre, quelque ange immense était debout, les ailes
+            déployées, attendant l'âme.
+          </parag>
+        </section>
+      </topic>
+    </division>
+  </document>
+</publidoc>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Data/Sets/schemas.xml	sam. juin 04 09:01:30 2011 +0200
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<!-- $Id$ -->
+<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
+  <documentElement localName="publidoc" uri="../../RelaxNG/publidoc.rnc"/>
+  <documentElement localName="publiset" uri="../../RelaxNG/publiset.rnc"/>
+</locatingRules>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Data/Sets/topic_set.xml	sam. juin 04 09:01:30 2011 +0200
@@ -0,0 +1,36 @@
+<?xml version='1.0' encoding='utf-8'?>
+<publiset version="1.0">
+  <!-- $Id$ -->
+  <composition xml:id="topic_set" as="publidoc" attributes="version=1.0">
+    <division as="document" attributes="xml:id=topics">
+      <metadata>
+        <title>Exemple d'assemblage de sujets</title>
+      </metadata>
+
+      <!-- ========================== Événements ========================== -->
+      <division>
+        <metadata>
+          <title>Les événements</title>
+        </metadata>
+        <file name="../Topics/centre_pompidou.xml"/>
+        <file name="../Topics/chasseurs.xml"/>
+      </division>
+
+      <!-- =========================== Brèves ============================= -->
+      <division>
+        <metadata>
+          <title>Les brèves</title>
+        </metadata>
+        <file name="../Topics/portugal_ue.xml"/>
+      </division>
+      
+      <!-- =========================== Photos ============================= -->
+      <division>
+        <metadata>
+          <title>Les photos légendées</title>
+        </metadata>
+        <file name="../Topics/roi_belge.xml"/>
+      </division>
+      </division>
+  </composition>
+</publiset>
Binary file Data/Topics/Images/centre_pompidou.jpg has changed
Binary file Data/Topics/Images/chasseurs.jpg has changed
Binary file Data/Topics/Images/roi_belge.jpg has changed
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Data/Topics/centre_pompidou.xml	sam. juin 04 09:01:30 2011 +0200
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Id$ -->
+<publidoc version="1.0">
+  <topic type="event" xml:id="cente_pompidou">
+    <metadata>
+      <title>Un nouveau Centre Pompidou après vingt-sept mois de travaux</title>
+      <subtitle>Paris, samedi 1<sup>er</sup></subtitle>
+      <language xml:lang="fr-FR"/>
+      <date of="event">2000-01-01</date>
+      <place>Paris</place>
+      <source type="book" id="9782843550362">
+        <title>Chronique de l'année 2000</title>
+        <pagenumber value="4"/>
+      </source>
+      <source type="file" id="4a.tex"/>
+      <subjectset>
+        <subject id="France"/>
+        <subject id="Architecture"/>
+      </subjectset>
+    </metadata>
+
+    <section>
+      <parag>
+        La bibliothèque n'ouvrira ses portes que le 26 janvier ; le restaurant,
+        dont le décor a été confié à des designers pleins de promesses, est
+        encore en travaux. Qu'importe ! Ils furent des milliers à se presser
+        pour découvrir un Beaubourg qui a fait peau neuve. Les tubulures ont
+        été repeintes avec les couleurs vives qui avaient fait la célébrité du
+        lieu, les espaces ont été réorganisés. Toute l'administration a été
+        déplacée dans un immeuble voisin : la place libérée permet au musée
+        national d'Art moderne de proposer un nouvel accrochage plus aéré de
+        ses collections. Neuf jeunes plasticiens français sont à l'affiche de
+        la première exposition.
+      </parag>
+      <media>
+        <image id="centre_pompidou">
+          <copyright>Morris / Sipa Press</copyright>
+        </image>
+        <caption>
+          <parag>Pour ce premier jour de réouverture, 40 000 visiteurs sont
+          entrés gratuitement.</parag>
+        </caption>
+      </media>
+    </section>
+  </topic>
+</publidoc>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Data/Topics/chasseurs.xml	sam. juin 04 09:01:30 2011 +0200
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Id$ -->
+<publidoc version="1.0">
+  <topic xml:id="chasseurs" type="event">
+    <metadata>
+      <title>Les chasseurs d'oiseaux contestent la loi</title>
+      <subtitle>Baie de Somme, mardi 1<sup>er</sup></subtitle>
+      <language xml:lang="fr-FR"/>
+      <date of="event">2000-02-01</date>
+      <place>Baie de Somme</place>
+      <source type="book" id="978-2-8435-5036-2">
+        <title>Chronique de l'année 2000</title>
+        <pagenumber value="12"/>
+      </source>
+      <source type="file" id="12a.tex"/>
+    </metadata>
+
+    <section>
+      <parag>
+        La loi a changé, mais les chasseurs ne s'y soumettront pas. C'est toute
+        la substance du discours martelé par le leader de CPNT (<name
+        of="party">Chasse, Pêche, Nature et Traditions</name>), <name
+        of="person">Jean Saint-Josse</name>, devant les chasseurs de la baie de
+        Somme. Une décision du Conseil d'Etat oblige la France à fermer la
+        chasse au gibier d'eau et aux oiseaux migrateurs au 31 janvier,
+        c'est-à-dire un mois plus tôt que précédemment, afin de se conformer à
+        une directive européenne datant de... 1979 ! Forts de leur poids
+        électoral (6,77  aux européennes), les chasseurs exigent l'abrogation
+        de ce texte. <link>28.6</link>
+      </parag>
+      <media>
+        <image id="chasseurs"/>
+        <caption>
+          <parag>
+            Dans la mire : les oiseaux migrateurs.
+          </parag>
+        </caption>
+      </media>
+    </section>
+  </topic>
+</publidoc>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Data/Topics/portugal_ue.xml	sam. juin 04 09:01:30 2011 +0200
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Id$ -->
+<publidoc version="1.0">
+  <topic xml:id="portugal_ue" type="flash">
+    <metadata>
+      <title>Janvier 2000</title>
+      <subtitle>Lisbonne, samedi 1<sup>er</sup></subtitle>
+      <language xml:lang="fr-FR"/>
+      <date of="event">2000-01-01</date>
+      <place>Lisbonne</place>
+      <source type="book" id="978-2-8435-5036-2">
+        <title>Chronique de l'année 2000</title>
+        <pagenumber value="4"/>
+      </source>
+      <source type="file" id="4z.tex"/>
+    </metadata>
+
+    <section>
+      <parag>
+        Le Portugal prend pour six mois la présidence de l'Union européenne.
+        <link>1.7</link>
+      </parag>
+    </section>
+  </topic>
+</publidoc>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Data/Topics/roi_belge.xml	sam. juin 04 09:01:30 2011 +0200
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Id$ -->
+<publidoc version="1.0">
+  <topic xml:id="roi_belge" type="photo">
+    <metadata>
+      <title>Janvier 2000</title>
+      <language xml:lang="fr-FR"/>
+      <date of="event">2000-01</date>
+      <source type="book" id="9782843550362">
+        <title>Chronique de l'année 2000</title>
+        <pagenumber value="8"/>
+      </source>
+      <source type="file" id="e8.tex"/>
+    </metadata>
+
+    <section>
+      <media>
+        <image id="chrq_an2000_0008_p01i01"/>
+        <caption>
+          <parag>
+            Le 18, à Liège, le prince Philippe et son épouse, Mathilde,
+            prennent avec le sourire leur premier bain de foule : 15 000
+            personnes les acclament.
+          </parag>
+        </caption>
+      </media>
+    </section>
+  </topic>
+</publidoc>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Data/Topics/schemas.xml	sam. juin 04 09:01:30 2011 +0200
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<!-- $Id$ -->
+<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
+  <documentElement localName="publidoc" uri="../../RelaxNG/publidoc.rnc"/>
+  <documentElement localName="publiset" uri="../../RelaxNG/publiset.rnc"/>
+</locatingRules>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/RelaxNG/publidoc.rnc	sam. juin 04 09:01:30 2011 +0200
@@ -0,0 +1,320 @@
+# $Id$
+
+start = publidoc
+
+
+publidoc = element publidoc {
+   publidoc.attributes,
+   publidoc.content
+}
+
+# ~~~~~~ attributes
+publidoc.attributes =
+   version.attribute
+
+version.attribute = attribute version { "1.0" }
+
+# ~~~~~~ content
+publidoc.content =
+   document
+ | top.topic
+
+
+# =============================================================================
+#                                  Top level
+# =============================================================================
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ document ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+document = element document { document.attributes, document.content }
+
+# ~~~~~~ attributes
+document.attributes =
+   document.id.attribute
+
+document.id.attribute = attribute xml:id { xsd:ID }
+
+# ~~~~~~ content
+document.content =
+   metadata?,
+   (division+ | topic+)
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ topic ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+top.topic = element topic { top.topic.attributes, topic.content }
+
+
+# =============================================================================
+#                               Metadata level
+# =============================================================================
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ metadata ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+metadata = element metadata { metadata.content }
+
+metadata.content =
+   title
+ & subtitle?
+ & author*
+ & publisher?
+ & language?
+ & date?
+ & place?
+ & source*
+ & subjectset?
+ & abstract?
+ & annotation*
+
+language = element language { language.attributes }
+language.attributes = lang.attribute
+lang.attribute = attribute xml:lang { xsd:language }
+
+place = element place { place.content }
+place.content = inlines
+
+abstract = element abstract { abstract.content }
+abstract.content = parag+
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ title, subtitle ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+title = element title { title.content }
+title.content = inlines
+
+subtitle = element subtitle { title.content }
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ author, publisher ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+author = element author { author.content }
+
+author.content =
+   firstname?,
+   lastname
+
+publisher = element publisher { publisher.content }
+
+publisher.content = inlines
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ source ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+source = element source {
+   source.attributes,
+   (  (attribute type { "book" }, source.content.book)
+    | (attribute type { "file" })),
+   source.content
+}
+
+# ~~~~~~ Attributes
+source.attributes =
+   source.id.attribute
+
+source.id.attribute = attribute id { xsd:NMTOKEN }
+
+# ~~~~~~ Content
+source.content.book =
+   title,
+   pagenumber*
+
+source.content =
+   annotation*
+
+pagenumber = element pagenumber { pagenumber.attributes }
+pagenumber.attributes =
+   pagenumber.value.attribute
+pagenumber.value.attribute = attribute value { pagenumber.value.enumeration }
+pagenumber.value.enumeration = xsd:positiveInteger
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ subject ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+subjectset = element subjectset { subjectset.content }
+
+subjectset.content = subject+
+
+subject = element subject { subject.attributes }
+subject.attributes =
+   subject.id.attribute
+subject.id.attribute = attribute id { xsd:NMTOKEN }
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ annotation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+annotation = element annotation { annotation.content }
+
+annotation.content = inlines
+
+
+# =============================================================================
+#                                 Division level
+# =============================================================================
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ division ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+division = element division { division.content }
+
+division.content =
+   metadata?,
+   (division+ | topic+)
+
+
+# =============================================================================
+#                               Component level
+# =============================================================================
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ topic ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+topic = element topic { topic.attributes, topic.content }
+
+# ~~~~~~ attributes
+top.topic.attributes =
+   topic.id.attribute
+ & topic.type.attribute?
+
+topic.attributes =
+   topic.id.attribute?
+ & topic.type.attribute?
+
+topic.id.attribute = attribute xml:id { xsd:ID }
+
+topic.type.attribute = attribute type { xsd:NCName }
+
+# ~~~~~~ content
+topic.content =
+   metadata?,
+   section+
+
+
+# =============================================================================
+#                                 Section level
+# =============================================================================
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ section ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+section = element section { section.content, section.attributes }
+
+section.content =
+   metadata?,
+   (section+
+    | (parag | media)+)
+
+section.attributes =
+   status.attribute?
+status.attribute = attribute status { xsd:NCName }
+
+
+# =============================================================================
+#                                 Block level
+# =============================================================================
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ parag ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+parag = element parag { parag.content }
+
+parag.content =
+   inlines
+ & link*
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ media ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+media = element media { media.content }
+
+media.content =
+   image+,
+   media.caption?
+
+media.id.attribute = attribute id { xsd:NMTOKEN }
+
+media.caption = element caption { media.caption.content }
+media.caption.content = parag+
+
+# ~~~~~~ Image
+image = element image { image.attributes, image.content }
+
+image.attributes =
+   media.id.attribute
+
+image.content =
+   copyright?
+
+copyright = element copyright { copyright.content }
+copyright.content = inlines
+
+
+# =============================================================================
+#                                 Inline level
+# =============================================================================
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ inlines ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+inlines = mixed {
+   sup*
+ & sub*
+ & romannum*
+ & date*
+ & name*
+ & footnote*
+ & foreign*
+ & highlight*
+}
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sub, sup ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+sup = element sup { inlines }
+
+sub = element sub { inlines }
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ romannum ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+romannum = element romannum { xsd:token {pattern = "([dlxvi]+)"} }
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ date ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+date = element date { date.attributes, date.content }
+
+date.attributes = date.of.attribute
+
+date.of.attribute = attribute of { date.of.enumeration }
+date.of.enumeration = "event" | "birth" | "death"
+
+date.content = xsd:date | xsd:gYearMonth | xsd:gYear
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ name ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+firstname = element firstname { inlines }
+
+lastname = element lastname { inlines }
+
+name = element name { name.attributes, name.content }
+name.attributes = name.of.attribute?
+name.content = inlines
+name.of.attribute = attribute of { name.of.enumeration }
+name.of.enumeration = "person" | "company" | "book" | "newspaper" | "party"
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ footnote ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+footnote = element footnote { footnote.attributes, footnote.content }
+
+footnote.attributes = footnote.label.attribute?
+
+footnote.label.attribute = attribute label { text }
+
+footnote.content = parag+
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ foreign ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+foreign = element foreign { foreign.attributes, foreign.content }
+
+foreign.attributes = lang.attribute?
+
+foreign.content = inlines
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ highlight ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+highlight = element highlight { highlight.content }
+
+highlight.content = inlines
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ link ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+link = element link { link.attributes, link.content }
+
+link.attributes = empty
+
+link.content = inlines
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/RelaxNG/publidoc.rng	sam. juin 04 09:01:30 2011 +0200
@@ -0,0 +1,633 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+  <!-- $Id$ -->
+  <start>
+    <ref name="publidoc"/>
+  </start>
+  <define name="publidoc">
+    <element name="publidoc">
+      <ref name="publidoc.attributes"/>
+      <ref name="publidoc.content"/>
+    </element>
+  </define>
+  <!-- ~~~~~~ attributes -->
+  <define name="publidoc.attributes">
+    <ref name="version.attribute"/>
+  </define>
+  <define name="version.attribute">
+    <attribute name="version">
+      <value>1.0</value>
+    </attribute>
+  </define>
+  <!-- ~~~~~~ content -->
+  <define name="publidoc.content">
+    <choice>
+      <ref name="document"/>
+      <ref name="top.topic"/>
+    </choice>
+  </define>
+  <!--
+    =============================================================================
+                                     Top level
+    =============================================================================
+  -->
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ document ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="document">
+    <element name="document">
+      <ref name="document.attributes"/>
+      <ref name="document.content"/>
+    </element>
+  </define>
+  <!-- ~~~~~~ attributes -->
+  <define name="document.attributes">
+    <ref name="document.id.attribute"/>
+  </define>
+  <define name="document.id.attribute">
+    <attribute name="xml:id">
+      <data type="ID"/>
+    </attribute>
+  </define>
+  <!-- ~~~~~~ content -->
+  <define name="document.content">
+    <optional>
+      <ref name="metadata"/>
+    </optional>
+    <choice>
+      <oneOrMore>
+        <ref name="division"/>
+      </oneOrMore>
+      <oneOrMore>
+        <ref name="topic"/>
+      </oneOrMore>
+    </choice>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ topic ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="top.topic">
+    <element name="topic">
+      <ref name="top.topic.attributes"/>
+      <ref name="topic.content"/>
+    </element>
+  </define>
+  <!--
+    =============================================================================
+                                  Metadata level
+    =============================================================================
+  -->
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ metadata ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="metadata">
+    <element name="metadata">
+      <ref name="metadata.content"/>
+    </element>
+  </define>
+  <define name="metadata.content">
+    <interleave>
+      <ref name="title"/>
+      <optional>
+        <ref name="subtitle"/>
+      </optional>
+      <zeroOrMore>
+        <ref name="author"/>
+      </zeroOrMore>
+      <optional>
+        <ref name="publisher"/>
+      </optional>
+      <optional>
+        <ref name="language"/>
+      </optional>
+      <optional>
+        <ref name="date"/>
+      </optional>
+      <optional>
+        <ref name="place"/>
+      </optional>
+      <zeroOrMore>
+        <ref name="source"/>
+      </zeroOrMore>
+      <optional>
+        <ref name="subjectset"/>
+      </optional>
+      <optional>
+        <ref name="abstract"/>
+      </optional>
+      <zeroOrMore>
+        <ref name="annotation"/>
+      </zeroOrMore>
+    </interleave>
+  </define>
+  <define name="language">
+    <element name="language">
+      <ref name="language.attributes"/>
+    </element>
+  </define>
+  <define name="language.attributes">
+    <ref name="lang.attribute"/>
+  </define>
+  <define name="lang.attribute">
+    <attribute name="xml:lang">
+      <data type="language"/>
+    </attribute>
+  </define>
+  <define name="place">
+    <element name="place">
+      <ref name="place.content"/>
+    </element>
+  </define>
+  <define name="place.content">
+    <ref name="inlines"/>
+  </define>
+  <define name="abstract">
+    <element name="abstract">
+      <ref name="abstract.content"/>
+    </element>
+  </define>
+  <define name="abstract.content">
+    <oneOrMore>
+      <ref name="parag"/>
+    </oneOrMore>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ title, subtitle ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="title">
+    <element name="title">
+      <ref name="title.content"/>
+    </element>
+  </define>
+  <define name="title.content">
+    <ref name="inlines"/>
+  </define>
+  <define name="subtitle">
+    <element name="subtitle">
+      <ref name="title.content"/>
+    </element>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ author, publisher ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="author">
+    <element name="author">
+      <ref name="author.content"/>
+    </element>
+  </define>
+  <define name="author.content">
+    <optional>
+      <ref name="firstname"/>
+    </optional>
+    <ref name="lastname"/>
+  </define>
+  <define name="publisher">
+    <element name="publisher">
+      <ref name="publisher.content"/>
+    </element>
+  </define>
+  <define name="publisher.content">
+    <ref name="inlines"/>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ source ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="source">
+    <element name="source">
+      <ref name="source.attributes"/>
+      <choice>
+        <group>
+          <attribute name="type">
+            <value>book</value>
+          </attribute>
+          <ref name="source.content.book"/>
+        </group>
+        <attribute name="type">
+          <value>file</value>
+        </attribute>
+      </choice>
+      <ref name="source.content"/>
+    </element>
+  </define>
+  <!-- ~~~~~~ Attributes -->
+  <define name="source.attributes">
+    <ref name="source.id.attribute"/>
+  </define>
+  <define name="source.id.attribute">
+    <attribute name="id">
+      <data type="NMTOKEN"/>
+    </attribute>
+  </define>
+  <!-- ~~~~~~ Content -->
+  <define name="source.content.book">
+    <ref name="title"/>
+    <zeroOrMore>
+      <ref name="pagenumber"/>
+    </zeroOrMore>
+  </define>
+  <define name="source.content">
+    <zeroOrMore>
+      <ref name="annotation"/>
+    </zeroOrMore>
+  </define>
+  <define name="pagenumber">
+    <element name="pagenumber">
+      <ref name="pagenumber.attributes"/>
+    </element>
+  </define>
+  <define name="pagenumber.attributes">
+    <ref name="pagenumber.value.attribute"/>
+  </define>
+  <define name="pagenumber.value.attribute">
+    <attribute name="value">
+      <ref name="pagenumber.value.enumeration"/>
+    </attribute>
+  </define>
+  <define name="pagenumber.value.enumeration">
+    <data type="positiveInteger"/>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ subject ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="subjectset">
+    <element name="subjectset">
+      <ref name="subjectset.content"/>
+    </element>
+  </define>
+  <define name="subjectset.content">
+    <oneOrMore>
+      <ref name="subject"/>
+    </oneOrMore>
+  </define>
+  <define name="subject">
+    <element name="subject">
+      <ref name="subject.attributes"/>
+    </element>
+  </define>
+  <define name="subject.attributes">
+    <ref name="subject.id.attribute"/>
+  </define>
+  <define name="subject.id.attribute">
+    <attribute name="id">
+      <data type="NMTOKEN"/>
+    </attribute>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ annotation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="annotation">
+    <element name="annotation">
+      <ref name="annotation.content"/>
+    </element>
+  </define>
+  <define name="annotation.content">
+    <ref name="inlines"/>
+  </define>
+  <!--
+    =============================================================================
+                                    Division level
+    =============================================================================
+  -->
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ division ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="division">
+    <element name="division">
+      <ref name="division.content"/>
+    </element>
+  </define>
+  <define name="division.content">
+    <optional>
+      <ref name="metadata"/>
+    </optional>
+    <choice>
+      <oneOrMore>
+        <ref name="division"/>
+      </oneOrMore>
+      <oneOrMore>
+        <ref name="topic"/>
+      </oneOrMore>
+    </choice>
+  </define>
+  <!--
+    =============================================================================
+                                  Component level
+    =============================================================================
+  -->
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ topic ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="topic">
+    <element name="topic">
+      <ref name="topic.attributes"/>
+      <ref name="topic.content"/>
+    </element>
+  </define>
+  <!-- ~~~~~~ attributes -->
+  <define name="top.topic.attributes">
+    <interleave>
+      <ref name="topic.id.attribute"/>
+      <optional>
+        <ref name="topic.type.attribute"/>
+      </optional>
+    </interleave>
+  </define>
+  <define name="topic.attributes">
+    <interleave>
+      <optional>
+        <ref name="topic.id.attribute"/>
+      </optional>
+      <optional>
+        <ref name="topic.type.attribute"/>
+      </optional>
+    </interleave>
+  </define>
+  <define name="topic.id.attribute">
+    <attribute name="xml:id">
+      <data type="ID"/>
+    </attribute>
+  </define>
+  <define name="topic.type.attribute">
+    <attribute name="type">
+      <data type="NCName"/>
+    </attribute>
+  </define>
+  <!-- ~~~~~~ content -->
+  <define name="topic.content">
+    <optional>
+      <ref name="metadata"/>
+    </optional>
+    <oneOrMore>
+      <ref name="section"/>
+    </oneOrMore>
+  </define>
+  <!--
+    =============================================================================
+                                    Section level
+    =============================================================================
+  -->
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ section ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="section">
+    <element name="section">
+      <ref name="section.content"/>
+      <ref name="section.attributes"/>
+    </element>
+  </define>
+  <define name="section.content">
+    <optional>
+      <ref name="metadata"/>
+    </optional>
+    <choice>
+      <oneOrMore>
+        <ref name="section"/>
+      </oneOrMore>
+      <oneOrMore>
+        <choice>
+          <ref name="parag"/>
+          <ref name="media"/>
+        </choice>
+      </oneOrMore>
+    </choice>
+  </define>
+  <define name="section.attributes">
+    <optional>
+      <ref name="status.attribute"/>
+    </optional>
+  </define>
+  <define name="status.attribute">
+    <attribute name="status">
+      <data type="NCName"/>
+    </attribute>
+  </define>
+  <!--
+    =============================================================================
+                                    Block level
+    =============================================================================
+  -->
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ parag ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="parag">
+    <element name="parag">
+      <ref name="parag.content"/>
+    </element>
+  </define>
+  <define name="parag.content">
+    <interleave>
+      <ref name="inlines"/>
+      <zeroOrMore>
+        <ref name="link"/>
+      </zeroOrMore>
+    </interleave>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ media ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="media">
+    <element name="media">
+      <ref name="media.content"/>
+    </element>
+  </define>
+  <define name="media.content">
+    <oneOrMore>
+      <ref name="image"/>
+    </oneOrMore>
+    <optional>
+      <ref name="media.caption"/>
+    </optional>
+  </define>
+  <define name="media.id.attribute">
+    <attribute name="id">
+      <data type="NMTOKEN"/>
+    </attribute>
+  </define>
+  <define name="media.caption">
+    <element name="caption">
+      <ref name="media.caption.content"/>
+    </element>
+  </define>
+  <define name="media.caption.content">
+    <oneOrMore>
+      <ref name="parag"/>
+    </oneOrMore>
+  </define>
+  <!-- ~~~~~~ Image -->
+  <define name="image">
+    <element name="image">
+      <ref name="image.attributes"/>
+      <ref name="image.content"/>
+    </element>
+  </define>
+  <define name="image.attributes">
+    <ref name="media.id.attribute"/>
+  </define>
+  <define name="image.content">
+    <optional>
+      <ref name="copyright"/>
+    </optional>
+  </define>
+  <define name="copyright">
+    <element name="copyright">
+      <ref name="copyright.content"/>
+    </element>
+  </define>
+  <define name="copyright.content">
+    <ref name="inlines"/>
+  </define>
+  <!--
+    =============================================================================
+                                    Inline level
+    =============================================================================
+  -->
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ inlines ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="inlines">
+    <mixed>
+      <interleave>
+        <zeroOrMore>
+          <ref name="sup"/>
+        </zeroOrMore>
+        <zeroOrMore>
+          <ref name="sub"/>
+        </zeroOrMore>
+        <zeroOrMore>
+          <ref name="romannum"/>
+        </zeroOrMore>
+        <zeroOrMore>
+          <ref name="date"/>
+        </zeroOrMore>
+        <zeroOrMore>
+          <ref name="name"/>
+        </zeroOrMore>
+        <zeroOrMore>
+          <ref name="footnote"/>
+        </zeroOrMore>
+        <zeroOrMore>
+          <ref name="foreign"/>
+        </zeroOrMore>
+        <zeroOrMore>
+          <ref name="highlight"/>
+        </zeroOrMore>
+      </interleave>
+    </mixed>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sub, sup ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="sup">
+    <element name="sup">
+      <ref name="inlines"/>
+    </element>
+  </define>
+  <define name="sub">
+    <element name="sub">
+      <ref name="inlines"/>
+    </element>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ romannum ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="romannum">
+    <element name="romannum">
+      <data type="token">
+        <param name="pattern">([dlxvi]+)</param>
+      </data>
+    </element>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ date ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="date">
+    <element name="date">
+      <ref name="date.attributes"/>
+      <ref name="date.content"/>
+    </element>
+  </define>
+  <define name="date.attributes">
+    <ref name="date.of.attribute"/>
+  </define>
+  <define name="date.of.attribute">
+    <attribute name="of">
+      <ref name="date.of.enumeration"/>
+    </attribute>
+  </define>
+  <define name="date.of.enumeration">
+    <choice>
+      <value>event</value>
+      <value>birth</value>
+      <value>death</value>
+    </choice>
+  </define>
+  <define name="date.content">
+    <choice>
+      <data type="date"/>
+      <data type="gYearMonth"/>
+      <data type="gYear"/>
+    </choice>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ name ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="firstname">
+    <element name="firstname">
+      <ref name="inlines"/>
+    </element>
+  </define>
+  <define name="lastname">
+    <element name="lastname">
+      <ref name="inlines"/>
+    </element>
+  </define>
+  <define name="name">
+    <element name="name">
+      <ref name="name.attributes"/>
+      <ref name="name.content"/>
+    </element>
+  </define>
+  <define name="name.attributes">
+    <optional>
+      <ref name="name.of.attribute"/>
+    </optional>
+  </define>
+  <define name="name.content">
+    <ref name="inlines"/>
+  </define>
+  <define name="name.of.attribute">
+    <attribute name="of">
+      <ref name="name.of.enumeration"/>
+    </attribute>
+  </define>
+  <define name="name.of.enumeration">
+    <choice>
+      <value>person</value>
+      <value>company</value>
+      <value>book</value>
+      <value>newspaper</value>
+      <value>party</value>
+    </choice>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ footnote ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="footnote">
+    <element name="footnote">
+      <ref name="footnote.attributes"/>
+      <ref name="footnote.content"/>
+    </element>
+  </define>
+  <define name="footnote.attributes">
+    <optional>
+      <ref name="footnote.label.attribute"/>
+    </optional>
+  </define>
+  <define name="footnote.label.attribute">
+    <attribute name="label"/>
+  </define>
+  <define name="footnote.content">
+    <oneOrMore>
+      <ref name="parag"/>
+    </oneOrMore>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ foreign ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="foreign">
+    <element name="foreign">
+      <ref name="foreign.attributes"/>
+      <ref name="foreign.content"/>
+    </element>
+  </define>
+  <define name="foreign.attributes">
+    <optional>
+      <ref name="lang.attribute"/>
+    </optional>
+  </define>
+  <define name="foreign.content">
+    <ref name="inlines"/>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ highlight ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="highlight">
+    <element name="highlight">
+      <ref name="highlight.content"/>
+    </element>
+  </define>
+  <define name="highlight.content">
+    <ref name="inlines"/>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ link ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="link">
+    <element name="link">
+      <ref name="link.attributes"/>
+      <ref name="link.content"/>
+    </element>
+  </define>
+  <define name="link.attributes">
+    <empty/>
+  </define>
+  <define name="link.content">
+    <ref name="inlines"/>
+  </define>
+</grammar>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/RelaxNG/publiset.rnc	sam. juin 04 09:01:30 2011 +0200
@@ -0,0 +1,207 @@
+# $Id$
+
+start = publiset
+
+
+publiset = element publiset {
+   publiset.attributes,
+   publiset.content
+}
+
+# ~~~~~~ attributes
+publiset.attributes =
+   version.attribute
+
+version.attribute = attribute version { "1.0" }
+
+# ~~~~~~ content
+publiset.content =
+   (composition | selection)+
+
+
+# =============================================================================
+#                                  Top level
+# =============================================================================
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ composition ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+composition = element composition {
+   composition.attributes,
+   composition.content
+}
+
+# ~~~~~~ attributes
+composition.attributes =
+   composition.id.attribute
+ & base.attribute?
+ & remap.attributes
+
+composition.id.attribute = attribute xml:id { xsd:ID }
+base.attribute = attribute xml:base { xsd:anyURI }
+
+# ~~~~~~ content
+composition.content =
+   composition.metadata?,
+   (composition.file | composition.division)+
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ selection ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+selection = element selection {
+   selection.attributes,
+   selection.content
+}
+
+# ~~~~~~ attributes
+selection.attributes =
+   base.attribute?
+
+selection.id.attribute = attribute xml:id { xsd:ID }
+
+# ~~~~~~ content
+selection.content =
+   selection.metadata?,
+   (selection.file | selection.division)+
+
+
+# =============================================================================
+#                                 Metadata level
+# =============================================================================
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ metadata ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+composition.metadata = element metadata {
+   metadata.attributes,
+   metadata.content
+}
+
+selection.metadata = element metadata { metadata.content }
+
+# ~~~~~~ attributes
+metadata.attributes =
+   remap.attributes
+
+# ~~~~~~ content
+metadata.content =
+   title?,
+   subtitle?,
+   source?
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ title, subtitle ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+title = element title { title.content }
+title.content = inlines
+
+subtitle = element subtitle { title.content }
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ source ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+source = element source {
+   source.attributes,
+   (  (attribute type { "book" }, source.content.book)
+    | (attribute type { "file" }))
+}
+
+# ~~~~~~ Attributes
+source.attributes =
+   source.id.attribute?
+ & remap.attributes
+
+source.id.attribute = attribute id { xsd:NMTOKEN }
+
+# ~~~~~~ Content
+source.content.book =
+   title?,
+   pagenumber?
+
+pagenumber = element pagenumber { pagenumber.attributes }
+pagenumber.attributes =
+   pagenumber.value.attribute
+pagenumber.value.attribute = attribute value { pagenumber.value.enumeration }
+pagenumber.value.enumeration = xsd:positiveInteger
+
+
+# =============================================================================
+#                                Division level
+# =============================================================================
+
+composition.division = element division {
+   composition.division.attributes,
+   composition.division.content
+}
+
+selection.division = element division {
+   selection.division.attributes,
+   selection.division.content
+}
+
+# ~~~~~~ attributes
+composition.division.attributes =
+   base.attribute?
+ & remap.attributes
+
+selection.division.attributes =
+   base.attribute?
+
+# ~~~~~~ content
+composition.division.content =
+   composition.metadata?,
+   (composition.file | composition.division)+
+
+selection.division.content =
+   selection.metadata?,
+   (selection.file | selection.division)+
+
+
+# =============================================================================
+#                                  File level
+# =============================================================================
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ file ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+composition.file = element file { composition.file.attributes }
+
+selection.file = element file { selection.file.attributes }
+
+# ~~~~~~ attributes
+composition.file.attributes =
+   name.attribute
+ & xpath.attribute?
+ & remap.attributes
+
+selection.file.attributes =
+   name.attribute
+ & xpath.attribute?
+
+name.attribute = attribute name { text }
+xpath.attribute = attribute xpath { text }
+
+
+# =============================================================================
+#                                 Inline level
+# =============================================================================
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ inlines ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+inlines = mixed {
+   sup*
+ & sub*
+}
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sub, sup ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+sup = element sup { inlines }
+
+sub = element sub { inlines }
+
+
+# =============================================================================
+#                               Remap attributes
+# =============================================================================
+
+remap.attributes =
+   as.attribute?
+ & attributes.attribute?
+
+as.attribute = attribute as { xsd:QName }
+attributes.attribute =
+   attribute attributes {list { (xsd:token {pattern = "\c+=\S+"})+ }}
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/RelaxNG/publiset.rng	sam. juin 04 09:01:30 2011 +0200
@@ -0,0 +1,362 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+  <!-- $Id$ -->
+  <start>
+    <ref name="publiset"/>
+  </start>
+  <define name="publiset">
+    <element name="publiset">
+      <ref name="publiset.attributes"/>
+      <ref name="publiset.content"/>
+    </element>
+  </define>
+  <!-- ~~~~~~ attributes -->
+  <define name="publiset.attributes">
+    <ref name="version.attribute"/>
+  </define>
+  <define name="version.attribute">
+    <attribute name="version">
+      <value>1.0</value>
+    </attribute>
+  </define>
+  <!-- ~~~~~~ content -->
+  <define name="publiset.content">
+    <oneOrMore>
+      <choice>
+        <ref name="composition"/>
+        <ref name="selection"/>
+      </choice>
+    </oneOrMore>
+  </define>
+  <!--
+    =============================================================================
+                                     Top level
+    =============================================================================
+  -->
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ composition ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="composition">
+    <element name="composition">
+      <ref name="composition.attributes"/>
+      <ref name="composition.content"/>
+    </element>
+  </define>
+  <!-- ~~~~~~ attributes -->
+  <define name="composition.attributes">
+    <interleave>
+      <ref name="composition.id.attribute"/>
+      <optional>
+        <ref name="base.attribute"/>
+      </optional>
+      <ref name="remap.attributes"/>
+    </interleave>
+  </define>
+  <define name="composition.id.attribute">
+    <attribute name="xml:id">
+      <data type="ID"/>
+    </attribute>
+  </define>
+  <define name="base.attribute">
+    <attribute name="xml:base">
+      <data type="anyURI"/>
+    </attribute>
+  </define>
+  <!-- ~~~~~~ content -->
+  <define name="composition.content">
+    <optional>
+      <ref name="composition.metadata"/>
+    </optional>
+    <oneOrMore>
+      <choice>
+        <ref name="composition.file"/>
+        <ref name="composition.division"/>
+      </choice>
+    </oneOrMore>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ selection ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="selection">
+    <element name="selection">
+      <ref name="selection.attributes"/>
+      <ref name="selection.content"/>
+    </element>
+  </define>
+  <!-- ~~~~~~ attributes -->
+  <define name="selection.attributes">
+    <optional>
+      <ref name="base.attribute"/>
+    </optional>
+  </define>
+  <define name="selection.id.attribute">
+    <attribute name="xml:id">
+      <data type="ID"/>
+    </attribute>
+  </define>
+  <!-- ~~~~~~ content -->
+  <define name="selection.content">
+    <optional>
+      <ref name="selection.metadata"/>
+    </optional>
+    <oneOrMore>
+      <choice>
+        <ref name="selection.file"/>
+        <ref name="selection.division"/>
+      </choice>
+    </oneOrMore>
+  </define>
+  <!--
+    =============================================================================
+                                    Metadata level
+    =============================================================================
+  -->
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ metadata ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="composition.metadata">
+    <element name="metadata">
+      <ref name="metadata.attributes"/>
+      <ref name="metadata.content"/>
+    </element>
+  </define>
+  <define name="selection.metadata">
+    <element name="metadata">
+      <ref name="metadata.content"/>
+    </element>
+  </define>
+  <!-- ~~~~~~ attributes -->
+  <define name="metadata.attributes">
+    <ref name="remap.attributes"/>
+  </define>
+  <!-- ~~~~~~ content -->
+  <define name="metadata.content">
+    <optional>
+      <ref name="title"/>
+    </optional>
+    <optional>
+      <ref name="subtitle"/>
+    </optional>
+    <optional>
+      <ref name="source"/>
+    </optional>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ title, subtitle ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="title">
+    <element name="title">
+      <ref name="title.content"/>
+    </element>
+  </define>
+  <define name="title.content">
+    <ref name="inlines"/>
+  </define>
+  <define name="subtitle">
+    <element name="subtitle">
+      <ref name="title.content"/>
+    </element>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ source ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="source">
+    <element name="source">
+      <ref name="source.attributes"/>
+      <choice>
+        <group>
+          <attribute name="type">
+            <value>book</value>
+          </attribute>
+          <ref name="source.content.book"/>
+        </group>
+        <attribute name="type">
+          <value>file</value>
+        </attribute>
+      </choice>
+    </element>
+  </define>
+  <!-- ~~~~~~ Attributes -->
+  <define name="source.attributes">
+    <interleave>
+      <optional>
+        <ref name="source.id.attribute"/>
+      </optional>
+      <ref name="remap.attributes"/>
+    </interleave>
+  </define>
+  <define name="source.id.attribute">
+    <attribute name="id">
+      <data type="NMTOKEN"/>
+    </attribute>
+  </define>
+  <!-- ~~~~~~ Content -->
+  <define name="source.content.book">
+    <optional>
+      <ref name="title"/>
+    </optional>
+    <optional>
+      <ref name="pagenumber"/>
+    </optional>
+  </define>
+  <define name="pagenumber">
+    <element name="pagenumber">
+      <ref name="pagenumber.attributes"/>
+    </element>
+  </define>
+  <define name="pagenumber.attributes">
+    <ref name="pagenumber.value.attribute"/>
+  </define>
+  <define name="pagenumber.value.attribute">
+    <attribute name="value">
+      <ref name="pagenumber.value.enumeration"/>
+    </attribute>
+  </define>
+  <define name="pagenumber.value.enumeration">
+    <data type="positiveInteger"/>
+  </define>
+  <!--
+    =============================================================================
+                                   Division level
+    =============================================================================
+  -->
+  <define name="composition.division">
+    <element name="division">
+      <ref name="composition.division.attributes"/>
+      <ref name="composition.division.content"/>
+    </element>
+  </define>
+  <define name="selection.division">
+    <element name="division">
+      <ref name="selection.division.attributes"/>
+      <ref name="selection.division.content"/>
+    </element>
+  </define>
+  <!-- ~~~~~~ attributes -->
+  <define name="composition.division.attributes">
+    <interleave>
+      <optional>
+        <ref name="base.attribute"/>
+      </optional>
+      <ref name="remap.attributes"/>
+    </interleave>
+  </define>
+  <define name="selection.division.attributes">
+    <optional>
+      <ref name="base.attribute"/>
+    </optional>
+  </define>
+  <!-- ~~~~~~ content -->
+  <define name="composition.division.content">
+    <optional>
+      <ref name="composition.metadata"/>
+    </optional>
+    <oneOrMore>
+      <choice>
+        <ref name="composition.file"/>
+        <ref name="composition.division"/>
+      </choice>
+    </oneOrMore>
+  </define>
+  <define name="selection.division.content">
+    <optional>
+      <ref name="selection.metadata"/>
+    </optional>
+    <oneOrMore>
+      <choice>
+        <ref name="selection.file"/>
+        <ref name="selection.division"/>
+      </choice>
+    </oneOrMore>
+  </define>
+  <!--
+    =============================================================================
+                                     File level
+    =============================================================================
+  -->
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ file ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="composition.file">
+    <element name="file">
+      <ref name="composition.file.attributes"/>
+    </element>
+  </define>
+  <define name="selection.file">
+    <element name="file">
+      <ref name="selection.file.attributes"/>
+    </element>
+  </define>
+  <!-- ~~~~~~ attributes -->
+  <define name="composition.file.attributes">
+    <interleave>
+      <ref name="name.attribute"/>
+      <optional>
+        <ref name="xpath.attribute"/>
+      </optional>
+      <ref name="remap.attributes"/>
+    </interleave>
+  </define>
+  <define name="selection.file.attributes">
+    <interleave>
+      <ref name="name.attribute"/>
+      <optional>
+        <ref name="xpath.attribute"/>
+      </optional>
+    </interleave>
+  </define>
+  <define name="name.attribute">
+    <attribute name="name"/>
+  </define>
+  <define name="xpath.attribute">
+    <attribute name="xpath"/>
+  </define>
+  <!--
+    =============================================================================
+                                    Inline level
+    =============================================================================
+  -->
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ inlines ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="inlines">
+    <mixed>
+      <interleave>
+        <zeroOrMore>
+          <ref name="sup"/>
+        </zeroOrMore>
+        <zeroOrMore>
+          <ref name="sub"/>
+        </zeroOrMore>
+      </interleave>
+    </mixed>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sub, sup ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="sup">
+    <element name="sup">
+      <ref name="inlines"/>
+    </element>
+  </define>
+  <define name="sub">
+    <element name="sub">
+      <ref name="inlines"/>
+    </element>
+  </define>
+  <!--
+    =============================================================================
+                                  Remap attributes
+    =============================================================================
+  -->
+  <define name="remap.attributes">
+    <interleave>
+      <optional>
+        <ref name="as.attribute"/>
+      </optional>
+      <optional>
+        <ref name="attributes.attribute"/>
+      </optional>
+    </interleave>
+  </define>
+  <define name="as.attribute">
+    <attribute name="as">
+      <data type="QName"/>
+    </attribute>
+  </define>
+  <define name="attributes.attribute">
+    <attribute name="attributes">
+      <list>
+        <oneOrMore>
+          <data type="token">
+            <param name="pattern">\c+=\S+</param>
+          </data>
+        </oneOrMore>
+      </list>
+    </attribute>
+  </define>
+</grammar>