Formats de documents pour le Web
Vincent Quint
Document Formats Domain Leader
World Wide Web Consortium
 
CEMT
workshop  ⋅  Grenoble  ⋅  23
mai 2002
Formats de documents
  - Hypertexte : XHTML
- Mathématiques : MathML -
    Mathematical Markup Language
- Graphique : SVG - Scalable
    Vector Graphics
- Style - Séparation contenu/style 
    
      - CSS - Cascading Style Sheets
- XSL - Extensible Stylesheet Language
 
Hypertexte - XHTML
Objectif : Après HTML 4.0 (1997), développer la
prochaine génération de HTML en utilisant les technologies XML
  - Favoriser le développement de pages correctes
- Intégration de HTML avec les autres applications XML
- Modularisation : adaptation à la variété croissante des
  browsers
- Réduire les coûts de production des sites Web
XHTML - Recommandations
  - XHTML 1.0 - janvier 2000, 2nde édition octobre 2001 
    Reformulation de HTML 4.01 en XML 3 variantes : Transitionnel, Frameset,
    Strict 
- Modularisation de XHTML - avril 2001 
    XHTML 1.0 découpé en modules définis par des DTD Pour définir des sous-ensembles et sur-ensembles de XHTML 
- XHTML Basic - décembre 2000 
    Un ensemble minimum de modules adapté aux mobiles 
- XHTML 1.1 - mai 2001 
    Une version modularisée de XHTML 1.0 strict + Ruby 
XHTML - Développements
  - Modularisation de XHTML fondée sur les schémas XML
- XML Events - associer des comportements au
    balisage
- XHTML 2.0 - 1er WD bientôt 
    
      - Document complet
- Compatibilité non assurée
- Pas de frames (XFrames), pas de
        formulaires (XForms)
 
- Media type : application/xhtml+xml
Plus de détails : http://www.w3.org/MarkUp/xhtml-roadmap/
MathML - Mathematical Markup Language
Objectifs
  - Intégrer des expressions mathématiques dans les pages Web
- Permettre l'échange de formules entre logiciels mathématiques
- Représenter la structure de présentation
 et la structure du contenu
Caractéristiques
  
    
      | 
          Un langage écrit en XMLUtilisable avec d'autres langages XML Style compatible avec CSS |  | 
  
MathML - Un exemple
  
  
    
      | Présentation | Contenu | 
    
      | <math>
  <msup>
    <mi>x</mi>
    <mn>2</mn>
  </msup>
  <mo>+</mo>
  <mn>1</mn>
</math> |  <apply>
   <plus/>
   <apply>
       <power/>
       <ci>x</ci>
       <cn>2</cn>
   </apply>
   <cn>1</cn>
 </apply> | 
  
MathML
Résultats
  - Recommandations :
 MathML 1.0 - avril 1998, MathML 2.0 - février 2001
- Nombreuses implémentations :
 éditeurs, browsers, afficheurs, convertisseurs, widgets
- DTD XHTML 1.1 + MathML 2.0
Travaux en cours
  - Maintenance de MathML 2.0, errata
- Schéma XML pour MathML 2.0
- Feuille de style XSLT pour MathML
- Déploiement
- Services Web MathML
SVG - Scalable Vector Graphics
Un langage XML pour décrire des graphiques 2D contenant :
  - des formes vectorielles
- des images
- du texte
Structuration : groupes, copies par référence, style
(CSS), transformations géométriques.
Effets : clipping,
transparence, filtres
Dynamique : interaction (événements, scripts, DOM),
animation (SMIL)
SVG
Résultats
  - Recommandation SVG 1.0 - septembre 2001
- Suite de tests pour SVG 1.0
- Nombreuses implémentations : viewers,
    éditeurs natifs, importation/exportation, convertisseurs, générateurs
    (serveur)
Travaux en cours
  - SVG 1.1 : Modularisation de SVG 1.0 (CR)
- Profils Mobile : SVG Tiny et SVG Basic (CR)
- SVG 1.2 : extension de SVG 1.1
- Préparation de SVG 2.0
Feuilles de style
Séparer le style d'un document de sa structure/contenu
  - Sans modifications, un même document peut être présenté de différentes
    façons : 
    
      - Selon le lecteur
- Selon les caractéristiques de l'appareil de restitution
 
- Différents documents peuvent être présentés de façon homogène
Avantages : maintenabilité des sites Web, indépendance des
plates-formes, performances
CSS, XSL - Langages de feuille de style
  - CSS - Cascading Style
  Sheet
- Un langage simple pour associer des propriétés de style à des
      documents structurés 
      Cascade : différentes feuilles de style peuvent être
      combinées (auteur, site, client, utilisateur) 
- XSL -Extensible Style sheet
  Language
- Conçu pour XML. Permet de transformer la structure du document ou des
      données 
      Syntaxe XML Structures de pages complexes, tables des matières, index,
      conversion de format 
CSS - Principes
Une feuille de style est un ensemble de règles
comprenant chacune
Sélecteurs CSS
  - Type de l'élément : h1 {color: blue}
- Classe de l'élément (attribut class) : .important {font-style: italic}
- Un élément unique (ID) : #z98y {font-family:
    helvetica}
- Pseudo-classe : p:first-letter {font-size:
    24pt}
- Type et classe : li.important {background-color:
    yellow}
- Contexte structural : ul ul li {font-size:
    smaller}
- etc.
Propriétés CSS2
  - Polices : famille, taille, style, variantes,
    graisse, étirement, etc.
- Couleur du texte, couleur de fond, image de fond
- Format : Bloc, élément flottant, élément en
  ligne
- Position absolue, relative, superposition
- Géométrie : Largeur, hauteur, marges, filets
- Génération de contenu, numérotation, marques de
  listes
- Description des pages, contrôle des sauts de page
- Texte : indentation, alignement, décoration,
    soulignement, interlettrage, etc.
- Tables : bordures, cadres, espacement, etc.
- Sortie vocale : volume, pauses, effets sonores, position de
    la source, débit, hauteur du son, etc.
CSS
Résultats
  - Recommandations CSS1 - décembre 1996, CSS 2 - mai 1998
- Nombreuses implémentations, suites de test, validateur
Travaux en cours : CSS3
  - Modularisation, profils (TV, mobile)
- Desktop publishing
- Internationalisation (texte, ruby,
  fontes)
- Multimedia (media queries)
- Suite de tests pour CSS3 
    
  
XSL - Architecture
XSL comprend deux composants
  - XSLT : Transformations
- Un langage pour exprimer les transformations d'un type de document
      XML en un autre 
      Le type cible peut être XSL-FO 
- XSL-FO : Formatting Objects
- Un langage XML qui définit des objets de formatage et les propriétés
      de style associées 
      Mêmes propriétés que CSS 
Transformations XSLT
XSLT - Transformations
XSLT : "le Perl de XML"
Une feuille de style XSLT contient un ensemble de règles pattern/template
  - Pattern
- Contexte structural dans la structure source 
      Expression XPath 
  - Template
- Fragment du résultat à produire pour le pattern correspondant
XSLT - Exemple
<xsl:template match="Titre">
   <h1>
      <xsl:apply-templates/>
   </h1>
</xsl:template>
Source :
<Titre>Introduction</Titre>
Résultat :
<h1>Introduction</h1>
XSL-FO
Modèle de formatage pour documents mis en page
  - Modèle de zones riche pour le formatage du texte
- Multi-colonnes
- Plusieurs modes d'écriture
- et plus encore.
XSL
Résultats : Recommandations
  - XSLT 1.0 - novembre 1999
- XPath 1.0 - novembre 1999
- XSL 1.0 - octobre 2001
Travaux en cours
  - XSLT 2.0 (WD) : groupement, tris, fonctions utilisateur, sorties
    multiples, sortie XHTML
- XPath 2.0 : en liaison avec XQuery
- XSL-FO : propositions d'extensions pour version 2.0
Autres activités
  - XForms
- Nouvelle génération de formulaires sur le Web
- Internationalisation
- Assurer que les spécifications soient adaptées à toutes les langues
      et cultures
- Amaya
- Mise en oeuvre des spécifications W3C dans un environnement
      auteur/browser
Conclusions
Des pages Web plus riches : graphique,
mathématiques, style
Utilisation des technologies XML
Des pages mieux structurées ==> réutilisables,
retraitables
Des langages modulaires ==> combinaisons, profils
Pour en savoir plus : http://www.w3.org/DF/