English | česky | Español | >> По-русски << | Français | Italiano | Deutsch | MagyarZVON > Tutorials > DTD Tutorial
>> Пример 11 << | Назад | Вперед | Содержание

Описание

Значение атрибута типа ID может содержать только символы, разрешенные для типа NMTOKEN, и должно начинаться с буквы. Никакой тип элементов не может иметь более одного определенного атрибута типа ID. Значение атрибута типа ID должно быть уникальным среди всех значений всех атрибутов данного типа.

DTD


Атрибуты id, code и X однозначно определяют свой элемент.:

   <!ELEMENT XXX (AAA+ , BBB+ , CCC+)>
   <!ELEMENT AAA (#PCDATA)>
   <!ELEMENT BBB (#PCDATA)>
   <!ELEMENT CCC (#PCDATA)>
   <!ATTLIST AAA 
      id ID #REQUIRED>
   <!ATTLIST BBB 
      code ID #IMPLIED
      list NMTOKEN #IMPLIED>
   <!ATTLIST CCC 
      X ID #REQUIRED
      Y NMTOKEN #IMPLIED>
   

Допустимые документы


Все значения ID являются уникальными.:

 <!DOCTYPE XXX SYSTEM "tutorial.dtd">

   <XXX>
      <AAA id="a1"/>
      <AAA id="a2"/>
      <AAA id="a3"/>
      <BBB code="QWQ-123-14-6" list="14:5"/>
      <CCC X="zero" Y="16" />
   </XXX>
   

Атрибуты list и Y имеют тип NMTOKEN, а не ID. Поэтому они могут иметь одинаковое значение в нескольких элементах или такое же значение, как атрибут типа ID.:

 <!DOCTYPE XXX SYSTEM "tutorial.dtd">

   <XXX>
      <AAA id="L12"/>
      <BBB code="QW" list="L12"/>
      <CCC X="x-0" Y="QW" />
      <CCC X="x-1" Y="QW" />
   </XXX>
   

Документы с ошибками


Атрибут типа ID не может начинаться с цифры или содержать символы, запрещенные для типа NMTOKEN.:

 <!DOCTYPE XXX SYSTEM "tutorial.dtd">

   <XXX>
      <AAA id="L12"/>
      <BBB code="#QW" list="L12"/>
      <CCC X="12" Y="QW" />
   </XXX>
   

Атрибут типа ID должен иметь уникальное значение.:

 <!DOCTYPE XXX SYSTEM "tutorial.dtd">

   <XXX>
      <AAA id="L12"/>
      <BBB code="QW" list="L12"/>
      <CCC X="ZA" Y="QW" />
      <CCC X="ZA" Y="QW" />
   </XXX>
   

Атрибут типа ID должен иметь уникальное значение. Оба атрибута (id и X) имеют тип ID.:

 <!DOCTYPE XXX SYSTEM "tutorial.dtd">

   <XXX>
      <AAA id="L12"/>
      <BBB code="QW" list="L12"/>
      <CCC X="L12" Y="QW" />
   </XXX>