SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
複合文書を作ってみよう!!
       2009年4月5日
         小山田晃浩
自己紹介
名前            : 小山田 晃浩
やってること : HTMLコーダー (株式会社メタフェイズ)

Weblogで情報発信 :
http://www.yomotsu.net

たまに雑誌の記事を執筆 :
web creators
アジェンダ
 1. いろいろなXML規格
 2. 複合文書とは / 複合文書の作り方
 3. XML な XHTML

 4. 時間があまったらおまけdemo
XHTML書いていますか?
ではXHTMLって
何をするためにあるのでしょう?
XHTMLは...
『文書フォーマットを記述するためのXML』
XHTML以外のXML規格
XMLの規格はいろいろなものがある
XHTML以外のXML規格
SVG (Scalable Vector Graphics)
ベクターグラフィック記述用
MathML (Mathematical Markup Language)
数式記述用
SMIL (Synchronized Multimedia Integration Language)
マルチメディアオブジェクト記述用
RDF (Resource Description Framework)
メタデータ記述用
XUL (XML-based User Interface Language)
ユーザーインターフェイス記述用
XSL/XSLT, XForms, XPath, XPointer, XLink ...
[demo]
    SVG
[demo1_firefox.svg]
[拡大しても劣化しないベクターイメージ]
[Illustratorは SVG 形式での保存ができる]
[demo]
  MathML
[demo2_mathml.xml]
[数式を表示した例]
[demo]
Firefox につかわれているXUL
   chrome://browser/content/browser.xul
  chrome://global/content/printdialog.xul
  chrome://global/content/alerts/alert.xul

  C:Program FilesMozilla Firefoxchrome
                   にある
    browser.jar を解凍すると格納されている
[URLバーに「chrome://browser/content/browser.xul」を入力]
HTMLがXMLになった理由
HTMLの仕様が大きくなってきたので
XMLにして切り分けることにした
XMLは混ぜることができる
[色々あると混ぜたくなりますよね!!]
[異なるXML規格を複合することができる]
XMLは混ぜることができる
これを XML 複合文書
(CDF - Compound Document Format) という




http://www.w3.org/2004/CDF/
XMLは混ぜることができる
例えば 
XHTML + SVG + MathML
などができる。
[demo]
XHTML + SVG + MathML
   [demo4_xhtml+mathml+svg.xml]
[混ぜ方]
XML語彙の混ぜ方
どうやって混ぜるのか?

いくつか混ぜ方はありますが
そのうちの一つを紹介
XML語彙の混ぜ方
1. まずはXMLを用意。
   今回はXHTMLをベースに。

    [demo : 用意したXHTMLのコード]
XML語彙の混ぜ方
2. 混ぜる語彙を用意。
   今回はSVGを混ぜてみる

      [demo : SVG のコード]
XML語彙の混ぜ方
3. 名前空間の宣言を追加

   [demo : SVG の名前空間の宣言]
[Picture Caption]
XML語彙の混ぜ方
4. 名前空間に対する接頭辞を
   追加した状態のSVG

   [demo : 接頭辞付きのSVGの要素]
[Picture Caption]
XML語彙の混ぜ方
4. 完成!!

          [demo : XHTML + SVG]
混ぜ方ポイント
1. XML であること
2. 名前空間を宣言する / 接頭辞をつける
  (どの語彙に属す要素なのかを分ける)
[XML な XHTML]
XML な XHTML
 混ぜるときに使った XHTML は
 いつも使う XHTML とは少し違う。
XML な XHTML
 例えば...
  well-formed でなければいけない
  document.write() が使えない
  (多くのブログパーツが使えない)
  IE で表示できない
[demo]
パースエラー
[Picture Caption]
[XML が Well-formdでないと解析エラーになる]
[demo]
IEで表示できない
[XHTMLが表示できない。XHTML1.1を使わない理由。]
text/html と application/xhtml+xml

  XHTML の Content-Type は2種類がある

    text/html
    application/xhtml+xml
[demo]
Live HTTP Headersをつかって確認
[Content-Typeを調べることができる]
text/html と application/xhtml+xml
  皆さんは text/html を採用しているはず...

  <meta http-equiv=quot;Content-Typequot; content=quot;
  text/html; charset=utf-8quot; />




  *実際はmeta要素を変えても意味がなく、サーバの設定を変えな
  いといけない
text/html と application/xhtml+xml

    text/html
     HTML として処理される
    application/xhtml+xml
    XHTML (XML) として処理される
text/html と application/xhtml+xml

  XHTML 1.0 の仕様ではどちらでも構わないこと
  になっているので text/html で書いてもOK。

  どうせ XHTML を書くのならいつでも XMLに移行
  できるようにしておくべき。


  http://standards.mitsue.co.
  jp/resources/w3c/TR/xhtml-media-
  types/#media-types
まとめ



  XHTMLは「文章」のためのXML
  XMLへの移行を考えてしっかりXHTMLを書く!!
まとめ



  「XHTMLでお願いします!!」という依頼はプロ
  の仕事になるかも
  CMSはパースエラーを補って出力してくれる
  ようになるかも
XML にも興味を持って
妥当な XHTML を書きましょう

Weitere ähnliche Inhalte

Was ist angesagt?

JUI Conference "Flashはもういらない!?" Adobe MAX Japan 2009
JUI Conference "Flashはもういらない!?" Adobe MAX Japan 2009JUI Conference "Flashはもういらない!?" Adobe MAX Japan 2009
JUI Conference "Flashはもういらない!?" Adobe MAX Japan 2009Yusuke Kawasaki
 
คู่มือบล๊อกเกอร์ฉบับสบาย
คู่มือบล๊อกเกอร์ฉบับสบายคู่มือบล๊อกเกอร์ฉบับสบาย
คู่มือบล๊อกเกอร์ฉบับสบายsaohae
 
Developers[Media]Summit 2009
Developers[Media]Summit 2009Developers[Media]Summit 2009
Developers[Media]Summit 2009Akiko Iwakiri
 
Windows MobileとWeb Api
Windows MobileとWeb ApiWindows MobileとWeb Api
Windows MobileとWeb ApiKenji Wada
 
CakePHP Console Application 拡張Tips
CakePHP Console Application 拡張TipsCakePHP Console Application 拡張Tips
CakePHP Console Application 拡張TipsKenichirou Oyama
 
Howtousenetboss
HowtousenetbossHowtousenetboss
Howtousenetbosskumee
 
ケータイサイトのはなし(入門編)
ケータイサイトのはなし(入門編)ケータイサイトのはなし(入門編)
ケータイサイトのはなし(入門編)Kentaro Matsui
 
Asp.Net Silverlight Loeng
Asp.Net Silverlight LoengAsp.Net Silverlight Loeng
Asp.Net Silverlight LoengJaana Metsamaa
 
การสมัครขอใช้โปรแกรม Wordpress
การสมัครขอใช้โปรแกรม Wordpressการสมัครขอใช้โปรแกรม Wordpress
การสมัครขอใช้โปรแกรม Wordpresskrunareerat
 
Betacamp4.选秀
Betacamp4.选秀Betacamp4.选秀
Betacamp4.选秀zhu02
 
Betacamp4.选秀
Betacamp4.选秀Betacamp4.选秀
Betacamp4.选秀rippleye
 
FlashMediaServer3開発環境の準備
FlashMediaServer3開発環境の準備FlashMediaServer3開発環境の準備
FlashMediaServer3開発環境の準備toyoshi
 
WebアプリケーションフレームワークMojoの紹介
WebアプリケーションフレームワークMojoの紹介WebアプリケーションフレームワークMojoの紹介
WebアプリケーションフレームワークMojoの紹介Yuki Kimoto
 
บทบาทของคอมพิวเตอร์
บทบาทของคอมพิวเตอร์บทบาทของคอมพิวเตอร์
บทบาทของคอมพิวเตอร์krunareerat
 
20090513 Cmsnight
20090513 Cmsnight20090513 Cmsnight
20090513 CmsnightYusuke Ando
 
การใช้งานเส้นกริด
การใช้งานเส้นกริดการใช้งานเส้นกริด
การใช้งานเส้นกริดPro Bancha
 

Was ist angesagt? (20)

JUI Conference "Flashはもういらない!?" Adobe MAX Japan 2009
JUI Conference "Flashはもういらない!?" Adobe MAX Japan 2009JUI Conference "Flashはもういらない!?" Adobe MAX Japan 2009
JUI Conference "Flashはもういらない!?" Adobe MAX Japan 2009
 
คู่มือบล๊อกเกอร์ฉบับสบาย
คู่มือบล๊อกเกอร์ฉบับสบายคู่มือบล๊อกเกอร์ฉบับสบาย
คู่มือบล๊อกเกอร์ฉบับสบาย
 
Developers[Media]Summit 2009
Developers[Media]Summit 2009Developers[Media]Summit 2009
Developers[Media]Summit 2009
 
Windows MobileとWeb Api
Windows MobileとWeb ApiWindows MobileとWeb Api
Windows MobileとWeb Api
 
CakePHP Console Application 拡張Tips
CakePHP Console Application 拡張TipsCakePHP Console Application 拡張Tips
CakePHP Console Application 拡張Tips
 
Howtousenetboss
HowtousenetbossHowtousenetboss
Howtousenetboss
 
ケータイサイトのはなし(入門編)
ケータイサイトのはなし(入門編)ケータイサイトのはなし(入門編)
ケータイサイトのはなし(入門編)
 
Asp.Net Silverlight Loeng
Asp.Net Silverlight LoengAsp.Net Silverlight Loeng
Asp.Net Silverlight Loeng
 
การสมัครขอใช้โปรแกรม Wordpress
การสมัครขอใช้โปรแกรม Wordpressการสมัครขอใช้โปรแกรม Wordpress
การสมัครขอใช้โปรแกรม Wordpress
 
Betacamp4.选秀
Betacamp4.选秀Betacamp4.选秀
Betacamp4.选秀
 
Betacamp4.选秀
Betacamp4.选秀Betacamp4.选秀
Betacamp4.选秀
 
FlashMediaServer3開発環境の準備
FlashMediaServer3開発環境の準備FlashMediaServer3開発環境の準備
FlashMediaServer3開発環境の準備
 
ม1 2
ม1 2ม1 2
ม1 2
 
WebアプリケーションフレームワークMojoの紹介
WebアプリケーションフレームワークMojoの紹介WebアプリケーションフレームワークMojoの紹介
WebアプリケーションフレームワークMojoの紹介
 
บทบาทของคอมพิวเตอร์
บทบาทของคอมพิวเตอร์บทบาทของคอมพิวเตอร์
บทบาทของคอมพิวเตอร์
 
Superheroes web
Superheroes webSuperheroes web
Superheroes web
 
20090513 Cmsnight
20090513 Cmsnight20090513 Cmsnight
20090513 Cmsnight
 
Umicms For Bynet
Umicms For BynetUmicms For Bynet
Umicms For Bynet
 
핸드폰 내구제 주의점
핸드폰 내구제 주의점핸드폰 내구제 주의점
핸드폰 내구제 주의점
 
การใช้งานเส้นกริด
การใช้งานเส้นกริดการใช้งานเส้นกริด
การใช้งานเส้นกริด
 

Mehr von SwapSkills

セマンティック検索 20100731
セマンティック検索 20100731セマンティック検索 20100731
セマンティック検索 20100731SwapSkills
 
Talk microdata
Talk microdataTalk microdata
Talk microdataSwapSkills
 
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...SwapSkills
 
ゲーム作成で学ぶ iPhoneアプリケーション超入門
ゲーム作成で学ぶ iPhoneアプリケーション超入門ゲーム作成で学ぶ iPhoneアプリケーション超入門
ゲーム作成で学ぶ iPhoneアプリケーション超入門SwapSkills
 
SwapSkillsFree|jQueryMobile [基礎編]
SwapSkillsFree|jQueryMobile [基礎編]SwapSkillsFree|jQueryMobile [基礎編]
SwapSkillsFree|jQueryMobile [基礎編]SwapSkills
 
HTML5 & Web Platform
HTML5 & Web PlatformHTML5 & Web Platform
HTML5 & Web PlatformSwapSkills
 
実践!スマートフォンサイト制作
実践!スマートフォンサイト制作実践!スマートフォンサイト制作
実践!スマートフォンサイト制作SwapSkills
 
スマートフォンサイトのトレンドとユーザビリティ
スマートフォンサイトのトレンドとユーザビリティスマートフォンサイトのトレンドとユーザビリティ
スマートフォンサイトのトレンドとユーザビリティSwapSkills
 
今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミングSwapSkills
 
今からハジメるHTML5マークアップ
今からハジメるHTML5マークアップ今からハジメるHTML5マークアップ
今からハジメるHTML5マークアップSwapSkills
 
『はじめてのXSLT 』小林 信次
『はじめてのXSLT 』小林 信次『はじめてのXSLT 』小林 信次
『はじめてのXSLT 』小林 信次SwapSkills
 
Swap Skills I Phone
Swap Skills I PhoneSwap Skills I Phone
Swap Skills I PhoneSwapSkills
 

Mehr von SwapSkills (12)

セマンティック検索 20100731
セマンティック検索 20100731セマンティック検索 20100731
セマンティック検索 20100731
 
Talk microdata
Talk microdataTalk microdata
Talk microdata
 
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
 
ゲーム作成で学ぶ iPhoneアプリケーション超入門
ゲーム作成で学ぶ iPhoneアプリケーション超入門ゲーム作成で学ぶ iPhoneアプリケーション超入門
ゲーム作成で学ぶ iPhoneアプリケーション超入門
 
SwapSkillsFree|jQueryMobile [基礎編]
SwapSkillsFree|jQueryMobile [基礎編]SwapSkillsFree|jQueryMobile [基礎編]
SwapSkillsFree|jQueryMobile [基礎編]
 
HTML5 & Web Platform
HTML5 & Web PlatformHTML5 & Web Platform
HTML5 & Web Platform
 
実践!スマートフォンサイト制作
実践!スマートフォンサイト制作実践!スマートフォンサイト制作
実践!スマートフォンサイト制作
 
スマートフォンサイトのトレンドとユーザビリティ
スマートフォンサイトのトレンドとユーザビリティスマートフォンサイトのトレンドとユーザビリティ
スマートフォンサイトのトレンドとユーザビリティ
 
今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング
 
今からハジメるHTML5マークアップ
今からハジメるHTML5マークアップ今からハジメるHTML5マークアップ
今からハジメるHTML5マークアップ
 
『はじめてのXSLT 』小林 信次
『はじめてのXSLT 』小林 信次『はじめてのXSLT 』小林 信次
『はじめてのXSLT 』小林 信次
 
Swap Skills I Phone
Swap Skills I PhoneSwap Skills I Phone
Swap Skills I Phone
 

『XHTML+SVG+MathMLの技術を知る! 』 小山田 晃浩