Envoyer un mail à l’auteur
xavier at ultra-fluide.com

Switch to
English

Marquage sémantique XSLT

Marquage sémantique par transformation XSL

XSLT

Il existe de nombreuses ressources sur le web qui traitent de XSLT (transformation XSL), à commencer par la recommandation du W3C. Nous ne nous étendrons donc pas sur cette technologie, et en rappellerons simplement l'essentiel : XSLT est un langage fondé sur XML autorisant l'écriture de règles de transformations visant à passer d'un arbre XML source à un arbre XML résultat.

Un document XSLT décrit donc une transformation s'appliquant à un document ou une classe de documents. L'obtention du document transformé découle de la soumission à un proceseur XSLT du document XML à transformer et la transformation XSLT. Le processeur XSLT est l'outil informatique capable d'interpréter le langage XSLT pour réaliser la transformation concrète d'arbres XML.

Semark.xsl : principe général

La transformation semark.xsl produit, à partir un document XML de contenu source et d'un lexique tiers, un arbre XML résultat de même contenu que la source, mais présentant des marques sur certains contenus spécifiques décrits au sein du lexique. Le lexique liste le vocabulaire spécifique, et explicite ce vocabulaire en vue du marquage.
La transformation s'applique à tout fichier XML, donc en particulier aux fichiers web écrits en XHTML.

Supposons par exemple que nous disposions de ce fragment d'arbre source :

<body>
   <h1>SEMARK.XSL</h1>
   <p>un outil <a href="url">xsl</a> intéressant
      <br />basé sur :
   </p>
   <ul>
       <li>XML</li>
       <li>XSLT</li>
   </ul>
</body>

Supposons que le lexique soit ainsi :

<body>
   <dl>
      <dt>XSLT</dt> <dd>Transformation XSL</dd>
      <dt>SVG</dt> <dd>Scalable Vector Graphics</dd>
      <dt>XSL</dt> <dd>eXtended Stylesheet Language</dd>
    </dl>
</body>

Nous obtiendrons avec les options par défaut le résultat suivant :

<body>
   <h1>SEMARK.XSL</h1>
   <p>un outil
      <a href="url">
         <acronym title="eXtended Stylesheet Language">xsl</acronym>
      </a>
      intéressant
      <br />basé sur :
   </p>
   <ul>
       <li>XML</li>
       <li>
           <acronym title="Transformation XSL">XSLT</acronym>
       </li>
   </ul>
</body>

Le lexique a une structure fixe basée sur les éléments dl, dt et dd. Les éléments dt sont les entrées du lexique, et listent les mots ou expressions devant faire l'objet d'un marquage dans le document source. Les éléments dd qualifient les entrées du lexique. Les contenus des éléments dd servent lors du marquage à renseigner l'attribut de marquage s'il est présent.

Semark.xsl : options de fonctionnement

La transformation semark.xsl admet en entrée quelques paramètres qui autorisent d'en régler le fonctionnement.

lexique-name
Chemin d'accès au fichier contenant le lexique. Valeur par défaut : lexicon.html.
to-parse
Liste d'éléments du document source devant faire l'objet d'une analyse pour le marquage. Tout contenu marqué a obligatoirement pour ancêtre un des éléments de cette liste. Valeur par défaut : body.
not-to-parse
Liste d'éléments du document source devant être bannis de l'analyse. Aucun contenu ayant pour ancêtre un élément de cette liste ne pourra faire l'objet d'un marquage. not-to-parse est prioritaire sur to-parse, lorsqu'un contenu a des ancêtres dans les 2 listes il n'est pas analysé. Valeur par défaut : chaîne vide (pas d'éléments dans cette liste).
marker-name
Elément et attribut de marquage. L'attribut de marquage, s'il existe, est renseigné par le contenu de l'élément dd du lexique. Le marquage est de la forme : <element attribut="contenu dd prélevé dans le lexique">vocabulaire à marquer</element>. Valeur par défaut : acronym title.
max-per-doc
Nombre maximum de marquage par entrée du lexique sur l'ensemble du document. Valeur par défaut : -1 (pas de limite).
element-to-limit
Liste d'éléments pour lesquels on souhaite imposer une limite spécifique du nombre de marquage. Valeur par défaut : chaîne vide (pas d'éléments dans cette liste).
max-per-element
Nombre maximum de marquage par entrée du lexique pour chaque élément listé dans le paramètre element-to-limit . Valeur par défaut : -1 (pas de limite).
case-accent-sensitive
Booléen permettant de gerer la sensibilité à la casse et aux accents. True rend semark.xsl sensible à la casse et aux accents. Valeur par défaut : false.

Agence de communication Ultra-Fluide : 01 47 70 23 32 - contact at ultra-fluide.com - 44 rue Richer 75009 Paris.