- PR -

MSXMLの使用法

1
投稿者投稿内容
あき
会議室デビュー日: 2003/10/24
投稿数: 3
投稿日時: 2003-10-24 11:28
MSXMLを使ってXMLデータの検証をしようとしているのですが、
これはコマンドラインから使うことはできないのでしょうか?

IEの窓で右クリックをしてXML Validateができるという
「Internet Explorer Tools for Validating XML and Viewing XSLT Output」
というツールも試してみたのですが、明らかに間違ったXMLでも
successfulになってしまい、いまいち信用できず。。

xmlintというツールがあるそうなのでMSで探してみたのですが
見つかりませんでした。もう今はないものなのでしょうか?

MSXMLで検証する方法をご存知の方ぜひ教えてくださいm__m
Haya
常連さん
会議室デビュー日: 2003/03/28
投稿数: 22
お住まい・勤務地: 関東
投稿日時: 2003-10-24 13:00
あまり詳しくはないのですが・・・。
現実逃避がてら書き込みさせていただきます。

> MSXMLを使ってXMLデータの検証をしようとしているのですが、
> これはコマンドラインから使うことはできないのでしょうか?
下記URLを参照したところ、「MSXMLはDLL形式のCOMサーバとして提供」されているとあります。
http://www.atmarkit.co.jp/aig/01xml/msxml.html

ですので、コマンドラインからは無理ではないでしょうか。
# というより、単体ではGUI、CUI問わず無理だと思います(^^;

> IEの窓で右クリックをしてXML Validateができるという
> Internet Explorer Tools for Validating XML and Viewing XSLT Output」
> というツールも試してみたのですが、
こんなツールがあったんですね。初めて知りました。

> 明らかに間違ったXMLでも
> successfulになってしまい、いまいち信用できず。。
ツールについてよく知らないので、憶測でしかいえませんが。。。
# 憶測でものを言うなというご指摘を受けること、覚悟しております。

実は正しいXMLだったとかDTD宣言がないとかという可能性はないですよね?
HTMLと違ってXMLの検証はDTD宣言が無いとだめなような気がします。
# これも憶測にすぎませんので流してください。

> xmlintというツールがあるそうなのでMSで探してみたのですが
> 見つかりませんでした。もう今はないものなのでしょうか?
GoogleとMicrosoftのサイトで「xmlint」をキーに検索してみたところ、
めぼしいものは見つからなかったですね。
どうやら、昔は配布していたようですが・・・
# それ以上は分かりません。ごめんなさい。

ちょっとGoogleで検索してみたら、こんなものを見つけました。
「コマンドラインから〜」とあるので、見当違いかもしれませんが、
参考までに・・・。
http://www.stg.brown.edu/service/xmlvalid/

以上、駄文でした。
失礼致しました。
あき
会議室デビュー日: 2003/10/24
投稿数: 3
投稿日時: 2003-10-24 13:09
Hayaさん

どうもありがとうございます。参考になりました。

> > MSXMLを使ってXMLデータの検証をしようとしているのですが、
> > これはコマンドラインから使うことはできないのでしょうか?
> 下記URLを参照したところ、「MSXMLはDLL形式のCOMサーバとして提供」されているとありま> す。
> http://www.atmarkit.co.jp/aig/01xml/msxml.html

> ですので、コマンドラインからは無理ではないでしょうか。
> # というより、単体ではGUI、CUI問わず無理だと思います(^^;

やはりそうですね。。

> > 明らかに間違ったXMLでも
> > successfulになってしまい、いまいち信用できず。。
> ツールについてよく知らないので、憶測でしかいえませんが。。。
> # 憶測でものを言うなというご指摘を受けること、覚悟しております。
>
> 実は正しいXMLだったとかDTD宣言がないとかという可能性はないですよね?
> HTMLと違ってXMLの検証はDTD宣言が無いとだめなような気がします。

Xercesではちゃんとエラーが出るのです。
MSXMLはいろいろバージョンがあるようなので、それが合っていない可能性も
ありそうです。なやましいですね。。
深層水
会議室デビュー日: 2003/10/24
投稿数: 1
投稿日時: 2003-10-24 13:36
スクリプトからMSXMLを使用する形になりますが、下記URlに掲載されています。

http://www.jepax.org/tools/
http://park15.wakwak.com/~yoshitomo/junk/index.html

また、MSXMLに関する事として、下記URLも参考になるかもしれません。

http://www.mlab.im.dendai.ac.jp/~yamada/web/tool/msxml/
ほむら
ぬし
会議室デビュー日: 2003/02/28
投稿数: 583
お住まい・勤務地: 東京都
投稿日時: 2003-10-24 13:49
ほむらです。
MSXML4.0 SP1 についてきたサンプルほぼそのままですが。。。
適当な名前.jsで保存して検証したいファイルをD&Dでいけるのではないかなと。。。
------------
var se = WScript; // コマンドプロンプトならCScript
main(se.arguments.length, se.arguments);

function main(argc, argv)
{
if( argc < 1 ) return false;
var x = new ActiveXObject("MSXML2.DOMDocument.4.0");
var FileName = argv(0); // 第一引数
// 以下サンプルそのまま
x.async = false;
x.validateOnParse = true;
x.load( FileName );
if (x.parseError.errorCode != 0) {
se.Echo("errorReason=" + x.parseError.reason);
return false;
}
se.Echo("===NO PARSE ERROR===\n" + x.xml);
return true;
}
あき
会議室デビュー日: 2003/10/24
投稿数: 3
投稿日時: 2003-10-24 14:10
深層水さん>

どうもありがとうございます!!これで完全に解決されました。

http://park15.wakwak.com/~yoshitomo/junk/index.html にリンクがあった
http://park15.wakwak.com/~yoshitomo/junk/tools/Validate.js をダウンロードし、
XMLファイルをD&DすることでMSXMLを利用した「XMLインスタンス⇔XML Schema」検証を正しく行うことができました。

これは、ほむらさんが教えてくださったスクリプトと似たものですね。
ほむらさん>どうもありがとうございました。

ちなみに
http://www.jepax.org/tools/ にあるvalidate.batを利用する場合はXML SchemaではなくDTDが必要のようです。
※ Internet Explorer Tools for Validating XML and Viewing XSLT Output もDTDが必要。

本当に助かりました。ありがとうございましたm__m


引用:

深層水さんの書き込み (2003-10-24 13:36) より:
スクリプトからMSXMLを使用する形になりますが、下記URlに掲載されています。

http://www.jepax.org/tools/
http://park15.wakwak.com/~yoshitomo/junk/index.html

また、MSXMLに関する事として、下記URLも参考になるかもしれません。

http://www.mlab.im.dendai.ac.jp/~yamada/web/tool/msxml/

1

スキルアップ/キャリアアップ(JOB@IT)