SlideShare ist ein Scribd-Unternehmen logo
1 von 32
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研究会
例:メール
From: kunishi@example.com
To: hatano@example.com, hijikata@example.com
Subject: 講演のお誘い
Date: 2008-11-01 17:01:30


12/11のSIG WI2研究会で講演します。ぜひ見に来て
ください!
国島丈生 (kunishi@example.com)




                               2008-12-11, SIG WI2研究会
これをXMLで書くと
<?xml version= 1.0 encoding= utf-8 ?>
<mail>
 <head>
  <from><address>kunishi@example.com</address></from>
  <to><address>hatano@example.com</address>
      <address>hijikata@example.com</address></to>
  <subject>講演のお誘い</subject>
  <date>2008-11-01 17:01:30</date>
 </head>
 <body>
  <p>12/11の<a href= http://www.ieice.org/ wi2/ >SIG WI2研究会</a>
で講演します。<b>ぜひ見に来てください!</b></p>
  <address>国島丈生 (kunishi@example.com)</address>
 </body>
</mail>
                                          2008-12-11, SIG WI2研究会
用語
          要素(element)

属性(attribute)               内容(content)

<p>
12/11の<a href="http://www.ieice.org/ wi2/">SIG WI2</
a>で講演をします。<b>ぜひ見に来てください!</b>
</p>


開始タグ(start tag)             終了タグ(end tag)
                   タグ(tag)

                                      2008-12-11, SIG WI2研究会
マークアップ言語
• HTML, TeX, etc.
• テキスト中に埋め込むマークアップ
    (目印)の記法
    •文書の構造やテキストの属性(フォン
     トなど)を明記
    •計算機処理をしやすくする
•   マークアップ言語で書かれた文書=構
    造化文書(structured documents)

                     2008-12-11, SIG WI2研究会
Extensible?
• 要素や属性などの記法のみ規定
• 具体的な用途に合わせて要素名や属性
    名を自由に決められる
•   特定用途向けマークアップ言語を作り
    出すメタ言語
    •SGMLやXML
    •先のメールの例:XMLの記法に基づ
     く Mail Markup Language の文書

                       2008-12-11, SIG WI2研究会
SGMLからXMLへ
           機能の簡略化
SGML                   XML
  具体例                     具体例


        XML化、モジュール化
HTML                  XHTML
                      MathML
                      SVG
                      RDF/XML
                          etc.
                        2008-12-11, SIG WI2研究会
SGML, HTMLとの違い
• 終了タグの省略不可: <p>→<p>...</p>
• 内容のない要素(空要素)
  <hr>→<hr></hr>, <hr/> (空要素タグ)
• 属性
    <dl compact=compact>,
    <dl compact>
    → <dl compact= compact >,
       <dl compact= compact >
•   cf. W3C NOTE-sgml-xml-971215,
    W3C REC-xhtml1 4章
                         2008-12-11, SIG WI2研究会
XMLの構文上の注意点
                  <?xml version= 1.0
• XML宣言が先頭に必            encoding= utf-8 ?>
    要             <mail>

    • XMLのバージョン    <head>
                    <from>...</from>
     番号、ファイルの符
                    <to>...</to>
     号化方式などを指定      ...
•   どの要素にも含まれな     </head>
    い要素は文書中で一つ     <body>
    だけ(ルート要素)       <p>...</p>
                   </body>
                  </mail>


                             2008-12-11, SIG WI2研究会
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)




                                                                              2008-12-11, SIG WI2研究会
XMLで表現できない例
• 要素のオーバラップは表現できない
 <page><para>昔々、あるところ
 に、おじいさんとおばあさんが住ん
 でいました。</page><page>ある
 朝、おじいさんは山へ柴刈りに、お
 ばあさんは川へ洗濯に出かけまし
 た。</para></page>

                2008-12-11, SIG WI2研究会
XMLの主な用途
• テキスト文書の記述
 • 文書の構造を表現する
 • テキストの属性(リンクやフォントな
     ど)を表現する
    •構造化文書 (structured document)
•   構造を持つデータの記述
    •データ構造が不規則であってもよい
    •半構造データ(semistructured data)

                       2008-12-11, SIG WI2研究会
テキスト文書の記述
<?xml version= 1.0 encoding= utf-8 ?>
<mail>
 <head>
  <from><address>kunishi@example.com</address></from>
  <to><address>hatano@example.com</address>
      <address>hijikata@example.com</address></to>
  <subject>講演のお誘い</subject>
  <date>2008-11-01 17:01:30</date>
 </head>
 <body>
  <p>12/11の<a href= http://www.ieice.org/ wi2/ >SIG WI2研究会</a>
で講演します。<b>ぜひ見に来てください!</b></p>
  <address>国島丈生 (kunishi@example.com)</address>
 </body>
</mail>
                                          2008-12-11, SIG WI2研究会
データ構造の記述
<?xml version= 1.0 encoding= utf-8 ?>
<mail>
 <head>
  <from><address>kunishi@example.com</address></from>
  <to><address>hatano@example.com</address>
      <address>hijikata@example.com</address></to>
  <subject>講演のお誘い</subject>
  <date>2008-11-01 17:01:30</date>
 </head>
 <body>
  <p>12/11の<a href= http://www.ieice.org/ wi2/ >SIG WI2研究会</a>
で講演します。<b>ぜひ見に来てください!</b></p>
  <address>国島丈生 (kunishi@example.com)</address>
 </body>
</mail>
                                          2008-12-11, SIG WI2研究会
半構造データ
• 1997年にS. Abiteboulが提唱
 • Querying Semistructured Data ,
      ICDT97
•   raw text(非構造データ)とRDBやオ
    ブジェクト(厳密な構造データ)との
    中間、構造が不規則
•   例:Webページ、ASN.1、JSON


                        2008-12-11, SIG WI2研究会
不規則なデータ構造
<?xml version= 1.0 encoding= utf-8 ?>
<mail>
 <head>
  <from><address>hatano@example.com</address></from>
  <to><address>kunishi@example.com</address></to>
  <cc><address>hijikata@example.com</address></cc>
  <subject>了解です</subject>
  <date>
   <year>2008</year><month>11</month><day>1</day>
  </date>
 </head>
 <!-- 本文がないのでbody要素がない -->
</mail>

                                      2008-12-11, SIG WI2研究会
XML構造の正しさの基準
• 整形式(well-formed)
 • 文書がXMLの文法に沿っているか
 • ルート要素を根とする木か、など
• 妥当(valid)
 • 文書の不規則さが許容範囲内に収
    まっているか
•   許容範囲の定義(文書構造の定義)
    =文書スキーマ、スキーマ
    •XML文書とは別にあらかじめ用意
               2008-12-11, SIG WI2研究会
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>
                                2008-12-11, SIG WI2研究会
「構造」の見方の違い
• テキスト文書の場合
 • テキストの構造はあいまい
 • スキーマを定めるのは難しい
 • それでも計算機で処理させるためには
    スキーマはあったほうがよい
•   スキーマから外れた文書があることを
    前提に処理

               2008-12-11, SIG WI2研究会
「構造」の見方の違い
• データの場合
 • 対象はデータモデリングが終わった
    後のデータ
•   構造は(多くの場合、かなり)明確
•   (スキーマで定められた範囲で)不
    規則であってもよい
•   スキーマから外れた構造を持つデー
    タは(多くの場合)エラー

               2008-12-11, SIG WI2研究会
妥当性の2つの立場
• 妥当性検証しなくてもよい
 • 整形式であれば処理する
 • 必要ならスキーマで文書構造を検査
 • Relax NG, XPath 1.0, XSLT 1.0 (,
     DTD)など
•   妥当性検証が前提
    •妥当な文書のみ処理する
    •XML Schema, XPath 2.0, XQuery
     1.0, XSLT 2.0(, DTD)など
                         2008-12-11, SIG WI2研究会
XPath

  • XML文書(木)からデータを取り出す
      方法の一つ
  •   木の経路(パス)に関する条件式
  •   例:メールのヘッダに含まれるアドレ
      スのうちkunishi@example.com以外

//head//address/text()[. != kunishi@example.com ]


                                  2008-12-11, SIG WI2研究会
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)


                                                                              2008-12-11, SIG WI2研究会
XPathの(省略)文法例
• /mail :ルート要素mail
• /mail/head:ルート要素mailの子要素
    head
•   //head//address:文書中のhead要素
    の子孫要素address
•   //a/@href:文書中のa要素のhref属性
•   //para[@lang= ja ]:属性langが ja で
    あるようなpara要素
                         2008-12-11, SIG WI2研究会
メールをHTMLに埋込む
<?xml version= 1.0 encoding= utf-8 ?>
<html>
 <head>
  <title>kunishiさんの講演</title>
 </head>
 <body>
  <p>こんな案内が来ました。</p>
  <mail>
   <head>
     <from><address>kunishi@example.com</address></from>
     <to><address>hatano@example.com</address></to>
     <subject>講演します</subject>
     <date>2008-11-01 17:01:30</date>
   </head>
   <body>
     <p>12/11のSIG WI2研究会で講演します。ぜひ見に来て下さい!</p>
   </body>
  </mail>
 </body>
</html>
                                        2008-12-11, SIG WI2研究会
メールをHTMLに埋込む
<?xml version= 1.0 encoding= utf-8 ?>
<html>
 <head>
  <title>kunishiさんの講演</title>
 </head>
 <body>
  <p>こんな案内が来ました。</p>
  <mail>
   <head>
     <from><address>kunishi@example.com</address></from>
     <to><address>hatano@example.com</address></to>
     <subject>講演します</subject>
     <date>2008-11-01 17:01:30</date>
   </head>
   <body>
     <p>12/11のSIG WI2研究会で講演します。ぜひ見に来て下さい!</p>
   </body>
  </mail>
 </body>
</html>
                                        2008-12-11, SIG WI2研究会
メールをHTMLに埋込む
<?xml version= 1.0 encoding= utf-8 ?>
<html>
 <head>
  <title>kunishiさんの講演</title>
 </head>
 <body>
  <p>こんな案内が来ました。</p>
  <mail>
   <head>
     <from><address>kunishi@example.com</address></from>
     <to><address>hatano@example.com</address></to>
     <subject>講演します</subject>
     <date>2008-11-01 17:01:30</date>
   </head>
   <body>
     <p>12/11のSIG WI2研究会で講演します。ぜひ見に来て下さい!</p>
   </body>
  </mail>
 </body>
</html>
                                        2008-12-11, SIG WI2研究会
タグ名の衝突
<?xml version= 1.0 encoding= utf-8 ?>
<html>
 <head>
  <title>kunishiさんの講演</title>
 </head>
 <body>
  <p>こんな案内が来ました。</p>
  <mail>
   <head>
     <from><address>kunishi@example.com</address></from>
     <to><address>hatano@example.com</address></to>
     <subject>講演します</subject>
     <date>2008-11-01 17:01:30</date>
   </head>
   <body>
     <p>12/11のSIG WI2研究会で講演します。ぜひ見に来て下さい!</p>
   </body>
  </mail>
 </body>
</html>
                                        2008-12-11, SIG WI2研究会
接頭辞による衝突の回避
<?xml version= 1.0 encoding= utf-8 ?>
<h:html xmlns:h= http://www.w3.org/1999/xhtml
          xmlns:m= http://www.example.com/mail >
 <h:head>
  <h:title>kunishiさんの講演</h:title>
 </h:head>
 <h:body>
  <h:p>こんな案内が来ました。</h:p>
  <m:mail>
   <m:head>
     <m:from><m:address>kunishi@example.com</m:address></m:from>
     <m:to><m:address>hatano@example.com</m:address></m:to>
     <m:subject>講演します</m:subject>
     <m:date>2008-11-01 17:01:30</m:date>
   </m:head>
   <m:body>
     <h:p>12/11のSIG WI2研究会で講演します。ぜひ見に来て下さい!</h:p>
   </m:body>
  </m:mail>
 </h:body>
</h:html>
                                           2008-12-11, SIG WI2研究会
XML名前空間
                     XHTMLの名前空間
                     http://www.w3.org/1999/xhtml1

      html, head,                              h:
    body, p, title, ...
                                       メールを埋め込んだ
                                           XHTML文書

                                               m:

             mail, head,
            body, from, to,
            cc, subject, ...

Mail MLの名前空間
http://www.example.com/mail
                                              2008-12-11, SIG WI2研究会
接頭辞を固定しないのは
• 接頭辞をグローバルに固定すると
 • ドメインと同じ問題が起こる
   • 短い接頭辞を確保しようと競争
   • 接頭辞を高値で売り買い
• URLをXML名前空間の識別子に使う
 • XML名前空間を定義した個人/団体
    がURLを用意
•   URLにスキーマを置く必要はない
    (が説明だけでも置くとbetter)
                 2008-12-11, SIG WI2研究会
本日のスライド、参考資料・論文へのリ
ンクは下記から参照できます。

http://tk.kunilab.org/xmltut200812




                        2008-12-11, SIG WI2研究会

Weitere ähnliche Inhalte

Mehr von Takeo Kunishima

Vldb2002 report-200210231500
Vldb2002 report-200210231500Vldb2002 report-200210231500
Vldb2002 report-200210231500Takeo Kunishima
 
20160723 オープンキャンパス資料
20160723 オープンキャンパス資料20160723 オープンキャンパス資料
20160723 オープンキャンパス資料Takeo Kunishima
 
20160511 全学講義講演資料
20160511 全学講義講演資料20160511 全学講義講演資料
20160511 全学講義講演資料Takeo Kunishima
 
20151224 吉備創生カレッジ第3回資料
20151224 吉備創生カレッジ第3回資料20151224 吉備創生カレッジ第3回資料
20151224 吉備創生カレッジ第3回資料Takeo Kunishima
 
20151210 吉備創生カレッジ第2回資料
20151210 吉備創生カレッジ第2回資料20151210 吉備創生カレッジ第2回資料
20151210 吉備創生カレッジ第2回資料Takeo Kunishima
 
20151126 吉備創生カレッジ第1回資料
20151126 吉備創生カレッジ第1回資料20151126 吉備創生カレッジ第1回資料
20151126 吉備創生カレッジ第1回資料Takeo Kunishima
 
20150725 オープンキャンパス資料
20150725 オープンキャンパス資料20150725 オープンキャンパス資料
20150725 オープンキャンパス資料Takeo Kunishima
 
20150603 全学講義講演資料
20150603 全学講義講演資料20150603 全学講義講演資料
20150603 全学講義講演資料Takeo Kunishima
 
岡山県立大学オープンキャンパス資料
岡山県立大学オープンキャンパス資料岡山県立大学オープンキャンパス資料
岡山県立大学オープンキャンパス資料Takeo Kunishima
 
20111102 研究室紹介(横田研)
20111102 研究室紹介(横田研)20111102 研究室紹介(横田研)
20111102 研究室紹介(横田研)Takeo Kunishima
 
20101004 研究室紹介(横田研)
20101004 研究室紹介(横田研)20101004 研究室紹介(横田研)
20101004 研究室紹介(横田研)Takeo Kunishima
 
平成22年度情報通信工学実験IB実施資料
平成22年度情報通信工学実験IB実施資料平成22年度情報通信工学実験IB実施資料
平成22年度情報通信工学実験IB実施資料Takeo Kunishima
 
20091029 研究室紹介(横田研)
20091029 研究室紹介(横田研)20091029 研究室紹介(横田研)
20091029 研究室紹介(横田研)Takeo Kunishima
 
20090925 HTML5の過去、現在、未来
20090925 HTML5の過去、現在、未来20090925 HTML5の過去、現在、未来
20090925 HTML5の過去、現在、未来Takeo Kunishima
 
20090528 open seminar @ okayama
20090528 open seminar @ okayama20090528 open seminar @ okayama
20090528 open seminar @ okayamaTakeo Kunishima
 

Mehr von Takeo Kunishima (17)

Vldb2002 report-200210231500
Vldb2002 report-200210231500Vldb2002 report-200210231500
Vldb2002 report-200210231500
 
20160723 オープンキャンパス資料
20160723 オープンキャンパス資料20160723 オープンキャンパス資料
20160723 オープンキャンパス資料
 
20160511 全学講義講演資料
20160511 全学講義講演資料20160511 全学講義講演資料
20160511 全学講義講演資料
 
20151224 吉備創生カレッジ第3回資料
20151224 吉備創生カレッジ第3回資料20151224 吉備創生カレッジ第3回資料
20151224 吉備創生カレッジ第3回資料
 
20151210 吉備創生カレッジ第2回資料
20151210 吉備創生カレッジ第2回資料20151210 吉備創生カレッジ第2回資料
20151210 吉備創生カレッジ第2回資料
 
20151126 吉備創生カレッジ第1回資料
20151126 吉備創生カレッジ第1回資料20151126 吉備創生カレッジ第1回資料
20151126 吉備創生カレッジ第1回資料
 
20150725 オープンキャンパス資料
20150725 オープンキャンパス資料20150725 オープンキャンパス資料
20150725 オープンキャンパス資料
 
20150603 全学講義講演資料
20150603 全学講義講演資料20150603 全学講義講演資料
20150603 全学講義講演資料
 
PCD作成手順
PCD作成手順PCD作成手順
PCD作成手順
 
PasQポスター
PasQポスターPasQポスター
PasQポスター
 
岡山県立大学オープンキャンパス資料
岡山県立大学オープンキャンパス資料岡山県立大学オープンキャンパス資料
岡山県立大学オープンキャンパス資料
 
20111102 研究室紹介(横田研)
20111102 研究室紹介(横田研)20111102 研究室紹介(横田研)
20111102 研究室紹介(横田研)
 
20101004 研究室紹介(横田研)
20101004 研究室紹介(横田研)20101004 研究室紹介(横田研)
20101004 研究室紹介(横田研)
 
平成22年度情報通信工学実験IB実施資料
平成22年度情報通信工学実験IB実施資料平成22年度情報通信工学実験IB実施資料
平成22年度情報通信工学実験IB実施資料
 
20091029 研究室紹介(横田研)
20091029 研究室紹介(横田研)20091029 研究室紹介(横田研)
20091029 研究室紹介(横田研)
 
20090925 HTML5の過去、現在、未来
20090925 HTML5の過去、現在、未来20090925 HTML5の過去、現在、未来
20090925 HTML5の過去、現在、未来
 
20090528 open seminar @ okayama
20090528 open seminar @ okayama20090528 open seminar @ okayama
20090528 open seminar @ okayama
 

Kürzlich hochgeladen

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Kürzlich hochgeladen (12)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

SIG WI2 XML tutorial

  • 1. 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研究会
  • 2. 例:メール From: kunishi@example.com To: hatano@example.com, hijikata@example.com Subject: 講演のお誘い Date: 2008-11-01 17:01:30 12/11のSIG WI2研究会で講演します。ぜひ見に来て ください! 国島丈生 (kunishi@example.com) 2008-12-11, SIG WI2研究会
  • 3. これをXMLで書くと <?xml version= 1.0 encoding= utf-8 ?> <mail> <head> <from><address>kunishi@example.com</address></from> <to><address>hatano@example.com</address> <address>hijikata@example.com</address></to> <subject>講演のお誘い</subject> <date>2008-11-01 17:01:30</date> </head> <body> <p>12/11の<a href= http://www.ieice.org/ wi2/ >SIG WI2研究会</a> で講演します。<b>ぜひ見に来てください!</b></p> <address>国島丈生 (kunishi@example.com)</address> </body> </mail> 2008-12-11, SIG WI2研究会
  • 4. 用語 要素(element) 属性(attribute) 内容(content) <p> 12/11の<a href="http://www.ieice.org/ wi2/">SIG WI2</ a>で講演をします。<b>ぜひ見に来てください!</b> </p> 開始タグ(start tag) 終了タグ(end tag) タグ(tag) 2008-12-11, SIG WI2研究会
  • 5. マークアップ言語 • HTML, TeX, etc. • テキスト中に埋め込むマークアップ (目印)の記法 •文書の構造やテキストの属性(フォン トなど)を明記 •計算機処理をしやすくする • マークアップ言語で書かれた文書=構 造化文書(structured documents) 2008-12-11, SIG WI2研究会
  • 6. Extensible? • 要素や属性などの記法のみ規定 • 具体的な用途に合わせて要素名や属性 名を自由に決められる • 特定用途向けマークアップ言語を作り 出すメタ言語 •SGMLやXML •先のメールの例:XMLの記法に基づ く Mail Markup Language の文書 2008-12-11, SIG WI2研究会
  • 7. SGMLからXMLへ 機能の簡略化 SGML XML 具体例 具体例 XML化、モジュール化 HTML XHTML MathML SVG RDF/XML etc. 2008-12-11, SIG WI2研究会
  • 8. SGML, HTMLとの違い • 終了タグの省略不可: <p>→<p>...</p> • 内容のない要素(空要素) <hr>→<hr></hr>, <hr/> (空要素タグ) • 属性 <dl compact=compact>, <dl compact> → <dl compact= compact >, <dl compact= compact > • cf. W3C NOTE-sgml-xml-971215, W3C REC-xhtml1 4章 2008-12-11, SIG WI2研究会
  • 9. XMLの構文上の注意点 <?xml version= 1.0 • XML宣言が先頭に必 encoding= utf-8 ?> 要 <mail> • XMLのバージョン <head> <from>...</from> 番号、ファイルの符 <to>...</to> 号化方式などを指定 ... • どの要素にも含まれな </head> い要素は文書中で一つ <body> だけ(ルート要素) <p>...</p> </body> </mail> 2008-12-11, SIG WI2研究会
  • 10. 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) 2008-12-11, SIG WI2研究会
  • 11. XMLで表現できない例 • 要素のオーバラップは表現できない <page><para>昔々、あるところ に、おじいさんとおばあさんが住ん でいました。</page><page>ある 朝、おじいさんは山へ柴刈りに、お ばあさんは川へ洗濯に出かけまし た。</para></page> 2008-12-11, SIG WI2研究会
  • 12. XMLの主な用途 • テキスト文書の記述 • 文書の構造を表現する • テキストの属性(リンクやフォントな ど)を表現する •構造化文書 (structured document) • 構造を持つデータの記述 •データ構造が不規則であってもよい •半構造データ(semistructured data) 2008-12-11, SIG WI2研究会
  • 13. テキスト文書の記述 <?xml version= 1.0 encoding= utf-8 ?> <mail> <head> <from><address>kunishi@example.com</address></from> <to><address>hatano@example.com</address> <address>hijikata@example.com</address></to> <subject>講演のお誘い</subject> <date>2008-11-01 17:01:30</date> </head> <body> <p>12/11の<a href= http://www.ieice.org/ wi2/ >SIG WI2研究会</a> で講演します。<b>ぜひ見に来てください!</b></p> <address>国島丈生 (kunishi@example.com)</address> </body> </mail> 2008-12-11, SIG WI2研究会
  • 14. データ構造の記述 <?xml version= 1.0 encoding= utf-8 ?> <mail> <head> <from><address>kunishi@example.com</address></from> <to><address>hatano@example.com</address> <address>hijikata@example.com</address></to> <subject>講演のお誘い</subject> <date>2008-11-01 17:01:30</date> </head> <body> <p>12/11の<a href= http://www.ieice.org/ wi2/ >SIG WI2研究会</a> で講演します。<b>ぜひ見に来てください!</b></p> <address>国島丈生 (kunishi@example.com)</address> </body> </mail> 2008-12-11, SIG WI2研究会
  • 15. 半構造データ • 1997年にS. Abiteboulが提唱 • Querying Semistructured Data , ICDT97 • raw text(非構造データ)とRDBやオ ブジェクト(厳密な構造データ)との 中間、構造が不規則 • 例:Webページ、ASN.1、JSON 2008-12-11, SIG WI2研究会
  • 16. 不規則なデータ構造 <?xml version= 1.0 encoding= utf-8 ?> <mail> <head> <from><address>hatano@example.com</address></from> <to><address>kunishi@example.com</address></to> <cc><address>hijikata@example.com</address></cc> <subject>了解です</subject> <date> <year>2008</year><month>11</month><day>1</day> </date> </head> <!-- 本文がないのでbody要素がない --> </mail> 2008-12-11, SIG WI2研究会
  • 17. XML構造の正しさの基準 • 整形式(well-formed) • 文書がXMLの文法に沿っているか • ルート要素を根とする木か、など • 妥当(valid) • 文書の不規則さが許容範囲内に収 まっているか • 許容範囲の定義(文書構造の定義) =文書スキーマ、スキーマ •XML文書とは別にあらかじめ用意 2008-12-11, SIG WI2研究会
  • 18. 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> 2008-12-11, SIG WI2研究会
  • 19. 「構造」の見方の違い • テキスト文書の場合 • テキストの構造はあいまい • スキーマを定めるのは難しい • それでも計算機で処理させるためには スキーマはあったほうがよい • スキーマから外れた文書があることを 前提に処理 2008-12-11, SIG WI2研究会
  • 20. 「構造」の見方の違い • データの場合 • 対象はデータモデリングが終わった 後のデータ • 構造は(多くの場合、かなり)明確 • (スキーマで定められた範囲で)不 規則であってもよい • スキーマから外れた構造を持つデー タは(多くの場合)エラー 2008-12-11, SIG WI2研究会
  • 21. 妥当性の2つの立場 • 妥当性検証しなくてもよい • 整形式であれば処理する • 必要ならスキーマで文書構造を検査 • Relax NG, XPath 1.0, XSLT 1.0 (, DTD)など • 妥当性検証が前提 •妥当な文書のみ処理する •XML Schema, XPath 2.0, XQuery 1.0, XSLT 2.0(, DTD)など 2008-12-11, SIG WI2研究会
  • 22. XPath • XML文書(木)からデータを取り出す 方法の一つ • 木の経路(パス)に関する条件式 • 例:メールのヘッダに含まれるアドレ スのうちkunishi@example.com以外 //head//address/text()[. != kunishi@example.com ] 2008-12-11, SIG WI2研究会
  • 23. 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) 2008-12-11, SIG WI2研究会
  • 24. XPathの(省略)文法例 • /mail :ルート要素mail • /mail/head:ルート要素mailの子要素 head • //head//address:文書中のhead要素 の子孫要素address • //a/@href:文書中のa要素のhref属性 • //para[@lang= ja ]:属性langが ja で あるようなpara要素 2008-12-11, SIG WI2研究会
  • 25. メールをHTMLに埋込む <?xml version= 1.0 encoding= utf-8 ?> <html> <head> <title>kunishiさんの講演</title> </head> <body> <p>こんな案内が来ました。</p> <mail> <head> <from><address>kunishi@example.com</address></from> <to><address>hatano@example.com</address></to> <subject>講演します</subject> <date>2008-11-01 17:01:30</date> </head> <body> <p>12/11のSIG WI2研究会で講演します。ぜひ見に来て下さい!</p> </body> </mail> </body> </html> 2008-12-11, SIG WI2研究会
  • 26. メールをHTMLに埋込む <?xml version= 1.0 encoding= utf-8 ?> <html> <head> <title>kunishiさんの講演</title> </head> <body> <p>こんな案内が来ました。</p> <mail> <head> <from><address>kunishi@example.com</address></from> <to><address>hatano@example.com</address></to> <subject>講演します</subject> <date>2008-11-01 17:01:30</date> </head> <body> <p>12/11のSIG WI2研究会で講演します。ぜひ見に来て下さい!</p> </body> </mail> </body> </html> 2008-12-11, SIG WI2研究会
  • 27. メールをHTMLに埋込む <?xml version= 1.0 encoding= utf-8 ?> <html> <head> <title>kunishiさんの講演</title> </head> <body> <p>こんな案内が来ました。</p> <mail> <head> <from><address>kunishi@example.com</address></from> <to><address>hatano@example.com</address></to> <subject>講演します</subject> <date>2008-11-01 17:01:30</date> </head> <body> <p>12/11のSIG WI2研究会で講演します。ぜひ見に来て下さい!</p> </body> </mail> </body> </html> 2008-12-11, SIG WI2研究会
  • 28. タグ名の衝突 <?xml version= 1.0 encoding= utf-8 ?> <html> <head> <title>kunishiさんの講演</title> </head> <body> <p>こんな案内が来ました。</p> <mail> <head> <from><address>kunishi@example.com</address></from> <to><address>hatano@example.com</address></to> <subject>講演します</subject> <date>2008-11-01 17:01:30</date> </head> <body> <p>12/11のSIG WI2研究会で講演します。ぜひ見に来て下さい!</p> </body> </mail> </body> </html> 2008-12-11, SIG WI2研究会
  • 29. 接頭辞による衝突の回避 <?xml version= 1.0 encoding= utf-8 ?> <h:html xmlns:h= http://www.w3.org/1999/xhtml xmlns:m= http://www.example.com/mail > <h:head> <h:title>kunishiさんの講演</h:title> </h:head> <h:body> <h:p>こんな案内が来ました。</h:p> <m:mail> <m:head> <m:from><m:address>kunishi@example.com</m:address></m:from> <m:to><m:address>hatano@example.com</m:address></m:to> <m:subject>講演します</m:subject> <m:date>2008-11-01 17:01:30</m:date> </m:head> <m:body> <h:p>12/11のSIG WI2研究会で講演します。ぜひ見に来て下さい!</h:p> </m:body> </m:mail> </h:body> </h:html> 2008-12-11, SIG WI2研究会
  • 30. XML名前空間 XHTMLの名前空間 http://www.w3.org/1999/xhtml1 html, head, h: body, p, title, ... メールを埋め込んだ XHTML文書 m: mail, head, body, from, to, cc, subject, ... Mail MLの名前空間 http://www.example.com/mail 2008-12-11, SIG WI2研究会
  • 31. 接頭辞を固定しないのは • 接頭辞をグローバルに固定すると • ドメインと同じ問題が起こる • 短い接頭辞を確保しようと競争 • 接頭辞を高値で売り買い • URLをXML名前空間の識別子に使う • XML名前空間を定義した個人/団体 がURLを用意 • URLにスキーマを置く必要はない (が説明だけでも置くとbetter) 2008-12-11, SIG WI2研究会

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n