<?xml version="1.0" encoding="UTF-8"?>

<フィルタ>

  <説明>
================================================================================
このファイルは MergeDoc のグローバル置換定義ファイルです。このファイルの設定内容
は MergeDoc の詳細設定パネルで ON/OFF が可能です。置換定義ファイルには 2 種類あ
り、もうひとつはクラス別置換定義ファイルです。こちらは MergeDoc 設定パネルからは
ON/OFF 出来ず、対応するファイルが存在する場合に処理されます。
    
    1. グローバル置換定義ファイル -> すべてのソースが対象
    2. クラス別置換定義ファイル   -> 個別 1 ソースが対象
    
置換定義ファイルの配置
    
    mergedoc.jarがあるディレクトリ
      |
      |--conf/
      |    |
      |    |-- global.xml
      |    |
      |    |-- java/
      |    |    |-- lang/
      |    |    |    |-- String.xml
      |    |    |    |-- StringBuffer.xml
      |    |    |    |--  :

    クラス別定義ファイルは提供していませんが以下にサンプルがあります。
    これは非 Javadoc コメントの英語を日本語？に置き換える場合のものです。
    使用する場合は「クラス名」.xml というファイル名にする必要があります。

      conf/java/io/Java/BufferedInputStream_SampleForJDK1.4.xml

--------------------------------------------------------------------------------
置換定義ファイルをカスタマイズする場合は

  * 使用できる正規表現は java.util.regex.Pattern を参照してください。
    Java コード上で使用する場合と異なり \ をエスケープする必要はありません。
    例えばアスタリスクは \\* ではなく \* です。

  * 1ソース毎に次の順番で処理されます。

      1. クラス別置換定義ファイルを上から順に処理
      2. グローバル置換定義を上から順に処理

  * 置換定義の処理対象となるソースは MeregeDoc で処理後のソースです。
    Javadoc コメントがマージされる以外は以下のとおりです。

      - タブは存在しない
      - 改行はすべて \n

  * Eclipse などで例外スタックトレースからの行ジャンプを使用する場合は置換前と置
    換後で行数（改行の数）が変わらないようにする必要があります。

================================================================================
  </説明>

  <置換エントリ 対象="Javadocコメント">
    <説明>HTML の装飾タグを削除する</説明>
    <置換エントリ>
      <前><![CDATA[</?(code|tt|b|i|strong|sup|font)>]]></前>
      <後></後>
    </置換エントリ>
    <置換エントリ>
      <前><![CDATA[</?font .*?>]]></前>
      <後></後>
    </置換エントリ>
    <置換エントリ>
      <前><![CDATA[</?font *(\n +\* +).+?>]]></前>
      <後>$1</後>
    </置換エントリ>
  </置換エントリ>

  <置換エントリ 対象="Javadocコメント">
    <説明>HTML タグをすべて削除する</説明>
    <前><![CDATA[</?.+?(|\n +\* +).*?>]]></前>
    <後>$1</後>
  </置換エントリ>

  <置換エントリ 対象="Javadocコメント">
    <説明>文字実体参照を実表記文字に置換する</説明>
    <置換エントリ>
      <前><![CDATA[&lt;]]></前>
      <後><![CDATA[<]]></後>
    </置換エントリ>
    <置換エントリ>
      <前><![CDATA[&gt;]]></前>
      <後><![CDATA[>]]></後>
    </置換エントリ>
    <置換エントリ>
      <前><![CDATA[&amp;]]></前>
      <後><![CDATA[&]]></後>
    </置換エントリ>
    <置換エントリ>
      <前><![CDATA[&nbsp;]]></前>
      <後> </後>
    </置換エントリ>
  </置換エントリ>

  <置換エントリ 対象="Javadocコメント">
    <説明>Javadoc の link タグのテキスト部以外を削除する</説明>
    <置換エントリ>
      <前>(?s)\{@link (.+?)\}</前>
      <後>$1</後>
    </置換エントリ>
    <置換エントリ>
      <前>(?s)\{@link *(\n.+?)\}</前>
      <後>$1</後>
    </置換エントリ>
  </置換エントリ>

  <置換エントリ>
    <説明>行頭の連続するスペースを 4 タブで埋める</説明>
    <前>(?m)(^|\G) {4}</前>
    <後>\t</後>
  </置換エントリ>

  <置換エントリ>
    <説明>行頭の連続するスペースを 8 タブで埋める</説明>
    <前>(?m)(^|\G) {8}</前>
    <後>\t</後>
  </置換エントリ>

  <置換エントリ>
    <説明>改行を CRLF にする</説明>
    <前>\n</前>
    <後>\r\n</後>
  </置換エントリ>

</フィルタ>
