- PR -

ものすごく初心者の質問です。

投稿者投稿内容
ぷちくま
会議室デビュー日: 2002/08/06
投稿数: 6
投稿日時: 2002-08-06 15:08
最近仕事で「FrameMaker」の勉強をするよに言われて
その流れで「XML」も勉強することになった者です。
もちろん「HTML」も聞いた事があるくらいで
パソコンに関しては全くの初心者なのです。
「XML」を勉強するのに、本を見ながら文書を作っているのですが
「xml」のファイルと「xsl」のファイル。
本の通りに作成しているのに、Webで表示されません。
「xsl」だけ開くときちんと作成したとおりの文書で出てくるし
「xml」の文書も何度見直しても本のとおりなのですが

「XMLページを表示できません。XSLスタイルシートを使用したXML入力は表示できません。
エラーを訂正してください。
指定されたソースは見つかりません。リソース'file:///c:WINDOWS/デスクトップ/sample13.
xsl'の実行エラーです」

と、エラーが出てきます。画像を表示する練習の時からずっと同じエラーが出てきます。
解決方法を教えてください。
井上孝司
ぬし
会議室デビュー日: 2001/09/08
投稿数: 668
お住まい・勤務地: 東京都
投稿日時: 2002-08-06 16:04
井上@まさか私の本じゃないだろうなぁ… です。

「デスクトップ」というフォルダ名がパスに含まれているのが原因かもしれませんね。「C:\Temp」あるいは「My Documents」というように、フォルダを別の場所に変えてみても駄目ですか?

_________________
www.kojii.net
ぷちくま
会議室デビュー日: 2002/08/06
投稿数: 6
投稿日時: 2002-08-06 16:38
早速のお返事ありがとうございます。
大丈夫です。井上さんの本ではありませんでしたから。
勉強している本は「XML+XSLサンプル集」とういう本です。
(名前を出しても、よかったのかしら?)

それで、せっかくお返事していただいたのですが
何しろ、本当に「ド」が付く素人なものですから
よくわからないんです。
下に、作成したxmlとxslを入力しますので、
具体的に教えていただいてもよろしいですか?
お手数かけますが、よろしくお願いします。

「xml」
?xml version="1.0" encoding="Shift_JIS"?>
<?xml-stylesheet type="text/xsl" href="sample27.xsl"?>
<全体>
  <題名>Sample27</題名>
  <本文>
    <リンク>
      <リンク先>foobar Corporation</リンク先>
      <url>http://www.foobar.co.jp</url>
    </リンク>
  </本文>
</全体>   

「xsl」
?xml version="1.0" encoding="Shift_JIS"?>
<?xml-stylesheet type="text/xsl" href="sample27.xsl"?>
<全体>
  <題名>Sample27</題名>
  <本文>
    <リンク>
      <リンク先>foobar Corporation</リンク先>
      <url>http://www.foobar.co.jp</url>
    </リンク>
  </本文>
</全体>   
井上孝司
ぬし
会議室デビュー日: 2001/09/08
投稿数: 668
お住まい・勤務地: 東京都
投稿日時: 2002-08-06 17:53
井上です。

えっと、上のソースがコピペ間違いでなければ、XSL 側の内容が、XSL になってないように思えます。ブラウザで表示する場合、XSLT タグと HTML タグを混ぜて使いますから、以下のような内容にならなければいけないのです。

<?xml version='1.0'?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">

(ここに XSLT タグや HTML タグが入る)

</xsl:stylesheet>

あと、Windows 9x をお使いのようですが、MSXML のバージョンや、(IE 5.x と MSXML3 を組み合わせている場合は) xmlinst.exe の実行など、いろいろと準備しないといけないことが多いので、そっちも要確認、かも知れません。
そういう意味で、もっともらくちんなのは Windows XP ですね。いきなり勧告版の XSLT を実行できますから。
_________________
www.kojii.net
ぷちくま
会議室デビュー日: 2002/08/06
投稿数: 6
投稿日時: 2002-08-07 09:01
お早い、お返事ありがとうございます。
本当に助かります。

教えていただいた通りに作成しなおしましたが
やはり実行されませんでした。
使用しているのは、Windows98版Microsft InternetExplorer5.01です。
出版社にも同様に問い合わせていたのですが
「実行環境を確認してください」との返事でした。
「MSXML3」というのは、新しく入手しなくてはいけないものなのでしょうか?
「いろいろと準備しないといけない」と、教えていただいたんですが
「XML」を実行、勉強するにあたりもっと他にPCの環境を整えなくては
いけないのでしょうか?
「XP」を入れたなら、いきなり「XML」の入力が何の準備もなしにできて
しまうのでしょうか?

何度もすみませんが、教えていただけないでしょうか?
井上孝司
ぬし
会議室デビュー日: 2001/09/08
投稿数: 668
お住まい・勤務地: 東京都
投稿日時: 2002-08-07 10:12
井上です。

MSXML3 というのは、XML 文書のパースや、XSLT 変換処理の機能などを持った DLL ですが、これは単体で配布されている他、IE6 と一緒にインストールされます。
IE5.x にも、旧バージョンの MSXML が添付されていますが、こいつはドラフト版の XSLT しかサポートしていないので、あまり使い物になりません。また、XSLT の実装に勧告と違いがあるので、勉強用のツールとしても、お勧めできません。

どうしても IE5 を使う場合は、MSXML3 と xmlinst.exe をダウンロードしてきて、MSXML3 をインストールした後に xmlinst.exe を実行する必要があります。んが、IE6 をインストールしてしまえば、MSXML3 が自動的にインストールされるので、そういう手間はかかりません。(XP は最初から IE6 が入っているので、いきなり XSLT を試せるという理屈です)

MSXML3 のダウンロード :
http://www.asia.microsoft.com/japan/msdn/xml/downloads/msxml3sp2.asp

xmlinst.exe のダウンロード :
http://msdn.microsoft.com/downloads/default.asp?URL=/code/sample.asp?url=/msdn-files/027/001/469/msdncompositedoc.xml

「XML+XSLサンプル集」って、CQ 出版社から出ていた本ですか? とすると、その本は IE5.x と MSXML の時代の産物なので、MSXML3 に関する記述がなくても、無理はないでしょう。
_________________
www.kojii.net
ぷちくま
会議室デビュー日: 2002/08/06
投稿数: 6
投稿日時: 2002-08-07 11:44
まさに井上さんの仰る通りCQ出版社の本です。

なるほど、そうなんですね。
「MSXML3」はたまたま別の本を見てダウンロードしていたみたいです。
「xmlinst.exe」は知りませんでした。
今まで文章のみを表示させる練習のときは、うまく表示されていたということは
上の2つは、特に図や表などを表示させるのに必要なものなのでしょうか?

何がともあれ、もう一度練習してみます。
また上手くできなかったら、教えてくださいね。
井上孝司
ぬし
会議室デビュー日: 2001/09/08
投稿数: 668
お住まい・勤務地: 東京都
投稿日時: 2002-08-07 11:57
井上です。

IE 5.x は、MSXML3 をインストールした後も、XSLT プロセッサとして古い MSXML を使い続けるようになっています。しかし、それでは IE 5.x で勧告版 XSLT が使えなくなってしまうので、xmlinst.exe を実行します。
すると、レジストリの中で「MSXML.DLL」と書かれている部分を「MSXML3.DLL」に書き換えるので、IE 5.x から MSXML3 が呼び出されるようになります。
ちなみに IE 6.x の場合、最初から MSXML3 を参照するようになっています。

MSXML と MSXML3 の、XSLT 関連の大きな差異というと、まず XSLT 名前空間 URI の違いがあります。それから、XSLT 関数や XPath 関数の多くが MSXML だと実装されていないのと、あとは並べ替えでしょうか。
並べ替えは、MSXML だと <xsl:for-each> に order-by 属性を付けていましたが、MSXML3 では XSLT 勧告仕様に合わせて <xsl:sort> タグを使うようになりました。

MSXML 用にドラフト版 XSLT で作成したスタイルシートは MSXML3 でも使えるようですが、後々のことを考えると、最初から MSXML3 で勧告版 XSLT を覚える方がよろしいかと思います。
_________________
www.kojii.net