株式会社ラクス  ITエンジニア総合支援サイト スタックアスタリスク フルマネージド専用サーバー エクスユニット
ITエンジニアとして 知る 学ぶ
 
Java
.NET
PHP
プログラミング一般
DataBase
システム/サーバ構築
システム/サーバ運用
技術系一般知識
そのまま使えるシリーズ
J2EE TIPS
 
The Apache Ant Project
Sun MicroSystems
The Apache Jakarta Project
Caucho Technology
eclipse.org
>IT技術情報>Java>はじめてのXML:第2回:DTD
【連載 】はじめてのXML

第2回:DTD

 
XMLは自由にタグを定義することができるため、さまざまなデータを表現することができが、XML文書をデータとして活用するためには、データを扱う人々同士で、どのようなタグを使ってXML文書でデータを表すのかを決めておく必要があります。この決め事を作るのがスキーマ言語であり、もっとも古くからある基本的なものとしてDTDがあります。本稿では、DTDの文法を中心に解説します。

流郷俊彦
株式会社アイティーブースト
2004/6/28
 

【目次】
1.はじめに
2.DTDの必要性
3.DTD文法
3_1.要素宣言
3_2.属性宣言
3_3.属性値の候補
3_4.デフォルト指定
4.内部サブセットと外部サブセット
5.実体宣言
5_1.一般実体
5_2.パラメータ実体
6.最後に
【実行環境】
OS WindowsXP

1.はじめに

 XMLは自由にタグを定義することができるため、さまざまなデータを表現することができます。しかし、例えばXMLで書かれたデータを別の会社とやり取りするようなケースを考えると、各会社が別々にタグを定義していてはタグを解釈するプログラムも幾つも必要になり非効率的です。
 XML文書をデータとして活用するためには、データを扱う人々同士で、どのようなタグを使ってXML文書でデータを表すのかを決めておく必要があります。この決め事を作るのがスキーマ言語であり、もっとも古くからある基本的なものとしてDTDがあります。スキーマ言語で与えられた制約に従って記述されたXML文書を妥当なXMLと呼びます。スキーマ言語によって制約を与えることによりXML文書の構造を定義することができますので、異なるアプリケーション間でデータを共有することが可能です。
 今回の記事ではDTDを使用して妥当なXMLを作成する方法について学習します。DTDは導入実績も多く、覚えやすいので、他のスキーマ言語を学習する際にも役立ちます。


▼Java や Linux を体系的に学びましょう!▼
Stack*のラクスが、
新学習方式のカリキュラムを開発しました!
14700円から(*1)、Java や Linux を体系的に学べます!!
(*1 テキスト代のみの税込料金です)



2.DTDの必要性

  DTD(Document Type Definition)は、スキーマ言語の一つです。スキーマ言語とは、XMLインスタンスの要素や属性の関連性やデータに制約を与え、具体的な文章構造を定義します。次のXML文書をみてください。

<?xml version="1.0" encoding="Shift_JIS" ?>

<fruit-list>
  <fruit>
    <name>りんご</name>
    <price>100</price>
  </fruit>
</fruit-list>

 これは果物とその価格を表すXMLファイルです。特に問題のないXML文書のように思えますが、このままでは以下のようなことができてしまいます。

<?xml version="1.0" encoding="Shift_JIS" ?>

<fruit-list>
  <fruit>
    <name>りんご</name>
    <price>100</price>
  </fruit>
  <fruit>
    <price>50</price>
  </fruit>
</fruit-list>

 これでは2つ目の果物が何なのかがわかりません。しかし、これも1つの正しい構文をしたXML文書です。これは極端な例ですが、複数の人が同じXML文書を扱う場合、このような問題が生じる可能性があります。そこで、DTDを使用することにより<fruit-list>の中には<fruit>が、<fruit>の中には<name>と<price>があらわれなければならないという制約を与えることができます。DTDは「データを扱う人同士で、どのようなタグを使ってXML文書でデータを表すのかを取り決める」ための言語であるといえます。


>>次のページへ

【 ページ 】 | 1 | 2 | 3 | 4 | 5 |

【 関連記事 】
【連載】はじめてのXML
  第1回:XMLの概要と基本文法
  第2回:DTD
  第3回:XSL

サイト内全文検索
スタックアスタリスクのサイトを検索します。検索には、Googleを利用しています。そのため、最新の情報で検索されない可能性があります。


簡単レンタルメールフォーム
300メガ1000円〜 XBitのレンタルサーバー
500メガ1995円〜 電話サポート/PostgreSQL/専用SSLなどにも対応!お客様のニーズを網羅したレンタルサーバ
ホームページ制作のアシストウェブ
STACK* 執筆の講師陣から習得する!! ITエンジニアスクール アイティブースト
統合メールサポートシステム 〜MailDealer(メールディーラー)〜
システム開発,IT教育 〜株式会社アイティーブースト(ITBoost)〜
簡単 営業支援/顧客管理ツール Easy Sales
  利用規約 お問い合わせ・ご意見 スタックアスタリスクについて 運営会社について 
  レンタルサーバー ホスティング 専用サーバー メールフォーム ショッピングカート メール共有 ITエンジニア派遣 Linux講座 Java講座 メール配信 レンタルサーバー Webデータベース 検索サービス
CopyrightcRAKUS Co.,Ltd. All Rights Reserved.  メール管理・共有 顧客管理(CRM)もできるメール対応サポートシステム JAVA LINUX CISCO 技術者派遣 育成事業 株式会社ラクス