XML 文字エンティティと XAML

XAML は、特殊文字に、XML で定義される文字エンティティを使用します。 ここでは、いくつかの特定の文字エンティティ、および XAML における他の XML の概念に関する一般的な考慮事項について説明します。

XAML に固有の文字のエンティティとエスケープの問題

XAML マークアップでは、一般に、XML で定義されているものと同じ文字エンティティおよびエスケープ シーケンスを使用します。

大きな違いは、XAML では中かっこ ({ と }) が意味を持つ点です。中かっこで囲まれた文字シーケンスは、マークアップ拡張機能として解釈する必要があることを XAML プロセッサに通知します。 マークアップ拡張機能について詳しくは、「 Markup Extensions for XAML Overview」をご覧ください。

ただし、XML ではなく XAML に固有のエスケープ シーケンスを使用すると、中かっこをリテラル文字として表示できます。 詳細については、「{} エスケープ シーケンス - マークアップ拡張機能」を参照してください。

円記号 (\) は、文字列として処理する場合、エスケープ シーケンスは必要ありません。

XML 文字エンティティ

前に述べたように、XAML マークアップを記述するときに一般的に使用する文字エンティティおよびエスケープ シーケンスの大半は、XML で定義されています。 このトピックでは、こうしたエンティティの一覧は示しません。エンティティの詳細なリファレンスについては、XML 仕様などの外部ドキュメントを参照してください。 ただし、このトピックでは、便宜を考えて、XAML マークアップでよく使用する XML 文字エンティティを抜粋した一覧を示します。

文字 エンティティ メモ
& (アンパサンド) & 属性値および要素の内容の両方に対して使用する必要があります。
> (大なり記号) > 属性値に対して使用する必要がありますが、先行する < がない限り、> を要素の内容として使用できます。
< (小なり記号) < 属性値に対して使用する必要がありますが、後ろに > がない限り、< を要素の内容として使用できます。
" (二重引用符) " 属性値に対しては使用する必要があります。要素の内容としては、二重引用符 (") も受け入れられます、 属性値は、単一引用符 (') と二重引用符 (") のどちらかで囲むことができます。最初に使用したほうの引用符が、属性値を囲む文字になり、もう一方の引用符は値の中でリテラルとして使用できます。
' (単一引用符) ' 属性値に対しては使用する必要があります。要素の内容としては、単一引用符 (') も受け入れられます、 属性値は、単一引用符 (') と二重引用符 (") のどちらかで囲むことができます。最初に使用したほうの引用符が、属性値を囲む文字になり、もう一方の引用符は値の中でリテラルとして使用できます。
(数値と文字の対応付け) &#[整数]; または &#x*[hex]*; XAML では、アクティブなエンコーディングに応じた数値と文字の対応付けがサポートされています。
(改行しないスペース)   (UTF-8 エンコーディングを想定) フロー ドキュメントの要素、または WPF の TextBox などのテキストを受け取る要素では、マークアップからの改行しないスペースの正規化は行われません。これには、xml:space="default" の場合も含まれます。 (詳細については、「XAML での空白の処理」を参照してください)。

XML のコメントの書式

XAML では、XML のコメントの書式を使用します。つまり、コメントの先頭は <!-- で表し、コメントの末尾は -->, で表します。コメントの中に -- というシーケンスを含めることはできません。

XML 処理命令

XAML では、XML 仕様に従って XML 処理命令が処理されます。つまり、命令は必ず素通しされます。 .NET XAML サービスの XAML 処理では、処理命令は使用されません。 XAML を使用する他の既存のフレームワークでも、XAML の処理命令は使用されません。

関連項目