
DTDを使ってXMLの形式を厳密に定義する方法があると聞いて試してみたのですが、記述した形式を破っても何も起きません。たとえば以下のように
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE root [
<!ELEMENT root (a, b, c+)>
]>
<root>
<b>BBB</b>
<a>AAA</a>
</root>
と書いた場合、「A,B,Cという要素をこの順番で配置せよ」という命令と「Cという要素を1つ以上配置せよ」という2つの命令を無視していますが、何かしらのエラーを返すといった動作は全くありません。HTML(XHTML)みたいな感じです(テキトーにコーディングしてもエラーを返さない点)。XMLのDTDはそれを守らないとエラーを返すような動作はしないのでしょうか?それではDTDの存在意義が分からなくなってしまいますが・・・
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
一般的に、XMLデータを読み込む場合には、XMLパーサと呼ばれるソフトウエアを使用します。
XMLパーサにはDTDを考慮して読み込む検証パーサと、考慮しない非検証パーサがあります。
最近では設定によって切り替えられるため、検証モード/非検証モードと言う場合もあります。
当然、検証モードで読み込まれなければ誤った書き方をしても、エラーにはなりません。
ちなみにIEで表示する場合は非検証モードになっているため、エラーが返るということはありません。
No.1
- 回答日時:
XMLを読み込むプログラムがエラーを返すようになっていなければ何もおきません。
通常はプログラムで検証機能を用いて内容を検証します。
検証機能はDTDに定義したないようと異なるXMLがあればエラーを返します。
XMLとDTDは単なるテキストファイルであり、それを読み込むプログラムがあって初めて意味のあるものとなります。
読み込むプログラムが検証しなければXMLが勝手に検証されることもありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XMLを作成してもタグしか表示さ...
-
XMLデータを変換し印刷する方法
-
論文に載せるグラフを作成したい
-
ChatGPT excel
-
公文書のxmlファイルの開き方が...
-
XMLサイトマップの登録方法がわ...
-
タモリさんを信じられますか?
-
自分のHTMLサイトでRSSを読み込...
-
ゲーミングPCに入っているAlris...
-
【BAT(バッチ)ファイル】Web...
-
XMLとは何ですか?
-
特殊文字の検索方法
-
フォルダー内検索
-
Webページに関するさまざまな情...
-
head要素
-
ヤフー知恵袋みたいなサイトを...
-
メールアドレスについて
-
マスターノード
-
エクセルのマクロについて教え...
-
クラウドサービスのlaaS paaS s...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
XMLを作成してもタグしか表示さ...
-
ChatGPT excel
-
公文書のxmlファイルの開き方が...
-
ExcelのVBAが特定のPC上でのみ...
-
MSFormsとは何ですか?
-
XML、XSLTの適応エラー(IEから...
-
xmlファイルが上手にHTMLに変換...
-
マイナポータルの住宅借入金当...
-
reaper音声ファイルについて
-
ヤフー知恵袋みたいなサイトを...
-
XMLデータを変換し印刷する方法
-
ファイル名の一部削除について
-
論文に載せるグラフを作成したい
-
Excel関数で、セル内の文字列の...
-
XPathで途中に名前空間が設定さ...
-
自分のHTMLサイトでRSSを読み込...
-
スマホのスプレッドシートでセ...
-
ゲーミングPCに入っているAlris...
-
dataファイルをxtxファイルにす...
-
wmaファイルをmidiファイルに変...
おすすめ情報