- PR -

CEでのXML表示

1
投稿者投稿内容
じん
会議室デビュー日: 2002/07/17
投稿数: 2
投稿日時: 2002-07-17 11:48
はじめまして。
まだ勉強し始めたばかりで質問の内容も的外れかもしれませんが、よろしくお願い致します。

1.Windows2000のIE5.5では下記のXMLファイルをクリックすると表示されたのですが、Windows CEのIE5.5ではファイルのダウンロードダイアログが表示されてしまいます。これはXML、XSLファイルを認識していないのでしょうか。

---------- XMLファイル-------------------
<?xml version="1.0" encoding="Shift_JIS"?>
<?xml-stylesheet type="text/xsl" href="minus.xsl"?>
<document>
<!-- A minus is here. -->
<minus>−</minus>
</document>

---------- XSLファイル-------------------
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="Shift_JIS" indent="no"/>

<xsl:template match="/">
<html lang="ja">
<head>
<title>Minus Test</title>
</head>
<body>
<h1>Result</h1>
<hr size="1" width="100%" noshade=""/>
<strong><xsl:value-of select="/document/minus"/></strong>
</body>
</html>
</xsl:template>

</xsl:stylesheet>



2.XML定義されたHPがあったのでCEのIE5.5で表示してみたところ正しく表示されました。ただ、XSLファイルは使用していません。
そのHPのソースコードを表示させてファイルに保存し、それを表示させようとすると
----------------------------
XML ページを表示できません
スタイル シートを使用した XML 入力は表示できません。エラーを訂正してください。 [更新] ボタンをクリックするか、または後でやり直してください。

使用する前にパラメータ エンティティを定義しなければなりません。ライン 85、位置 2
%xhtml-prefw-redecl.mod;
----------------------------

というメッセージが表示されます。
これは何が原因なのでしょうか。
そのソースコードの先頭部分は以下のようになっています。

-------------------------------------------
<?xml version="1.0" encoding="ISO-2022-JP"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    ・
    ・
    ・
-------------------------------------------

本当に初歩的な質問ですみませんが、アドバイス等よろしくお願い致します。
なまちゅ
会議室デビュー日: 2002/07/26
投稿数: 6
投稿日時: 2002-07-27 10:37
CE持ってないんで1はわからないんですが、2の方だけ回答します。

引用:

2.XML定義されたHPがあったのでCEのIE5.5で表示してみたところ正しく表示されました。ただ、XSLファイルは使用していません。



これはそのページの拡張子がhtmlで保存されているからだと思います。その場合、IEはHTMLと解釈してvalidationチェックもwell-formedチェックも行わないはずです。
だから表示できてしまうんですね。

引用:

そのHPのソースコードを表示させてファイルに保存し、それを表示させようとすると
----------------------------
XML ページを表示できません
スタイル シートを使用した XML 入力は表示できません。エラーを訂正してください。 [更新] ボタンをクリックするか、または後でやり直してください。

使用する前にパラメータ エンティティを定義しなければなりません。ライン 85、位置 2
%xhtml-prefw-redecl.mod;
----------------------------

というメッセージが表示されます。



これはMSXMLのパーサーのバグっていう話とXHTMLのDTDの書き方が変なのかどっちかです。
ちょっとよくわからない。。。
DTDに以下のような部分があって

<!ENTITY % xhtml-prefw-redecl.module "IGNORE" >
<![%xhtml-prefw-redecl.module;[
%xhtml-prefw-redecl.mod;
<!-- end of xhtml-prefw-redecl.module -->]]>

キーワードをIGNOREとする条件付きセクションの中で宣言されてない実体が出現しているので、エラーが出ているようです。
これはパーサーがまず実体を一気に展開するような実装だと、宣言されてない実体を展開しようとするので上記のようなエラーになります。
IGNOREな条件付きセクションは無視する実装だと、エラーは出ません。

どっちがXMLの仕様として正しいのかは誰かフォローお願いします…
じん
会議室デビュー日: 2002/07/17
投稿数: 2
投稿日時: 2002-07-29 10:29
なまちゅさん
返答ありがとうございます。
どうしていいか分からなかったので、本当にありがとうございました。
おかげさまで調べる方向もみつかりました。
もっと勉強して調べてみます。
1

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