Chase N.Проверка правильности XML

Сущности


Один из аспектов DTD, который часто игнорируется потому, что разработчики плохо его понимают, - сущности. Сущности появляются в двух разновидностях: параметрические сущности и общие сущности. Обе разновидности используются как макросы или переменные, обеспечивающие способ установить единственное значение, которое затем может быть использовано во многих местах.

Параметрическая сущность может быть использована только в пределах DTD. Она обычно применяется для создания определения, которое используется снова и снова, хотя может применяться для создания DTD с условиями. (Дополнительную информацию о DTD с условиями ищите в .)

Чтобы использовать параметрическую сущность, просто определите ее и ссылайтесь на нее. Например, вы можете определить содержимое элемента memory, а затем ссылаться на него в определении:

<!ENTITY % memorytype "media | subdate | donor?| subject+| location" >

<!ELEMENT memory (%memorytype;)* >

Параметрическая сущность содержит знак процента (%), имя сущности и точку с запятой (;). Общая сущность также определяется в DTD:

<!ENTITY unknownLocation "<description>Unknown</description>" >

но она может использоваться только в самом документе:

... <memory tapeid="T1"> <media mediaid="T1" status="vhs" /> <subdate>2001-05-23</subdate> <donor>John Baker</donor> <subject>Fishing off Pier 60</subject> <location>&unknownLocation;</location> </memory> ...

Общие сущности могут также ссылаться на внешние документы, такие, как файл или URL, так что они могут применяться для заполнения информацией из других источников.



Содержание раздела