epojava logo

『epoxml』

  epoxmlはmule/Meadow/XEmacs 上で動作する XML用のメジャーモードで、 epo(The Editing Process Organizer) 機構を標準で実装しており、 強力なタグ補完機能により快適な入力環境をサポートします。
  具体的には XSLXHTMLRelaxSmartDocJakarta-(Ant,Tomcat,Struts,Taglib)jnlpExtend it! Xi月山 といった XML 文書の入力サポートを行います。

関連URL(ダウンロード/他)

名称URL
epojava epojava
epojava のダウンロード
※ epojava.zip には epojava と epoxml のフルセットが入っています。
サポートXMLURL
XSL http://www.w3.org/TR/xslt/
XSL(XSL Transformations)
http://www.infoteria.com/jp/xmlnote/
XML資料室
XHTML http://www.doraneko.org/
どら猫本舗のリファレンスカウンター
RELAX http://www.xml.gr.jp/relax/
RELAX (Regular Language description for XML)
Jakarta-Ant http://jakarta.apache.org/ant/
The Jakarta Site - Ant / java 版のビルド用ツール
http://www.ingrid.org/jajakarta/ant/
The Ja-Jakarta Project: サブプロジェクト - Ant翻訳
http://park.ruru.ne.jp/ando/work/who/html/build.html
ちょっとした Ant の説明ページ(……私が書いてます)
web.xml
server.xml
Jakarta-Tomcat などでおなじみの web.xml 編集用です。
Struts-config
JSP/JSP-taglib
http://jakarta.apache.org/struts/
The Struts Web Application Framework
jnlp http://java.sun.com/products/javawebstart/
Java(TM) Web Start
月山 http://www.wffm.org/download/gassan/
月山実行環境/gsml 及び geml を補完できます。

epoxml の特徴

  1. EPO(The Editing Process Organizer) を実装している。
  2. 独自のインデントスタイルを持っている。
    ※ sgml-mode のインデントが変だったので 不本意ながら自作せざるを得なかった。
  3. 拡張子がたとえ .xml であっても、 いい加減な検索ルーチン(をぃをぃ)により、 補完するタグ群を選択できる (例えば Ant 用とか、Xi 用とか)。
  4. 全行一括インデントができる。
  5. 日本発(開発者が日本人で、解説が日本語(重要) ;-)

epoxml のインストール&セットアップ

  インストールに関しては下記資料を参照してください。
  1. Java/C/C++/XML を epojava で使う

epoxml のキーバインディング

  キーバインドは以下のようになっています。
  なお、[prefix]は、通常C-c と読み替えてください(ユーザーが変更できます)。
[prefix] C-t タイプセッタ(EPO 基本機能)
外部プロセスの関数起動を行います。
※ 環境変数ANT_HOME が設定されている場合、 Jakarta-Ant を起動できます。
[prefix] C-r リレーション(EPO 基本機能)
ファイル間ジャンプを行います。
※ 具体的には、relaxer の XML 構文の場合、 <include moduleLocation="datatypes.rlx"/>datatypes.rlxの上で実行すると、 そのファイルに飛んだりします。
M-[ret]または[prefix] C-m(EPO 基本機能)
反復子を挿入します。
<ul>
 <li> あれこれ
      ふがふが
      ■
</ul>
となっているときに、M-[ret]を叩くと、
<ul>
 <li> あれこれ
      ふがふが
 <li> ■
</ul>
といった形で挿入されるものです。
EPO の機能は他にもあります。 詳細は EPO の info を参照してください。

[prefix] b (EPO 拡張機能)
<sss></sss>型のタグ補完入力を行います。
※ yatex の [prefix] b (ビギン)と同等機能です。
[prefix] s (EPO 拡張機能)
<sss/> 型のタグ補完入力を行います。
※ yatex の [prefix] s (セクション)と同等機能です。
[prefix] f (EPO xml 拡張機能)
<?cocoon-process type="type/html"?> 型の補完入力を行います。
[prefix] l (EPO xml 拡張機能)
DTD 型の補完入力を行います。 XHTML 等では<strong></strong>といった、 文字修飾系の文字補完を行います。
[prefix] u アップデートファイル(EPO xml 拡張機能)
バッファーとして開かれている全ファイルに調査を行い、 ディスクに保存されている内容と違う場合、 ディスクの内容を再読み込みします。
タイプセッタ等により、バッファーの変更がある可能性が あるときに使用してみてください。
また、cvs checkout 後などは便利だと思います。
※ 尚この機能はange-ftp環境だと有効に働きません。
※ また、EUC コードのファイルを開いているときに、 再読み込みしたファイルがSJIS のコードに書き換わっていた場合、 Emacs の種類によっては EUC コードで再読み込みしようとして 文字化けが発生する恐れがあります。注意してください。
C-u [prefix] u キルバッファーファイル(EPO xml 拡張機能)
バッファーとして開かれている全ファイルを 強制的にキルバッファーします。
※ ange-ftp環境の時等で使用してみてください。
[prefix] g (EPO xml 拡張機能)
[prefix] C-r と同じです。
[prefix] G (大文字です)(EPO xml 拡張機能)
閉じカッコのあるタグ一覧を表示します。
[tab] インデント(EPO xml 拡張機能)
インデントは完全に epoxml 独自のものを使用しています。
もっと良い方法があれば教えてください。
M-q (EPO xml 拡張機能)
上から順番に全ての行に対して [TAB]を打ったのと同等の効果が得られます。 ちょっとこのコマンドは(死ぬほど)重いのですが、 人間が打つよりかは速いです。;-)
[prefix] a (EPO xml 拡張機能)
< や > といった特殊文字を入力します。
[prefix] < (EPO xml 拡張機能)
コメントインします。
[prefix] > (EPO xml 拡張機能)
コメントアウトします。
[prefix] : (EPO xml 拡張機能)
yahtmlが入っている場合、 コメントイン用に&lt; といった文字を、 <に変換します。
[prefix] ; (EPO xml 拡張機能)
yahtmlが入っている場合、 コメントアウト用に< といった文字を、 &lt;に変換します。

プロセス起動と変数定義

  epo の基本機能として、 コマンドプロンプト等を経由せず直接プロセス起動を行う機能 ([prefix] t)がありますが、 環境変数PATH を切っていない場合などでは、 設定を正しく行わないと正常動作しない場合があります。   以下にその場合の設定方法を記述します。
Jakarta-Ant を使用する場合。
環境変数ANT_HOMEを Jakarta-Antのインストールの説明に従って正しく設定してください。
Relaxer を使用する場合。
以下の様にepo-rlx-command-lineを編集します。
デフォルトはrelaxerです。
(setq epo-rlx-command-line "c:/java2/relaxer/bin/relaxer")
SmartDoc を使用する場合。
以下の様にepo-sdoc-command-lineを編集します。
デフォルトはsdocです。
(setq epo-sdoc-command-line "c:/java2/sdoc/bin/sdoc")
Xi を使用する場合。
以下の様にepo-xi-command-lineを編集します。
デフォルトはxiです。
(setq epo-xi-command-line "c:/java2/xi/bin/xi")

ando@park.ruru.ne.jp