Pregunta

Me gustaría tener un documento XML DocBook que tiene contenido para varios destinatarios. ¿Hay un filtro que me permite filtrar la materia solamente es necesario para los usuarios "avanzados"?

El atributo de nivel es inventada por mí para expresar lo que tengo en 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>
¿Fue útil?

Solución

DocBook no tiene un atributo level. Tal vez te referías userlevel ?

Si está utilizando las hojas de estilo DocBook XSL para transformar sus documentos, se han incorporado en el apoyo para perfilar (texto condicional). Para usarlo necesita a

  1. utilizar la versión de perfiles habilitados de la hoja de estilo (por ejemplo, uso html/profile-docbook.xsl en lugar de la html/docbook.xsl usual), y

  2. especifican los valores de los atributos que desea al perfil de a través de un parámetro (por ejemplo, conjunto profile.userlevel a basic).

Capítulo 26 de de Bob Stayton DocBook XSL: The Complete Guide tiene todos los detalles.

Otros consejos

Dos formas, de la parte superior de mi cabeza:

  1. Escribir un guión rápida que lleva el level como parámetro y, usando XPath o expresiones regulares, que sólo escupe el XML que desee.
  2. XSLT transformación que escupir el XML que desee.

(2) es más limpio, pero (1) es probablemente más rápido que escribir.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top