Основы Internet-технологий для математиков. Введение в XML. Махортов С.Д. - 18 стр.

UptoLike

Составители: 

18
Кроме деления на общие и параметрические, сущности бывают также
внутренние (их значения содержатся в строке в кавычках) и внешние (содержатся
в отдельном файле); анализируемые (после вставки значения проверяемые XML-
процессором на правильность синтаксиса ) и не анализируемые (чаще всего
содержат не XML-данные, например, графические данные или изображения). В
приведенном выше примере обе используемые сущности являются
анализируемыми , причем topics внешней, а Заголовок внутренней.
Все сущности должны быть объявлены в DTD до их использования в
документе . Исключение составляют следующие 2 вида внутренних
анализируемых сущностей, являющихся односимвольными .
Предопределенные сущности . Некоторые символы нельзя использовать в
тексте документа XML, поскольку они конфликтуют со специальными
символами разметки . Например, угловые скобки (< >) предназначены для
ограничения тегов. Для их включения в качестве части текста можно
использовать специальные ссылки : amp, apos, gt, lt, quot (замещают
соответственно символы &, , >, <, ).
Нумерованные сущности . С помощью этих сущностей можно включить в
текст любой символ по его коду, даже если этого символа нет на
клавиатуре. Код в ссылке записывается как #код (в десятичной системе ) или
#xкод (в шестнадцатеричной системе счисления).
Общий вид объявления сущности таков: <!ENTITY ОпрСущности >. В случае
общей внутренней сущности объявление записывается как
<!ENTITY ИмяСущности ЗначениеСущности >. При объявлении общей внешней
анализируемой сущности для ссылки на файл используется, как обычно в таких
случаях , ключевое слово SYSTEM:
<!ENTITY ИмяСущности SYSTEM СистемЛитерал>. Здесь СистемЛитерал
задает URI файла, содержащего данные сущности . Объявление общей внешней
неанализируемой сущности содержит дополнительное ключевое слово NDATA,
сообщающее, что файл содержит неанализируемые данные, которые имеют
особый формат, или нотацию (notation):
<!ENTITY ИмяСущности SYSTEM СистемЛитерал NDATA ИмяНотации>.
ИмяНотации указывает формат неанализируемых данных и должно быть ранее
отдельно объявлено в DTD.
Нотация описывает специфический формат данных. Объявление нотации
задает имя формата данных и указывает программу , которая способна
обрабатывать данные этого формата или просто описание формата . Оно имеет
следующую форму записи :
<!NOTATION ИмяНотации SYSTEM СистемЛитерал>. Пример документа ,
использующего внешнюю неанализируемую сущность:
<?xml version=1.0 encoding=windows-1251?>
<!DOCTYPE Book
[
<!ELEMENT Book (Title, Author, CoverImage)>
<!ELEMENT Title (#PCDATA)>
<!ELEMENT Author (#PCDATA)>
                                      18
   Кроме деления на общие и параметрические, сущности бывают также
внутренние (их значения содержатся в строке в кавычках) и внешние (содержатся
в отдельном файле); анализируемые (после вставки значения проверяемые XML-
процессором на правильность синтаксиса) и не анализируемые (чаще всего
содержат не XML-данные, например, графические данные или изображения). В
приведенном выше примере обе используемые сущности являются
анализируемыми, причем topics – внешней, а Заголовок – внутренней.
   Все сущности должны быть объявлены в DTD до их использования в
документе. Исключение составляют следующие 2 вида внутренних
анализируемых сущностей, являющихся односимвольными.
   • Предопределенные сущности. Некоторые символы нельзя использовать в
      тексте документа XML, поскольку они конфликтуют со специальными
      символами разметки. Например, угловые скобки (< >) предназначены для
      ограничения тегов. Для их включения в качестве части текста можно
      использовать специальные ссылки: amp, apos, gt, lt, quot (замещают
      соответственно символы &, ‘, >, <, “).
   • Нумерованные сущности. С помощью этих сущностей можно включить в
      текст любой символ по его коду, даже если этого символа нет на
      клавиатуре. Код в ссылке записывается как #код (в десятичной системе) или
      #xкод (в шестнадцатеричной системе счисления).
   Общий вид объявления сущности таков: . В случае
общей внутренней сущности объявление записывается как
 . При объявлении общей внешней
анализируемой сущности для ссылки на файл используется, как обычно в таких
случаях, ключевое слово SYSTEM:
  . Здесь СистемЛитерал
задает URI файла, содержащего данные сущности. Объявление общей внешней
неанализируемой сущности содержит дополнительное ключевое слово NDATA,
сообщающее, что файл содержит неанализируемые данные, которые имеют
особый формат, или нотацию (notation):
 .
ИмяНотации указывает формат неанализируемых данных и должно быть ранее
отдельно объявлено в DTD.
   Нотация описывает специфический формат данных. Объявление нотации
задает имя формата данных и указывает программу, которая способна
обрабатывать данные этого формата или просто описание формата. Оно имеет
следующую форму записи:
 . Пример документа,
использующего внешнюю неанализируемую сущность: