質問

私は、いくつかのターゲットオーディエンス向けのコンテンツを持つドキュメントXMLドキュメントを1つ持っているのが好きです。 「高度な」ユーザーにのみ必要なものを除外できるフィルターはありますか?

レベルの属性は、私が念頭に置いていることを表現するために私によって発明されます。

 <?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>
役に立ちましたか?

解決

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

Docbook XSL StyleSheetsを使用してドキュメントを変換している場合、プロファイリングのサポートが組み込まれています(条件付きテキスト)。それを使用する必要があります

  1. StyleSheetのプロファイリング対応バージョンを使用します(例: html/profile-docbook.xsl 通常の代わりに html/docbook.xsl)、 と

  2. プロファイルする属性値を介して指定します パラメーター (例:セット profile.userlevelbasic).

第26章 ボブステイトンの DocBook XSL:完全なガイド すべての詳細があります。

他のヒント

2つの方法、私の頭の上から外れて:

  1. 取るクイックスクリプトを書きます level パラメーターとして、および使用 xpath または、必要なXMLだけを吐き出す正規表現。
  2. 書く XSLT変換 それはあなたが望むXMLを吐き出します。

(2)クリーナーですが、(1)書き込みが速いでしょう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top