既に、いろいろな形で XMLが利用されています。まず、これらの例を見ていきましょう。
詳細について理解する必要はありません。全体の雰囲気を掴めば大丈夫。この節と、次の節で、いろいろな XML文書を見ることで、XML文書がどういう雰囲気のものなのか分かれば十分です。XMLがいろいろな分野で使われていることが分かり、かつ、XML文書に目慣れすることが、この節と次の節の目指すところですから。
細かいルールについては、後の章で解説します。
ニュースなどの一覧を取得するために RSSという仕組みがあります。RSSは XML文書です。以下、Yahoo! ニュースの RSSから引用しました(一部省略し、一部整形をしています)。Yahoo! ニュースの RSSはhttp://headlines.yahoo.co.jp/rss/listから取得できます。
<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule"> <channel> <title>Yahoo!ニュース・トピックス - トップ</title> <link>http://dailynews.yahoo.co.jp/fc/</link> <description>Yahoo! JAPANのニュース・トピックスで取り上げている最新の見出しを提供しています。</description> <language>ja</language> <pubDate>Sun, 23 Feb 2014 13:56:11 +0900</pubDate> <item> <title>京浜東北横転 確認ミス原因か</title> <link>http://dailynews.yahoo.co.jp/fc/domestic/train_accindents/</link> <pubDate>Sun, 23 Feb 2014 13:27:53 +0900</pubDate> <enclosure length="133" url="http://i.yimg.jp/images/icon/photo.gif" type="image/gif" /> <guid isPermaLink="false">yahoo/news/topics/6118711</guid> </item> <item> <title>ウクライナ大統領の出国阻止</title> <link>http://dailynews.yahoo.co.jp/fc/world/ukraine/</link> <pubDate>Sun, 23 Feb 2014 12:01:02 +0900</pubDate> <enclosure length="133" url="http://i.yimg.jp/images/icon/photo.gif" type="image/gif" /> <guid isPermaLink="false">yahoo/news/topics/6118707</guid> </item> <!-- 省略 --> </channel> </rss>
SVGは、ベクター形式の画像フォーマットで XML文書のひとつです。例えば、以下の例では、青色の四角形と、赤色の円が組み合わさった画像を表現しています。なお、InternetExplorerや Firefoxは、SVGビューアーでもあるので、以下のファイルを拡張子 svgで保存すれば、実際に SVGの画像を見ることができます。
<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" width="640px" height="400px" version="1.1"> <rect x="50" y="50" width="250" height="100" fill="blue" /> <circle cx="200" cy="200" r="100" stroke-width="10" fill="red" stroke="green" /> </svg>
Firefoxで閲覧すると以下のような画像が表示されます(Firefoxの画像をキャプチャしている関係で、画像サイズは不正確です)。
HTMLと同じような用途で使われる XML文書に XHTMLというものがあります。例えば、以下は、シンプルな XHTML文書です。なお、InternetExplorerや Firefoxは XHTMLビューアーでもあるので、以下のファイルを拡張子 htmlで保存すれば、実際にホームページの形式で見ることができます(文字コードは UTF-8で保存してください)。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>サンプル</title>
</head>
<body>
<h1>サンプル</h1>
<p>これは XHTML文書です。<em>XML文書</em>でもあります。</p> </body>
</html>
ワープロソフトである OpenOffice.orgの Writerの保存ファイルの拡張子は odtですが、この拡張子を zipに変更すると解凍することができます。「サンプルテキスト。」とだけ記述した odtファイルの content.xmlを開くと、以下のようになっていました。規模が大きくて分かりづらいかもしれませんが、これも XML文書です。なお、見栄えを少し整えています。
<?xml version='1.0' encoding='utf-8'?>
<office:document-content
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
xmlns:math="http://www.w3.org/1998/Math/MathML"
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
xmlns:ooo="http://openoffice.org/2004/office"
xmlns:ooow="http://openoffice.org/2004/writer"
xmlns:oooc="http://openoffice.org/2004/calc"
xmlns:dom="http://www.w3.org/2001/xml-events"
xmlns:xforms="http://www.w3.org/2002/xforms"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:rpt="http://openoffice.org/2005/report"
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:grddl="http://www.w3.org/2003/g/data-view#"
xmlns:tableooo="http://openoffice.org/2009/table"
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0"
office:version="1.2">
<office:scripts>
<office:font-face-decls>
<style:font-face style:name="Tahoma1"
svg:font-family="Tahoma">
</style:font-face>
<style:font-face style:name="Times New Roman" svg:font-family="'Times New Roman'"
style:font-family-generic="roman" style:font-pitch="variable">
</style:font-face>
<style:font-face style:name="Arial" svg:font-family="Arial"
style:font-family-generic="swiss" style:font-pitch="variable">
</style:font-face>
<style:font-face style:name="Andale Sans UI" svg:font-family="'Andale Sans UI'"
style:font-family-generic="system" style:font-pitch="variable">
</style:font-face>
<style:font-face style:name="Tahoma" svg:font-family="Tahoma"
style:font-family-generic="system" style:font-pitch="variable">
</style:font-face>
</office:font-face-decls>
<office:automatic-styles>
<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties style:language-asian="ja" style:country-asian="JP">
</style:text-properties>
</style:style>
</office:automatic-styles>
<office:body>
<office:text>
<text:sequence-decls>
<text:sequence-decl text:display-outline-level="0" text:name="Illustration">
</text:sequence-decl>
<text:sequence-decl text:display-outline-level="0" text:name="Table">
</text:sequence-decl>
<text:sequence-decl text:display-outline-level="0" text:name="Text">
</text:sequence-decl>
<text:sequence-decl text:display-outline-level="0" text:name="Drawing">
</text:sequence-decl>
</text:sequence-decls>
<text:p text:style-name="P1">
サンプルテキスト。
</text:p>
</office:text>
</office:body>
</office:scripts>
</office:document-content>