2. 自己紹介
XML(再)入門
国島丈生
kunishi@acm.org
... the correct full name of XML, is "Extensible Markup
Language". "eXtensible Markup Language" is just a
spelling error. -- Tim Bray
2008-12-11, SIG WI2研究会
連載「日曜大工的XML入門」
(2002-2003)
2009.05.30. オープンセミナー@岡山
4. ータ容量でも高速 高精度検索
品名
・
用ニーズに確かな技術で応えます。
rstage Shunsaku Data Manager Enterprise Edition
機能概要
XML型データベースエンジン
XML DBの例 Integration
sible Markup Language)は、インター ネット上で交換・蓄積される
式として、さまざまな領域で活用が進んでいます。
レクタサーバ動作OS サーチサーバ動作OS
[ディ タサーバが Solaris OS / Linux の場合]
レク
dows Server 2003, Standard x64 Edition*
Red Hat Enterprise Linux 5
(for x86)
MLデータの 構造をそ のまま格納しながら、 AS for x86)
dows Server 2003, Enterprise x64 Edition
dows Server 2003, Standard Edition
*
Red Hat Enterprise Linux (v.4
Red Hat Enterprise Linux ES
(v.4 for x86)
dows Server 2003, Enterprise Edition
実現したXMLデータベ ースです。 タサーバが Windows の場合] Edition
あるがままに格納し、思うがままに検索する、XML型データベースエンジン
[ディ レク
dows 2000 Server
Windows Server 2003, Standard x64
dows 2000 Advanced Server
Windows Server 2003, Enterprise x64 Edition
術が、 9Linux 5 x86) 活用 の 可能性を広げます。 Edition
XMLデータの
aris 10, Solaris
Interstage
Windows Server 2003, Standard
webMethods
Hat Enterprise (for
Windows Server 2003, Enterprise Edition
Hat Enterprise Linux AS
(v.4 for x86)
Windows 2000 Server
Hat Enterprise Linux ES
(v.4 for x86)
Windows 2000 Advanced Server ■ 管理されないまま増え続ける非定型データ
Tamino XML Server Shunsaku Data Manager
* WOW64
: (Windows 32-bit On Windows 64-bit)サブシステム上で、 ッ
32ビ トアプリケーシ ンと
ョ して動作します
企業内には、売上げや在庫などの基幹系情報、メールや掲示板などのコミュニケーション
情報、設計書や議事録、商品情報、品質情報などのドキュメント情報というように、実にさま
品名 機能概要
rstage Application Server アプリケーシ ンサーバ
ョ ざまな情報があります。
rstage Studio アプリケーシ ン開発環境
ョ
rstage CollaborationRing Data Collection Server ファイル転送を リ
ト ガーにしたデータ連携
そして、これら企業内情報の約8割が、コミュニケーション情報やドキュメント情報に代表
ANGE XML DOCUMENTS ON THE FLY
rstage CollaborationRing File Transfer Integrator 複雑化するサーバ間の連携
される、項目の長さや数が確定できない非定型データだと言われています。
rstage Navigator Server 部門から全社規模までサポートするOLAP
mfoware Server データベース
nternal high-performance XML parser Core Services
Data map (schema container) 特長 1
The core services are basic functional compo- これまで、売上げなどの基幹系情報の中心を占める定型データは、
されてきましたが、非定型データは、
RDBなどを用いて管理
ほとんど管理されてきませんでした。
Stores/indexes XML objects nents immediately available after product
総合カタログ テラバイ ト級の
Maps data to RDBMSs, Adabas, etc. installation. しかし、企業価値向上のための情報活用、そして、コンプライアンス対応のためには、定型
n Server
erver extensions/triggers
基幹オンライン バッチシステム基盤
・
大容量データでも SIPnet
リポジ トリ BPM インタラクション マネジメン
・ ト 帳票ソリューション データだけでなく、非定型データも的確に管理していく必要があります。つまり、非定型
arious index types for simple/complex
Shunsaku Data Manager 高速検索
Native XML Data Store
CollaborationRing
データを的確に管理していかなければ、企業活動が成り立たなくなってきているのです。
lements and attributes Studio Accessible via HTTP-based ・ 独自に開発した技術で、
DOM, JDOM,
高速検索を実現
ack up, restore disaster recovery, etc. SAX APIs and SOAP services
High availability Storage capacity for the following docu-
■ 非定型データの管理に有効なXML
ocal and distributed transactions ments, messages and meta data: この非定型データの管理に効果を発揮するのがXMLです。XMLは柔軟なデータ構造が
- Well-formed-, Valid-, Non-XML 採れるため、項目の長さや数が確定できない非定型データを容易に表現できます。しか
長 2
mino‘s core enables you to build server Auto-versioning supported via WebDAV 特長 3 もデータ表現形式の国際標準規格であり、すでにデータ交換や蓄積のための基盤技術と
ensions and connect external databases. and Subversion して定着してきています。また、XMLであれば、項目の変更やシステムの拡張があって
軟なデータ構造 多彩な検索手段
core is augmented by core services and
も柔軟に対応できる、情報管理しやすいシステムをつくることができます。
bling services. Query/Text Retrieval Services
Tamino XML Server‘s built-in query interpreter
provides: ■ テラバイト級のXMLデータでも管理できるXMLデータベース。それが「TX1」
ときにデータベース Business Customer
・ 高度な日本語処理技術で、
Extensive W3C XQuery support including 企業内に存在する多種多様な非定型データを管理するには、大量のXMLデータを管理
義が不要 Reporting Solutions 多彩な検索手段を提供
updates, cross-collection joins, user-defined できるデータベースが必要です。
ステムに似た
+ Customer Solutions functions, modules, external variables, etc.
ル XMLデータベースTX1は、東芝ソリューションが開発した「テラバイト級のXMLデータ
Unique, collective searches on data, でも高速に検索できるXMLデータベース」です。エンタープライズクラスのシステムに
ore ...
です。 Web Services
ズを素早く らえ、 DBと External
スピーディ Databases
ーにビジネスを展開していく meta-data and non-XML data (e.g. 24時間365日の安定
「機敏性」 少ない投資で最大限の効果を生むビジネスの
、 「効率性」 full text)
、
erprise
す。
n Services Services (opt.)
適する特長を持つTX1を利用すれば、
大量の非定型データでも的確に管理することができます。
特長 5・
に応える富士通のIT基盤です。 オープン化によ with-in XQuery-embedded もたら
り複雑になったシステムの課題を解決し、 最善の答え と確かな効果をfunctions
します。
特長 4 ソースを最大限に有効利用し、 Infrastructure for Thesaurus, word stemming,
incl. Adabas
Processor
ビジネスの効率性:ITリ ビジネスの継続性:高信頼 高可用性の技術とノウハウで、
■ 非定型データやテキストデータの管理に適したTX1
X-Tension
効率的なアプリ
& Obj. Service ビジネスの効率性を追求。 ビジネスの継続性を可能に。
シンプルな自律運 24時間365日安定稼働。highlighting
phonetic searches andメインフレームで培った技術とノウハウに
mposer
能と ま
信頼性の確保 トの削減が可能となります。 より、
し Data/Metadata/non-XML
す。 ITリソースのより有効な活用を実現する と
と もに、
TX1は、非定型データだけでなく、テキストデータの管理にも適したデータベースです。
ケーション開発
長、拡大を 用と容易なシステム保守で運用コス オープン環境においてミ シ ンク
ッ ョ リティ カルなシステムでビジ
お客様のIT投資に対して最大限の効果を発揮し ます。
Applications ネスに継続性を ら ます。
もた し
Data Map
RDBでは格納しづらいデータも的確に管理できます。
chema Native XML
vice Data Store
商標または登録商標です。
r
国における登録商標です。
商標であり、 Back Office/
ライ センス供与されている ものです。 Back End 非定型データ
・ データベースに求められる
SOAP)
れ各社の商標または登録商標です。
・ XQueryと独自APIでDBを自在に操作 非定型データやテキス ト
も商標表示 (TM、R ) を付記しており ません。
データは、TX1向き
ます 信頼性を確保
。 http://interstage.fujitsu.com/jp/ ・ Webアプリケーション開発を支援するXWeb
・ さまざまな形式のデータをXMLに変換して
登録するデータ連携機能
数値/文字列
2009.05.30. オープンセミナー@岡山
TX1
全文検索
エンジン
テキスト
データ中心 データ中心
6. XML データベース
XPath
問合せ
XQuery
XML
SQL/XML
XML:DB API
etc.
結果がXMLである
こと以外多種多様!
2009.05.30. オープンセミナー@岡山
7. ータ容量でも高速 高精度検索
・
XML DBの分類 Integration
XML対応RDB
品名 機能概要
用ニーズに確かな技術で応えます。
rstage Shunsaku Data Manager Enterprise Edition XML型データベースエンジン
sible Markup Language)は、インター ネット上で交換・蓄積される
式として、さまざまな領域で活用が進んでいます。
レクタサーバ動作OS サーチサーバ動作OS
[ディ タサーバが Solaris OS / Linux の場合]
レク
dows Server 2003, Standard x64 Edition*
Red Hat Enterprise Linux 5
(for x86)
MLデータの 構造をそ のまま格納しながら、 AS for x86)
dows Server 2003, Enterprise x64 Edition
dows Server 2003, Standard Edition
*
Red Hat Enterprise Linux (v.4
Red Hat Enterprise Linux ES
(v.4 for x86)
dows Server 2003, Enterprise Edition
実現したXMLデータベ ースです。 タサーバが Windows の場合] Edition
あるがままに格納し、思うがままに検索する、XML型データベースエンジン
[ディ レク
dows 2000 Server
Windows Server 2003, Standard x64
dows 2000 Advanced Server
Windows Server 2003, Enterprise x64 Edition
術が、 9Linux 5 x86) 活用 の 可能性を広げます。 Edition
XMLデータの
aris 10, Solaris
Interstage
Windows Server 2003, Standard
webMethods
Hat Enterprise (for
Windows Server 2003, Enterprise Edition
Hat Enterprise Linux AS
(v.4 for x86)
Windows 2000 Server
Hat Enterprise Linux ES
(v.4 for x86)
Windows 2000 Advanced Server ■ 管理されないまま増え続ける非定型データ
Tamino XML Server Shunsaku Data Manager
* WOW64
: (Windows 32-bit On Windows 64-bit)サブシステム上で、 ッ
32ビ トアプリケーシ ンと
ョ して動作します
企業内には、売上げや在庫などの基幹系情報、メールや掲示板などのコミュニケーション
情報、設計書や議事録、商品情報、品質情報などのドキュメント情報というように、実にさま
品名 機能概要
rstage Application Server アプリケーシ ンサーバ
ョ ざまな情報があります。
rstage Studio アプリケーシ ン開発環境
ョ
rstage CollaborationRing Data Collection Server ファイル転送を リ
ト ガーにしたデータ連携
そして、これら企業内情報の約8割が、コミュニケーション情報やドキュメント情報に代表
ANGE XML DOCUMENTS ON THE FLY
rstage CollaborationRing File Transfer Integrator 複雑化するサーバ間の連携
される、項目の長さや数が確定できない非定型データだと言われています。
rstage Navigator Server 部門から全社規模までサポートするOLAP
mfoware Server データベース
nternal high-performance XML parser Core Services
Data map (schema container) 特長 1
The core services are basic functional compo- これまで、売上げなどの基幹系情報の中心を占める定型データは、
されてきましたが、非定型データは、
RDBなどを用いて管理
ほとんど管理されてきませんでした。
Stores/indexes XML objects nents immediately available after product
総合カタログ テラバイ ト級の
Maps data to RDBMSs, Adabas, etc. installation. しかし、企業価値向上のための情報活用、そして、コンプライアンス対応のためには、定型
n Server
erver extensions/triggers
基幹オンライン バッチシステム基盤
・
大容量データでも SIPnet
リポジ トリ BPM インタラクション マネジメン
・ ト 帳票ソリューション データだけでなく、非定型データも的確に管理していく必要があります。つまり、非定型
arious index types for simple/complex
Shunsaku Data Manager 高速検索
Native XML Data Store
CollaborationRing
データを的確に管理していかなければ、企業活動が成り立たなくなってきているのです。
ネイティブXML DB
lements and attributes Studio Accessible via HTTP-based ・ 独自に開発した技術で、
DOM, JDOM,
高速検索を実現
ack up, restore disaster recovery, etc. SAX APIs and SOAP services
High availability Storage capacity for the following docu-
■ 非定型データの管理に有効なXML
ocal and distributed transactions ments, messages and meta data: この非定型データの管理に効果を発揮するのがXMLです。XMLは柔軟なデータ構造が
- Well-formed-, Valid-, Non-XML 採れるため、項目の長さや数が確定できない非定型データを容易に表現できます。しか
長 2
mino‘s core enables you to build server Auto-versioning supported via WebDAV 特長 3 もデータ表現形式の国際標準規格であり、すでにデータ交換や蓄積のための基盤技術と
ensions and connect external databases. and Subversion して定着してきています。また、XMLであれば、項目の変更やシステムの拡張があって
軟なデータ構造 多彩な検索手段
core is augmented by core services and
も柔軟に対応できる、情報管理しやすいシステムをつくることができます。
bling services. Query/Text Retrieval Services
Tamino XML Server‘s built-in query interpreter
provides: ■ テラバイト級のXMLデータでも管理できるXMLデータベース。それが「TX1」
ときにデータベース Business Customer
・ 高度な日本語処理技術で、
Extensive W3C XQuery support including 企業内に存在する多種多様な非定型データを管理するには、大量のXMLデータを管理
義が不要 Reporting Solutions 多彩な検索手段を提供
updates, cross-collection joins, user-defined できるデータベースが必要です。
ステムに似た
+ Customer Solutions functions, modules, external variables, etc.
ル XMLデータベースTX1は、東芝ソリューションが開発した「テラバイト級のXMLデータ
Unique, collective searches on data, でも高速に検索できるXMLデータベース」です。エンタープライズクラスのシステムに
ore ...
です。 Web Services
ズを素早く らえ、 DBと External
スピーディ Databases
ーにビジネスを展開していく meta-data and non-XML data (e.g. 24時間365日の安定
「機敏性」 少ない投資で最大限の効果を生むビジネスの
、 「効率性」 full text)
、
erprise
す。
n Services Services (opt.)
適する特長を持つTX1を利用すれば、
大量の非定型データでも的確に管理することができます。
特長 5・
に応える富士通のIT基盤です。 オープン化によ with-in XQuery-embedded もたら
り複雑になったシステムの課題を解決し、 最善の答え と確かな効果をfunctions
します。
特長 4 ソースを最大限に有効利用し、 Infrastructure for Thesaurus, word stemming,
incl. Adabas
Processor
ビジネスの効率性:ITリ ビジネスの継続性:高信頼 高可用性の技術とノウハウで、
■ 非定型データやテキストデータの管理に適したTX1
X-Tension
効率的なアプリ
& Obj. Service ビジネスの効率性を追求。 ビジネスの継続性を可能に。
シンプルな自律運 24時間365日安定稼働。highlighting
phonetic searches andメインフレームで培った技術とノウハウに
mposer
能と ま
信頼性の確保 トの削減が可能となります。 より、
し Data/Metadata/non-XML
す。 ITリソースのより有効な活用を実現する と
と もに、
TX1は、非定型データだけでなく、テキストデータの管理にも適したデータベースです。
ケーション開発
その他
長、拡大を 用と容易なシステム保守で運用コス オープン環境においてミ シ ンク
ッ ョ リティ カルなシステムでビジ
お客様のIT投資に対して最大限の効果を発揮し ます。
Applications ネスに継続性を ら ます。
もた し
Data Map
RDBでは格納しづらいデータも的確に管理できます。
chema Native XML
vice Data Store
商標または登録商標です。
r
国における登録商標です。
商標であり、 Back Office/
ライ センス供与されている ものです。 Back End 非定型データ
・ データベースに求められる
SOAP)
れ各社の商標または登録商標です。
・ XQueryと独自APIでDBを自在に操作 非定型データやテキス ト
も商標表示 (TM、R ) を付記しており ません。
データは、TX1向き
ます 信頼性を確保
。 http://interstage.fujitsu.com/jp/ ・ Webアプリケーション開発を支援するXWeb
・ さまざまな形式のデータをXMLに変換して
登録するデータ連携機能
数値/文字列
2009.05.30. オープンセミナー@岡山
TX1
全文検索
エンジン
テキスト
データ中心 データ中心
13. XMLの表す構造=木
mail
head body
from to subject date p address
で講演し
address address address 12/11に a b
ます。
kunishi@ex hatano@ex hijikata@ex 講演の 2008-11-01 SIG WI2 href ぜひ見に来て
ample.com ample.com ample.com お誘い 17:01:30 研究会 ください!
国島丈生
http://www.ieice.org/~wi2/
(kunishi@example.com)
2009.05.30. オープンセミナー@岡山
21. DTD(文書型定義)
<!ELEMENT mail (head, body?)>
<!-- mail要素の内容はheadが1個、続いてbodyが0個以上 -->
<!ELEMENT head (from, to, cc?, subject, date)>
<!ELEMENT from (address)>
<!ELEMENT to (address+)>
<!ELEMENT date (#PCDATA¦(year, month, day))>
<!ELEMENT body (#PCDATA¦p¦address)*>
<!ELEMENT p (#PCDATA¦a¦b)*>
<!-- p要素の内容は文字列、a要素、b要素の0個以上の並び -->
<!ELEMENT a (#PCDATA)>
<!ATTLIST a href CDATA #REQUIRED>
2009.05.30. オープンセミナー@岡山
25. XPath
//head//address/text()[. != kunishi@example.com ]
mail
head body
from to subject date p address
で講演し
address address address 12/11に a b
ます。
kunishi@ex hatano@ex hijikata@ex 講演の 2008-11-01 SIG WI2 href ぜひ見に来て
ample.com ample.com ample.com お誘い 17:01:30 研究会 ください!
国島丈生
http://www.ieice.org/~wi2/
(kunishi@example.com)
2009.05.30. オープンセミナー@岡山
26. XPathの(省略)文法例
• /mail/head:ルート要素mailの子要素
head
• //head//address:文書中のhead要素
の子孫要素address
• //a/@href:文書中のa要素のhref属性
• //para[@lang= ja ]:属性langが ja で
あるようなpara要素
2009.05.30. オープンセミナー@岡山
29. XMLの例
bib
book book
year year
title author title author author
TCP/IP Stevens Data on Abiteboul Buneman
the Web
1994 2000
2009.05.30. オープンセミナー@岡山
30. FLWOR式
for $b in doc(“books.xml”)//book
let $y := $b/@year
where $y > “1999” bib
order by $b/author book book
return $b/author title author
year
title author author
year
TCP/IP Stevens Data on Abiteboul Buneman
the Web
1994 2000
<author>Abiteboul</author>
<author>Buneman</author>
2009.05.30. オープンセミナー@岡山
31. 要素構成子
<bib>{
for $b in doc(“book.xml”)//book
where $b/@year < 2000
return <ttl>{$b/title/text()}</ttl>
}</bib>
bib
book book
year year
title author title author author
<bib>
<ttl>TCP/IP</ttl> TCP/IP Stevens Data on
the Web
Abiteboul Buneman
</bib> 1994 2000
2009.05.30. オープンセミナー@岡山
33. XMLの結合
for $b1 in doc(“book1.xml”)//book,
$b2 in doc(“book2.xml”)//book
where $b1/author = $b2/author
and $b1/title != $b2/title
return
<pair>{$b1/title, $b2/title}</pair>
<pair>
<title>The Art of Comp. Prog.</title>
<title>TeX Book</title>
</pair>
2009.05.30. オープンセミナー@岡山
34. XQuery+テキスト検索
for $b in /books/book
where $b/title
ftcontains (“program” with stemming) ftand “Ruby”
return $b/author
program with stemming
→ program を語幹とする単語( progamming etc.)
2009.05.30. オープンセミナー@岡山
38. XML生成
books title year
TCP/IP 1990
Database 2000
select
xmlelement(name “bib”,
xmlattributes(year as “year”),
xmlforest(title as “title”)) as “books”
from books
books
<bib year=”1990”><title>TCP/IP</title></bib>
<bib year =”2000”><title>Database</title></bib>
2009.05.30. オープンセミナー@岡山
39. XQueryの埋め込み
books_xml books
<bib year=”1990”><title>TCP/IP</title></bib>
<bib year =”2000”><title>Database</title></bib>
select
xmlquery( result
‘for $b in $col return $b/title’
<title>TCP/IP</title>
passing books as “col”
returning content <title>Database</title>
null on empty) as result
from books_xml
2009.05.30. オープンセミナー@岡山
40. XML→関係
books_xml books
<bib year=”1990”><title>TCP/IP</title></bib>
<bib year =”2000”><title>Database</title></bib>
title year
select result.* TCP/IP 1990
from books_xml, Database 2000
xmltable(
‘for $b in $col/bib return $b’
passing books_xml.books as “col”
columns
“title” varchar(80) path ‘title’,
“year” integer path “@year”
) as result
2009.05.30. オープンセミナー@岡山