Web 2 1
This presentation is the property of its rightful owner.
Sponsored Links
1 / 27

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


  • 72 Views
  • Uploaded on
  • Presentation posted in: General

セマンティック 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 ページ記述の標準

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Web 2 1

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

電気通信大学大学院 電気通信学研究科

情報工学専攻 M2

間瀬哲也


2 structured web documents in xml

2. Structured Web Documents in XML


Contents

Contents

  • Introduction

  • The XML Language

  • Structuring

  • Namespaces

  • Addressing and Querying XML Documents

  • Processing

  • Summary


Html xml

HTML & XML

  • HTML (HyperText Markup Language)

    • Webページ記述の標準

    • SGML(Standard generalized ML)から派生

    • デバイスやシステムに非依存

  • XML (eXtensible Markup Language)

    • HTMLの欠点を克服するために開発


Html vs xml

HTML vs XML

  • 共通点

    • タグを使用

    • 人間は理解しやすい

  • 相違点

    • 終了タグ

    • 計算機可読性

    • 拡張性

    • 表示能力


Xml applications

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)


Prolog

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宣言

← 文書型宣言


Elements

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>

← 要素


Attributes

Attributes

  • 要素に情報を付加

    • 一意に識別可能にする

    • 空要素に意味を持たせる

  • 名前と値の対

<?xml version=“1.0” encoding=“UTF-8” ?>

<!DOCTYPE event SYSTEM “event.dtd” >

<event>

<fireworks name=“足立の花火大会”

place=“荒川河川敷”

date=“2005.07.28” />

</event>

← 属性


Comments

Comments

  • パーサに無視してくれと頼む例)<!-- コメントだから無視してちょーだい -->

  • タグの中に記述してはいけない

  • コメント中に「 -- 」は使えない


Processing instructions pis

Processing Instructions (PIs)

  • アプリケーションに対して処理をさせる<?ターゲット 処理命令?>のように記述

    例)<?stylesheet type=“text/css” href=“sample.css”?>


Well formed xml documents

Well-Formed XML Documents

  • 整形式XML文書

    • 構文的に正しければよい

  • 構文的に正しいとは?

    • ルート要素はひとつだけ

    • 開始タグとそれに対応する終了タグがある

    • タグがオーバーラップしていない<creature><animal>Dog</creature></animal>

    • 属性名が一意である

    • DTDに則しているかどうかは関係ない


Valid xml documents

Valid XML Documents

  • 妥当なXML文書

    • 整形式であり,かつ文書型定義に則している

      • DTD, XML Schema

Well-Formed

Valid


The tree model of xml documents

The Tree Model of XML Documents

  • 整形式のXMLは木構造で表現できる

    • 要素の順番は重要

    • 属性の順番は重要ではない

Root

event

fireworks1

fireworks2

name

place

date

足立の花火大会

荒川河川敷

2005.07.28


Web 2 1

DTD

  • 要素名や階層構造などを定義

  • 内部DTD

    • XML文書内に直接記述

  • 外部DTD

    • XML文書とは別のファイルに作成

    • XML文書には参照情報を記述


The structure of dtd

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 …>

]>

文書型宣言

要素型宣言

属性リスト宣言

実体宣言

記法宣言


Keywords of dtd

Keywords of DTD

  • #PCDATA

    • その要素はテキストしか持たない(子要素なし)cf. 子要素を持つときには子要素名にする

      • <!ELEMENT parent (child1+, child2*)>

  • #REQUIRED

    • その属性は省略不可能 cf. #IMPLIED (省略可)

  • CDATA

    • その属性値は文字データ cf. ID (一意識別子),IDREF (IDへの参照)


Xml schema

XML Schema

  • DTDはXMLの文法に完全に従っていないからダメだ!!継承機能もないし…

  • 新たなスキーマ言語が必要だ

  • そこで登場,本命“XML Schema”

    • 以下を定義

      • 要素の階層構造

      • 要素名

      • 属性名,属性値

      • 要素・属性のデータ型


The structure of xml schema

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>

スキーマ宣言

要素宣言

複合型宣言

出現順指定

属性宣言


Etc of xml schema

etc of XML Schema

  • name

    • 要素・データ型・属性の名前を指定

  • type

    • 要素・属性のデータ型を指定

      • 名前空間に依存(組み込みデータ型)

      • complexType や simpleType によって定義も可能

  • use

    • 属性が省略可能か明記


Data type extension

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>

つまり


Data type restriction

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>


About namespace

about Namespace

  • 複数のスキーマを使ったときに名前の衝突が起こるのを避ける

    • 接頭辞をつけることで,どのスキーマの名前空間を使うかを指定prefix:name

  • 名前空間の宣言xmlns:prefix=“location” (locationはURI)

    • 接頭辞を省略するとデフォルトの名前空間となる(接頭辞の無い要素名はデフォルトNSを参照)


Xpath

XPath

  • XML文書中のノードの位置を指定

    • 軸・ノードテスト・述語で構成

  • /a/b

    • aという要素の下にあるbという要素

  • //b

    • 全要素のなかでbという要素ノードすべて

  • [email protected]

    • aという要素のattributeという属性ノード

  • [email protected]=“XXX”

    • cという要素で属性attrがXXXな属性ノード


Xpath 2

XPath(2)

  • //c[@attr=“XXX”]

    • 属性attrがXXXなcという要素

  • //d[1]

    • XML文書中で最初に出てくるdという要素

  • //d[1]/e[last()]

    • 最初のdという要素の中で最後のeという要素

  • //e[not @attr]

    • 属性attrを持たないすべてのeという要素


The role of stylesheet

the Role of Stylesheet

  • XMLには書式化の情報は含まれていない!→ スタイルシートで出力形式を決める→ 一度で何度もおいしい

  • スタイルシート

    • CSS2 (Cascading Style Sheet level 2)

    • XSL (eXtensible Stylesheet Language)

      • 変換(XSLT)と書式化(XSL-FO)

    • XSLT (XSL Transformation)

      • 異なるスキーマをもつXML文書とのやりとりにも役立つ


Summary

Summary

  • XMLはメタ言語

  • 文書の構造はスキーマによって強化

  • XMLは内容や構造を出力書式から分離

  • XMLは構造化情報のデファクトスタンダード

  • XMLは異アプリ間の情報変換をサポート

  • XMLはQLにサポートされる


  • Login