XMLの文法

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 &lt; 1000 then</message>

XMLには、5つの事前に定義された実体参照があります。

&lt;<less than
&gt;>greater than
&amp;&ampersand
&apos;apostrophe
&quot;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にによって改行を格納します。

Share

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です