[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[4] SmartDoc 0.6.5公開



 浅海@横浜です。

 SmartDoc 0.6.5を公開しました。
 以下の機能を追加しました。
 ML限定公開機能は、MLでのフィードバックの結果で一般公開を決める予定で
す。コメントなどありましたらよろしくお願いします。

[一般公開]

(1) nativeをheadで有効にしました。HTMLのheadやLaTeXのプリアンプルにフォー
    マット依存処理を埋め込むことができます。

[ML限定公開]

(2) -splitオプション。-split:[part|chapter|section|subsection|subsubsection]
    で、HTML4.0, HTML3.2, JavaHelpのページ分割が有効になります。
(3) part, chapter, section, subsection, subsubsectionのsequencable属性。
    sequencable="false"とすることで、シーケンス番号の割り当てを抑止し
    ます。(LaTeXならsection*などを使用)
(4) regexノーマライザ。
    正規表現で指定されたテキストの一部の切り取り、ハイライトを行います。
(5) javasrcノーマライザ。
    正規表現で指定されたJavaソースの一部の切り取り、ハイライトを行います。

>> regexノーマライザ

 以下のファイルregex.xmlに対して

---
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "relaxCore.dtd">
<module>

  <interface>
    <export label="Person"/>
  </interface>

  <elementRule label="Person" role="Person">
    <sequence>
      <element name="name" type="string" />
      <element name="phone" type="string" />
    </sequence>
  </elementRule>

  <tag name="Person">
    <attribute name="age" required="true" type="string"/>
  </tag>

</module>
---

<program normalizer="regex" regexExtract="&lt;elementRule[^$]*elementRule&gt;" regexHilight="label=&quot;Person&quot;" src="regex.xml">
</program>

と指定すると以下の部分のみが表示され、さらにlabel="Person"の部分がハイ
ライト化されます。

---
  <elementRule label="Person" role="Person">
    <sequence>
      <element name="name" type="string" />
      <element name="phone" type="string" />
    </sequence>
  </elementRule>
---

 外部で検証済みのXMLドキュメントの一部を取り込む時などに便利だと思い
ます。

>> javasrcノーマライザ

 以下のJavaソースに対して

---
public class Foo {
    public static int bar() {
        return (100);
    }
}
---

<program normalizer="javasrc" javasrcKeyword="bar" javasrcHilight="return[^;]*;" src="Foo.java">
</program>

と指定するとメソッドbarのみが表示され、さらにreturn (100);の部分がハイ
ライト化されます。

-- 
あさみ@よこはま (http://www.netpassport.or.jp/~wtasami/)