Extensible Markup Language

出典: フリー百科事典『ウィキペディア(Wikipedia)』

Extensible Markup Language <tr><th style="white-space: nowrap;">拡張子:</th><td>.xml</td></tr><tr><th style="white-space: nowrap;">MIME Type:</th><td>application/xml、text/xml(非推奨)</td></tr><tr><th style="white-space: wrap;">UTI:</th><td>public.xml</td></tr><tr><th style="white-space: nowrap;">開発者:</th><td>World Wide Web Consortium</td></tr><tr><th style="white-space: nowrap;">種別:</th><td>マークアップ言語</td></tr><tr><th style="white-space: nowrap;">派生元:</th><td>SGML</td></tr><tr><th style="white-space: nowrap;">拡張:</th><td>XHTMLRSSAtom・・・</td></tr><tr><th style="white-space: nowrap;">国際標準:</th><td>1.0(Fourth Edition)</td></tr>
プログラミング言語一覧
オブジェクト指向言語
C++ - C# - D - Delphi - Eiffel
Groovy - Java - Oberon
Objective-C - Python - Ruby
S - Self - Simula - Smalltalk
Visual Basic .NET - WinDev
命令型言語
ALGOL - APL - ASP
AWK - アセンブリ言語 - BASIC
C - COBOL - ECMAScript
Forth - FORTRAN - Limbo
LOGO - Modula-2 - Pascal
Perl - PHP - PL/I
PostScript - RPG - Tcl/Tk
関数型言語
Dylan - Haskell - ML/OCaml
LISP/Common Lisp
Mathematica - Scheme
XSLT - XQuery
宣言型言語
CLIPS - Prolog - SQL
並行プログラミング言語
Ada 95 - Erlang
マークアップ言語
HTML - SGML - XML
S式
関連項目
ソフトウェア設計 - プログラミング
ソフトウェアテスト - 最適化

Extensible Markup Language(エクステンシブルマークアップランゲージ、XML拡張可能なマーク付け言語、JIS X 4159:2002)は、データを記述するマークアップ言語を定義するためのメタ言語である。W3C(World Wide Web Consortium)により1998年2月にXML 1.0が勧告された。 2007年現在、W3C勧告の最新バージョンはXML 1.1である。

目次

[編集] 特徴

XMLが開発される以前に、データを記述するマークアップ言語を定義するためのメタ言語として、SGMLという技術がすでに存在していた。SGMLはいくつかの分野で普及していたが、仕様が複雑で処理系の開発が難しく、またSGML文書の処理が重いという欠点があった。XMLではこのようなSGMLの欠点を解決すべく文法を簡素化した。技術者にとってはXMLはSGMLよりも習得しやすい技術であり、また処理系の開発が容易になったことで低コストでXML技術を利用できるようになった。現在ではXMLは非常に広く普及している技術である。XHTMLRSSSOAPSVGなどがXMLアプリケーションの一例である。しかしながら、簡素化されたとはいえ、その処理は決して軽くはなく、インターネット上のプロトコルなど速度と軽さが要求される分野では、採用が見送られることがしばしばある<ref>XMLの汎用性とそれに伴う重さはしばしば揶揄の対象とされることもあり、IPTCPUDPをXMLで定義するというジョークRFC(RFC3252)が存在するほどである。</ref>。

スキーマ言語によって文書構造を定義し、XML ParserでそのXML文書(XMLインスタンス)の妥当性を検証できる。スキーマ言語としてはDTDXML SchemaRELAX NG文書スキーマ定義言語:DSDL)などがある。スキーマ言語によって文書構造が定義され、XML文書の妥当性を検証するソフトウェアによって妥当性が検証されたXML文書のことを「妥当なXML文書」(valid XML document)という。一方、XML文書のマークアップ規則に従って記述されただけの文書を「整形式XML文書」(well-formed XML document)という。XML文書を、より厳密に構造化した文書やデータとして扱いたい場合は、文書構造をXML SchemaやRELAX NGなどのスキーマ言語で記述し、XML文書に対してその文書構造に従っていることを検証する(妥当性検証を行う)ことによって、従来アプリケーションプログラムで行ってきたXML文書に含まれるデータに対するデータ型のチェックや値の範囲のチェックが可能となる。

XMLだけでは最低限の書式しか決められていないため、XMLの力を引き出す各種の関連技術が別途標準化されている。現在も多くの関連技術の標準化作業が行われている。例えば、プログラムからXML文書を処理する方法として、DOMSAXなどのAPIが標準化されている<ref>他の方法でXML文書を処理することも可能である</ref>。また、スタイルを指定する技術(スタイルシート)としてXSLCSSなどがある。

XML勧告では、XML Parserがサポートすべき文字コード(文字の符号化方式)としてUTF-8UTF-16Unicode)を定めているため、英語以外の言語も扱いやすくなっている。また、UTF-8とUTF-16以外の文字コード(UCS-4EUC-JPShift_JISEBCDICなど)を用いることも可能である<ref>XML Parserを利用する際には、XML文書で用いている文字コードをサポートしたものを選択することになる。</ref>。

[編集] 基本的な構文

XML文書は「要素」(element)と「属性」(attribute)が複数集まって構成されている。要素は内部に子要素を含むことができる。属性は要素に付随し、属性の内部に子要素を含むことはできない。要素は開始タグと終了タグで内容を挟むことで表現する。開始タグは「<要素名>」、終了タグは「</要素名>」で記述する。次の例は内容に文字列「XMLはデータ記述用メタ言語である」を持つ要素articleである。

<article>XMLはデータ記述用メタ言語である。</article>

要素は内部に別の要素を含むことができる。また、内容のない要素を空要素(empty element)という。空要素ではタグを「<要素名/>」や「<要素名 />」と記述するか、「<要素名></要素名>」と記述する。

<article>
    <title>XML</title>
    <content>XMLはデータ記述用メタ言語である。</content>
    <templete_stub/>
</article>

属性は開始タグの中に「属性名="値"」もしくは「属性名='値'」の構文で記述する。

<article type="スタブ">
    <title>XML</title>
    <content>XMLはデータ記述用メタ言語である。</content>
    <templete_stub/>
</article>

文書の先頭には <?xmlで始まり?> で終わるXML宣言が必要である。XML宣言にはバージョン番号(XML1.0の場合は"1.0")と、その文書の文字符号化方式(以下の例では UTF-8)などを記述できる。ただし、文字符号化方式がUTF-8とUTF-16の場合は省略が可能である。

<?xml version="1.0" encoding="UTF-8"?>
<article type="スタブ">
    <title>XML</title>
    <content>XMLはデータ記述用メタ言語である。</content>
    <templete_stub/>
</article>

このようにXML文書たる形式にしたがっている文書を「整形式XML文書」(well-formed XML document)という。整形式であることに加え、スキーマ言語によって定義された文書構造に準じていることが、ソフトウェアによって検証された文書を「妥当なXML文書」(valid XML document)という。

[編集] オフィススイートにおけるXML技術の利用

従前、オフィススイートには各ソフトの特有のバイナリ形式としてデータが保存されていた。しかしながらこれでは互換性が低く、様々な情報をデータベースとして利用するオフィススイートでは不都合が生じていた。

そのため、データの標準化を進めて互換性を高めるため、各オフィススイートはXML形式でデータを出力する機能や、そもそも標準保存形式をXMLベースとするものが増えてきた。

具体的には、Microsoft OfficeではXPのバージョンからXML形式への対応を始め、2003でカスタム定義のXML Schemaがサポートされるに至った。バージョン2007ではデフォルトの保存方式がXMLとなった(Microsoft Office Open XML)。他方、OpenOffice.orgはXMLベースの保存形式を当初より標準としていた(英語版バージョン1.0は2002年5月1日リリース)。また、OpenOffice.orgに限らず、どのオフィススイートでも利用できるOpenDocument形式が国際標準化機構(ISO)によって標準規格として認定されている。

[編集] 関連項目

[編集] XML関係の仕様

[編集] API

[編集] Webサービス技術

[編集] XMLの応用

[編集] 団体

[編集] 外部リンク

ウィクショナリーXMLに関する記事があります。

[編集] 仕様

[編集] 団体

[編集] 実装

[編集] ニュース

[編集] 脚注

<references/>

ことばこって?

「ことばこ」は、歴史の人物から最先端テクノロジーまで、なんでも調べられるオンライン百科事典です。ウィキペディア財団が運営を行なっているwikipedia.orgから引用をしています。

おススメサイト
トラブログ
アレどう?
アフィリエイトB