Сущности знаков XML и XAML
Обновлен: Ноябрь 2007
Язык XAML (Extensible Application Markup Language) использует сущности знаков, определенные в XML для специальных знаков.
Сущности знаков и проблемы экранирования спецсимволов, уникальные для XAML
Обобщенно говоря, XAML использует те же сущности знаков и экранирование спецсимволов, определенное в XML.
Главной особенностью является то, что фигурные скобки ({ и }) в XAML имеют значение, так как эти знаки информируют обработчик XAML о том, что последовательность знаков, заключенная в фигурные скобки, должна интерпретироваться как расширение разметки. Дополнительные сведения о расширениях разметки содержатся в разделе Расширения разметки и XAML.
Однако можно по-прежнему отобразить фигурные скобки как литеральные знаки с помощью escape-последовательности, которая является особенностью XAML, в отличие от XML. Подробные сведения см. в разделе {} Escape-последовательность/расширение разметки.
Обратите внимание, что обратную косую черту (\) не требуется экранировать при обработке в виде строки.
Сущности знаков XML
Как упоминалось ранее, большая часть сущностей знаков и экранирования спецсимволов обычно используется при написании разметки XAML, определяемой XML. Этот раздел не содержит полного списка таких сущностей; более точную информацию о сущностях можно найти во внешней документации, например, в спецификациях XML. Тем не менее для удобства в этом разделе перечислены некоторые из определенных сущностей знаков XML, которые обычно используются для разметки XAML.
Знак |
Сущность |
Примечания |
---|---|---|
& (амперсанд) |
& |
Должен использоваться как для значений атрибутов, так и для содержимого элемента. |
> (больше) |
< |
Должен использоваться для значения атрибута, но знак (>) допустим в качестве содержимого элемента, если ему не предшествует знак (<). |
< (меньше) |
< |
Должен использоваться для значения атрибута, но знак (<) допустим в качестве содержимого элемента, если за ним не следует знак (>). |
" (двойные кавычки) |
" |
Должен использоваться для значения атрибута, но знак (") допустим в качестве содержимого элемента. Обратите внимание, что значения атрибута сами по себе могут быть заключены в одинарные (') или двойные (") кавычки; первый появляющийся знак определят оболочку значения атрибута, а альтернативный знак кавычек может использоваться в качестве литерала в значении. |
' (одинарная кавычка) |
' |
Должен использоваться для значения атрибута, но знак (') допустим в качестве содержимого элемента. Обратите внимание, что значения атрибута сами по себе могут быть заключены в одинарные (') или двойные (") кавычки; первый появляющийся знак определят оболочку значения атрибута, а альтернативный знак кавычек может использоваться в качестве литерала в значении. |
(сопоставления числовых знаков) |
&#[целое число]; или &#x[шестнадцатеричное число]; |
XAML поддерживает сопоставления числовых знаков в активной кодировке. |
(неразрывный пробел) |
  (в кодировке UTF-8) |
Для элементов документов нефиксированного формата или принимающих текст, таких как TextBox, неразрывные пробелы не нормализованы вне разметки, даже для xml:space="default" (подробные сведения см. в разделе Обработка пробелов в XAML). |
Формат комментария XML
XAML использует формат комментария XML: началом комментария является <!--, концом -->,, а последовательность -- не должна встречаться в комментарии.
Инструкции обработки XML
XAML обрабатывает инструкции XML согласно спецификациям XML, которые определяют, что инструкции должны пропускаться. Обработка XAML в приложении WPF не использует инструкции обработки.