Основными строительными блоками как XML, так и HTML документов являются элементы.
С точки зрения DTD все XML (и HTML) документы состоят из следующих строительных блоком:
- Элементы
- Атрибуты
- Сущности
- PCDATA
- CDATA
Элементы
Элементы являются основными строительными блоками как XML, так и HTML документов.
В качестве примеров HTML элементов можно привести тег <body> или тег <table>. Примерами XML элементов могли бы стать теги <note> и <message>". Элементы могут содержать текст, другие элементы или быть пустыми. Примерами пустых HTML элементов являются теги <hr>, <br> и <img>.
Примеры:
<body>какой-то текст</body>
<message>какой-то текст</message>
Атрибуты
Атрибуты предоставляют дополнительную информацию об элементах.
Атрибуты всегда помещаются внутри открывающего тега элемента. Атрибуты всегда определяются в виде пар имя/значение. У следующего элемента <img> есть дополнительная информация об исходном файле:
<img src='computer.gif' />
Имя элемента - "img". Имя его атрибута - "src". Значение этого атрибута — "computer.gif". Так как сам элемент является пустым, он закрывается символом " /".
Сущности
Некоторые символы в XML имеют особое значение, как, например, знак "меньше чем" (<), который определяет начало тега XML.
Большинству из вас известна HTML сущность " ". Эта сущность "неразрывного пробела" используется в HTML, чтобы вставить в код документа дополнительный пробельный символ. Во время анализа и разбора документа парсером сущности раскрываются.
Следующие сущности предопределены в XML:
Сущность | Символ |
---|---|
< | < |
> | > |
& | & |
" | " |
' | ' |
PCDATA
PCDATA означает анализируемые символьные данные.
Символьные данные это текст, который находится между открывающим и закрывающим тегами XML элемента.
PCDATA — это текст, который будет анализироваться парсером. Т.е. парсер будет проверять этот текст на наличие сущностей и другой разметки.
Теги внутри такого текста будут восприняты, как вложенная разметка, а сущности будут раскрыты.
Тем не менее, анализируемые символьные данные не должны содержать символы &, < или >. Они должны быть представлены соответствующими сущностями &, < и >.
CDATA
CDATA означает неанализируемые символьные данные.
CDATA — это текст, который не будет анализироваться парсером. Теги внутри такого текста не будут восприняты, как вложенная разметка, а сущности не будут раскрыты.