Поделиться через


Сущности знаков XML и XAML

XAML использует сущности знаков, определенные в XML для специальных знаков. В этом разделе описываются некоторые особые сущности знаков и общие вопросы, связанные с другими концепциями XML в XAML.

Сущности знаков и проблемы экранирования спецсимволов, уникальные для XAML

В разметке XAML, как правило, используются те же сущности символов и последовательности escape-символов, которые определены в XML.

Главной особенностью является то, что фигурные скобки ({ и }) в XAML имеют значение, так как эти знаки информируют обработчик XAML о том, что последовательность знаков, заключенная в фигурные скобки, должна интерпретироваться как расширение разметки. Дополнительные сведения о расширениях разметки см. в разделе Общие сведения о расширениях разметки для XAML.

Однако можно по-прежнему отобразить фигурные скобки как символы литерала с помощью escape-последовательности, которая является особенностью XAML, а не XML. Дополнительные сведения см. в разделе Escape-последовательность/расширение разметки {}.

Обратите внимание, что обратная косая черта (\) не требует escape-последовательности, когда она обрабатывается как строка.

Сущности знаков XML

Как упоминалось ранее, большинство сущностей символов и escape-последовательностей, обычно используемых при написании разметки XAML, определены в XML. Этот раздел не содержит полного списка этих сущностей; подробную информацию о сущностях можно найти во внешней документации, например, в спецификациях XML. Тем не менее для удобства в этом разделе перечислены некоторые из определенных сущностей знаков XML, которые обычно используются для разметки XAML.

Знак

Сущность

Примечания

& (амперсанд)

&

Должен использоваться как для значений атрибутов, так и для содержимого элемента.

> (больше)

>

Должен использоваться для значения атрибута, но знак (>) допустим в качестве содержимого элемента, если ему не предшествует знак (<).

< (меньше)

&lt;

Должен использоваться для значения атрибута, но знак (<) допустим в качестве содержимого элемента, если за ним не следует знак (>).

" (прямая кавычка)

&quot;

Должен использоваться для значения атрибута, но прямая кавычка (") допустима в качестве содержимого элемента. Обратите внимание, что значения атрибута могут быть заключены в одинарные (') или двойные (") кавычки; первый появляющийся знак определят оболочку значения атрибута, а альтернативный знак кавычек может использоваться в качестве литерала в значении.

' (одиночная прямая кавычка)

&apos;

Должен использоваться для значения атрибута, но одинарная прямая кавычка (') допустима в качестве содержимого элемента. Обратите внимание, что значения атрибута могут быть заключены в одинарные (') или двойные (") кавычки; первый появляющийся знак определят оболочку значения атрибута, а альтернативный знак кавычек может использоваться в качестве литерала в значении.

(сопоставления числовых знаков)

&#[целое число]; или &#x[шестнадцатеричное число];

XAML поддерживает сопоставления числовых знаков в активной кодировке.

(неразрывный пробел)

&#160; (в кодировке UTF-8)

Для элементов документов нефиксированного формата или элементов, принимающих текст (например, TextBox из WPF), неразрывные пробелы не нормализованы вне разметки даже для xml:space="default". (Дополнительные сведения см. в разделе Обработка пробелов в XAML.)

Формат комментария XML

XAML использует формат комментария XML: начало комментария представляется как <!--, окончание комментария представляется как -->,, а последовательность -- не должна входить в комментарий.

Инструкции обработки XML

XAML обрабатывает XML-инструкции по обработке согласно спецификациям XML, которые определяют необходимость сквозного пропуска инструкций. При обработке XAML в службах XAML .NET Framework не используются никакие инструкции по обработке. Другие существующие платформы, использующие XAML, также не используют инструкции по обработке из XAML.

См. также

Ссылки

Escape-последовательность/расширение разметки {}

Грамматика XamlName

Основные понятия

Общие сведения о языке XAML (WPF)

Расширения разметки и XAML WPF

Обработка пробелов в XAML