PSGMLはEmacs(Mule, XEmacs)上でSGML文書を編集するためのシステムです。読み込んだDTDに従ってタグ付けを効率的に行うことができます。 SGML文書を検証するのには外部のSPパーサを呼び出す機能を持ちます。
PSGMLはEmacs Lispパッケージになっており、以下の場所から入手できます。
PSGMLはEmacs Lispパッケージになっており、以下の場所から入手できます。
http://www.lysator.liu.se/projects/about_psgml.html
使用環境: GNU Emacs19.34、20.3以上、XEmacs19.9以上
現在のPSGMLは、正式版とアルファ版に分かれています。正式版の最新バージョンは1.0.3です。HTMLにも対応しています。アルファ版の最新バージョンは1.1.6 です。こちらは安定系バージョンではありませんが、XMLに対応しています。
<起動方法>
Emacsを起動し、”.dtd”、”.sgm”、”.sgml”のいずれかの拡張子のついたファイルを読み込めば、自動的にSGMLモードになります。そのほか、”M−x sgml−mode”というコマンドを入力する方法もあります。
<基本的な使い方>
1. DTDを検証する。
メニューバー”DTD”で”Parse DTD”を選択すると、SPのパーサ(sgmls/nsgmls)を呼び出します。検証の結果正しいと認められたDTDは、Emacsに読み込みやすい形にプリコンパイルされています。このDTDをメニューバー”DTD”の”Save Parsed DTD”を選択して保存します。検証されたプリコンパイルDTDは、”.ced”という拡張子を付けて保存されます。
2. 検証済みDTDを読み込む。
メニューバー”DTD”で”Load Parsed DTD”を選択します。
3. 読み込んだDTDに従ってタグ付けを行う。
タグ付けなどの操作にはEmacsコマンドを使うこともできますが、慣れないうちはメニューバーを使うのがわかりやすい方法です。
<SGMLモードの操作メニュ(一部)>
メニューバーの項目名 コマンド 実行内容
SGML
- Show Context “C−c C−c” カーソル位置のデータの位置付けを表示
- What Element “C−c C−w” カーソル位置の要素が何かを表示
- List Valid Tags “C−c C−t” 現カーソル位置に挿入できるタグ一覧を表示
- Validate “C−c C−v” nsgmlsを呼び出してSGML文書を検証
Modify(修正)
- Change Element Name “C−c =” 要素の名前変更
- Edit Attribute “C−c C−a”属性を編集
- Kill Markup “C−c C−k”次のタグを消去
- Kill Element “C−M−k” 次の要素を消去
- Untag Element “C−c −” 要素の開始タグと終了タグを消去
Move(移動)
- Next trouble spot “C−c C−o” 次の文法誤りのある場所へ移動
- Next data field “C−c C−d”次データ入力点(開始タグと終了タグ間)に移動
- Forward element “C−M−f” 次の終了タグの後へ移動
- Backward element “C−M−b” 前の開始タグの前に移動
- Up element “C−c C−n” 親要素の終わりに移動
- Down element “C−M−d” 子要素の中に移動
- Backward up element “C−M−u”親要素のはじめに移動
- Beginning of element “C−M−a” データ(タグ内容)のはじめに移動
- End of element “C−M−e” データの終わりに移動
Markup(タグ付け)
- Insert Element “C−c C−e”要素を入れるため開始タグ終了タグを同時記入
- Insert Start−tag “C−c <“開始タグを記入
- Insert End−tag “C−c /” 終了タグを記入
- Insert Attribute “C−c +” 属性を記入
表示
- Hide Tags “sgml−hide−tags” SGML文書の全てのタグを非表示にする
- Show All Tags 非表示にしたタグを表示する
DTD
- Parse DTD “C−c C−p” DTDを検証
- Info 検証結果の詳細を表示
- Save Parsed DTD 検証したDTDを保存
- Load Parsed DTD 検証したDTDを読み込む