XMLのスキーマ書法 村田 真 日本IBM(株)東京基礎研/国際大学 目標 仕事の現場でスキーマをどう扱うかについ ての判断ができる 使うか使わないかの判断ができる 借用するかどうかの判断ができる スキーマの作成・保守ができる スキーマについて研究したい人へのヒント 調査 XML文書を作成したことがあるかどうか DTDを読んだことがあるかどうか その他のスキーマを読んだことがあるかど うか XMLを使うアプリケーションを知っているか どうか XML文書 タグを含んだテキスト XML宣言 ( <?xml version="1.0" > )で始まる(ことが多い) 開始タグと終了タグ 空要素タグ 属性 要素 開始タグ + 終了タグ <foo>…</foo> <foo></foo> <foo><bar>…</bar></foo> 空要素タグ <foo/> <foo> <bar/> </foo> 属性 開始タグまたは空要素タグの中に書ける <foo bar="a"> <foo bar="a"/> <foo bar="a" hoge="a"/> 割愛するもの コメント 処理命令 CDATAセクション DTD 文書型宣言 HTMLとの違い 文法エラーは許されない(エラー回復はな い) タグ名・属性名はなんでもいい <授業科目名 単位数= "1" >コンピュータ サイエンス特別講義Ⅲ</授業科目名> 名前空間 名前の衝突を避けることが目的 機構 名前空間宣言(接頭辞とURIの対応付け) xmlns="http://www.exmpl.com" xmlns:pre="http://www.exmpl.com" 名前(接頭辞:局所名) <foo xmlns="http://www.exmpl.com"> <pre:foo xmlns:pre="http://www.exmpl.com"> XML文書を操作する技術 API(SAX, DOM, etc.) 検索言語・変換言語(XSLT, XQuery, etc.) … なぜXMLにするか XMLでいちおう表現できる。 完成度の高いXMLパーサがどこにでも無 料で入手できる。 テキストエディタで表示・操作できる。 徹底的な国際化がされている。 人間にとって読みやすく、理解しやすい。 演習1: XML文書の設計と作成 用途 年賀などのための住所録 表現する情報 自分の名前 住所 電話番号(携帯) oXygen XMLエディタ oXygen(http://www.oxygenxml.com/)を 用いる。 Standalone Version のtrial versionをインス トールする。 構文チェックのためのスキーマ 文書が悪さをしないためのもの スキーマとは何か ある用途のためのタグ名や属性名の集ま り (XHTML, SVG, MML, etc.)を規定したも の プログラムは、スキーマに従うXML文書を 処理するように書く 例: <para>ではなく、<p>を使う。 スキーマを用いた検証 スキーマ はい、文書は妥当です。 * 又は いいえ、文書は妥当で はありません。 XML文書 スキーマ言語 DTD W3C XML Schema RELAX NG スキーマなしで済ませられない か? スキーマを書くのは大変だ せっかくXMLではDTDを省略可能にしたの になんで? XMLは簡単なはずだったのに… スキーマはいる どんな文書を受け付けるのかを明確にしな いと処理プログラムが書けない スキーマを使わないとすると スキーマ相当の内容を文章で書き、文書 例を豊富に用意する プログラムを書いてチェックする 使っていいタグ名・属性名か 正しい組み合わせか データ型チェック 演習2: ContactXML文書の作成 スキーマがある状態でContactXML文書を 作成 スキーマのURL http://www.asahi-net.or.jp/%7Eeb2mmrt/tsukuba/2007/myContactXml.rnc ContactXML仕様書 http://www.xmlconsortium.org/wg/contact/ data/ContactXML_01_01a.pdf 参考 檜山 正幸、XMLボキャブラリのデザイン・ パターン(http://www.itarchitect.jp/xml//10865.html) 檜山 正幸、XMLボキャブラリのアンチ・パ ターン(http://www.itarchitect.jp/xml//10904.html)
© Copyright 2024 ExpyDoc