Технология XSLT (Валиков) - страница 30

Существует два способа определения сущности — внутреннее и внешнее.

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

Внутреннее определение сущности имеет вид:

>имя "значение">

Ссылка на сущность записывается как >&имя; (амперсант, затем имя сущности, затем точка с запятой).

Пример

В документе

>

>

>]>

>

>  Продается настоящий &animal;!

>

сущность >animal имеет значение >"слон". Ссылка на сущность используется дважды — в атрибуте >title и в тексте элемента >product. Этот документ эквивалентен документу

>

>

>  Продается настоящий слон!

>

Если в будущем фирма переквалифицируется, и будет продавать, скажем, жирафов, можно будет, не изменяя всего документа, заменить только значение сущности:

>

>

>]>

>

>  Продается настоящий &animal;!

>

Спецификация XML определяет несколько встроенных сущностей, которые перечислены в табл 1.1.


Таблица 1.1. Встроенные сущности XML

Имя сущностиЗначениеОписание
>lt><знак "меньше"
>gt>>знак "больше"
>amp>&амперсант
>apos>'апостроф или одинарные кавычки
>quot>"двойные кавычки

Встроенные сущности могут быть использованы для замены некоторых символов там, где они могут быть восприняты, как разметка. В частности, символы >< (знак "меньше") и >& (амперсант) вообще не могут появляться в тексте документа иначе, кроме как в виде сущностей.

Пример

>

>

>  Продается серый слон весом > 5 тонн!

>  Компания "слон & Слон".

>

На самом же деле в элементе >product заключен текст

>Продается серый слон весом > 5 тонн!

>Компания "Слон & Слон".

Довольно часто бывает необходимо использовать в документе символы набора Unicode, обращаясь к ним по десятичным или шестнадцатеричным кодам. В таких случаях можно использовать символьные сущности.

Символьная сущность (или, как ее еще называют, символьная ссылка) записывается в виде >&#код; или >&#xкод;, где >код — десятеричный и шестнадцатеричный Unicode-код символа в первом и втором случае соответственно.

Пример

Фраза ">Миру-мир!" может быть записана с использованием символьных сущностей следующим образом:

>&#х41С;&#х438;&#х440;&#х443; - мир!