XML 文字エンティティと XAML
XAML では、XML で定義されている文字エンティティを特殊文字に使用します。 このトピックでは、いくつかの特定の文字エンティティと、XAML の他の XML 概念に関する一般的な考慮事項について説明します。
XAML に固有の文字エンティティとエスケープの問題
通常、XAML マークアップでは、XML で定義されているのと同じ文字エンティティとエスケープ シーケンスが使用されます。
主な例外は、中かっこ ({ および }) は、中かっこで囲まれた文字シーケンスをマークアップ拡張として解釈する必要があることを XAML プロセッサに通知するため、XAML では中かっこ ({ と }) が重要であるという点です。 マークアップ拡張機能の詳細については、「XAML のマークアップ拡張機能の概要」を参照してください。
ただし、XML ではなく XAML に特有のエスケープ シーケンスを使用して、中かっこをリテラル文字として表示することはできます。 詳細については、「{} エスケープ シーケンス - マークアップ拡張」を参照してください。
円記号 (\) は、文字列として処理されるときにエスケープ シーケンスを必要としないことに注意してください。
XML 文字エンティティ
前述のように、XAML マークアップの記述に通常使用されるほとんどの文字エンティティとエスケープ シーケンスは、XML によって定義されます。 このトピックでは、これらのエンティティの完全な一覧を提供しません。エンティティの詳細なリファレンスは、XML 仕様などの外部ドキュメントで確認できます。 ただし、便宜上、このトピックでは、XAML マークアップで通常使用される特定の XML 文字エンティティの一部を示します。
文字 | 実体 | 筆記 |
---|---|---|
& (アンパサンド) | &;; | 属性値と要素のコンテンツの両方に使用する必要があります。 |
> (文字より大きい) | > | 属性値には使用する必要がありますが、> は、要素の前に < しない限り、要素の内容として許容されます。 |
< (文字未満) | < | 属性値には使用する必要がありますが、> がそれに従わない限り、< は要素の内容として許容されます。 |
" (直線引用符) | " | 属性値には使用する必要がありますが、要素の内容として直線引用符 (") を使用できます。 属性値は、単一の直線引用符 (') または直線引用符 (") で囲むことができます。最初に表示される文字が属性値エンクロージャを定義し、その後、代替引用符を値内のリテラルとして使用できます。 |
' (単一引用符) | ' | 属性値には使用する必要がありますが、要素の内容として単一の直線引用符 (') を使用できます。 属性値は、単一の直線引用符 (') または直線引用符 (") で囲むことができます。最初に表示される文字が属性値エンクロージャを定義し、その後、代替引用符を値内のリテラルとして使用できます。 |
(数値マッピング) | &#[integer];または &#x*[hex]*; | XAML では、アクティブなエンコードへの数値文字マッピングがサポートされています。 |
(改行しないスペース) | (UTF-8 エンコードを想定) | フロー ドキュメント要素、または WPF TextBoxなどのテキストを受け取る要素の場合、xml:space="default" の場合でも、改行されていないスペースはマークアップから正規化されません。 (詳細については、「XAMLでの空白処理」を参照してください)。 |
XML コメント形式
XAML では、XML コメント形式が使用されます。コメントの先頭が <!--
、コメントの末尾が -->,
され、コメント内でシーケンス --
が発生してはなりません。
XML 処理命令
XAML は、XML 仕様に従って XML 処理命令を処理します。この命令を渡す必要がある状態です。 .NET XAML サービスでの XAML 処理では、処理命令は使用されません。 XAML を使用する他の既存のフレームワークでも、XAML からの処理命令は使用されません。
関連項目
- XAML の概要 (WPF .NET)
- マークアップ拡張機能と WPF XAML の
- XamlName 文法
- XAML での空白処理の
.NET Desktop feedback