

今日からXMLをはじめたもので、右も左も解らない状態なんですが、いろいろ見ていて素朴な疑問が沸いてしまいましたので、質問させてください。
例えば下のように書いたxml文書は正しいのでしょうか?
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>XML</TITLE>
</HEAD>
<BODY>
<P>XML</P>
</BODY>
</HTML>
===========================================
<?xml version="1.0" encoding="Shift-JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.d …
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<title>aa</title>
</head>
<body><p>XML文書</p></body>
</html>
=========================================
実際にIE6で見てみると上はDTDでエラーが出て下はこのファイルの先頭でエラーになります。
この原因を教えていただけませんでしょうか。
No.2ベストアンサー
- 回答日時:
>ContentTypeと申しましょうか、それをtext/xmlとした場合です。
参考URL(RFC2376)で
MIMEタイプ
text/xml の場合
charset パラメータが有る場合、
encoding 宣言は無視され、charset で指定された文字コードが使用される
charset パラメータが無い場合、
encoding 宣言は無視され、charset のデフォルトであるus-asciiが使用される
text/xml の場合
charset パラメータが有る場合、
encoding 宣言は無視され、charset で指定された文字コードが使用される
charset パラメータが無い場合、
encoding 宣言は無視され、charset のデフォルトであるus-asciiが使用される
application/xml の場合
charset パラメータが有る場合、
encoding 宣言は無視され、charset で指定された文字コードが使用される
charset パラメータが無い場合、
encoding 宣言の文字コードが使用される
という違いがあります。
>ファイルの先頭でエラーになります。
<?xml …の部分のエラーというより
DOCTYPE のエラーだと思います。
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
に変えたり、
DOCTYPE 自体を削除すると該当エラーはでなくなりますので。
Firefox では問題ないので、IEのバグなのかもしれません。
参考URL:http://www.csl.sony.co.jp/cgi-bin/hyperrfc?RFC2376
No.1
- 回答日時:
私の環境ではIE6で見ても両方ともエラーはでませんでした。
上のXMLは強いて言えば、タグが大文字で書かれているのが間違いでしょう。
下のXMLはencodingがShift-JISになっているのが間違いです。上のXMLのようにShift_JISとするのが正しいです。
XHTMLやHTMLのチェックで有名なlintのURLを紹介しておきます。
http://openlab.ring.gr.jp/k16/htmllint/htmllint. …
ご回答ありがとうございます。
大変申し訳ありません。
書き忘れたことがありました。
MIMEタイプと言いましょうか、ContentTypeと申しましょうか、それをtext/xmlとした場合です。
実際には、私が使っているサーバーは拡張子をxmlとするとContentTypeがtext/xmlになるように設定されているようです。
application/xmlでも試してみたいと思ったのですがサーバーの都合で出来ていません。
その状態で質問したxml文書は正しいのか教えていただきたいと思っております。
仮にXHTMLがXML文書であるならば下のものは正しいのではないかと思い、xml文書がxml宣言で始まりDOCTYPE宣言がありルート要素が1つで要素が完全に入れ子になっていればxml文書とするならば上も正しいxml文書なんだと思いまして詳しい方の判断をお聞きしたいと思いました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XMLを作成してもタグしか表示さ...
-
ChatGPT excel
-
MSFormsとは何ですか?
-
Excel関数で、セル内の文字列の...
-
PCでSteamのサイト内で検索する...
-
XMLサイトマップの登録方法がわ...
-
タモリさんを信じられますか?
-
自分のHTMLサイトでRSSを読み込...
-
ゲーミングPCに入っているAlris...
-
【BAT(バッチ)ファイル】Web...
-
XMLとは何ですか?
-
特殊文字の検索方法
-
フォルダー内検索
-
公文書のxmlファイルの開き方が...
-
Webページに関するさまざまな情...
-
head要素
-
ヤフー知恵袋みたいなサイトを...
-
メールアドレスについて
-
マスターノード
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
このエラー、何とかなりません...
-
VBでXMLファイルを作ると xmlns...
-
携帯サイト作成について
-
DOCTYPE宣言について
-
Integerの範囲設定について
-
変数の宣言について
-
質問
-
IE7とDOCTYPE宣言について
-
変数宣言について
-
ASPで型宣言
-
縁切りするとき
-
DTDファイルをクラスパスから読...
-
コンパイルエラー(Excel2003-V...
-
XTHMLで<?xml version=
-
Netscape 6/7 でのテーブル内の...
-
XSLT変換した際、必要のないxml...
-
windowsAPIとは何ですか?
-
u_shortなどの省略した宣言につ...
-
CPUの考え方を教えてください ...
-
東芝のDynabookなのですがアン...
おすすめ情報