XML構文規則
XMLの構文規則は、非常に単純で論理的です。ルールは習得しやすく、使いやすいです。
XMLドキュメントにはルート要素が必要です
XMLドキュメントには、 他のすべての要素の 親である1つのルート要素が含まれている必要があります。
<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プロローグはオプションです。存在する場合は、ドキュメントの最初に来る必要があります。
XMLドキュメントには、ノルウェー語のøæåやフランス語のêèéなどの国際文字を含めることができます。
エラーを回避するには、使用するエンコーディングを指定するか、XMLファイルをUTF-8として保存する必要があります。
UTF-8は、XMLドキュメントのデフォルトの文字エンコードです。
文字エンコードについては、文字セットチュートリアルで学習できます。
UTF-8は、HTML5、CSS、JavaScript、PHP、およびSQLのデフォルトのエンコーディングでもあります。
すべてのXML要素には終了タグが必要です
XMLでは、終了タグを省略することは違法です。すべての要素には終了タグが必要です。
<p>This is a paragraph.</p>
<br />
注: XMLプロローグには終了タグがありません!これはエラーではありません。プロローグはXMLドキュメントの一部ではありません。
XMLタグは大文字と小文字を区別します
XMLタグでは大文字と小文字が区別されます。タグ<Letter>はタグ<letter>とは異なります。
開始タグと終了タグは、同じ大文字と小文字を区別して記述する必要があります。
<message>This is correct</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属性値は常に引用符で囲む必要があります
XML要素は、HTMLの場合と同様に、名前と値のペアで属性を持つことができます。
XMLでは、属性値は常に引用符で囲む必要があります。
<note date="12/11/2007">
<to>Tove</to>
<from>Jani</from>
</note>
エンティティ参照
一部の文字は、XMLで特別な意味を持っています。
XML要素内に「<」のような文字を配置すると、パーサーがそれを新しい要素の開始として解釈するため、エラーが生成されます。
これにより、XMLエラーが生成されます。
<message>salary < 1000</message>
このエラーを回避するには、「<」文字をエンティティ参照に置き換えます。
<message>salary < 1000</message>
XMLには5つの事前定義されたエンティティ参照があります。
< | < | less than |
> | > | greater than |
& | & | ampersand |
' | ' | apostrophe |
" | " | quotation mark |
XMLでは<と&のみが厳密に違法ですが、>を&gt;に置き換えるのは良い習慣です。同様に。
XMLでのコメント
XMLでコメントを書き込むための構文は、HTMLの構文と似ています。
<!-- This is a comment -->
コメントの途中にダッシュを2つ入れることはできません。
<!-- This is an invalid -- comment -->
空白はXMLで保持されます
XMLは複数の空白を切り捨てません(HTMLは複数の空白を1つの単一の空白に切り捨てます):
XML: | Hello Tove |
HTML: | Hello Tove |
XMLは改行をLFとして格納します
Windowsアプリケーションは、キャリッジリターンとラインフィード(CR + LF)として新しい行を格納します。
UnixおよびMacOSXはLFを使用します。
古いMacシステムはCRを使用します。
XMLは新しい行をLFとして格納します。
整形式のXML
上記の構文規則に準拠するXMLドキュメントは、「整形式」XMLドキュメントと呼ばれます。