Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Содержание сайт... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Модуль Forms 62784
Создание отчето... 62765
ТЕХНОЛОГИИ ДОСТ... 59300
Пример работы с... 58006
Имитационное мо... 54676
Реклама
Сейчас на сайте
Гостей: 13
На сайте нет зарегистрированных пользователей

Пользователей: 13,071
новичок: virtualight
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Калькулятор на Delphi с переводом в другую систему исчисления + Блок схемы
База данных - рабочее место кассира на Delphi + бд Access
Моделирование работы перекрёстка по регулированию движения на GPSS + Поя...

Реклама



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

ПОДПИСЫВАЙСЯ на канал о программировании
Определение элементов
Прежде чем использовать элемент в языке разметки, его нужно объявить в секции описаний DTD. Основной синтаксис для объявления элемента выглядит так:
<!
ELEMENT name ContentModel>
В этом выражении name определяет имя элемента. Модель содержания есть выражение того, что элемент может содержать. В языках HTML и XHTML некоторые элементы способны включать в себя другие элементы, иные содержать только текст; часть из них ничего не содержит. Такие ограничения, наложенные на содержимое элементов, получили название моделей содержания (content models). Таким образом, языки XML и XHTML имеют четыре типа моделей содержания (табл. 13.1).
Таблица 13.1. Модели содержания, определенные в языке XHTML
Модель содержания Варианты содержательной части для компонентов
EMPTY (пустая) Содержание отсутствует (запрещено). Например, компоненты
img, hr, br
ANY (произвольная) Разрешен любой тип содержания (в языке XHTML 1.0 не опреде-
ляется, в приложениях используется редко)
ELEMENT (элемент) В содержание могут включаться только другие элементы
(например, содержанием для элемента ul могут быть только
элементы li)
MIXED (смешанная) Содержание формируется из данных и элементов (например, эле-
мент р может содержать элементы em и strong, а также текст)
Указание для элемента типа модели содержания EMPTY означает, что в данном элементе содержание может отсутствовать. Самый распространенный пример img. Следует отметить, что описание данного типа модели является наиболее простым. Например, описание элемента img в правилах DTD XHTML 1.0 выглядит так:
<!ELEMENT img EMPTY>
Существуют и более сложные описания. Рассмотрим элемент, представляющий маркированный список (ul), с типом модели содержания ELEMENT:
<[ELEMENT ul (li)+>
Такая модель уже упоминалась при обсуждении формализованной структуры описаний. В объявлении указывается, что элемент ul должен содержать один или несколько экземпляров элемента li.
Символ +, использованный в описании элемента ul, часто называют индикатором возможных появлений (occurrence indicator). В табл. 13.2 показаны три наиболее часто применяемых вида индикаторов.
Таблица 13.2. Типы индикаторов появления в DTD
Индикаторы Описание
возможных вариантов
• Элемент может быть необязательным (его нет, либо он сущест-
вует в единственном числе)
* Элемент может быть необязательным. Допустимо повторить его
ноль и более раз
+ Элемент существует обязательно. Может быть повторен один
и более раз
Модель содержания типа ELEMENT позволяет включать один и более элементов различного вида. Например, элемент tr (строка таблицы) может состоять из одного или нескольких элементов th (заголовок столбца) и td (содержание ячейки). Описание tr принимает следующий вид:
<!ELEMENT tr (th|td)+>
Символ вертикальной черты, разделяющий два элемента, указывает на выбор автором документа одного из них. Индикатор появления + сообщает об обязательном существовании минимум одного экземпляра элемента, хотя возможно его неоднократное повторение.
Примечание Индикатор появления применяется ко всему выражению, заключенному в скобки. Анализ выражения корректнее начинать с самого внешнего элемента, а затем переходить к элементам, указанным в скобках. Например, выражение вида (thltd)+ нужно трактовать следующим образом: «элемент tr должен содержать один или несколько элементов, ими могут быть th и td».
Пример. Когда комбинация элементов усложняется, модель содержания может включать несколько индикаторов, представленных в табл. 13.2. Рассмотрим пример объявления версии XHTML 1.0 Transitional для элемента table:
<!ELEMENT table
(caption?, (col* I colgroup*), thead?, tfoot?, (tbody+ I tr+))>
Проанализируем представленное выражение по частям. Перечень элементов, отделяемых друг от друга запятыми, называется последовательностью (sequence). Любой из элементов, принадлежащих ей, должен появиться внутри элемента, который эту последовательность обобщает. Исключением является случай, когда элемент модифицируется индикатором появления с возможным нулевым значением повторения. В модель содержания элемента table входят: необязательный элемент caption; один или несколько (при необходимости) экземпляров элемента, выбираемого автором из двух возможных (либо col, либо colgroup); необязательные элементы thead и tfoot; и, наконец, один или несколько экземпляров элемента tbody или tr. Если проанализировать данную последовательность, окажется, что единственными обязательными (к тому же на выбор) являются элементы tbody либо tr.
Внимание! В приведенной записи отсутствует элемент t d. Что же было описано: элементы, размещаемые внутри table или обязательно находящиеся там? Непосредственно внутри компонента table элемент td отсутствует, он включен в состав элемента tr (входящего в table). Поскольку он вложен в другой элемент, здесь он не упоминается. В определении описываются только элементы, принадлежащие первому уровню вложенности.
Опубликовал vovan666 April 08 2013 18:58:28 · 0 Комментариев · 2193 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Text effect
Converter AMR<->W...
Создание Web-сайт...
Apollovcl61
MpegPlay
Globus VCL Extent...
SendSMS для PHP-F...
Панель для реклам...
Degisy Data Acces...
IpEditAdress
WebReg v1.3
Факториал [Исходн...
ShadelLabel
VksButton
Алгоритм трассиро...
Самоучитель C++
LaserTank [Исходн...
FileFind
Matrix2D
Abbrevia

Топ загрузок
Приложение Клие... 100420
Delphi 7 Enterp... 84877
Converter AMR<-... 20061
GPSS World Stud... 11932
Borland C++Buil... 11401
Borland Delphi ... 8361
Turbo Pascal fo... 7007
Visual Studio 2... 4983
Калькулятор [Ис... 4618
FreeSMS v1.3.1 3529
Случайные статьи
Модуль Server-side...
Модернизация Award...
PHP: удаление стро...
Баннерная реклама ...
Счет в Сингапуре
Раскрутка сайта в ...
Язык Ada и военный...
Блок MARK
Форматы цифрового ...
Максимальная нагля...
Функция MessageDlg
Типовые операции н...
Школа SEO - самый ...
Как быть, если на ...
Важные функции кла...
ЧТО такое XSL
7.3. Запас прочности
Разработать процед...
11.2. Более сложн...
Где бесплатно скач...
Глобальные Multica...
Модели выполнения ...
Графический режим ...
Альтернатива униве...
Они отличаются от ...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?