XML (Extensible Markup Language) とは、複雑な構造の文書をツリー構造で簡潔に記述できるマークアップ言語です。 XML 文書は要素(エレメント)によって構成されています。ひとつの要素は一対の開始タグと終了タグによって記述します。 XML 文書の中の要素はツリー構造で管理されます。XMLは単なるテキストファイルなので、エディタで編集することができます。

XMLの構成

XML文書は、処理命令およびスキーマ定義、XMLインスタンスから構成される。このうち、処理命令とスキーマ定義は省略することができる。

処理命令(省略可能)
スキーマ定義(省略可能)
XMLインスタンス

XML文書の例を次に示す。

<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE book [
  <!ELEMENT book (title)>
  <!ELEMENT title (#PCDATA)>
]>
<book>
  <title>XMLの構造</title>
</book>

スキーマ定義

スキーマ定義では、XML文書内で使用している要素の名前、順序、属性などの定義を行います。スキーマ定義は省略することが可能です。スキーマの定義はスキーマ定義言語で行います。スキーマ定義言語には以下の3種類があります。

次にDTDで記述したスキーマ定義の例を示します。

<!DOCTYPE book [
  <!ELEMENT book (title)>
  <!ELEMENT title (#PCDATA)>
]>

XMLインスタンス

実際のタグ付き文書を記述した部分です。XMLインスタンスは、以下の要素で構成されています。

次にXMLインスタンスの例を示します。

<book>
  <title>XMLの構造</title>
</book>

XMLパーサ(XMLプロセッサ)

XMLパーサ(XMLプロセッサ)とは、XML文書をアプリケーションで利用できる形式に変換するプログラムである。XMLパーサ(XMLプロセッサ)は、XML文書を読み込み、そのXML文書の構造を解析(パース)する。 アプリケーション開発者は、XMLパーサ(XMLプロセッサ)が提供する標準的なAPIを利用して、XML文書を操作できる。 このXML文書を操作するための代表的なAPIとして、DOM (Document Object Model)やSAX (Simple API for XML)がある。

SAML

SAML (Security Assertion Markup Language)は、認証及び承認データを交換するためのXMLに基づいたオープンな標準データ形式であり、OASISによって策定された。

XACML

XACML (Extensible Access Control Markup Language)は、OASISによって策定されたアクセス制御のための言語仕様であり、XMLに基づいている。

PAP (Policy Administration Point)はポリシーやポリシーセットを生成する機能を持つ。

PDP (Policy Decision Point)はポリシーに基づいて、要求者の要求は対象となる資源に関して権限が与えられるかどうかを判断する機能を持っている。

PEP (Policy Enforcement Point)はポリシーに基づいて、アクセス制御を実施する機能と持つところである。要求者から要求を受け付けて、アクセス制御ポリシーに適合した応答を要求者に返す。

XKMS

XKMS (XML Key Management Specitication)とは、暗号化技術の一種で、公開鍵基盤(PKI)の管理を行うプロトコルである。