XMLの文法は非常にシンプルで、論理的です。 これらのルールは習得しやすく、使いやすいです。
目次
XMLドキュメントにはルート要素が必要である
XMLにはルート要素が含まれている必要があります。ルート要素は他のすべての要素の親要素です。例えば、下記の実例では、rootはルート要素です。
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
下記の実例では、noteはルート要素です。
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
XML宣言
XML宣言ファイルのオプション部分が存在する場合は、ドキュメントの最初の行に配置する必要があります。下記のコードを参照してください。
<?xml version="1.0" encoding="utf-8"?>
上記の実例には、XMLバージョンが含まれています。
UTF-8もHTML5、CSS、JavaScript、PHP、およびSQLのデフォルトのエンコーディングです。
すべてのXML要素には終了タグが必要である
HTMLでは、特定の要素に終了タグを付ける必要はありません。
<p>This is a paragraph.
<br>
XMLでは、終了タグを省略することは違法です。 すべての要素には終了タグが必要です。
<p>This is a paragraph.</p>
<br />
ヒント:上記の実例から、XML宣言に終了タグがないことに気付いたかもしれません。 これはエラーではありません。 宣言はXMLドキュメント自体の一部ではないため、終了タグがありません。
XMLタグでは大文字と小文字が区別される
XMLタグでは大文字と小文字が区別されます。 ラベル<Letter>はラベル<letter>とは異なります。
同じ大文字または小文字を使用して、開始タグと終了タグを編集する必要があります。
<Message>間違った</message>
<message>正解</message>
XMLは正しくネストする必要がある
HTMLでは、適切にネストされていない要素がよく見られます。
<b><i>This text is bold and italic</b></i>
XMLでは、すべての要素が相互に正しくネストされている必要があります。
<b><i>This text is bold and italic</i></b>
上記の実例では、正しいネストすることは:<i>要素は<b>要素内で開かれるため、<b>要素内で閉じる必要があります。
XML属性値は引用符で囲む必要がある
HTMLと同様に、XML要素にも属性(名前と値のペア)を含めることができます。
XMLでは、XML属性値を引用符で囲む必要があります。
下記の2つのXMLドキュメントをご覧ください。一番目は間違っており、2番目は正しいです。
<note date=12/11/2007>
<to>Tove</to>
<from>Jani</from>
</note>
<note date="12/11/2007">
<to>Tove</to>
<from>Jani</from>
</note>
最初のドキュメントにあるエラーは、note要素のdate属性が引用符で囲まれていないことです。
実体参照
XMLでは、一部の文字には特別な意味があります。
XML要素に文字「<」を入れると、パーサーがそれを新しい要素の始まりとして扱うため、エラーが発生します。
これより、XMLエラーが生成されます。
<message>if salary < 1000 then</message>
このエラーを回避するには、「<」文字の代わりに実体参照を使用してください。
<message>if salary < 1000 then</message>
XMLには、5つの事前に定義された実体参照があります。
< | < | less than |
> | > | greater than |
& | & | ampersand |
' | ‘ | apostrophe |
" | “ | quotation mark |
ヒント:XMLでは、文字「<」と「&」のみが違法です。 大なり記号は合法ですが、実体参照に置き換えることをお勧めします。
XMLにあるコメント
XMLでコメントを編集する構文は、HTMLの構文によく似ています。
<!-- This is a comment -->
XMLでは、スペースが保留される
HTMLは、複数の連続するスペース文字を1つにカット(結合)します。
HTML: | Hello Tove |
出力結果: | Hello Tove |
XMLでは、ドキュメント内のスペースは削除されません。
XMLはLFによって改行を格納する
Windowsアプリケーションでは、改行は通常、キャリッジリターン(CR)と改行(LF)の文字のペアとして格納されます。
UnixとMac OSXでは、LFは新しい行を格納するために使用されます。
古いMacシステムでは、CRを使用して新しい行を格納していました。
XMLではLFにによって改行を格納します。
コメントを残す