1 / 27

セマンティック Web ・ メタデータ勉強会 #2-1

セマンティック Web ・ メタデータ勉強会 #2-1. 電気通信大学大学院 電気通信学研究科 情報工学専攻 M2 間瀬哲也. 2. Structured Web Documents in XML. Contents. Introduction The XML Language Structuring Namespaces Addressing and Querying XML Documents Processing Summary. HTML & XML. HTML (HyperText Markup Language) Web ページ記述の標準

karma
Download Presentation

セマンティック Web ・ メタデータ勉強会 #2-1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. セマンティックWeb・メタデータ勉強会#2-1 電気通信大学大学院 電気通信学研究科 情報工学専攻 M2 間瀬哲也

  2. 2. Structured Web Documents in XML

  3. Contents • Introduction • The XML Language • Structuring • Namespaces • Addressing and Querying XML Documents • Processing • Summary

  4. HTML & XML • HTML (HyperText Markup Language) • Webページ記述の標準 • SGML(Standard generalized ML)から派生 • デバイスやシステムに非依存 • XML (eXtensible Markup Language) • HTMLの欠点を克服するために開発

  5. HTML vs XML • 共通点 • タグを使用 • 人間は理解しやすい • 相違点 • 終了タグ • 計算機可読性 • 拡張性 • 表示能力

  6. XML applications • MathXML (mathmatics) • BSML (bioinformatics) • HRML (human resources) • AML (astronomy) • NewsML (news) • IRML (investment) • その他 • SVG (Scalable Vector Graphics),SMIL (Synchronized Multimedia Integration Language),RDF (Resource Description Framework)

  7. Prolog • XML宣言 • 文書型宣言 <?xml version=“1.0” encoding=“UTF-8” ?> <!DOCTYPE event SYSTEM “event.dtd” > <event> <fireworks1> <name>足立の花火大会</name> <place>荒川河川敷</place> <date>2005.07.28</date> </fireworks1> </event> ← XML宣言 ← 文書型宣言

  8. Elements • 要素 ::= 開始タグ 内容 終了タグ | 空要素 • 内容 ::= テキスト | 要素 • 空要素 ::= <name></name> | <name /> <?xml version=“1.0” encoding=“UTF-8” ?> <!DOCTYPE event SYSTEM “event.dtd” > <event> <fireworks1> <name>足立の花火大会</name> <place>荒川河川敷</place> <date>2005.07.28</date> </fireworks1> </event> ← 要素

  9. Attributes • 要素に情報を付加 • 一意に識別可能にする • 空要素に意味を持たせる • 名前と値の対 <?xml version=“1.0” encoding=“UTF-8” ?> <!DOCTYPE event SYSTEM “event.dtd” > <event> <fireworks name=“足立の花火大会” place=“荒川河川敷” date=“2005.07.28” /> </event> ← 属性

  10. Comments • パーサに無視してくれと頼む例)<!-- コメントだから無視してちょーだい --> • タグの中に記述してはいけない • コメント中に「 -- 」は使えない

  11. Processing Instructions (PIs) • アプリケーションに対して処理をさせる<?ターゲット 処理命令?>のように記述 例)<?stylesheet type=“text/css” href=“sample.css”?>

  12. Well-Formed XML Documents • 整形式XML文書 • 構文的に正しければよい • 構文的に正しいとは? • ルート要素はひとつだけ • 開始タグとそれに対応する終了タグがある • タグがオーバーラップしていない<creature><animal>Dog</creature></animal> • 属性名が一意である • DTDに則しているかどうかは関係ない

  13. Valid XML Documents • 妥当なXML文書 • 整形式であり,かつ文書型定義に則している • DTD, XML Schema Well-Formed Valid

  14. The Tree Model of XML Documents • 整形式のXMLは木構造で表現できる • 要素の順番は重要 • 属性の順番は重要ではない Root event fireworks1 fireworks2 name place date 足立の花火大会 荒川河川敷 2005.07.28

  15. DTD • 要素名や階層構造などを定義 • 内部DTD • XML文書内に直接記述 • 外部DTD • XML文書とは別のファイルに作成 • XML文書には参照情報を記述

  16. The Structure of DTD • 要素型宣言 (element type declaration) • 属性リスト宣言 (attribute list declaration) • 実体宣言 (entity declaration) • 記法宣言 (notation declaration) <!DOCTYPE menu [ <!ELEMENT menu (name, price, explanation)> <!ELEMENT name (#PCDATA)> <!ELEMENT price (#PCDATA)> <!ELEMENT explanation (#PCDATA)> <!ATTLIST name alias CDATA #REQUIRED> <!ENTITY …> <!NOTATION …> ]> 文書型宣言 要素型宣言 属性リスト宣言 実体宣言 記法宣言

  17. Keywords of DTD • #PCDATA • その要素はテキストしか持たない(子要素なし)cf. 子要素を持つときには子要素名にする • <!ELEMENT parent (child1+, child2*)> • #REQUIRED • その属性は省略不可能 cf. #IMPLIED (省略可) • CDATA • その属性値は文字データ cf. ID (一意識別子),IDREF (IDへの参照)

  18. XML Schema • DTDはXMLの文法に完全に従っていないからダメだ!!継承機能もないし… • 新たなスキーマ言語が必要だ • そこで登場,本命“XML Schema” • 以下を定義 • 要素の階層構造 • 要素名 • 属性名,属性値 • 要素・属性のデータ型

  19. The Structure of XML Schema <?xml version=“1.0” encode=“UTF-8” ?> <xsd:schema xmlns:xsd=“http://www.w3.org/2001/XMLSchema”> <xsd:element name=“NewMenu” type=“menu”> <xsd:complexType name=“menu”> <xsd:sequence> <xsd:element name=“Name” type=“nameType” /> <xsd:element name=“Price” type=“xsd:int” /> <xsd:element name=“Explanation” type=“xsd:string” /> </xsd:sequence> </xsd:complexType> <xsd:complexType name=“nameType”> <xsd:element name=“name” type=“xsd:string” /> <xsd:attribute name=“alias” type=“xsd:string” use=“optional” /> </xsd:complexType> </xsd:element> </xsd:schema> スキーマ宣言 要素宣言 複合型宣言 出現順指定 属性宣言

  20. etc of XML Schema • name • 要素・データ型・属性の名前を指定 • type • 要素・属性のデータ型を指定 • 名前空間に依存(組み込みデータ型) • complexType や simpleType によって定義も可能 • use • 属性が省略可能か明記

  21. Data Type Extension • あるデータ型をもとにして拡張することも可能 • さっきの例を使うと… <complexType name=“extendedNameType”> <sequence> <element name=“name” type=“string” /> <element name=“id” type=“int” /> </sequence> <attribute name=“alias” type=“string” use=“optional” /> <attribute name=“developer” type=“string” use=“optional” /> </complexType> <complexType name=“extendedNameType”> <extension base=“nameType”> <sequence> <element name=“id” type=“int” /> </sequence> <attribute name=“developer” type=“string” use=“optional” /> </extension> </complexType> つまり

  22. Data Type Restriction • あるデータ型に制約をつける • さっきの例を使うと <complexType name=“restrictedNameType”> <restriction base=“nameType”> <sequence> <element name=“name” type=“string” maxOccurs=“2” /> </sequence> <attribute name=“alias” type=“string” use=“required” /> </restriction> </complexType>

  23. about Namespace • 複数のスキーマを使ったときに名前の衝突が起こるのを避ける • 接頭辞をつけることで,どのスキーマの名前空間を使うかを指定prefix:name • 名前空間の宣言xmlns:prefix=“location” (locationはURI) • 接頭辞を省略するとデフォルトの名前空間となる(接頭辞の無い要素名はデフォルトNSを参照)

  24. XPath • XML文書中のノードの位置を指定 • 軸・ノードテスト・述語で構成 • /a/b • aという要素の下にあるbという要素 • //b • 全要素のなかでbという要素ノードすべて • /a/@attribute • aという要素のattributeという属性ノード • //c/@attr=“XXX” • cという要素で属性attrがXXXな属性ノード

  25. XPath(2) • //c[@attr=“XXX”] • 属性attrがXXXなcという要素 • //d[1] • XML文書中で最初に出てくるdという要素 • //d[1]/e[last()] • 最初のdという要素の中で最後のeという要素 • //e[not @attr] • 属性attrを持たないすべてのeという要素

  26. the Role of Stylesheet • XMLには書式化の情報は含まれていない!→ スタイルシートで出力形式を決める→ 一度で何度もおいしい • スタイルシート • CSS2 (Cascading Style Sheet level 2) • XSL (eXtensible Stylesheet Language) • 変換(XSLT)と書式化(XSL-FO) • XSLT (XSL Transformation) • 異なるスキーマをもつXML文書とのやりとりにも役立つ

  27. Summary • XMLはメタ言語 • 文書の構造はスキーマによって強化 • XMLは内容や構造を出力書式から分離 • XMLは構造化情報のデファクトスタンダード • XMLは異アプリ間の情報変換をサポート • XMLはQLにサポートされる

More Related