Навигация
Главная
Поиск
Форум
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 65535
ТЕХНОЛОГИИ ДОСТ... 65262
Имитационное мо... 59097
Реклама
Сейчас на сайте
Гостей: 6
На сайте нет зарегистрированных пользователей

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

Выбор наилучших альтернатив с использованием методов оптимизации на Delp...
Программа тестирования (тест) - вступительные экзамены (математика, физи...
База данных - рабочее место кассира на Delphi + бд Access

Реклама



Подписывайся на 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 Комментариев · 2453 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
Язык программиров...
HtmlLerz PRO
SysInfo [Исходник...
Приложение Клиент...
Нестандартные при...
Ильдар Хабибуллин...
Учебник по создан...
PHP 5 в подлинник...
Sztransppanel
AddPage [Исходник...
Панель случайной ...
IPAddresseEdit
Assembler. Учебни...
Создание отчетов ...
Фильтры изображений
Midi
Blobs [Исходник н...
Архив программ
PHP, MySQL и Drea...
Srinilist

Топ загрузок
Приложение Клие... 100505
Delphi 7 Enterp... 89503
Converter AMR<-... 20090
GPSS World Stud... 14436
Borland C++Buil... 12504
Borland Delphi ... 8878
Turbo Pascal fo... 7082
Калькулятор [Ис... 5054
Visual Studio 2... 5016
FreeSMS v1.3.1 3552
Случайные статьи
Я преподаю этот ме...
МОДЕЛЬ С АКТИВНОЙ ...
Батуты в СПб попры...
Панель управления ...
Разберемся теперь ...
Константы основных...
Протокол Telnet
Свойства триггера
Чтение и запись ин...
Введение
Настраиваемые конс...
Запрос дерева со С...
учетными записями ...
Архитектура функци...
Оператор ссылки (...
Восходящий граммат...
Семантический анал...
Что ещё можно сдел...
Windows с точки вр...
Общность предмета...
Формирование струк...
Каковы шансы на ус...
Несколько фактов о...
Профессиональная к...
Второй алгоритм (6...
Статистика



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


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