XMLゼミ 3.5 DTD M2 正木 裕一.

Slides:



Advertisements
Similar presentations
プログラミング言語論 第3回 BNF 記法について(演習付き) 篠埜 功. 構文の記述 プログラミング言語の構文はどのように定式化できるか? 例1 : for ループの中に for ループが書ける。 for (i=0; i
Advertisements

XML ゼミ 独習 XML ~ 第 6 章 XHTML~ 6.1 XHTML の概要 6.2 XHTML の構造 谷津 哲平.
プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
エンティティ・リレーションシップ・モデル
JXTA Shell (3) P2P特論 (ソフトウェア特論) 第6回 /
MS-Word ⇒ XML 2001/10 マウスをクリックしてください。(カーソルはどこにあっても結構です。)次ページが表示されます。
Webサービスに関する基本用語 Masatoshi Ohishi / NAOJ & Sokendai
画像展示サイト“Fragments” 『閲覧しやすさ』と『デザイン性』を両立させた Webデザイン
RELAX チュートリアル 川口耕介 Swift,Inc..
NC-2 情報通信基礎実験 WEBデザイン基礎実験 (2日目) 担当:清水,田代 副手:浦辺,石井.
事前準備 ttsshでのログイン フォルダ名 XML ファイルコピー  cp ~hurry-go-round/Java/XML/* .
背景 我々の研究室で開発しているJavaプログラム解析フレ ームワークでは,解析情報はメモリ上に保持される 問題点
Peer Group P2P特論 (ソフトウェア特論) 第7回 /
クラスその2∽(アドバンス)∽ 福岡工業大学  梶原 大慈       .
HTMLの記述と WWWにおける情報公開 遠藤
JSFによるWebアプリケーション開発 第11回
XMLゼミ 2.3 XMLのプロローグ 2.4 XMLのタグ 高橋 辰裕.
「R入門」 第3章:オブジェクト、そのモードと属性
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
独習Java ・ 10.6  Hashtableクラス ・ 10.7  String Tokenizerクラス  12月12日    小笠原 一恵.
第1回 JavaScriptゼミ ・ scriptエレメント ・ 記述における諸注意 ・ 古いブラウザへの対応方法
All Right Reserved Copyright © INS-E
見た目を定義する技術 CSS(スタイルシート).
文献管理ソフトRefWorksの利用.
クラス図(1) 後半 FM13010 村上 太一.
HTTPプロトコルとJSP (1) データベース論 第3回.
JQueryでAjax 藤田@ジャストプレイヤー ※参考しまくり文献 jQuery日本語リファレンス.
第8章 データベースシステムの発展 8.1 オブジェクトリレーショナルデータベース 8.2 分散データベース 8.3 インターネットとデータベース.
JSPの作成 J2EE II 第3回 2005年4月10日.
SGMLについて 2年8組  原口 文晃.
XMLゼミ 5.1 XML文書と表示 5.2 CSS 5.3 XMLとXSL 高橋 辰裕.
XSL-FO + MathML MathML表示、PDF生成、SVG生成
第6回独習Javaゼミ 第6章 セクション4~6 発表者 直江 宗紀.
第12回 2007年7月13日 応用Java (Java/XML).
9.1 DOMの概要 9.2 DOMプログラミングの基礎 9.3 DOMのプログラミング例
第10回 2007年6月29日 応用Java (Java/XML).
XMLゼミ 5.4 XSLT (P118~P134)          兒玉 光太郎.
プログラミング言語論 第3回 BNF記法について(演習付き)
第11回 2007年7月6日 応用Java (Java/XML).
第3回 2007年4月27日 応用Java (Java/XML).
資料1-6 平成26年度 第1回技術委員会資料 支援ツール群整備方針
独習XML 第2章 XML文書の構成要素 2.1 XMLの文字と文字列 2.2 コメント
インラインスクリプトに対するデータフロー 解析を用いた XHTML 文書の構文検証
Javaによる Webアプリケーション入門 第2回
XMLゼミ 1.3 XML文書の表示 1.4 XMLの役割 1.5 XMLとプログラミング M2 正木 裕一.
独習XML ~第3章 文書と構造~ 3.3 スキーマ 3.3 XML Schema
情報スキル活用 第2週 基礎技術ー2 : Webページの基本形.
第1章 実世界のモデル化と形式化 3.地物インスタンスの表現
データモデリング モデルの基本作法.
クリアリングハウスと 空間データ交換システムの連携 - メタデータとXML - 平成11年2月10日 (株) NTTデータ 情報科学研究所
Strutsフレームワークにおけるメタモデルを用いた追跡可能性実現手法の提案
ウェッブページ書法の復習 ネットワーク論以前のお話.
XML Schema (1) ソフトウェア特論 第3回 /
3-1.文書と構造 3-2.整形式文書と検証済み文書 兒玉 光太郎
第6章:リストとデータフレーム 10月23日発表 藤井 丈明
JXTA Shell (2) P2P特論 (ソフトウェア特論) 第5回 /
プログラミング言語論 第9回 情報工学科 木村昌臣 篠埜 功.
E-R図 井上卓也.
JavaScriptを含んだHTML文書に対する データフロー解析を用いた構文検証手法の提案
アルゴリズムとプログラミング (Algorithms and Programming)
独習XML ~第1章 XMLの基礎~ 1.1 XML文書の基礎 1.2 XMLとHTML
Webページに動きを持たせるJavascript言語について 例題のプログラムを通して体験的に理解することとします。
第14回放送授業.
JSPの基本 J2EE I (データベース論) 第8回 /
情報処理基礎 2006年 6月 29日.
サムライクラウド連携検証 サンプルガジェット 解説資料.
コンパイラ 2012年10月11日
写真の挿入 2.テキストの入れ替え 3.オブジェクトの色変更 サンプル写真内の画像アイコンをクリックすると、
情報処理Ⅱ 小テスト 2005年2月1日(火).
応用Java(Java/XML) 第8回 2005年6月23日 植田龍男.
Presentation transcript:

XMLゼミ 3.5 DTD M2 正木 裕一

DTDとは DTD(Document Type Definition) DTDの形式 XML文書内容の構造を定義する最も基本的な方法 W3Cの仕様XML1.0に規定されている ※実際には先週のゼミで説明があったXML Schemaなどの方がよく使われる DTDの形式 DTDとははタグ付き文書の要素の名前や順序などを定義したもの文書型宣言の中に必要な宣言を必要なだけ定義する ※XML SchemaのようにDTD文書として別ファイルにすることも可能 <!DOCTYPE 名前[ <!--- コメント---> (宣言のリスト) ]> コメントを挿入することも可能

DTDに定義できる内容 特徴 要素型宣言が少なくとも1つ必要 XML文書の構造に対応していれば宣言の順序は自由 意味 要素型宣言(ELEMENT) XMLインスタンスで使用できる要素、要素名、階層を定義 属性リスト(ATTLIST) 属性のリストを宣言 実体宣言(ENTITY) 実体(文字、文字列、読み込むファイル)を宣言 記法宣言(NOTATION) 外部ファイルとして参照するXML以外の形式を定義 特徴 要素型宣言が少なくとも1つ必要 XML文書の構造に対応していれば宣言の順序は自由  (例)属性が無いXML文書の構造の場合要素型宣言のみでも可

DTDを含むXML文書の例 <!DOCTYPEの後の名前とルート要素の名前が一致 宣言リスト <?xml version="1.0" encoding="UTF-16" ?> <!DOCTYPE 連絡先[ <!ELEMENT 連絡先 (氏名+) > <!ELEMENT 氏名 (#PCDATA) > <!ATTLIST 氏名 CODE CDATA #REQUIRED        TEL CDATA #IMPLIED        FAX CDATA #IMPLIED> ]> <連絡先> <氏名 CODE="002525" TEL="2525-0110" FAX="2525-0111">ニ戸 丹子</氏名> <氏名 CODE="004111" TEL="1111-0110" FAX="1111-0111">世衣 犬太</氏名> </連絡先> <!DOCTYPEの後の名前とルート要素の名前が一致 宣言リスト

要素宣言(ELEMENT) DTDの要素宣言 <!ELEMENT 要素名 内容モデル> 内容モデルとして指定可能な値:他の要素名、テキスト (テキストは#PCDATAで表す)組み合わせも可能 出現回数の指定可能な値 記号 例 意味 指定無し <!ELEMENT A (B)> 必ず一回出現 ? <!ELEMENT A (B?)> 0回か1回出現 + <!ELEMENT A (B+)> 1回以上出現 * <!ELEMENT A (B)*> いくつあっても無くてもいい 組み合わせの指定シンボル シンボル 例 意味 , <!ELEMENT A (B,C)> AにはB→Cという順番で1つずつ必ずある | <!ELEMENT A (B|C)> AにはBかCという要素が1つある * <!ELEMENT A (B,C*)> AにはBという要素があり、その後にCがいくつあってもまたは無くてもよい

属性宣言(ATTLIST) DTDの属性宣言 属性値の種類 既定値の種類              属性名2 属性値の種類 “既定値”> … 属性名n 属性値の種類 “既定値”> 複数の属性を定義することも可能 属性値の種類 既定値の種類 種類 意味 CDATA 文字データ ID 識別子 IDREF 識別子の参照に使う属性値 NMTOKEN(S) 名前トークン NOTATION 記法宣言参照 ENTITY(IES) 実体参照値 種類 意味 属性値 “”で囲んだ値 #FIXED 属性値を変更できないことを示す #IMPLIED 属性値が省略された場合の動作はアプリケーションに依存 #REQUIRED 属性の指定が必須

実体宣言(ENTITY) DTDの実体宣言 <!ENTITY 実体名 “実体参照の際に置き換える文字列”> <?xml version="1.0" encoding="UTF-16" ?> <!DOCTYPE 書籍リスト[ <!ENTITY TITLE "独習XML"> <!ELEMENT 書籍 (表題) > <!ELEMENT 表題 (#PCDATA)> ]> <書籍リスト> <書籍> <表題>&TITLE;</表題> </書籍> </書籍リスト>

外部実体(外部エンティティ) A B DTDの外部実体 <!ENTITY 記法名 SYSTEM “記法を特定するオブジェクトのURL”> <!ENTITY 記法名 PUBLIC “公開識別子”                      “記法を特定するオブジェクトのURL”> <?xml version="1.0" encoding="UTF-16" ?> <氏名 CODE="002525" TEL="2525-0110" FAX="2525-0111">ニ戸 丹子</氏名> <氏名 CODE="004111" TEL="1111-0110" FAX="1111-0111">世衣 犬太</氏名> A <?xml version="1.0" encoding="UTF-16" ?> <氏名 CODE="003225" TEL="2424-0110" FAX="2424-0111">須藤 元気</氏名> <氏名 CODE="098611" TEL="5555-0110" FAX="5555-0111">山本 徳郁</氏名> B

外部実体の例 A B <?xml version="1.0" encoding="UTF-16" ?> <!DOCTYPE 連絡先[ <!ELEMENT 連絡先 (氏名?) > <!ELEMENT 氏名 (#PCDATA) > <!ATTLIST 氏名 CODE CDATA #REQUIRED TEL CDATA #IMPLIED> <!ENTITY adrbook1 SYSTEM "A.xml"> <!ENTITY adrbook2 SYSTEM "B.xml"> ]> <連絡先> &adrbook1; &adrbook2; </連絡先> A B

記法宣言(NOTATION) XML以外の記法(イメージ、サウンドなど)の情報を使っている場合に識別するための別名を指定する DTDの記法宣言 <!NOTATION 記法名 SYSTEM “記法を特定するオブジェクトのURL”> <!NOTATION 記法名 PUBLIC “公開識別子”                      “記法を特定するオブジェクトのURL”> ※記法宣言したXML文書全体を記法指定つき実体という ATTLISTの記法宣言 <!ATTLIST 要素名 属性名 NOTATION 記法名候補 デフォルト値> 宣言したURLや識別子が表すものの内容についてはXMLの仕様で決められていない 記法宣言は一般的にプラットフォームに依存するので現在はあまり使われていない

宿題 XML文書を二つ作成し、外部実体によって表示する

DTDファイル XML文書 <!ELEMENT 連絡先 (氏名+) > <!ELEMENT 氏名 (#PCDATA) > <!ATTLIST 氏名 CODE CDATA #REQUIRED  TEL CDATA #IMPLIED  FAX CDATA #IMPLIED> XML文書 <?xml version="1.0" encoding="UTF-16" ?> <!DOCTYPE 連絡先 SYSTEM "adrs.dtd"> <連絡先> <氏名 CODE="003225" TEL="2424-0110" FAX="2424-0111">須藤 元気</氏名> <氏名 CODE="098611" TEL="5555-0110" FAX="5555-0111">山本 徳郁</氏名> </連絡先>