Spécifications de la production des éditions

Cette page est un sous-ensemble de la section Éditions des spécifications de TXM RCP (et du portail TXM). Certains aspects traités ici sont liés à d'autres pages de cette section.

Objectifs

  • Cf. ticket 164 (TBX:x.x, import, CSS, xml elements indexation and styling)

Etat des lieux

Technologies disponibles pour les images

Format des pages et encodage des caractères

  • Il faut décider si on produit des pages SGML ou XML ou les deux
    • cela impacte des entêtes HTTP, des extensions de fichiers, des formats, des déclarations selon les contextes
    • les contextes de rendu sont (CSS pour écran) :
      • les navigateurs internes de TXM
      • les navigateurs de clients accédant par HTTP à un portail TXM (à travers le widget HTML de GWT)
      • les navigateurs ouvrant un fichier local pour tests (file://…)
    • autres contextes dont il faudra tenir compte :
      • les outils de production automatique de PDF (CSS pour impression) - navigateur, librairie de navigateur intégrée au sein d'un script, XSL-FO, etc.
        • les sources doivent être compatibles avec les CSS écran et les CSS impression
        • les rendus écran et papier peuvent vouloir partager la même pagination
      • un navigateur interne donnant accès au DOM ou un éditeur HTML wysiwyg intégré pour :
        • sélection de mots ou séquence (appel de concordances…)
        • pour édition des mots
        • pour délimitation de séquences
      • le mode auteur d'un outil comme Oxygen
  • Il faut décider d'une stratégie concernant le format :
    • HTML : [X]HTML 4 et/ou [X]HTML 5
    • XML : TEI, TEI-TXM ?
  • L'encodage UTF-8 est choisi comme encodage des caractères, il faut s'assurer qu'il soit bien reconnu par tous les navigateurs internes de TXM (IE pour Windows), c'est-à-dire tous les contextes
  • La façon de déclarer l'encodage dépend du format (HTML 4, HTML 5, XHTML 1.0 ou XHTML 1.1.)
  • le plus prudent semble être pour le moment de servir les pages en text/html et ne pas mettre la DTD
  • Entête actuel des pages produites par le module XML/w + CSV

<?xml version="1.0" encoding="UTF-8"?>
<html><meta http-equiv="Content-Type" content="text/html" charset="UTF-8"/><link rel="stylesheet" type="text/css" href="txm.css"/><link rel="stylesheet" type="text/css" href="corpusname.css"/>
<head><title>XXX Edition - Page 11</title></head>
...
</html>

  • NB1 : les balises <meta> devraient être à l'intérieur de <head> !
  • NB2 : la déclaration XML peut être retirée
  • Les pages produites par XSL avec la macro EditionUpdater doivent appliquer la même politique

Gestion des notes

Cf. le mail <528CF3A3.7050904@ens-lyon.fr> (liste textometrie@ens-lyon.fr, 2013-11-20 18:38)

L'import XML/W+CSV :

  • Les éléments <note> sont indexés en tant que structure.
  • Dans l'édition, les notes se mêlent avec le corps du texte,
  • un astérisque rouge est ajouté après (le contenu de la note avec les annotations s'affiche en survol)

Solution :

  • Prétraitement XSL :
    • L'appel de la note est transformé en <w>[**Note n**]</w> (n est le numéro de la note dans le document)
    • Le contenu de la note est copié dans l'attribut w/@note (pour afficher en survol)
    • Les notes sont dupliquées à la fin du document dans back/div[@type=“notes”]/ab[@type=“note”]
    • Un <pb n=“Note n”/> est placé devant chaque note finale

Code :

  <xsl:template match="tei:text">
    <xsl:copy>
      <xsl:apply-templates select="tei:front|tei:body"/>
      <back xmlns="http://www.tei-c.org/ns/1.0">
        <div type="notes" xmlns="http://www.tei-c.org/ns/1.0">
          <xsl:apply-templates select="//tei:note" mode="final"></xsl:apply-templates>
        </div>
      </back>
    </xsl:copy>
  </xsl:template>
  
  <xsl:template match="tei:note">
    <xsl:variable name="note-n"><xsl:value-of select="count(preceding::tei:note)+1"/></xsl:variable>
    <w xmlns="http://www.tei-c.org/ns/1.0">
      <xsl:attribute name="note"><xsl:value-of select="normalize-space(.)"/></xsl:attribute>
      <xsl:value-of select="concat('[**Note',$note-n,'**]')"/>
    </w>
  </xsl:template>
  
  <xsl:template match="tei:note" mode="final">
    <xsl:variable name="note-n"><xsl:value-of select="count(preceding::tei:note)+1"/></xsl:variable>
    <pb xmlns="http://www.tei-c.org/ns/1.0" n="{concat('Note ',$note-n)}"/>
    <ab type="note" n="{$note-n}" xmlns="http://www.tei-c.org/ns/1.0"><xsl:apply-templates/></ab>
  </xsl:template>

Navigation dans les pages

(Voir la spéc Éditions / Navigation dans les pages)

Tous les modules d'imports TXM paginent les éditions en pages.

Ils partagent tous le paramètre “nombre de mots par page” qui créé des pages dont le nombre de mot ne dépasse pas ce paramètre.

Les modules d'import basé sur le format XML partagent en plus le paramètre “élément de pagination” (par défaut “pb”) qui sert à marqué les limites de pages. Remarque, pour éviter les conflits avec le paramètre “nombre de mots par page” il faut alors régler le paramètre “nombre de mots par page” à une valeur très grande.

Le module d'import le plus abouti sur la création des pages est le module XTZ (qui reprend en grande partie ce qui avait été fait pour l'import XML/w).

Méthode

Portail

  1. Utiliser le portail de test et pas le portail BFM.
  2. Mettre à jour le logiciel (page racine + libs js)
  3. Documenter comment activer la visionneuse
  4. Mettre à jour les XSL de production d’édition d'Alexis.
  5. Basculer dans le portail BFM

Solution

Pour la version portail

Premier test d'intégration de “simple-viewer” dans les pages facsimilés de la Queste du Graal. Ca marche mais, la largeur par défaut n'utilise pas toute la place disponible (voir contrainte A). Autre formulation : la techno affiche toute la hauteur par defaut.

Pour la version RCP

[SJ:] En l'état actuel, la solution semble obligatoirement passer par Javascript. Quelques exemples ici : http://jexp.ru/index.php/Java_Tutorial/SWT/Browser Je me demande si on aurait pas intérêt à ne plus utiliser le Browser SWT, cela dépend notamment des besoins d'interactions liés aux éditions (ex. sélection de mots ou séquence (appel de concordances…), etc.) mais passer par Javascript semble être une grande contrainte et limité.

Protocole de test

Recette

public/specs_production_editions.txt · Dernière modification: 2018/04/12 10:03 par slh@ens-lyon.fr