Analyse des dialectes

Statut : Ébauche

Résumé

L'analyse des dialectes effectuée à partir de critères de sélection précis a permi de sélectionner la DTD DocBook pour la création du Cadre de Référence Gouvernemental en Gestion Intégrée des Documents.


Table des matières

Devrait être générée automatiquement.


Dialectes analysés

L'analyse des dialectes est effectuée à partir des critères contenus dans le document "Critères de choix d'un dialecte XML pour le Cadre de Référence Gouvernemental en Gestion Intégrée des Documents".

Voici la liste des dialectes qui ont été considérés et analysés.

  1. DocBook 4.2
  2. Simplified DocBook
  3. W3C XMLspec 2.1
  4. Open eBook 1.2
  5. ISO 12083
  6. TEI P4 / TEI Lite U5
  7. SWEB 0.5 (module)

L'analyse des dialectes peut se retrouver à deux endroits dans ce document. Premièrement des notes générales sur le dialecte sont présentées. Dans un deuxième temps, un tableau global énonce, lorsque pertinent, le respect ou non du dialecte face aux critères de sélection.


DocBook 4.2

DocBook est en développement depuis1991. Hal et O'Reilly, Davenport et depuis 1998 OASIS est responsable du développement de cette DTD.

On retrouve sur le site WEB de cette DTD des listes de discussion (docbook et docbook-apps), une FAQ, des listes d'erreurs et de bugs.

La DTD et les feuilles de style DocBook sont 100% gratuite bien qu'il y est un copyright.

Cette DTD contient plus de 300 éléments et a comme mandat la description de livres, d'articles, d'autres documents de prose et de la documentation technique.

Les métadonnées de DocBook sont liées à celle du DublinCore dans le tableau de la section suivante 4.2. Relationship to the Dublin Core. Les changements prévus compatibles ou non avec les anciennes versions sont présentés dans le document d'OASIS The DocBook Document Type.

La DTD de DocBook a un nasmespace null.

Statut de la version 4.2: Committee Specification was approved for publication by the OASIS DocBook Technical Committee.

Statut de la version 4.1: OASIS Standard.

Un gabarit XMetal pour la version 4.1.2, provenant du dossier "...\CVS\contrib\tools\xmetal" du CVS de Docbook existe. Ce gabarit est bien fait. Il met bien en évidence les éléments de la DTD dans les vues Tags On et Normal.


Simplified DocBook

Ce sous ensemble d'environ 106 éléments de la DTD DocBook a été créé pour répondre aux besoins de création d'articles plutôt que de livres.

Celle-ci ne répond donc pas à nos besoins.


W3C XML Specification (XMLspec) 2.1

Cette DTD est une des premières à avoir été créée en XML. Depuis le milieu de 1997, Eve Maler de Sun est responsable du développement et maintien de celle-ci.

Le développement de cette DTD est basé sur les normes suivantes : XML, XLink, XPointer, DOM, MathML, XSL, et Schema. Les sources de réflexion pour cette DTD ont été la DTD TEI Lite et celle de SWEB.

Son mandat est la création de rapports techniques respectant les métadonnées et en-tête du W3C.

Il y a une version béta de la DTD présentement disponible en schéma XML.

The DTD conforms to XML V1.0 and makes use of the XML and XLink namespaces. Because DTDs and namespaces don't mix well, the xlink namespace prefix has been hardwired. Source

This version of the DTD does not yet conform fully to the latest working draft of the XLink specification, because this would have required backwards-incompatible changes. Source

La majorité des spécifications W3C, tel que XForms, ont été créée à l'aide de cette DTD.


Open eBook 1.2

La première version de la "Publication Structure" a été créée en 1999 par l'Open eBook Authoring Group.

The Open eBook Publication Structure (OEBPS) is an XML-based specification for the content, structure, and presentation of electronic books. OEBPS is maintained by the Open eBook Forum, a group of over 85 organizations involved in electronic publishing.

All previously deprecated elements have been removed; it is now a true subset of XHTML 1.1.

Une liste de FAQ et deux emails pour reporter les bugs et les améliorations au groupe de développement sont disponibles sur le site Web de l'OeBF.


ISO 12083

ANSI/NISO/ISO 12083-1995 version SGML. Il ne semble pas y avoir de mises-à-jour effectuées depuis cette date.

J'ai regardé l'exemple SGML contenu dans la norme et les éléments nécessaires pour la création de la structure du CRGGID semblent être présents. Par contre, la version XML, "ISO12083:1998 XML document type definition", est encore en développement pour les livres, en version ébauche pour commentaires publiques. Il ne semble pas y avoir de version plus récente.

L'analyse a donc été faite sommairement en raison des points mentionnés dans le paragraphe précédent.


TEI P4 / TEI Lite U5 (Text Encoding Initiative )

Cette initiative a débuté en 1987. Les fonds provenaient de la National Endowment for the Humanities (NEH), l'European Union, le Canadian Social Science Research Council, la Mellon Foundation, et autres.

La DTD XML TEI est modulaire, l'usager a le choix entre plusieurs modules de base en fonction du type de document qu'il veut décrire et par la suite il peut ajouter autant de modules secondaires qu'il le désire pour compléter la liste des éléments qu'il a besoin pour la description de son document.

On retrouve sur le site web de TEI une liste de discussion avec ses archives et une FAQ

TEI P5 will be the next full revision of the Guidelines. No date has yet been fixed for its appearance, but work on it will commence early in 2002.

Cette DTD n'est pas dans les choix de base pour la création de documents dans le logiciel XML Spy.


SWEB 0.5

Cette DTD est un module qui permet de décrire des parties de code de programmation (literate programming). Ce module est utilisé en complémentarité avec d'autres DTD telque TEI, DocBook, etc.. Cette DTD a été traduite en XML en 2002 après avoir été créée en septembre 1995.

The Sweb tag set includes just a few extra tags for use in the text of the documentation itself: they mark scraps of code and references to identifiers and code fragments in text.


Tableau de conformité aux critères de sélection

Ce tableau indique si la DTD analysée est conforme à chacun des critères de sélection. Il contient également, lorsque pertinent, les éléments et/ou attributs qui sont utilisés pour respecter ce critère.

Critères\DTDsDocBookTEI / TEI Lite XMLspecOpen eBookISO 12083
DocumentationOui, livre électronique et papier très bien fait. Description de chaque élément avec ses attributs, liste des éléments parents et enfants, et exemples. Ce document est également disponible en "fichier d'aide".OUI, on y décrit la structure des DTD's, le code XML et les éléments. Cette documentation est par contre, selon moi, moins bien faite que celle de DocBook OUI, mais il n'y a pas d'exemple, on peut par contre regarder les spécifications qui ont été créées à l'aide de cette DTD pour avoir des exemples de code XML.Oui, + celle déjà existante pour XHTML 1.1Oui, norme ISO 12083 avec des descriptions et exemples de documents.
En-têtePlusieurs éléments des niveaux supérieurs contiennent un élément pour inscrire les métadonnées. L'élément "bookinfo" par exemple est plus axé vers les métadonnées des documents papier. Par contre avec l'élément "biblimisc" et l'attribut "role" on peut ajouter les méta que l'on veut, si les éléments enfants ne sont pas pertinents. La correspondance avec le Dublin core est disponible dans la doc.L'entête est constituée de 4 parties : 1) "file description" contient les métadonnées à propos du document (description bibliographique) 2)"encoding description" : décrit les relations avec le ou les sources 3)"text profile" : autres métadonnées non-bibliographiques pour la description d'éléments 4) "revision history".oui, l'élément "header" contient les métadonnées reliées aux besoins du W3C : title, version (optional), w3c-designation, w3c-doctype, pubdate, notice (optional and repeatable), publoc, prevlocs (optional), latestloc (optional), authlist, copyright (optional), abstract, status, pubstmt (optional), sourcedesc (optional), langusage, revisiondesc.OUI, la DTD "package" permet l'insertion des métadonnées du Dublin core. Il y a également un élément de prévu pour inclure d'autres métadonnées.
Sections (parties) L'élément de premier niveau pertinent à notre cas est "book". "part" permet de décrire une partie.Le contenu du document est sous la balise "text" qui se divise en "front", "body" et "back".L'élément de premier niveau est "spec" qui contient des attributs spécifiques à la publication des spécifications au W3C "W3C-doctype", "other-doctype" et "statut".H1-H6Six niveaux de sous-sections sous l'élément section.
ChapitresOUI. "Chapter"Voir "Divisions"Voir "Divisions"H1-H6
Divisions oui, sections avec numéros ou récursives. La numérotation est ajoutée à l'aide de feuilles de styles.Selon une série d'éléments div numérotée de "div0" à "div7" ou l'élément "div" récursif. Les deux ne peuvent pas être utilisés simultanément. L'attribut "type" permet d'inscrire le type de la division tel que "chapitre", "partie", etc.Les divisions du corps du document vont de l'élément "div1" à "div5". H1-H6
TitreOui, pour les sections, chapitres, parties, et autres éléments appropriés.Oui, chaque division peut contenir l'élément "header" pour inscrire le titre.Chaque élément div* inclut un élément "head" qui permet d'inscrire un titre.Les titres sont à l'intérieur des éléments H1 à H6.
Listes Sept types de listes: légende (callout), glossaire, ordonnée, item (non-ordonnée), segmentée, simple, variable (terme + def). Imbrication: oui Il y a un élément générique pour les liste "list" son attribut "type" permet de spécifier le type de liste désirée.Regular lists : Unordered list, Ordered list, Simple list et Glossary list (label + def). Special lists: Bibliography list et Organization list. Imbrication pour les listes régulières sauf "simple list".ok.
Liens hypertextuelsoui, avec les balises "ulink", "olink", "link", etc mais non-conforme à la norme Xlink. Oui,Xlink, mais pas complètement conforme à la spécification. Certains éléments ont un attribut "href". Lorsque le lien est d'un type particulier il y a un élément spécifique qui permet de la décrire: xtermref, bibref, xspecref, termref.OUI. L'implantation va utiliser le module "DTD/xhtml-link-1.mod"
Glossaireoui, l'élément "glossary" permet d'inscrire: terme, déf., accr., seealso, ID, la source de la définition est inscrite avec les éléments "blockquote > attribution" pour créer le glossaire à la fin du document. Lien avec les mots dans le texte avec l'ID de l'entrée dans le glossaire.Oui, correspond au type de liste "gloss" avec "label" et "item" en plus des attributs de base.Oui. Correspond à la liste régulière de type "Glossary list".Liste de définitions.
IndexLes chaînes de caractères à indexer sont marquées dans le texte du document par un groupe de balises ("indexterm"). L'index peut donc être généré automatiquement.Les éléments sont marqués, il y a également une balise "index" qui permet d'avoir plus d'un index à la fin du document, par exemple, l'index sujet et celui des auteurs. Quatre niveaux d'imbrication sont prévus pour les mots incluent dans les index.NON. Je n'ai pas vu d'élément pour créer les index.NON.
BibliographieOK."bibliomisc" inclut l'élément lien permettant d'inscrire l'hyperlien de la ressource que l'on décrit. L'appel des références se fait avec "citation".Tous les éléments disponibles dans le header pour décrire une référence bibliographique complète sont disponibles. Par contre il y a plus d'un niveau de description pour les bibliographies, de simple à complet. L'appel des références est également disponible. L'élément "link" peut-être présent sous "BiblFull".INCOMPLET Semble correspondre à "Bibliography list" qui est très peu délimité ne contient pas les éléments habituels d'une biblio a part le titre, mais répond au besoin du W3C de faire référence à une liste de normes. Permet l'appel d'une référence avec un "intitulé".NON.
IllustrationsLes éléments "figure", "graphics" et "mediaobject" permettent d'inclurent des illustrations. L'attribut "label" permet d'inscrire un texte. V5.0 "graphic" va être remplacé par "mediaobject". L'élément "mediaobject" permet d'inscrire plusieurs alternatives dans l'ordre de remplacement pour différentes technologies, médias plus pauvres et texte. La ou les listes des illustrations seront générées par la feuille de style. Pour les illustrations le format est décrit mais non le type MIME.Permet d'inscrire une description textuelle alternative à l'image. Il peut y avoir un intitulé d'inscrit si désiré et même des paragraphes de texte. Des alternatives peuvent être inscrites dans l'attribut "alt" (alternation)L'élément vide "graphic" permet de d'insérer un graphique dans le document, l'attribut "alt" permet d'inscrire une version alternative textuelle.img, avec alternative texte.
TableauxUtilise CALS. Avec titre.Oui, avec titre. Colonnes et lignes.Utilise les tables HTML Version 4.0-style.oui.
Texte Mise en évidence de parties de texte: caution, important, note, tip, and warning. Exemples : "example" avec titre et "informalexample" pour les exemples sans titre. Éléments respectant les espaces et les sauts de lignes : adresse, literallayout, programlisting, screen, screenshot, synopsis. Trois types de paragraphe: "para", "simplepara" (n'inclut pas d'autres éléments blocs) et "formalpara" (avec titre). Équations avec ou sans titre. L'ensemble des critères pour les éléments textes sont disponibles ainsi que beaucoup plus.abbréviations, citation avec ou sans source, paragraphe, ligne, emphase, exemples de balises - éléments, adresse, notes ou annotation, L'élément "eg" avec l'attribut "xml:preserve" permet d'inscrire des exemples de codes. On peut aussi faire la même chose pour les fragments de code. L'élément "example" est utilisé pour les exemples de code accompagnés d'explications. Il y a aussi un élément plus complexe pour les morceaux de code contenant des langages de production "scrap". Footnote, termes et définitions à l'intérieur du texte, emphase, "phrase" identifie un bout de texte qui a besoin d'avoir des valeurs inscrites dans ses attributs, citation dans le texte, exposant et indice,. D'autres éléments permettent de délimiter les attribut, leurs valeurs, les éléments, une fonction et une variable. Les éléments de type bloc suivant: address | blockquote | div | p | pre. Ainsi que les éléments de types lignes suivants: abbr | acronym | br | cite | code | dfn | em | kbd | q | samp | span | strong | var
Info-bulles L'attribut "role" des attributs de base permettrait d'identifier le texte des info-bulles. La DTD pourrait également être étendue.On peut étendre la DTD ou certains éléments pourraient être utilisés pour délimiter les info-bulles. Il n'y a pas par contre d'attribut de type role dans les attributs communs.L'attribut "role" pourrait servir à délimiter les info-bulles.Les éléments "div" et/ou "span" pourraient servir à délimiter les info-bulles.
RévisionLes attributs de base permettent de choisir parmi une énumération le type de révision "revisionflag" et l'identification de la révision. Pour plusieurs éléments, incluant les paragraphes, l'élément "revhistory" permet d'inscrire l'information sur les révisions (# de la révision, date, initial, remarques incluant les hyperliens)Il est possible de délimiter le texte ajouté, enlevé ou modifié. Ces éléments peuvent contenir des sous-éléments pour insérer des liens et des dates. Le responsable peut être inscrit également.L'attribut commun "diff" pouvant avoir 4 valeurs "off", "add", "chg" et "del".Retrait et ajout de texte simplement. attribut pour un URL et la date.
Notes édition L'élément "remark" qui n'a pas de titre permet d'inscrire les notes d'édition. Les notes d'édition peuvent être inscrites dans l'élément "note" ou "notes" lorsqu'il y a un groupe, peuvent contenir les éléments pour insérer des liens et des dates. Le reponsable peut être inscrit également.Les notes d'édition sont délimitées et permettent d'inscrire la date, la personne et le texte de la note, en plus des trois attributs de base "id", "role" et "diff".non
Table des matièresLa DTD DocBook possède des éléments pour décrire la table des matières, par contre on peut les ignorer et la faire générer automatiquement.OK, généré automatiquement.Oui, généré automatiquement.oui, généré automatiquement.
IdentificateurParmi les 12 attributs de base des éléments.OUI dans les attributs de base.Parmi les 3 attributs de base des éléments.oui
Libellé des liensxreflabel permet d'inscrire un intitulé qui sera utilisé pour les liens hypertextes. Oui, avec l'attribut de base "n" pour inscrire un chiffre ou un libellé.L'attribut "key" pour les éléments "name" et "bibl" permet de trier, indexer et insérer un libellé pour les liens.non
Possibilité d'étendre la DTDAvec l'attribut "role" ou en ajoutant des éléments à la DTD de DocBook.On peut adapter la DTD en renommant des éléments ou la modifier en ajoutant ou retirant des éléments. (TEIform indicates the standard TEI name (generic identifier) for a given element.)Par l'attribut commun à tous les éléments "role".
The DTD has been parameterized to allow for: Modification of certain content models that are likely to be subject to personal and Working Group preference Addition of new elements at the "standalone" and "phrase" levels Some limited removal of existing elements at the "standalone" and "phrase" levels Addition of new attributes to an attribute list.
OUI. "DIV" et "SPAN".
Outils :Série de feuilles de style pour aller vers HTML, fo, print via DSSL, documentation disponible pour ces feuilles de styles XSL. XML Spy lors de la création d'un nouveau document propose la version 4.1.2 de DocBook parmi les choix de DTD's . XMetal : ouverture version 4.2 sans problème, il y a même un "template" qui permet d'avoir un formatttage lors de la création des documents (version 4.1.2). L'application eDE avec JAVA permet de générer les différents formats de publication pour la version 4.2.1 de la DTD.XSLT pour XML ayant pour focus TEI Lite pour créer du HTML et XSL FO pour créér le PDF avec PassiveTex. Disponibilité d'un template simple incluant une barre des tâches pour XMetal(pas fameux).Feuille de style XSL formating object pour version 2.1 de la DTD ainsi que pour format HTML approprié pour le W3C (DTD v2.1).Cette DTD est un sous ensemble de celle de XHTML 1.1. Les éléments des feuilles de style CSS 2 sont décrit rapidement dans la documentation. There are a number of reading systems and tools that support the OEBPS Publication Structure. Many of them produced by OeBF members
Balise de présentationNon.L'attribut de base "render" permet d'inscrire comment le texte sera rendu ex. "italic", l'élément "lb" marque un saut de ligne.Non.oui, "i", "br"...
Identificateur génériqueassez explicite.Les éléments et les attributs sont en minuscules seulement.Plusieurs genID sont beaucoup abbréviés donc le sens est flou, deplus un même genId peu se retrouver dans plus d'une DTD modulaire mais avoir un sens différent.assez expliciteDéjà habitué à ceux-ci via les genID HTML utilisés dans la DTD XHTML. GenID en minuscule.
AutresQuestions/réponsesDifférentes notes spécifiques aux besoins du W3C : Regular note, Issue ,Well-formedness constraint note, Validity constraint note, Generic constraint note. Function Prototype.


DTD retenue avec justification

Lors du choix de la DTD il a été jugé important d'essayer dans un premier temps de trouver une DTD déjà existante possédant des outils de publication et d'édition déjà disponibles qui pouvaient répondre à nos besoins. Le fait de choisir une DTD existante au lieu d'en créér une nouvelle offre les avantages et inconvénients suivants :

Avantages

Inconvénients

Le choix de la DTD a été réalisé afin de minimiser au maximum les possibles inconvénients ci-haut mentionnés. Une attention particulière a été portée sur la ou les possibilités d'étendre une DTD à l'aide d'éléments ou d'attributs génériques déjà disponibles dans le dialecte.

La qualité de la documentation, le respect de nos critères exception faite de 1)la spécification des types MIME et 2)la conformité à la norme Xlink (aucune DTD parmi nos choix ne respectait complètement ce point), la disponibilité d'outils d'accompagnement, la notoriété de l'éditeur, les mises-à-jour régulières, la possibilité de support, la disponibilité de la DTD en format "open source". Ces éléments nous ont amenés à choisir la DTD DocBook présentement développée par OASIS.

Le module SWEB pourrait être utilisé pour la description des exemples de codes dans le guide. Présentement, les besoins identifiés pour les exemples de code peuvent être décrit à l'aide de la DTD de DocBook.

DocBook a été préféré à TEI, car la DTD de TEI a des éléments plus génériques qui sont spécifiés par un attribut qui permet d'indiquer le type de l'élément. Par exemple, lorsque l'on veut décrire un chapitre, l'élément "div" pourra être utilisé avec l'attribut "type="chapitre"". Également, ces identificateurs génériques sont moins explicites car abbréviés.


Principales références

  1. DocBook: The Definitive Guide v. 2.0.7 (pour la version 4.2 de la DTD)
  2. Site Web de DocBook
  3. Guide to the W3C XML Specification (XMLspec) DTD, Version 2.1
  4. Open eBook Publication Structure 1.2
  5. XHTML™ 1.1 - Module-based XHTML
  6. ISO 12083 Book XML DTD
  7. Guidelines for Electronic Text Encoding and Interchange
  8. SWEB

20021023 - Diane Girard - <GRDS>