XMLゼミ

XMLゼミ
独習XML 第4章 名前空間
4.1 名前空間
4.2 名前空間の使い方
4.3 名前空間と関連仕様
藤井 丈明
4.1 名前空間
• XMLの特徴:タグを自由に定義
個人、団体でタグを自由に定義してしまうと、同じ名前のタ
グを違う意味で使われる可能性有り
名前の重複を解決し、同じ名前を異なる用途にできない
か?
XMLの名前空間(Namespaces in XML)
名前空間の役割
• 同じタグでも違う処理をする場合がある
名前空間A
<aTag>
名前空間B
<aTag>名前空間AのaTagとは異なる意味を持つ</aTag>
</aTag>
名前空間URI
• 名前空間URI:名前空間を表すために必要なもの
名前空間を表すために名前の前にユニークな接頭辞をつ
ける必要有り
• URI(Uniform Resource Identifiers):http://○ ○/××
インターネット空間の中で特定のものに割り当てらるユニー
ク文字列
名前空間URI
種類
名前空間URI
名前空間
http://www.w3.org/TR/REC-xml-names/
(namespace
)
XHTML
http://www.w3.org/1999/xhtml
XSLT
http://www.w3.org/1999/XSLT/Transform
4.2 名前空間の使い方
• 名前空間の識別:名前空間URIの使用。実際に名前空間URIを付
加する場合、短縮した別名を使用
• 名前空間プリフィックス:名前空間URIを短縮して定義
• 名前空間の定義
<htmlns:html xmlns:htmlns=“http://www.w3.org/TR/REC-html140”>
名前空間プリフィックス
タグ名
キーワード
名前空間URI
名前空間プリフィックスの省略
• 名前空間プリフィックスの省略:主に使う1つの名前空間
プリフィックスはデフォルトの名前空間プリフィックスとして
定義可能
xmlns=“http://www.w3.org/1999/xhtml”>
要素に対する名前空間の指定
• 名前空間プリフィックスは個々の要素に指定可能
*要素に名前空間を指定すると、その要素の子要素にも同
じ名前空間がデフォルトで指定されてしまう
4.3 名前空間と関連仕様
• 名前空間はほかのXML関連仕様と結びついた時に非常
に役立つ
• XMLでは名前空間を使うことを前提としてる関連仕様多
数(3.4 XMLSchema…)
関連仕様例
XMLSchema
W3Cのスキーマ仕様
XSLとXSLT
XML文書のスタイルと変換の仕様
SOAPメッセージ
SOAPでメッセージを送るXMLベースのEnvelopeの名前空間
MathML
XMLのシンタックスに従った数式表現の仕様
XHTML
XMLシンタクッスに従ったHTML文書の仕様
そのほかの応用
たとえば、SAXとDOMのプロセサ(XMLパーサー、プロセッサ)で拡張要素を定義
複数の仕様と名前空間
ボキャブラリセット:特定の目的のために定義された一連のタグ
(および属性)
・名前空間の使用により、同じドキュメント内で複数の異なるXML
関連仕様やボキャブラリセットを容易に使用可能
例)XML文書、XHTML内でのMathML使用による数式記述
・XSLTではスタイル,ドキュメント内容を名前空間利用により区別
・異なる言語の要素、属性を同じドキュメントに混在させる時、名
前空間の有効に使用できる
名前空間を使えない状況
• 最近導入された概念であるため。名前空間をサポートし
ていない仕様も存在(DDT等)
• XML文書を操作するプログラムの中にもサポートしてい
ないものが存在
• 名前空間を使う時には、必要に応じて仕様や実装の詳
細を調べる
*課題:名前空間を使用したXML文書の作成