XML Schema (1) ソフトウェア特論 第3回 / 2004-05-07.

Slides:



Advertisements
Similar presentations
セッション管理 ソフトウェア特論 第 8 回. ここでの内容 セッション管理の基本を知る。 HttpSession の使い方を知る。
Advertisements

1 情報処理基礎 2006 年 7 月 6 日. 2 本日の学習項目 HTML 文書の基礎知識を習得する。 ホームページ・ビルダーの基本的な使 い方を習得する。 ホームページの作成 自己紹介のためのホームページを作成する。
XML ゼミ 独習 XML ~ 第 6 章 XHTML~ 6.1 XHTML の概要 6.2 XHTML の構造 谷津 哲平.
年度 J2EE II 稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴. 2 この講義の位置づけ 3年前期の「データベース論 (J2EE I) 」に続く講義。 「データベース論」の講義内容を理解 していることが前提。
応用 Java(Java/XML) 第 10 回 2006 年 7 月 14 日 植田龍男. 後半の内容の予定 XPath (6/9) 、 XSLT (6/16) 名前空間 (Namespace) (6/16) XML 文書の妥当性の検証 (6/23) DTD, W3C XML Schema SOAP.
JXTA Shell (3) P2P特論 (ソフトウェア特論) 第6回 /
2004年度 サマースクール in 稚内 JSFによるWebアプリケーション開発
Webサービスに関する基本用語 Masatoshi Ohishi / NAOJ & Sokendai
第9回 2007年6月22日 応用Java (Java/XML).
バリデータ J2EE II 第11回 / 2006年1月19日.
背景 我々の研究室で開発しているJavaプログラム解析フレ ームワークでは,解析情報はメモリ上に保持される 問題点
Peer Group P2P特論 (ソフトウェア特論) 第7回 /
早稲田大学大学院理工学研究科 情報科学専攻修士2年 後藤滋樹研究室 坂本義裕
WSDL と JAX-RPC 年10月13日 Webサービス II (第3回) WSDL と JAX-RPC 年10月13日.
SQL J2EE I 第3回 /
XMLゼミ 2.3 XMLのプロローグ 2.4 XMLのタグ 高橋 辰裕.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
第1回 JavaScriptゼミ ・ scriptエレメント ・ 記述における諸注意 ・ 古いブラウザへの対応方法
タグライブラリ ソフトウェア特論 第6回.
卒研:データベースチーム 第4回 DOMを使った処理
タグライブラリとJSP J2EE I 第10回 /
タグライブラリとJSP J2EE II 第2回 2004年10月7日 (木).
JavaBeans とJSP データベース論 第5回.
JSFによるWebアプリケーション開発 第6回
WSDL と JAX-RPC 年10月20日 Webサービス II (第4回) WSDL と JAX-RPC 年10月20日.
2005年10月6日 植田龍男 Webサービス II (第2回) 年10月6日 植田龍男.
SGMLについて 2年8組  原口 文晃.
XMLゼミ 5.1 XML文書と表示 5.2 CSS 5.3 XMLとXSL 高橋 辰裕.
XSL-FO + MathML MathML表示、PDF生成、SVG生成
RMI ソフトウェア特論 第6回 /
Javaによる Webアプリケーション入門 第5回
基礎プログラミング演習 第1回.
2003年度 データベース論 安藤 友晴.
HTTPとHTML 技術領域専攻 3回 中川 晃.
第12回 2007年7月13日 応用Java (Java/XML).
第10回 2007年6月29日 応用Java (Java/XML).
XMLゼミ 5.4 XSLT (P118~P134)          兒玉 光太郎.
第11回 2007年7月6日 応用Java (Java/XML).
Webアプリケーションの方向性 データベース論 第13回.
独習XML 第2章 XML文書の構成要素 2.1 XMLの文字と文字列 2.2 コメント
インラインスクリプトに対するデータフロー 解析を用いた XHTML 文書の構文検証
Javaによる Webアプリケーション入門 第2回
第2回 2007年4月20日 応用Java (Java/XML).
XMLゼミ 1.3 XML文書の表示 1.4 XMLの役割 1.5 XMLとプログラミング M2 正木 裕一.
独習XML ~第3章 文書と構造~ 3.3 スキーマ 3.3 XML Schema
情報スキル活用 第2週 基礎技術ー2 : Webページの基本形.
JXTA Shell (1) P2P特論 (ソフトウェア特論) 第4回 /
HTML の成り立ち 惑星物理学研究室 4年 安達 俊貴.
エンタープライズアプリケーション II 第9回 / 2006年7月23日
第1章 実世界のモデル化と形式化 3.地物インスタンスの表現
第13回 2007年7月20日 応用Java (Java/XML).
クリアリングハウスと 空間データ交換システムの連携 - メタデータとXML - 平成11年2月10日 (株) NTTデータ 情報科学研究所
~let's take fun when you can do it~
応用Java(Java/XML) 第7回 2006年6月16日 植田龍男.
XMLゼミ 3.5 DTD M2 正木 裕一.
3-1.文書と構造 3-2.整形式文書と検証済み文書 兒玉 光太郎
JXTA Shell (2) P2P特論 (ソフトウェア特論) 第5回 /
JDBC ソフトウェア特論 第3回.
JavaScriptを含んだHTML文書に対する データフロー解析を用いた構文検証手法の提案
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
独習XML ~第1章 XMLの基礎~ 1.1 XML文書の基礎 1.2 XMLとHTML
Javaによる Webアプリケーション入門 第4回
WebアプリケーションとTomcat ― これまでの復習とこれからの予習 ―
Jakarta Struts (1) ソフトウェア特論 第10回.
JSPの基本 J2EE I (データベース論) 第8回 /
JSFによるWebアプリケーション開発 第10回
SQL J2EE I (データベース論) 第3回 /
2006年10月18日 植田龍男 Webサービス II (第4回) 年10月18日 植田龍男.
SQL データベース論 第11回.
応用Java(Java/XML) 第8回 2005年6月23日 植田龍男.
Presentation transcript:

XML Schema (1) ソフトウェア特論 第3回 / 2004-05-07

連絡 次週 (5/14) は休講となります。

きょうの目標 XML Schema の基本を知る

DTD

DTDとは何か XMLベースの言語で、どのようなタグがどのような組み合わせで利用できるかという情報を記述するためのもの。

DTDの例 <?xml version="1.0" encoding="Shift_JIS"?> <!ELEMENT BOOKLIST (BOOK+)> <!ELEMENT BOOK ( TITLE, AUTHOR, PUBLISHER)> <!ELEMENT TITLE (#PCDATA)> <!ELEMENT AUTHOR (#PCDATA)> <!ELEMENT PUBLISHER (#PCDATA)>

DTDを使ったXML文書 <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE BOOKLIST SYSTEM "BOOKLIST.dtd"> <BOOKLIST> <BOOK> <TITLE>情報メディア論</TITLE> <AUTHOR>丸山不二夫 編著</AUTHOR> <PUBLISHER>八千代出版</PUBLISHER> </BOOK> ……… </BOOKLIST>

DTDの限界 XMLらしくない記法。 要素の出現回数、出現順序などの設定に制限が多い。 データ型を指定できない。 名前空間が使いにくい。

XMLの限界 (1) XMLらしくない記法 「要素を組み合わせる」という記法ではないので、わかりにくい。 <!ELEMENT BOOKLIST (BOOK+)> <!ELEMENT BOOK ( TITLE, AUTHOR, PUBLISHER)> <!ELEMENT TITLE (#PCDATA)>

XMLの限界 (2) 要素の出現回数、出現順序などの設定に制限が多い この要素は2回以上5回まで出現できる、といった指定ができない。 要素が順不同に出現する、といった指定ができない。

XMLの限界 (3) データ型を指定できない DTD では、要素の内容として次の2つしか指定できない。 他の要素 PCDATA この要素には数字が入る、といったデータ型の指定ができない。

XMLの限界 (4) 名前空間が使いにくい DTDは名前空間を扱うようには設計されていない。

XML Schema とは何か

XML Schema DTD とは別に、World Wide Web Consortium (W3C) が策定したスキーマ言語。

単純な XML Schema <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace= "http://www.wakhok.ac.jp/~tomoharu/students" xmlns:st=   "http://www.wakhok.ac.jp/~tomoharu/students"> <xsd:element name=“name”  type="xsd:string"/> </xsd:schema>

もっと単純化すると <?xml version="1.0"?> <xsd:schema> <xsd:element name=“name”  type="xsd:string"/> </xsd:schema>

要素の指定 name という名前のタグがある。 内容は string (=文字列) である。 例) <xsd:element name=“name” type="xsd:string"/> name という名前のタグがある。 内容は string (=文字列) である。 例) <name>安藤友晴</name>

「名前空間」とは XMLでは、ひとつの文書に(XMLベースの)複数の言語を組み合わせて使うことができる。 複数の言語を使うとき、同じ名前のタグがあったら困る。 そこで、どの言語のタグなのかを名前空間で識別する必要がある。 URIを名前空間として使うと、他とのダブリがなくなる。

XML Schema 自体の 名前空間の指定 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace= "http://www.wakhok.ac.jp/~tomoharu/students" xmlns:st=   "http://www.wakhok.ac.jp/~tomoharu/students"> <xsd:element name=“name”  type="xsd:string"/> </xsd:schema>

この XML Schema の 名前空間の指定 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace= "http://www.wakhok.ac.jp/~tomoharu/students" xmlns:st=   "http://www.wakhok.ac.jp/~tomoharu/students"> <xsd:element name=“name”  type="xsd:string"/> </xsd:schema>

ファイルの保存 XML Schema のファイルは “.xsd” という拡張子を持つのが普通 例えば sample01.xsd

このXML Schema を使った XML インスタンス <?xml version="1.0"?> <st:name xmlns:st= "http://www.wakhok.ac.jp/~tomoharu/students" xmlns:xsi= “http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation= "http://www.wakhok.ac.jp/~tomoharu/students sample01.xsd"> 安藤友晴 </st:name>

属性を無視すると <?xml version="1.0"?> <st:name> 安藤友晴 XML Schema で指定したとおり name という名前のタグがある。 内容は string (=文字列) である。

XML Schema の指定 (1) <?xml version="1.0"?> <st:name xmlns:st= "http://www.wakhok.ac.jp/~tomoharu/students" xmlns:xsi= “http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation= "http://www.wakhok.ac.jp/~tomoharu/students sample01.xsd"> 安藤友晴 </st:name>

XML Schema の指定 (2) XML Schema の URI ファイルの実体がある場所でない XML Schema のファイル xsi:schemaLocation= "http://www.wakhok.ac.jp/~tomoharu/students sample01.xsd"> XML Schema の URI http://www.wakhok.ac.jp/~tomoharu/students ファイルの実体がある場所でない XML Schema のファイル sample01.xsd カレントディレクトリにある

このXML Schema の 名前空間 (1) <?xml version="1.0"?> <st:name xmlns:st= "http://www.wakhok.ac.jp/~tomoharu/students" xmlns:xsi= “http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation= "http://www.wakhok.ac.jp/~tomoharu/students sample01.xsd"> 安藤友晴 </st:name>

このXML Schema の 名前空間 (2) http://www.wakhok.ac.jp/~tomoharu/students という URI を持つ XML Schema で定義されているタグは st という接頭辞を持つ 例) <st:name>安藤友晴</st:name>

XSV による検証

XSV XML Schema の検証ツール。 XML 文書が XML Schema に適合しなければ、エラーメッセージを出す。 W3C の協力を得ながら、エジンバラ大学で開発が進んでいる。 オープンソース http://www.ltg.ed.ac.uk/~ht/xsv-status.html

XSV を使う インストール XSV をインストールしたフォルダに path を通す。 使い方 コマンドプロンプト (or cygwin) から使う xsv sample01.xml 検証結果は XML ファイルとして出力される。

XSV の使用例 C:\Home\200405>xsv sample01.xml <?xml version='1.0'?> <xsv xmlns="http://www.w3.org/2000/05/xsv" docElt="{http://www.wakhok.ac.jp/~tomoharu/students}name" instanceAssessed="true" instanceErrors="0" rootType="string" schemaErrors="0" schemaLocs="http://www.wakhok.ac.jp/~tomoharu/students -> sample01.xsd" target="file:///C:/Home/200405/sample01.xml" validation="strict" version="XSV 2.7-1 of 2004/04/01 13:40:50"> <schemaDocAttempt URI="file:///C:/Home/200405/sample01.xsd" namespace="http://www.wakhok.ac.jp/~tomoharu/students" outcome="success" source="schemaLoc"/> </xsv>

注意点 XML に日本語が含まれる場合、utf-8 で保存する必要がある。 utf-8 = XML のデフォルトの設定 Shift_JIS や EUC ではだめ。

参考文献・URL Extensible Markup Language (XML) 1.0 (Third Edition) http://www.w3.org/TR/REC-xml/ XML 1.0 の仕様書です。 W3C XML Schema http://www.w3.org/XML/Schema XML Schema の仕様書など。