Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / XML / DTD - определения /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Определение компонентов (макроопределений) - Программирование от RIN.RU
Определение компонентов (макроопределений)

Компонент (entity) представляет собой определения, содержимое которых может быть повторно использовано в документе . В других языках программирования подобные элементы называются макроопределениями. Создаются DTD- компоненты при помощи инструкции !ENTITY:


<!ENTITY hello " Мы рады приветствовать Вас!" >


Программа-анализатор, просматривая в первую очередь содержимое области DTD- определений, обработает эту инструкцию и при дальнейшем разборе документа будет использовать содержимое DTD- компонента в том месте, где будет встречаться его название. Т.е. теперь в документе мы можем использовать выражение &hello; , которое будет заменено на строчку "Мы рады приветствовать Вас"


В общем случае, внутри DTD можно задать три типа макроопределений:


  • Внутренние макроопределения - предназначены для определения строковой константы, с их помощью можно организовывать ссылки на часто изменяемую информацию, делая документ более читабельным. Внутренние компоненты включаются в документ при помощи амперсанта &


    В XML существует пять предустановленных внутренних символьных констант:


    • ≶ - символ "<"

    • > - символ ">"

    • & - символ "&"

    • ' - символ апострофа "'"

    • " - символ двойной кавычки """


  • Внешние макроопределения - указывают на содержимое внешнего файла, причем этим содержимым могут быть как текстовые, так и двоичные данные. В первом случае в месте использования макроса будут вставлены текстовые строки, во втором - бинарные данные, которые анализатором не рассматриваются и используются внешними программами


    <!ENTITY logotype SYSTEM "/image.gif" NDATA GIF87A>


  • Макроопределения правил - макроопределения параметров могут использоваться только внутри области DTD и обозначаются специальным символом %, вставляемым перед названием макроса. При этом содержимое компонента будет помещено непосредственно в текст DTD- правила


    Например, для следующего фрагмента документа:


    <!ELEMENT name (PCDATA)>
    <!ELEMENT title (PCDATA | name)>
    <!ELEMENT author (PCDATA | name)>
    <!ELEMENT article (title, author)>
    <!ELEMENT book (title, author)>
    <!ELEMENT bookstore (book | article)>
    <!ELEMENT bookshelf (book | article)>


    можно использовать более короткую форму записи:


    </ul>
    <!ELEMENT name (PCDATA)>
    <! ENTITY %names "PCDATA | name">
    <!ELEMENT article (%names;)>
    <!ELEMENT book (%names;)>
    <!ENTITY %content "book | article">
    <!ELEMENT bookstore (%content;)>
    <!ELEMENT bookshelf (%content;)>


    Макроопределения часто используются для описания параметров в правилах атрибутов. В этом случае появляется возможность использовать одинаковые определения атрибутов для различных элементов:


    <!ENTITY %itemattr "id ID #IMPLIED src CDATA">
    <!ENTITY %bookattr "ISDN ID #IMPLIED type CDATA">
    <!ENTITY %artattr " size CDATA">
    <!ELEMENT book (title, author,content)>
    <!ATTLIST book %itemattr %bookattr;>
    <!ELEMENT article (title, author, content)>
    <!ATTLIST article %itemattr %artattr;>



     8  Комментарии к статье  8  Обсудить в форуме  8  Обсудить в чате

8  В тему

Определение элемента

Определение атрибутов

Типизация данных

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь