XMLはeXtensible Markup Languageの意味。
XMLタグはXMLの中では定義されていない。ユーザが自分で定義しなければならない。
XMLはデータを記述するためにDTD(Document Type Definition)を使う。
DTDを使ったXMLは自分自身を記述するように設計される。
<note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> |
XMLで記述されたデータは非互換の計算機間のデータ交換に使うことができる。 インターネット上でのビジネス間の情報交換に使われる主要な言語であり、 多くのアプリケーションが開発中である。
XMLはデータを分配するのに使われる。 XMLで記述されたデータはプレーンテキストフォーマットで格納されるので、 XMLは分配されたデータのソフトウエアとハードウエア独立な方法を提供する。
XMLはデータを格納するのに使われる。 XMLはファイルやデータベースの中にデータを格納するために使われる。
XMLは新しい言語を作るために使われる。
<?xml version="1.0"?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> |
すべてのXML要素は終了タグを持たなければならない。
<p>This is a paragraph</p> <p>This is another paragraph</p> |
XMLタグはケースセンシティブである。大文字小文字を区別する。
<Message>This is incorrect</message> <message>This is correct</message> |
すべてのXMLドキュメントはルートタグを持たなければならない。
<root> <child> <subchild>.....</subchild> </child> </root> |
属性値は必ずコーテンションで括られなければならない。
<note date=12/11/99> </note> |
<note date="12/11/99"> </note> |
XMLで記述されたデータは空白はそのまま保持される。HTMLのように トランケートしない。
XMLで記述されたデータのCR/LFはLFに変換される。
<note> <to>Tove</to> <from>Jani</from> <body>Don't forget me this weekend!</body> </note> |
<note> <date>1999-08-01</date> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> |
XML要素は親と子供のように関係しあっている。
<book> <title>My First XML</title> <prod id="33-657" media="paper"></prod> <chapter>Introduction to XML <para>What is HTML</para> <para>What is XML</para> </chapter> <chapter>XML Syntax <para>Elements must have a closing tag</para> <para>Elements must be properly nested</para> </chapter> </book> |
要素は内容を持つ。要素は異なったタイプの内容を持つことができる。
1つのXML要素は開始タグから終了タグまでのすべてである。
1つの要素は要素内容、混成内容、単純内容、空内容を持つことができる。
また、属性も持つことができる。
上記の例で言えば、bookは要素内容を持ち、chapterはテキストと他の要素を
持っているのでchapterは混成内容を持ち、paraは単にテキストのみを持つので
単純内容を持つ。prodは何の情報も運ばないので空内容を持つ。
上記の例ではprodのみが属性を持っている。idという名前の属性は"33-657"
という値を持ち、mediaという属性は"paper"という値を持つ。
要素の名前づけ XML要素は次のようなルールに従わなければ成らない。
<img src="computer.gif"> <a href="demo.asp"> |
<file type="gif">computer.gif</file> |
コーテーションはダブルかシングルか?
<gangster name='George "Shotgun" Ziegler'> |
要素を使うか?それとも属性を使うか?
下記の2つの例をみると、どちらも同じことを記述しようと
しているが、その方法が違っている。経験から言うと、
HTMLにおいては属性が手軽だったが、XMLにおいては
要素を使う方がいいと思われる。もしデータのような情報であったら
属性ではなく要素を使え。
<person sex="female"> <firstname>Anna</firstname> <lastname>Smith</lastname> </person> |
<person> <sex>female</sex> <firstname>Anna</firstname> <lastname>Smith</lastname> </person> |
私の好み
<note date="12/11/99"> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> |
<note> <date>12/11/99</date> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> |
<note> <date> <day>12</day> <month>11</month> <year>99</year> </date> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> |
属性の使用を避ける理由
<xml id="note"> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> </xml> |
<xml id="note" src="note.xml"> </xml> |
<html> <body> <xml id="cdcat" src="cd_catalog.xml"></xml> <table border="1" datasrc="#cdcat"> <tr> <td><span datafld="ARTIST"></span></td> <td><span datafld="TITLE"></span></td> </tr> </table> </body> </html> |