XML

XML (Extensible Markup Language) とは、構造化データを記述するためのマークアップ言語です。

目次

  1. 処理命令
    1. <?xml ?>
  2. 属性
    1. xmlns
    2. xmlns:prefix
    3. xml:base
    4. xml:id
    5. xml:lang
    6. xml:space
  3. コメントアウト
    1. <!-- comment -->
  4. エスケープ
    1. &amp;
    2. &gt;
    3. &lt;
    4. &quot;
  5. 問い合わせ言語
    1. XQuery
    2. XPath
  6. 演算子
    1. =
    2. eq
    3. !=
    4. ne
    5. <
    6. lt
    7. >
    8. gt
    9. <=
    10. le
    11. >=
    12. ge
    13. +
    14. -
    15. *
    16. and
    17. or
    18. not
    19. is
    20. isnot
    21. <<
    22. >>
  7. 組込み関数
    1. avg
    2. ceiling
    3. collection
    4. concat
    5. contains
    6. count
    7. current
    8. distinct-values
    9. document
    10. element-available
    11. ends-with
    12. floor
    13. input
    14. last
    15. position
    16. round
    17. starts-with
    18. sum
  8. ボキャブラリ
    1. MathML
    2. RSS
    3. sitemap.xml
    4. SOAP
    5. WSDL
    6. XMLスキーマ
    7. XSLT

コメントアウト

マークアップの外側であれば、XML文書の任意の場所にコメント(注釈)を記述できる。

XML文書にコメントを入れるには、次の構文で記述する。

<!-- comment -->

任意のコメントを記述する。改行を含めてもよい。ただし、ダブルハイフン(--)をコメントに含めてはならない。タグとcommentの間に必ずしも空白は必要ではないが、「--->」で終わってはいけない。

コメントは複数の行に跨っても良い。

<!--
  comment1
  comment2
-->

xmlns:prefix

prefixに接頭辞を指定することで、要素タイプ名を「prefix:elementType」と記述できるようになる。

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="book" type="BookType"/>
  <xsd:element name="author" type="xsd:string"/>
</xsd:schema>

XMLではxmlns属性で任意の接頭辞を定義することができるが、XMLであらかじめ定義されている予約済み接頭辞が存在する。

接頭辞 xml は、名前空間「http://www.w3.org/XML/1998/namespace」を表す予約済み接頭辞である。予約済みの接頭辞は明示的に定義することなく使用できる。したがって、次のようなxmlns属性の定義は不要である。

xmlns:xml="http://www.w3.org/XML/1998/namespace"

xml:base

xml:base は基底URIを指定する属性である。

xml:id

xml:id はXML文書の中で一意な識別子を指定する属性である。

<element xml:id="account">

xml:lang

xml:lang はコンテンツがどの言語で記述されているかを指定する属性である。

<element xml:lang="ja">

言語に加えて、国(地域)も指定できる。

<element xml:lang="ja-JP">

xml:space

xml:space はコンテンツ中の文字列に含まれる空白の扱いを指定する属性であり、次に示す値のうちいずれかを指定する。

xml:space
説明
default XMLプロセッサのデフォルト動作どおり
preserve すべての空白を保存する
<element xml:space="preserve">

and

and演算子により「複数の条件をすべて満たす」という条件を設定できます。次のように XPath 表現式で条件を複数指定する場合に利用できます。

/bookshelf/book[author/text()="夏目漱石" and publisher/text()="岩波書店"]

また、次のようにFLWOR表現式で条件を複数指定する場合にも利用できます。

for $x in /bookshelf/book
where $x/author/text()="夏目漱石" and $x/publisher/text()="岩波書店"
return $x

or

or演算子により「複数の条件のどれかを満たす」という条件を設定できます。次のように XPath 表現式で条件を複数指定する場合に利用できます。

/bookshelf/book[author/text()="芥川龍之介" or author/text()="夏目漱石"]

また、次のようにFLWOR表現式で条件を複数指定する場合にも利用できます。

for $x in /bookshelf/book
where $x/author/text()="芥川龍之介" or $x/author/text()="夏目漱石"
return $x

参考文献

World Wide Web Consortium (2006) Extensible Markup Language (XML) 1.1 (Second Edition)