Going my way

いいなと思ったことをメモしていきます。

XML基礎知識メモ(2)


Advertisements


XMLの文法を定義するにはDTD(Document Type Difinition)を作成する必要がある。
XMLドキュメントとDTDを関連付けるにはDOCTYPE宣言を使う。

DOCTYPE宣言には次の値を指定する。

DTDを適用させるルート要素の名前
・SYSTEMかPUBLICかを指定する
・ロードするDTDが置かれている場所を指定するURI


XMLドキュメントを定義するDTDが./dtds/book.dtdに置かれている場合

<?xml version="1.0" encoding="shift_jis"?>
<!DOCTYPE book SYSTEM "./dtds/book.dtd">

<book>

というように記述する。

PUBLICというキーワードを使えば、DTDの公開識別子を記述できる。
公開識別子とは、

システム識別子(./dtds/book.dtd)はSYSTEMというキーワードを使い、指定する。
システム識別子は、DTDが物理的に存在する場所を記述するURIのこと。
公開識別子はXMLパーサーがDTDの場所を特定するための名前のこと。

公開識別子に指定した値でDTDが識別できれば、公開されたDTDはローカルにコピーされる。

公開識別子を使ったXMLの記述例

<?xml version="1.0" encoding="shift_jis"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


実体とは、XMLドキュメントに組み込むことができる何らかの情報のこと
内部実体・・・DTD内に明示的に記述される
外部実体・・・DTDとは別の場所に格納されている
一般実体・・・XMLドキュメント内で参照されるように宣言する
パラメータ実体・・・実体がDTD内で参照されるように宣言する

一般実体を参照する方法

<tocEntry> &currentYear; 年のまとめ</toEntry>

実体名の前に「&」を付け、後ろにセミコロン(;)を付ける


パラメータ実体を参照する方法

<!ATTLIST response %yesNoCancel; "cancel">

先頭は「%」にする。
ATTLISTは属性を定義するキーワードである。