Изменение узла группы

Если в элементе находится информация типа element или смешанная информация, его модель информации представлена узлом группы. Можно добавить в узел группы дочерние элементы или другую группу и указать, как часто и каким образом группа элементов будет доступна в файле XML, связанном с вашим DTD.
Подготовка
Об этой задаче

Следующие инструкции написаны для проекции Ресурсы, но будут работать и в других проекциях.

Для изменения узла группы выполните следующие действия:

  1. Откройте DTD в редакторе DTD.
  2. На панели Схема разверните дерево элемента для работы.
  3. Выберите узел группы для работы.
  4. В списке Группа моделей панели Эскиз выберите Последовательность или Выбор. Таким образом можно указать, будет ли группа элементов в файле XML отсортирована последовательно или доступ будет организован в виде выбора.
  5. Выберите в списке Явление соответствующее значение, чтобы указать, как часто группа элементов может появляться в файле XML, связанном с DTD.
  6. Для добавления другого существующего элемента в группу в качестве дочернего щелкните правой кнопкой мыши на узле группы, выберите пункт Добавить элемент в модель информации, затем выберите элемент.
  7. Кроме того, можно добавить группу в существующий узел групп щелчком правой кнопки мыши на узле групп с последующим выбором пункта Добавить группу в модель информации
Результат

Примечание: Опция Явление для узла групп указывает только допустимую частоту появления всей группы элементов в файле XML. Для каждого дочернего элемента группы можно также указать, как часто он может появиться (то, как часто дочерний элемент может появиться, совершенно не зависит от того, как часто может появиться содержащая его группа).

 Совет: Для изменения порядка элементов, расположенных в разделе узла групп, достаточно щелкнуть на элементе и перенести его в требуемое расположение.

Пример

Создание узла групп, содержащего список домашних животных

Следующие инструкции демонстрируют создание узла групп, содержащего список домашних животных, и показывают, как выбор предложенных вариантов отражается на возможности использования узла групп (и содержащихся в нем элементов) в любых файлах XML, основанных на файле вашего DTD:

  1. Создайте DTD с именем Pets.dtd и откройте его в редакторе DTD.
  2. На панели Схема щелкните правой кнопкой мыши на файле вашего DTD и создайте элемент SmallPets. Также создайте еще три элемента - Кошки, Собаки и Рыбки.
  3. Разверните пункт SmallPets и выберите модель информации EMPTY. В списке Тип информации выберите Смешанная информация. Это означает, что ваш элемент SmallPets может содержать как другие элементы, так и символьные данные.
  4. Теперь ваша модель информации представлена узлом групп Изображение узла групп типа Mixed Content (смешанная информация).. Под ним автоматически будут созданы элемент #PCDATA (для символьных данных) и новый дочерний элемент. Выберите newChild, затем выберите Собаки в списке Модель информации.
  5. Щелкните правой кнопкой мыши на узле групп и выберите Добавить элемент в модель информации. Выберите новый дочерний узел, затем выберите Кошки в списке Модель информации.
  6. Повторите предыдущее действие и выберите Рыбки в списке Модель информации.
  7. После создания этого списка домашних животных можно принять решение, разрешить ли пользователям выбирать все элементы списка в файле XML на основе файла Pets.dtd, либо только один элемент. Допустим, создан файл XML с именем Pets.xml на основе этого DTD и в нем создан элемент SmallPets. Если в качестве группы моделей в файле DTD была выбрана Последовательность, то в элементе SmallPets файла Pets.xml могут быть представлены все домашние животные (Кошки, Собаки и Рыбки). Но если для группы моделей выбрана опция Выбор, то в элементе SmallPets файла Pets.xml может быть представлено только одно животное. Допустимые варианты: Кошки или Собаки или Рыбки, но только одно животное одновременно.
  8. Теперь требуется решить, как часто эта группа элементов (список домашних животных) может появляться в файле XML, связанном с DTD. Можно указать, что она должна появиться только раз (Только один раз), один или несколько раз (Один или несколько), может не появиться ни разу (Необязательно) или она может совсем не использоваться или использоваться без ограничений (Ноль или более). Примечание: Также можно задать частоту появления каждого дочернего элемента. То, как часто дочерний элемент может появиться, совершенно не зависит от того, как часто может появиться содержащая его группа. Например, можно указать, что группа SmallPets может появиться Только один раз, а элемент Кошки может появиться несколько раз (для этого нужно выбрать элемент Кошки и щелкнуть на пункте Один или несколько).
  9. От того порядка, в котором указаны дочерние элементы в группе, зависит их использование в экземплярах родительского элемента в файле XML. Например, если в фале DTD было указано: <!ELEMENT SmallPets (Собаки+ , Кошки+ , Рыбки)+>, то любые экземпляры SmallPets в файле Pets.xml должны содержать один или несколько экземпляров элемента Собаки, затем один или несколько экземпляров элемента Кошки, затем только один экземпляр элемента Рыбки. Элемент Рыбки не может появиться после элемента Собаки, а элемент Кошки не может появиться перед элементом Собаки.
  10. Также можно добавить группу в существующий узел групп. Выберите узел и щелкните правой кнопкой мыши на пункте Добавить группу в модель информации. Если потребуется отсортировать животных по породе и объединить их в группы, можно добавить узел групп.
Дальнейшие действия

Комментарии