2

複数の対象読者向けのコンテンツを含む1つのdocbookxmlドキュメントが必要です。「上級」ユーザーにのみ必要なものを除外できるフィルターはありますか?

level属性は、私が考えていることを表現するために私が考案したものです。

 <?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>
4

2 に答える 2

2

levelDocBookには属性がありません。おそらくあなたは意味しましたuserlevelか?

DocBook XSLスタイルシートを使用してドキュメントを変換している場合は、プロファイリング(条件付きテキスト)のサポートが組み込まれています。それを使用するには、次のことを行う必要があります

  1. プロファイリングが有効なバージョンのスタイルシートを使用し(たとえばhtml/profile-docbook.xsl、通常の代わりに使用html/docbook.xsl)、

  2. プロファイルする属性値をパラメーターを介して指定します(たとえば、に設定profile.userlevelしますbasic)。

BobStaytonのDocBookXSLの第26章:完全ガイドにすべての詳細があります。

于 2010-08-27T19:21:30.847 に答える
0

私の頭のてっぺんから2つの方法:

  1. levelをパラメーターとして受け取り、 XPathまたは正規表現を使用して、必要なXMLのみを吐き出すクイックスクリプトを記述します。
  2. 必要なXMLを吐き出すXSLT変換を記述します。

(2)はよりクリーンですが、(1)はおそらく書き込みが高速です。

于 2010-08-26T15:19:48.130 に答える