publishing Docbook per i diversi target di pubblico
-
01-10-2019 - |
Domanda
mi piace avere un documento XML DocBook che ha un contenuto per diversi target di pubblico. C'è un filtro che mi permette di filtrare il materiale necessario solo per gli utenti "avanzati"?
L'attributo livello è inventato da me per esprimere ciò che ho in mente.
<?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>
Soluzione
DocBook non ha un attributo level
. Forse volevi dire userlevel
?
Se si sta utilizzando i fogli di stile DocBook XSL per trasformare i documenti, hanno il supporto integrato per il profiling (testo condizionale). Per utilizzarlo è necessario
-
utilizzare la versione profiling abilitato del foglio di stile (ad esempio uso
html/profile-docbook.xsl
invece del solitohtml/docbook.xsl
), e -
specificare i valori degli attributi che si desidera al profilo su via un parametro (ad es
profile.userlevel
insieme abasic
).
capitolo 26 di Bob Stayton DocBook XSL: The Complete Guide ha tutti i dettagli.
Altri suggerimenti
Due modi, al largo della parte superiore della mia testa:
- Scrivi uno script veloce che prende il
level
come parametro e, utilizzando XPath o espressioni regolari, che solo sputa fuori l'XML che si desidera. - trasformazione XSLT che sputare il XML che si desidera.
(2) è più pulita, ma (1) è probabilmente più veloce di scrivere.