XMLのスキーマ書法(3) 村田 真 日本IBM(株)東京基礎研 / 国際大学 データモデルとしてのスキーマ システムを作りやすくするためもの プログラムから文書を 簡単に扱うには? <?xml version="1.0" encoding="utf-8"?> <WeatherReport> <City>White Plains</City> <State>NY</State> <Date>1998-07-25</Date> <Time>11:00:00-04:00</Time> <CurrTemp unit="Farenheight">70</ CurrTemp> <High unit="Farenheight">82</High> <Low unit="Farenheight">62</Low> </WeatherReport> 四つのデータモデル モデル 4 モデル 3 モデル 2 モデル 1 int WeatherReport.CurrTemp = 70; … <WeatherReport> "White Plaines" <City> < x m l … (1) 文字列としてのXML < ? x m l …< s t a … t e > N Y < / s アプリケーション プログラム 文字列 t a t e > … (2) 木としてのXML <WeatherReport> <City> <State> アプリケーション プログラム DOM, SAX, etc. 木 <Date> <Time> パーサ <Current> <High> <Low> 文字列 処理モデル アプリケーション プログラム アプリケーション プログラム 木 検証結果 又は 木 検証器 パーサ パーサ 文字列 文字列 スキーマ (3) スキーマに従うデータ としてのXML string string date time 04:00; int int int WeatherReport.City = "White Plains"; WeatherReport.State = "NY"; WeatherReport.Date = 1998-07-25; WeatherReport.Time = 11:00:00WeatherReport.CurrTemp = 70; WeatherReport.High = 82; WeatherReport.Low = 62; 処理モデル: データバインディング アプリケーションプログラム オブジェクト プログラム 木 パーサ データバインディングツール スキーマ (4) ビジネスルールを満たす 情報としてのXML チェックの例: データ生成の例: 3月のWhite Plainが、華氏60度のはずがない。 きのうの温度と50度違うはずがない。 <所得>3000万円</所得>なら、税金は30% で、900万円である。 汎用スキーマ言語ではできない! XMLスキーマ設計方法(未成熟) UMLなどから自動生成する。 スキーマを手で書く。 課題についての補足 atomLinkについては、上書きするのではなく |= で選択肢を追加するほうがいい(一番目の課題) カスタマイズしやすいatomスキーマ(二番目の課 題) feed要素およびentry要素に、子要素を追加しやすく すること simpleExtensionElementと structuredExtensionElement にgarden of edenを適 用すれば、少しカスタマイズが容易になる レポートについて スキーマすべてをzipで固めてメールで提 出すること。 講義についての感想(採点対象外)をメー ルに書くこと。 提出期限は、9/3(月) 10:00とする。
© Copyright 2024 ExpyDoc