DTD - Элементы


Advertisements

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

Элемент DTD объявлен с объявлением ЭЛЕМЕНТА. Когда архив XML утвержен DTD, парсер первоначально проверяет для элемента корня и после этого элементы ребенка утвержены.

Синтаксис

Все объявления элемента DTD имеют эту общую форму:

&lt!ELEMENT elementname (content)>
  • Объявление ЭЛЕМЕНТА использовано для того чтобы показать парсер что вы около определить элемент.

  • elementname также вызванное имя элемента (родовым обозначением) то вы определяет.

  • содержание определяет какое содержание (если любой), то смогите пойти внутри элемент.

Типы информационного наполнения элемента

Содержание объявления элементов в DTD можно классифицировать как ниже:

  • Пустое содержание

  • Содержание элемента

  • Смешанное содержание

  • Любое содержание

Пустое содержание

Это специальный случай объявления элемента. Это объявление элемента не содержит никакое содержание. Эти объявлены с ключевым словом ПУСТЫМ.

Синтаксис

Следование синтаксис для пустого объявления элемента:

<!ELEMENT elementname EMPTY >

В вышеуказанном синтаксисе:

  • ЭЛЕМЕНТ объявление элемента категории ПУСТОЕ

  • elementname имя пустого элемента.

Пример

Следование простой пример демонстрируя пустое объявление элемента:

<?xml version="1.0"?>
<!DOCTYPE hr[
   <!ELEMENT address EMPTY>    
]>
<address />

В этом адресе примера объявляет как пустой элемент. Повышение цены для элемента адреса появилось бы как <address/>.

Содержание элемента

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

Синтаксис

Следование синтаксис объявления элемента с содержанием элемента:

<!ELEMENT elementname (child1, child2...)>
  • ЭЛЕМЕНТ бирка объявления элемента

  • elementname имя элемента.

  • child1, child2. элементы и каждый элемент должен иметь свое собственное определение внутри DTD.

Пример

Внизу пример демонстрирует простой пример для объявления элемента с содержанием элемента:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE address [
   <!ELEMENT address (name,company,phone)>
   <!ELEMENT name (#PCDATA)>
   <!ELEMENT company (#PCDATA)>
   <!ELEMENT phone (#PCDATA)>
]>
<address>
   <name>Tanmay Patil</name>
   <company>Howcodex</company>
   <phone>(011) 123-4567</phone>
</address>

В вышеуказанном примере, адрес элемент родителя и имя, компания и phone_no свои элементы ребенка.

Список операторов и правил синтаксиса

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

Оператор Синтаксис Описание Пример
+ <! Элемент-имя ЭЛЕМЕНТА (child1+) > Оно показывает что элемент ребенка может произойти одни или больше времена внутри элемента родителя. <! Адрес ЭЛЕМЕНТА (name+) >

Имя элемента ребенка может произойти одни или больше времена внутри адреса имени элемента.

* <! Элемент-имя ЭЛЕМЕНТА (child1*) > Оно показывает что элемент ребенка может произойти нул или больше времен внутри элемента родителя. <! Адрес ЭЛЕМЕНТА (name*) >

Имя элемента ребенка может произойти нул или больше времен внутри адреса имени элемента.

? <! Элемент-имя ЭЛЕМЕНТА (child1?) > Оно показывает что элемент ребенка может произойти нул или одного времени внутри элемента родителя. <! Адрес ЭЛЕМЕНТА (имя?) >

Имя элемента ребенка может произойти нул или одного времени внутри адреса имени элемента.

, <! Элемент-имя ЭЛЕМЕНТА (child1, child2) > Оно дает последовательность элементов ребенка отделенных запятым которую необходимо включить в элемент-имени. <! Адрес ЭЛЕМЕНТА (имя, компания) >

Последовательность имени элементов ребенка, компании, которая должна произойти в таком же заказе внутри адреса имени элемента.

| <! Элемент-имя ЭЛЕМЕНТА (child1 | child2) > Оно позволяет сделать выборы в элементе ребенка. <! Адрес ЭЛЕМЕНТА (имя | компания) >

Оно позволяет вам выбрать или ребенка элементы т.е. называют или или компания, которая должна произойти внутри внутри адреса имени элемента.

Правила

Нам нужно следовать некоторыми правилами если больше чем один элемент содержимый:, то

  • Последовательности - часто элементы внутри документы DTD должны появляться в определенный заказ. Если это случай, то вы определяете содержание используя последовательность. Например:

    <!ELEMENT address (name,company,phone)>
    

    Объявление показывает что элемент <address> должен иметь точно 3 детей - <name>, <company>, и <phone> - и что они должны появиться в этот заказ.

  • Выборы: Предположите вас для того чтобы позволить одному элементу или другим, но не оба. В такие случаи вы должны использовать трубу (|) характер. Функции трубы как исключение ИЛИ. Например:

    <!ELEMENT address (mobile | landline)>
    

Смешанное содержание элемента

Это сочетание из (#PCDATA) и элементы детей. PCDATA стоит для parsed данных по характера, т.е., текста который нет повышения цены. Внутри смешанные содержимые модели, текст может выйти в свет собой или он можно interspersed между элементами. Правила для смешанных содержимых моделей подобны к содержанию элемента как обсуждено в предыдущим разделом.

Синтаксис

Следование родовой синтаксис для смешанного содержания элемента:

<!ELEMENT elementname (#PCDATA|child1|child2)*>
  • ЭЛЕМЕНТ бирка объявления элемента.

  • elementname имя элемента.

  • PCDATA текст который нет повышения цены. #PCDATA должно прийти сперва в смешанное содержимое объявление.

  • child1, child2. элементы и каждый элемент должен иметь свое собственное определение внутри DTD.

  • Оператор (*) должен следовать смешанным содержимым объявлением если элементы детей включенны

  • (#PCDATA) и объявления элемента детей должны быть отделены (|) оператор.

Пример

Следование простой пример демонстрируя смешанное содержимое объявление элемента в DTD.

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE address [
   <!ELEMENT address (#PCDATA|name)*>
   <!ELEMENT name (#PCDATA)>
]>
<address>
   Here's a bit of text mixed up with the child element.
   <name>Tanmay Patil</name>
</address>

ЛЮБОЕ содержание элемента

Вы можете объявить элемент используя ЛЮБОЕ ключевое слово в содержании. Оно наиболее часто назван смешанный элемент категории. ЛЮБОЕ полезно когда вы имеете пока решить позволяемое содержание элемента.

Синтаксис

Следование синтаксис для объявлять элементы с ЛЮБЫМ содержанием:

<!ELEMENT elementname ANY>

Здесь, ЛЮБОЕ ключевое слово показывает что текст (PCDATA) и/или все элементы объявленные внутри DTD можно использовать внутри содержание элемента <elementname>. Их можно использовать в любом заказе любое число времен. Однако, ЛЮБОЕ ключевое слово не позволяет вам включить элементы которые не объявлены внутри DTD.

Пример

Следование простой пример демонстрируя объявление элемента с ЛЮБЫМ содержанием:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE address [
   <!ELEMENT address ANY>
]>
<address>
  Here's a bit of sample text
</address>
Advertisements