Навигация
Главная
Поиск
Форум
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
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Модуль Forms 65432
ТЕХНОЛОГИИ ДОСТ... 62396
Имитационное мо... 58019
Реклама
Сейчас на сайте
Гостей: 17
На сайте нет зарегистрированных пользователей

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

Обратное размещение элементов ЭВС на Delphi + Пояснительная записка
База данных студентов на Delphi + Microsoft SQL Server
Лабораторная работа по динамическим спискам на Turbo Pascal (удаление ду...

Реклама



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

ПОДПИСЫВАЙСЯ на канал о программировании
Примечание Консорциум W3C предполагает в дальнейшем определять модули на языке XML-Schema, но пока этот язык находится в стадии разработки, модули в XHTML создаются на базе правил описания типов (DTD)
Описание модульных фрагментов в DTD основано на использовании параметрических компонентов. Для представления абстрактных составляющих модулей задействуются шесть категорий компонентов, каждая из которых подчиняется специальному соглашению по применению наименований и определяется суффиксом:
• .
mod - параметрические компоненты, представляющие DTD-модуль. Могут храниться в отдельных файлах, которые идентифицируются таким же суффиксом;
• .module - в больших модулях можно включать или исключать модули DTD, используя условные секции. Управляют модулем, представленным параметрическим компонентом с указанным суффиксом, с помощью ключевых СЛОВ IGNORE И INCLUDE;
• . content - компоненты с данным суффиксом используются для параметризации модели содержания типа элементов;
• .class - элементы, принадлежащие к одному классу, описываются параметрическими компонентами с указанным суффиксом;
• . mix - элементы, относящиеся к различным классам, могут быть представлены единственным параметрическим компонентом с таким суффиксом;
• . attrib - группа имен ярлыков, которая соответствует одной или нескольким завершенным спецификациям атрибутов внутри объявления ATTLIST. Может быть описана параметрическими компонентами, принадлежащими данной категории.
Рассмотрим применение указанных компонентов в одном из предопределенных модулей - модуле List (см. также главу 16).
Модуль List
Рекомендациями W3C определено, что модули начинаются с комментариев, имени файла, условий авторского права и даты последней редакции документа:
<! — —>
<!-- XHTML Модуль списков —> <!-- Файл: xhtml-list-1.mod
XHTML является преобразованием HTML в модульное приложение XML. Создан в 1998-2000 годах специалистами консорциума W3C (MIT, INRIA, Keio). Все права зацицены.
Последняя редакция: $Id: xhtml-modularization-2 0 0 0 07 0 5.html, v 1.7 2000/07/03 13:46:01 shane Ехр$ SMI -->
Затем следуют публичные и системные идентификаторы, использованные для данного модуля и даты последней редакции:
<!-- Этот модуль зарегистрирован открытым и системным идентификаторами:
PUBLIC "-//W3С//ELEMENTS XHTML Lists 1.0//EN" SYSTEM "xhtml-1ist-1.mod"
Редакции: (отсутствуют)
-->
Следующий сегмент комментариев кратко описывает назначение данного модуля:
<!-- Списки
dl, dt, dd, ol, ul, li В данном модуле объявляются типы элементов списка и используемые ими атрибуты.
-->
Ниже приведены составные имена параметрических компонентов для каждого элемента, входящего в состав модуля. Составное имя включает в себя имя элемента и суффикс . qname. Например, составное имя параметрического компонента, представляющего элемент dl, принимает вид dl. qname.
ENTITY % dl.qname "dl
ENTITY % dt.qname "dt
ENTITY % dd.qname " dd
ENTITY % ol.qname "ol
ENTITY % ul.qname "ul
ENTITY % li.qname "li
> > > > > >
В следующей секции полное описание элемента dl сводится к объявлению одного параметрического компонента:
<! — dl: Определение списка (Definition List) -->
<!ENTITY % dl.element "INCLUDE" > <! [%dl.element; [
<!ENTITY % dl.content "( %dt.qname; I %dd.qname; )+" > <!ELEMENT %dl.qname; %dl.content; >
<!-- Завершение описания элемента dl.element -->]]>
Прочитать это описание достаточно легко, если раскрывать его по алгебраическому правилу освобождения от скобок. Сначала рассматривается параметрический компонент dl. content. При его описании задействуются два параметрических компонента . qname, используемые для элементов dt и dl. Расширенная форма синтаксиса, примененного к данным элементам, имеет вид:
<!ENTITY % dl.content "(dt|dd)+" >
Объявление элемента, следующее непосредственно за параметром dl. content, определяет сам элемент. Если его раскрыть, оно будет выглядеть так:
<!ELEMENT dl (dt|dd)+ >
Вернемся к началу секции. Параметрический компонент dl. element описывается таким образом, чтобы включать и объявление параметрического компонента dl. content, и объявление элемента, которое сведет полное описание к одному компоненту. Если используется запись типа:
<!ENTITY %dl.element "INCLUDE" >
тогда в модуль помещается не только элемент dl, но и остальная информация, которая в расширенном виде необходима анализатору.
Определение списка атрибутов элемента dl происходит по той же схеме. Перечень атрибутов описывается одним параметрическим компонентом и включается в модуль с помощью ключевого слова INCLUDE. Ссылка на коллекцию атрибутов Common, которая может находиться в любом месте завершенного описания DTD, осуществляется посредством параметрического компонента, в записи которого должен присутствовать суффикс . attrib:
<!ENTITY % dl.attlist "INCLUDE" > <! [%dl.attlist; [
<!ATTLIST %dl.qname; %Common.attrib;>
<!-- Завершение описания компонента dl.attlist -->]]>
Аналогичным образом происходит параметризация объявлений элементов и их атрибутов для остальных элементов, включенных в модуль. Полное описание модуля приведено в листинге 14.1.
Листинг 14.1. Представление модуля XHTML-списков - xhtml-list-1 .mod
<!-- -->
<!-- XHTML Модуль списков —> <!-- Файл: xhtml-list-1.mod
XHTML является преобразованием HTML в модульное приложение XML. Создан в 1998-2000 годах специалистами консорциума W3C (MIT, INRIA, Keio). Все права защищены.
Последняя редакция: $Id: xhtml-modularization-2 0 0 0 07 05.html, v 1.7 2000/07/03 13:46:01 shane Ехр$ SMI
Этот модуль зарегистрирован открытым и системным идентификаторами:
PUBLIC "-//W3С//ELEMENTS XHTML Lists 1.0//EN" SYSTEM "xhtml-list-1.mod"
Редакции: (отсутствуют)->
<!-- Списки
dl, dt, dd, ol, ul, li
В данном модуле объявляются типы элементов списка и используемые ими атрибуты
-->
<!ENTITY % dl.qname "dl
<!ENTITY % dt.qname "dt
<!ENTITY % dd.qname "dd
<!ENTITY % ol.qname "ol
<!ENTITY % ul.qname "ul
<!ENTITY % li.qname "li
> > > > > >
dl: Определение списка (Definition List) ,
<!ENTITY % dl.element "INCLUDE" > <![%dl.element;[
<!ENTITY %dl.content "( %dt.qname; I %dd.qname; )+" > <!ELEMENT %dl.qname; %dl.content; >
<!-- Завершение описания элемента dl.element -->]]> <!ENTITY % dl.attlist "INCLUDE" > <![%dl.attlist;[ <!ATTLIST %dl.qname; %Common.attrib;>
<!-- Завершение описания компонента dl.attlist -->]]>
<!-- dt: Определение понятия (Definition Term) -->
<!ENTITY % dt.element "INCLUDE" > <! [%dt.element; [
<ENTITY %dtcontent
<"( #PCDATA I %Inline.mix; )*" > ELEMENT %dl.qname; %dl.content; >
<!-- Завершение описания элемента dt.element -->]]> <!ENTITY % dt.attlist "INCLUDE" > <! [%dt.attlist; [ <!ATTLIST %dt.qname; %Common.attrib;>
<!-- Завершение описания компонента dl.attlist ->]]>
<!-- dd: Определение описаний (Definiton Description) -->
<!ENTITY % dd.element "INCLUDE" >
[%dd.element;[ ENTITY %dt.content
"( #PCDATA I %Flow.mix; )*" >
ELEMENT %dd.qname; %dd.content; > <!-- Завершение описания элемента dd.element -->]]>
<!ENTITY % dd.attlist "INCLUDE" > <! [%dd.attlist; [ <!ATTLIST %dd.qname; %Common.attrib;>
<!-- Завершение описания компонента dd.attlist -->]]>
<!-- ol: Нумерованный список (Ordered List, numbered styles)-->
<!ENTITY % ol.element "INCLUDE" >
<![%ol.element;[
<!ENTITY %ol.content "( %li.qname; )+" > <!ELEMENT %ol.qname; %ol.content; >
<!-- Завершение описания элемента ol.element -->]]> <!ENTITY % ol.attlist "INCLUDE" > <! [%ol.attlist; [ <!ATTLIST %ol.qname; %Common.attrib;
<!-- Завершение описания компонента ol.attlist —>]]>
<!-- ul: Маркированный список (Unordered List, bullet styles)-->
<!ENTITY % ul.element "INCLUDE" >
<![%ul.element;[
<!ENTITY %ul.content "( %li.qname; )+" > <!ELEMENT %ul.qname; %ul.content; >
<!-- Завершение описания элемента ul.element -->]]> <!ENTITY % ul.attlist "INCLUDE" > <! [%ul.attlist; [ <!ATTLIST %ul.qname; %Common.attrib;
[%li.attlist; [ ATTLIST %li.qname;< < < < <
%Common.attrib;>
<!-- Завершение описания компонента li.attlist -->]]> <!-- Завершение модуля xhtml-list-1.mod -->]]>
Опубликовал vovan666 April 10 2013 02:31:30 · 0 Комментариев · 2323 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
Preview
Векторный редакто...
PHP глазами хакера
PCX
Xrumer 4 Platinum...
Scrrlcaptoin
Создание меню на ...
Измерение тактово...
Adapter (пример D...
ActiveX в Delphi
EMS QuickExport S...
Распознавание тек...
Быстрое создание ...
Srinilist
netBIOS
Переработанный пл...
Bitmap [для кнопок]
EMSQuickImport
Дешифратор содерж...
Мод "register.php...

Топ загрузок
Приложение Клие... 100472
Delphi 7 Enterp... 87506
Converter AMR<-... 20081
GPSS World Stud... 13108
Borland C++Buil... 11942
Borland Delphi ... 8637
Turbo Pascal fo... 7042
Visual Studio 2... 5002
Калькулятор [Ис... 4860
FreeSMS v1.3.1 3544
Случайные статьи
Целочисленный арг...
Изменение структур...
Настройка страницы
Удаление хвостовой...
Управление коммент...
Процесс - лидер гр...
Определение параме...
Подбор плитки в кухню
У истоков трафа ча...
Процедуры двоичной...
Вставка узла похож...
Практический Перл ...
Инструмент исследо...
а: определение эфф...
Коллекция объектов...
Метод экспертного ...
Язык С: операторы,...
Обновление баз дан...
Если хотя бы одно ...
Visual FoxPro сам ...
Сильное зацепление...
Какой хост способе...
Проблемы со свобод...
Модемы, поддержива...
Динамическое храни...
Статистика



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


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