サーチ…
要素
要素には角括弧が付いており、XMLの最も顕著なビルディングブロックです。
要素は空でもかまいません。その場合、要素は空のタグで作成されます(終わりのスラッシュに注意してください):
<an-empty-element/>
または、コンテンツを持つことができます。その場合、開始タグ(スラッシュなし)と終了タグ(開始スラッシュ)があります。
<a-non-empty-element>Content</a-non-empty-element>
要素はネストできます(ただし、開始タグと終了タグの間のみ)。
<parent-element>
<child-element/>
<another-child-element>
Some more content.
</another-child-element>
</parent-element>
要素名はQNames(修飾名)と呼ばれます。上記の要素はすべて名前空間にはありませんが、要素名は次のような接頭辞を使って名前空間に定義することもできます:
<my-namespace:parent-element xmlns:my-namespace="http://www.example.com/">
<my-namespace:child-element/>
<my-namespace:another-child-element>
Some more content.
</my-namespace:another-child-element>
</my-namespace:parent-element>
名前空間と要素名については、このドキュメントのセクションで詳しく説明しています 。
属性
属性は、要素に関連付けられた名前と値のペアです。
それらは、開始要素タグ内の一重引用符または二重引用符で表される値、または空要素の場合は空要素タグで表されます。
<document>
<anElement foo="bar" abc='xyz'><!-- some content --></anElement>
<anotherElement a="1"/>
</document>
属性は順序付けられていません(要素とは異なります)。次の2つの要素は同じ属性セットを持ちます。
<foo alpha="1" beta="2"/>
<foo beta="2" alpha="1"/>
同じ要素(要素とは異なります)で属性を繰り返すことはできません。次の文書は整形式ではありません:属性a
が同じ要素に2回現れるため、 <foo a="x" a="y"/>
以下の文書は整形式です。値は同一であってもよく、繰り返すことができない属性名である。
<foo a="x" b="x"/>
属性はネストできません(要素とは異なります)。
テキスト
テキストは、マークアップの外側にあるすべての文字で構成されます(開始要素タグ、終了要素タグなど)。
<?xml version="1.0"?>
<document>
This is some text and <b>this is some more text</b>.
</document>
テキストの正確なXML用語は文字データです。 XML仕様では、構文レベルでXMLを定義しているため、実際にはXML文書全体、または解析されたエンティティに対してtextという単語が使用されます。 XML文書をツリーとして表現するXDM(XQuery and XPath Data Model)などのデータ・モデルの中には、文字データをテキスト・ノードと呼ぶものがあるため、実際には文字データの同義語として解釈されることがよくあります 。
文字データは<
文字を含んでいなくてもよい - これは開始要素タグの最初の文字として解釈される。 - ]]>
文字シーケンスを含むこともできない。代わりにエンティティ参照で適切な文字をエスケープする必要があります。
<?xml version="1.0"?>
<document>
It is fine to escape the < character, as well as ]]>.
</document>
便宜上、CDATAセクションでより大きいテキストの塊をエスケープすることもできます(ただし、シーケンスは]]>
は明白な理由でまだ許可されていません)。
<?xml version="1.0"?>
<document>
<![CDATA[
In a CDATA section, it is fine to write < or even & and entity references
such as & are not resolved.
]]>
</document>
コメント
XMLのコメントは次のようになります。
<!-- This is a comment -->
要素コンテンツまたはトップレベルに表示されます。
<?xml version="1.0"?>
<!-- a comment at the top-level -->
<document>
<!-- a comment inside the document -->
</document>
コメントはタグ内または属性内には表示されません。
<element <!-- comment with -- inside --> />
または
<element attr="<!-- comment with -- inside -->"/>
うまく形成されていない。
文字列--
コメントの途中に表示することはできません。これは正しい形式のXMLではありません:
<!-- comment with -- inside -->
XMLのコメントは、C ++などの他の言語とは異なり、データ・モデルの一部であり、解析され、転送され、消費アプリケーションに表示されます。
処理指示
処理命令は、パーサを介してアプリケーションに何らかの情報または命令を直接渡すために使用される。
<?my-application some instructions ?>
最初の疑問符(ここではmy-application
)の後のトークンはターゲットと呼ばれ、命令の対象となるアプリケーションを識別します。それに続くものはそれ以上指定されておらず、それを解釈するのはアプリケーション次第です。エンティティおよび文字参照は認識されません。
最上位レベルまたは要素コンテンツに表示されます。