publication DocBook pour différents publics cibles
-
01-10-2019 - |
Question
J'aime avoir un document XML DocBook qui a un contenu pour plusieurs publics cibles. Y at-il un filtre qui me permet de filtrer les choses nécessaires que pour les utilisateurs « avancés »?
L'attribut de niveau est inventé par moi pour exprimer ce que je pense.
<?xml version="1.0"?>
<book>
<title lang="en">Documentation</title>
<chapter id="introduction" level="advanced">
<title>Introduction for advanced users</title>
</chapter>
<chapter id="introduction" level="basic">
<title>Introduction for basic users</title>
</chapter>
<chapter id="ch1">
<para level="basic">Just press the button</para>
<para level="advanced">
Go to preferences to set your
needs and then start the process
by pressing the button.
</para>
</chapter>
</book>
La solution
DocBook ne dispose pas d'un attribut level
. Peut-être que vous vouliez dire userlevel
?
Si vous utilisez les feuilles de style DocBook XSL pour transformer vos documents, ils ont un support intégré pour le profilage (texte conditionnel). Pour l'utiliser, vous devez
-
utiliser la version de profilage activée de la feuille de style (par exemple l'utilisation
html/profile-docbook.xsl
au lieu duhtml/docbook.xsl
habituel), et -
spécifier les valeurs d'attributs que vous voulez sur le profil via un paramètre (par exemple, ensemble
profile.userlevel
àbasic
).
Chapitre 26 de Bob Stayton DocBook XSL: Le guide complet a tous les détails.
Autres conseils
Deux voies, du haut de ma tête:
- Ecrire un script rapide qui prend la
level
en tant que paramètre et, en utilisant XPath ou des expressions régulières, que seules les recrache XML que vous voulez. - Ecrire une transformation XSLT qui recracher le XML que vous voulez.
(2) est plus propre, mais (1) est probablement plus rapide d'écrire.