XMLパーサ for 秀丸エディタ version 1.11

最終更新日: 2010年9月12日

32ビット版の「秀丸エディタ (秀まるおのホームページにて公開)」で編集中の文書が、XML文書かどうかを検証するためのマクロです。文書の検証には、MSXMLを用います。Windowsの日本語環境下でのみ使用できます。

目次:

  1. インストール方法
  2. アンインストール方法
  3. 使用方法
  4. 動作に必要なMSXMLのバージョン
  5. 著作権、使用条件、WWWサイト
    1. 著作権
    2. 使用条件
    3. WWWサイト
  6. 開発履歴

1. インストール方法

  1. xmlph.zipを解凍します。
  2. 解凍したファイルのうち、以下の三つのファイルを、秀丸エディタのマクロファイル用フォルダ内に移します。すでに以前のバージョンの本マクロが存在する場合は、上書きしてください。
    • xmlph.mac
    • xmlph_option.mac
    • xmlph.dll
  3. 秀丸エディタを起動し、xmlph.macとxmlph_option.macをマクロとして登録します。マクロを登録する方法は、秀丸エディタのヘルプをご覧ください。

Windows 95やWindows NT 4.0をご使用の場合、Internet Explorer 4.0以上をインストールする必要があるかもしれません。詳しくは、動作に必要なMSXMLのバージョンをご覧ください。

目次へ: インストール方法


2. アンインストール方法

  1. 秀丸エディタを起動し、xmlph.macとxmlph_option.macをマクロの一覧から削除します。そして、秀丸エディタを終了します。
  2. 秀丸エディタのマクロファイル用フォルダ内にある、以下の四つのファイルを削除します。
    • xmlph.mac
    • xmlph_option.mac
    • xmlph.dll
    • xmlph.ini (存在しない場合もあります)

目次へ: アンインストール方法


3. 使用方法

秀丸エディタで編集中の文書を保存してからxmlph.macを実行することで、XML文書かどうかの検証を行えます。

なお、xmlph_option.macを実行すると、オプション ダイアログ ボックスが開き、文書の検証動作を変更できます。以下に、オプション ダイアログ ボックスの説明を記します:

文書の妥当性を検証する:

チェックを入れると、文書がXML文書として妥当かどうかを検証します。チェックを外すと、文書が整形式のXML文書かどうかのみを検証します。標準では、チェックが入っています。

ただし、MSXMLの「XMLドキュメント オブジェクト」を使用する場合、このオプションの設定は無視します。常に、文書が整形式のXML文書かどうかのみを検証します。

文書外の定義を解決する:

チェックを入れると、文書の検証時に、文書外で定義されているリソースの検証も行います。標準では、チェックが入っています。

ただし、MSXMLの「XMLドキュメント オブジェクト」を使用する場合、このオプションの設定は無視します。常に、文書外で定義されているリソースの検証は行いません。

文書中のエラー位置に、カーソルを移動する:

チェックを入れると、文書の検証中にエラーを発見した場合、カーソルをそこへ移動します。

MSXMLの「DOMドキュメント オブジェクト」を用いて文書を検証する場合、文書が文書型定義(DTD)やスキーマに完全に合致しているかどうかを検証するには、「文書の妥当性を検証する」と「文書外の定義を解決する」にチェックを入れておく必要があります。

一方、MSXMLの「XMLドキュメント オブジェクト」は、「文書が整形式のXML文書かどうか」のみしか検証することができません。

文書の検証に用いるオブジェクト:

文書の検証に用いる、MSXMLの「XMLドキュメント オブジェクト」か「DOMドキュメント オブジェクト」の、プログラムID (ProgID) を入力します。WindowsにMSXMLバージョン6以下がインストールされている場合は、それらのProgIDをリストから選ぶこともできます。

たとえば、MSXMLバージョン6.0がWindowsにインストールされていて、これの「DOMドキュメント オブジェクト」を文書の検証に用いる場合は、リストからMsxml2.DOMDocument.6.0という項目を選びます。

なお、ProgIDを何も指定しなかった場合 (空欄にした場合) は、MSXMLバージョン6以下がWindowsにインストールされているかどうかを検索し、もっともバージョンの大きいものを自動的に用います

ちなみに、プログラムID (ProgID) とは、Windowsに登録されている、オートメーション オブジェクトの短い名前です。ProgIDは、servername.typenameという形式で記述し、半角文字で39字以内です。Visual BasicのCreateObject関数や、JScriptのActiveXObject関数でも、このProgIDを引数に用いますよね。

また、オートメーション オブジェクトとは、自身の機能をほかのプログラムに対して公開しているオブジェクトのことです。プログラムは、オートメーション オブジェクトを呼び出すことにより、そのオブジェクトが持つ機能を利用できます。

目次へ: 使用方法


4. 動作に必要なMSXMLのバージョン

本マクロは、マイクロソフト社が公開しているMSXMLというライブラリにある、「XMLドキュメント」または「DOMドキュメント」というオートメーション オブジェクトを用います。

MSXMLは、Internet Explorer 4.0以上に付属しています。そのため、Windows 95やWindows NT 4.0をご使用の方は、Internet Explorer 4.0以上をインストールしておく必要があるかもしれません。

なお、インターネットに接続できるならば、MSXMLだけをマイクロソフト社のWWWサイトからダウンロードし、インストールすることもできます。

なお、文書の検証に用いるMSXMLの「XMLドキュメント」または「DOMドキュメント」の各オブジェクトを指定することもできます。そのためには、xmlph_option.macを実行して、オプション ダイアログ ボックスを開きます。詳しくは、3. 使用方法の、文書の検証に用いるオブジェクトをご覧ください。

目次へ: 動作に必要なMSXMLのバージョン


5. 著作権、使用条件、WWWサイト

5.1 著作権

目次へ: 著作権

5.2 使用条件

何らかの媒体に転載する場合は、事後でも結構ですので、ご一報ください。

目次へ: 使用条件

5.3 WWWサイト

テテのアトリエ:
http://www1.plala.or.jp/tete009/

目次へ: WWWサイト

目次へ: 著作権、使用条件、WWWサイト


6. 開発履歴

1.11 (2010年9月12日)
  • SysFreeStringの引数にLPOLESTRを渡している箇所があった不具合を修正。
  • メモリリークを修正。
  • 文書のロードを中止したとき、XMLDOMDocument2のabort()を呼ぶようにする。
  • 文書の非同期ロードのイベントを補足するため、イベントシンクを使用するようにする。
  • 設定をxmlph.iniファイルに保存するのを止め、レジストリに保存するようにする。
  • 英語リソースを追加。
1.10 (2006年10月23日)
  • MSXML 6.0に対応。
  • 文書の検証を途中で中止すると、秀丸エディタが強制終了する不具合を修正。
1.09 (2005年2月22日)
文書中にエラーがある場合、文書の検証に時間がかかる場合がある問題を修正。
1.08 (2004年11月30日)
  • 文書の検証を、途中で中止できるようにする。
  • オプションダイアログボックスにて、「文書外の定義を解決する」ように設定している場合、文書の検証に時間がかかる場合がある問題を修正。
  • 秀丸エディタの「マクロファイル用のフォルダ」以外のパスでxmlph_option.macを実行すると、「オプション ダイアログ ボックス」を開けない場合がある問題を修正。
1.07 (2004年10月26日)
オプションダイアログボックスにて、「文書中のエラー位置に、カーソルを移動する」ように設定し、かつ、「文書外の定義を解決する」ように設定している場合、編集中の文書以外のファイルで、かつ、file:プロトコル上にあるファイルにエラーがあると、正しい位置にカーソルが移動しない場合がある問題を修正。
1.06 (2004年10月26日)
  • オプションダイアログボックスにて、「文書中のエラー位置に、カーソルを移動する」ように設定している場合、正しい位置にカーソルが移動しない場合がある問題を修正。
  • マルチモニタを使用している場合、ダイアログボックスやメッセージボックスの表示位置が変になる問題を修正。
1.05 (2004年8月24日)
MSXML 5.0に対応。
1.04 (2004年2月28日)
「XML文章」という表記を、「XML文書」に訂正。
1.03 (2003年1月27日)
  • MSXMLバージョン1.x (Internet Explorer 4.xに付属) の「XMLドキュメント オブジェクト」を、文書の検証に用いることができなかった問題を修正。
  • xmlph_option.macを実行すると開くオプション ダイアログ ボックスにて、文書中のエラー位置にカーソルを移動するかどうかを指定できるようにする。
1.02 (2002年7月9日)
秀丸エディタの「マクロファイル用のフォルダ」を、秀丸エディタの実行ファイルがあるフォルダと異なる場所に設定している場合、xmlph.dllのロードに失敗する問題を修正。
1.01 (2002年5月25日)
  • 編集中の文書以外のファイルにエラーがあり、かつ、そのファイルがfile:プロトコル上に存在しない場合にも、それを秀丸エディタで開こうとしていた問題を修正。
  • xmlph_option.macを実行すると開くオプション ダイアログ ボックスにて、文書の検証に用いるオブジェクトを指定できるようにする。
1.00 (2002年5月6日)
初公開。

目次へ: 開発履歴


Copyright (C) 2003-2010 Tete's Atelier, All rights reserved.