XML要素
XMLドキュメントにはXML要素が含まれています。
XML要素とは何ですか?
XML要素は、要素の開始タグ(を含む)から要素の終了タグ(を含む)までのすべてです。
<price>29.99</price>
要素には次のものを含めることができます。
- 文章
- 属性
- その他の要素
- または上記の組み合わせ
<bookstore>
<book category="children">
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title>Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
上記の例では:
<title>、<author>、<year>、および<price>には、テキスト(29.99など)が含まれているため、テキストコンテンツが含まれています。
<bookstore>と<book>には要素が含まれているため、要素の内容があります。
<book>には属性 (category = "children")があります。
空のXML要素
コンテンツのない要素は空であると言われます。
XMLでは、次のように空の要素を指定できます。
<element></element>
いわゆる自己閉鎖タグを使用することもできます。
<element />
2つの形式は、XMLソフトウェア(リーダー、パーサー、ブラウザー)で同じ結果を生成します。
空の要素は属性を持つことができます。
XML命名規則
XML要素は、次の命名規則に従う必要があります。
- 要素名では大文字と小文字が区別されます
- 要素名は文字またはアンダースコアで始まる必要があります
- 要素名をxml(またはXML、Xmlなど)の文字で始めることはできません
- 要素名には、文字、数字、ハイフン、アンダースコア、およびピリオドを含めることができます
- 要素名にスペースを含めることはできません
任意の名前を使用でき、単語は予約されていません(xmlを除く)。
ネーミングのベストプラクティス
<person>、<firstname>、<lastname>のようなわかりやすい名前を作成します。
次のように短くて単純な名前を作成します:<book_title>次のようにしない:<the_title_of_the_book>。
避ける "-"。「名」という名前を付けると、ソフトウェアによっては「名」から「名前」を引いたほうがいいと思うかもしれません。
避ける "。"。何かに「first.name」という名前を付けると、一部のソフトウェアは「name」がオブジェクト「first」のプロパティであると考える場合があります。
避ける ":"。コロンは名前空間用に予約されています(後で詳しく説明します)。
éòáのような英語以外の文字はXMLで完全に合法ですが、ソフトウェアがそれらをサポートしていない場合は問題に注意してください。
ネーミングスタイル
XML要素に定義された命名スタイルはありません。しかし、ここにいくつかの一般的に使用されるものがあります:
スタイル | 例 | 説明 |
---|---|---|
小文字 | <名> | すべての文字は小文字 |
大文字 | <FIRSTNAME> | すべて大文字大文字 |
アンダースコア | <first_name> | アンダースコアは単語を区切ります |
パスカルケース | <名> | 各単語の大文字の最初の文字 |
キャメルケース | <firstName> | 最初の単語を除く各単語の大文字の最初の文字 |
命名スタイルを選択する場合は、一貫性を保つことをお勧めします。
多くの場合、XMLドキュメントには対応するデータベースがあります。一般的な方法は、XML要素にデータベースの命名規則を使用することです。
キャメルケースは、JavaScriptの一般的な命名規則です。
XML要素は拡張可能です
XML要素を拡張して、より多くの情報を運ぶことができます。
次のXMLの例を見てください。
<note>
<to>Tove</to>
<from>Jani</from>
<body>Don't forget me this weekend!</body>
</note>
XMLドキュメントから<to>、<from>、および<body>要素を抽出してこの出力を生成するアプリケーションを作成したと想像してみてください。
メッセージ
To: Tove 今週末は私を忘れないでください! |
XMLドキュメントの作成者がそれにいくつかの追加情報を追加したと想像してください。
<note>
<date>2008-01-10</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
アプリケーションが壊れたりクラッシュしたりする必要がありますか?
いいえ。アプリケーションは、XMLドキュメント内の<to>、<from>、および<body>要素を検出し、同じ出力を生成できる必要があります。
これは、XMLの美しさの1つです。アプリケーションを壊すことなく拡張できます。