xml
юридические лица
Поиск…
замечания
С точки зрения хранилища XML-документ состоит из объектов. Одним из объектов является объект документа, который является основным документом XML.
Объекты можно классифицировать так (предварительно отсортированные по убыванию порядка использования):
- document entity : это основной файл XML.
- внутренние общие объекты : это самый распространенный из них, кроме объекта документа, и об этом знают большинство пользователей XML. Зачастую слово « сущность» случайно используется для них. Они позволяют указывать некоторые ярлыки для более длинных текстов замены в содержимом документа. Они объявляются в DTD.
- внешнее подмножество DTD : другой файл, в котором часть DTD передается на аутсорсинг.
- объекты параметров : ярлыки для использования в DTD.
- внешние разобранные общие объекты : это фрагменты XML, хранящиеся в других файлах.
- unparsed entity : это могут быть любые файлы, на которых XML не содержит ограничений, включая изображения, звуки и т. д.
Во многих случаях XML-документ состоит исключительно из объекта документа.
Предопределенные общие объекты
XML предопределяет пять общих объектов, которые можно использовать, не объявляя их:
& " ' < >
Они связаны с именами amp
, quot
, apos
, lt
и gt
.
<?xml version="1.0"?>
<entities>
& is an ampersand.
" is a quote.
' is an apostrophe.
< is a lower-than sign.
> is a greater-than sign.
</entities>
Пользовательские общие (внутренние) объекты
Можно определить собственные общие сущности. Объявление происходит в подмножестве DTD с именем и связанным с ним заменяющим текстом.
Затем он может использоваться в документе с использованием синтаксиса ссылки на сущность &...;
, либо в тексте, либо в значениях атрибутов.
<?xml version="1.0"?>
<!DOCTYPE my-document [
<!ENTITY my-entity "This is my entity">
]>
<my-document>
The entity was declared as follows: &my-entity;
<element attribute="Entity: &my-entity;"/>
</my-document>
Внешние анализируемые объекты
Фрагменты XML, также известные под именем внешних анализируемых объектов , могут храниться в отдельных файлах.
XML-фрагменты, в отличие от документов XML, менее ограничительны, поскольку несколько элементов могут отображаться как на верхнем уровне, так и на текстовых узлах. Как и XML-документ, внешний обработанный объект может начинаться с объявления XML, но это заявление не считается частью его заменяющего текста.
Это пример внешнего анализируемого объекта:
<?xml version="1.0" encoding="UTF-8"?>
This is some text
<element/>
<element/>
Затем внешний анализируемый объект может быть объявлен в XML-документе в DTD и может использоваться с ссылкой на сущность, которая имеет тот же синтаксис, что и для общих внутренних объектов:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [
<!ENTITY fragment SYSTEM "fragment.xml">
]>
<root>
&fragment;
</root>
Если ссылка на сущность решена, этот документ эквивалентен:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [
<!ENTITY fragment SYSTEM "fragment.xml">
]>
<root>
This is some text
<element/>
<element/>
</root>
Каждый тег открытого элемента во внешнем анализируемом объекте должен иметь соответствующий конечный тег: ему не разрешено распространять отдельные элементы по нескольким сущностям или распространять разметку.
Для разрешения ссылки на сущность требуется проверочный синтаксический анализатор и включает его заменяющий текст в документе, как указано выше. Недействительный синтаксический анализатор может пропустить это и вместо этого сообщить заявляющему приложению, что существует неразрешенная ссылка на внешний обработанный объект.