Marquage sémantique par transformation XSL

Semark.xsl, un outil universel de marquage sémantique pour contenus XML.

 

Semark.xsl working principle

 

Semark.xsl réalise le marquage d'un contenu XML en s'appuyant sur un lexique externe. L'outil, une transformation XSL, recherche dans le contenu XML source les instances des mots ou expressions listées dans le lexique, puis introduit un marquage pour chacune de ces instances.

Dans notre schéma, le lexique contient une entrée pour le mot "content". Semark.xsl recherche la présence du mot "content" dans le document source, et marque ce mot en posant la balise <a href="link">content</a>. Le type de marque utilisée, a/href dans notre exemple, est un paramètre dynamique à l'exécution de semark.xsl. La valeur de l'attribut, "link" dans l'exemple, est une variable disponible dans le lexique pour chaque entrée de ce lexique.

Si cette brève explication ne vous a pas permis de vous faire une idée satisfaisante du sujet, je vous propose de tester la démonstration en ligne. Si vous être pressé vous pouvez télécharger le package et essayer ultérieurement les exemples proposés sur votre ordinateur.

Dans quelles circonstances utiliser Semark.xsl ?

Son utilisation vous déchargera d'une tâche ingrate lorsque :

  • vous travaillez sur un nombre conséquent de documents XML,
  • vous souhaitez réaliser un marquage régulier et rigoureux de leurs contenus.

L'intérêt de Semark.xsl est amplifié lorsque les contenus de ces documents sont évolutifs, et mis à jour par des auteurs variés.

Au vu de ces critères, un site web (réalisé en XHTML, ou disposant de sources de contenus XML) est une cible évidente pour la mise en oeuvre de Semark.xsl. Dans le domaine du web, sans être exhaustif, nombreux sont les marquages utiles : acronym/title, abbr/title, a/href, strong, em ... Rien n'empêche d'envisager également un marquage span/class, mais cette pratique traite moins de la sémantique du contenu que de la problématique de présentation web.

Voici des exemples justifiant de s'intéresser à Semark.xsl :

  • vous disposez d'un volume conséquent de documentation, et vous utilisez un vocabulaire métier spécifique. Vous pensez qu'il serait utile au sein de cette documentation de mettre ce vocabulaire en avant et d'en fournir chaque fois une définition facilement accessible.
  • vous gérez un site web, et certaines pages importantes de ce site sont très bien représentées par quelques mots et expressions. Il apparaît judicieux lorsque ces mots ou expressions figurent dans un contenu du site que cette présence s'accompagne de liens vers les pages correspondantes.
  • vous souhaitez offrir un service interactif qui retourne à l'utilisateur un contenu avec la mise en avant dynamique de certains critères (exemple : moteur de recherche restituant les résultats avec mots clefs surlignés).

Mieux comprendre les notions introduites par la définition.

Outil

Outil désigne dans notre esprit un dispositif qui prend en charge certaines tâches en vue d'une simplification des interventions humaines. Effectivement Semark.xsl automatise un processus de marquage. Il rend ce processus régulier, rigoureux et introduit la possibilité d'un traitement de masse.

Universel

Aujourd'hui une fraction importante (et croissante) des documents électroniques sont enregistrés dans un format basé sur le méta langage XML. XSL le langage utilisé pour coder Semark.xsl est un standard disponible sur tous les OS (Linux, Windows, Unix...) et dans tous les environnements (JAVA, PHP, .NET...). Il est donc possible de traiter un grand nombre de documents sans dépendance vis à vis de la plate-forme utilisée.

Contenus XML (documents structurés)

XML est un méta langage (ensemble de règles syntaxiques) qui autorise la constitution de documents structurés. Réaliser un document structuré à partir d'un contenu, c'est diviser ce contenu et le répartir au sein d'une structure définie par un langage fondé sur XML. La structure est une arborescence, elle définit donc des ensembles, sous-ensembles, sous-sous-ensembles... au sein desquels pourront se loger les éléments du contenu.

Semark.xsl est écrit dans le langage XSLT, lui même respectant la syntaxe XML. XSLT a été conçu spécialement pour manipuler les documents XML. Il en résulte que Semak.xsl est capable de traiter tout document XML, c'est à dire tout contenu écrit dans un langage XML.

Marquage sémantique

La sémantique d'un document structuré est constituée de l'ensemble des règles qui définissent la structure du document (ou de la classe de documents à laquelle le document appartient). Prenons un exemple avec ce contenu : "Une magnifique histoire, écrite par Xxxx Yyyy se compose de 256 pages". Dans sa version structurée, ce même contenu pourrait être :

<livre>
    <titre>Une magnifique histoire</titre>
    <auteur>
      <prenom>Yyyy</prenom>
      <nom>Xxxx</nom>
    </auteur>
    <taille>256</taille>
</livre>

A l'évidence, le contenu structuré contient beaucoup plus d'information. Une partie de l'information provient du contenu lui même, mais la présence de la structure et le fait que le contenu soit organisé dans cette structure complète notablement cette information. Ainsi il est clair que "Une magnifique histoire" est le titre d'un livre, ce qui n'était pas évident à partir du contenu brut. De même qu'à l'origine il était impossible de déterminer le prénom de l'auteur, le contenu structuré donne "Yyyy" sans ambiguïté.
En revanche utiliser ou comprendre un contenu structuré nécessite une connaissance de son organisation et de sa signification. Ainsi il faut savoir que <taille> utilise l'unité page pour comprendre que ce livre fait 256 pages.

De cet exemple il est facile de deviner que :

  • il n'y a pas une structure unique valable pour traiter un contenu,
  • le choix d'une structure par rapport à une autre dépend du contexte d'utilisation du contenu structuré,
  • plus la structure est riche, plus il y a de chance (mais ce n'est pas une certitude) que le contenu structuré soit dense en informations.

Semark.xsl est un outil de marquage sémantique car :

  • il analyse et respecte la structure (sémantique) d'un contenu structuré,
  • il enrichit (légèrement) la structure du document par l'ajout de marques propres à la sémantique disponible pour le document

Il en résulte un document refermant le même contenu, respectant la sémantique d'origine mais présentant un niveau d'information légèrement supérieur. Semark.xsl recherche cette information complémentaire au sein d'un lexique externe.

Sémantique et présentation

Les discussions concernant le web font souvent ressortir, en opposition, les questions relatives à la sémantique d'un document, et celles relatives à sa présentation. La pensée actuelle et les technologies indiquent qu'il est utile de séparer la présentation et la sémantique afin d'obtenir une factorisation efficace de ces deux notions.

Dans ce contexte nous devrions affirmer que notre outil ne traite pas la problématique *présentation de document*. Nous considérons cependant qu'il est nécessaire d'infléchir cette position :

  • la présentation d'un document présente une forte corrélation avec sa sémantique, en particulier, un document enrichi par une marque sémantique pourra faire l'objet d'une présentation enrichie au niveau de cette marque.
  • il est tout à fait possible techniquement qu'une sémantique XML soit partiellement ou totalement définie pour préciser des caractéristiques de présentation des documents.

En conclusion Semark.xsl touche par nature la sémantique des documents, mais rien n'empêche cependant d'avoir en l'utilisant des visées dépassant la sémantique, selon le sens éminemment varié que l'on peut voir en celle-ci.



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

Switch to
English

Marquage sémantique XSLT

Site conforme au W3C : XHTML 1.0 Strict et CSS 2. Testé sous IE5 PC, IE6 et 7, Firefox 1+, Safari 1.2+