XML (eXtensible Markup Language) $Date: 2002/12/21 22:13:01 $ XML XML とはなにか その名 (eXtesible Markup Language) の通り, 拡張可能なマークアップ言語. SGMLを簡略化したもので, あらかじめ用意されたものしか利用できない HTML と異 なり, XML は自分で好みに応じて追加・修正・編集・拡張することが可能. XML の設計目標から特徴的なものをいくつか: 1. XML は, インターネット上でそのまま利用可能であること 2. XML は, 広範多様なアプリケーションをサポートすること 3. XML は, SGML と互換的であること ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SGML SGML とは 1980 年台に ISO (International Organization for Standardization) によって標 準化されたもの. 他のマークアップ言語を記述するためのマークアップ言語. SGML 文書の構造 1. SGML 宣言 2. DTD (Document Type Definition) 3. 文書インスタンス SGML の応用 ・ DocBook ・ TEI (Text Encoding Initiative) ・ CALS SGML はなぜ難しいのか 1. 目的に応じた DTD を利用するが, その DTD に定義されている要素がたくさん ありすぎて習得が困難 2. 規格書の文法定義が複雑かつ難しい 3. 十分なツールや周辺技術が出そろわなかった ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ HTML おいたち web 用途に HTML が生まれる. 処理系 当初は文書構造とレイアウト情報が混在していたものだったが, CSS の登場により レイアウト情報 (見ための情報) が分離され, 近年では HTML の処理系は以下のよ うになっていると考えられる. [HTML Processor] 大まかな処理は; 1. parser (構文解析器)であり, 入力された文書を読み込んで, renderer に解釈 可能な形式でデータを渡す. parser はどの要素がどの位置に現れるか, その属 性はなにかなどを判定し, 要素が省略されていればそれを補うなどし, HTML を 完全な木構造にする. 2. stylesheet engine はスタイル情報を適宜解釈して, renderer に渡す. 3. renderer は parser と stylesheet engine からのデータを受けとり, ディス プレイに表示する. といった具合である. HTML をこれ以上拡張することはなぜまずいのか SGML のサブセットとして定義されたため, そもそもの拡張性が乏しい. また, 新しい要素を追加したとすると, そのために…, ・ parser への要素追加 ・ renderer への要素情報の追加 などが必要になる. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ふたたび XML XML のきまりごと ・ 属性名・属性値は大文字小文字を区別する → は別物. ・ 属性値は必ず引用府で囲む →

は不可.

などとする. ・ 終了タグは省略しない →

  • が現れたら,
  • をつける. ・ 空要素は (終了タグを持たないもの) は空要素タグで書く →
    のように "<要素名/>" とする. これらを満たすことにより, `well-formed (整形式; 整った形式)' となり, 解析可 能 (parsable) となる. また, DTD に沿ったマークアップをすると `valid (妥当)' となる. XML のメリット ・ 要素を自分で勝手に追加することができる ・ 複数の XML 言語を混在させることができる ・ データの流用性の向上 XML でなにができるのか XML アプリケーション: ・ MathML (Mathematical Markup Language) ・ SVG (Scalable Vector Graphics) ・ SMIL (Synchronized Multimedia Integration Language) ・ RDF (Resource Description Framework) ・ XSL (eXtesible Stylesheet Language) □ XSL-FO (eXtesible Stylesheet Language-Flow Objects) □ XSLT (eXtesible Stylesheet Language Transformations) ・ XHTML (eXtesible HyperText Markup Language) そのほかのもの: ・ SmartDoc ・ DocBook ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 参考 Extensible Markup Language (XML) 1.0 World Wide Web Consortium, http://www.w3.org/TR/REC-xml XHTML による Web 開発 著: Ian S. Graham, 訳: 吉川邦夫, 版: ASCII XML と SGML の公開 DTD 集 アンテナハウス, http://www.antenna.co.jp/XML/dtdlist.htm ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Copyright (C) 2001-2003 Hideyuki KURASHINA. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━