Создание вложенных запросов

Для создания вложенных запросов присвойте их дочерним элементам.

Процедура

  1. В Document Studio откройте панель Схема источника данных.
  2. С помощью указателя мыши перенесите элемент с панели Схема источника данных на элемент шаблона. При переносе запроса на элемент, для которого задан родительский элемент, выполняется проверка возможности обработки запроса в контексте запроса родительского элемента. Показываются все запросы, которые могут служить контекстом, отображаются в окне Выбрать контекст. В списке отображается ИД и его текстовое представление.
  3. Выберите контекст запроса в списке. Если контекст не выбран, создаются два несвязанных вложенных запроса.
  4. Нажмите кнопку OK.

Пример

В следующем примере показан вложенный запрос, присвоенный элементу шаблона Rational DOORS.

Paragraph DOORS 1 $1 Module/Object
	Text
	Module/Object/Object/Heading
Paragraph DOORS 1 $2 Module/Object/Attribute
	Text
	Module/Object/Attribute/Name
В этом примере запрос Module/Object выполняет роль контекста для Module/Object/Attribute.

В этом примере контекст $1 для второго запроса позволяет получить следующий вывод:

Контекст none для второго запроса позволяет получить следующий вывод:

В следующем примере показан вложенный запрос, присвоенный элементу шаблона IBM® Rational Tau.

Первый запрос model/root(Package) выполняется в контексте модели Rational Tau. Второй запрос model/root(Package)/ownedMember выполняется для каждого пакета, возвращаемого первым запросом.

Полный список классов из пакетов верхнего уровня можно получить с помощью запроса model/root(Package)/ownedMember(Class). В этом случае документ вывода не содержит имена отдельных пакетов. Способ создания списка классов аналогичен первому случаю. Запрос разбивается на составляющие запросы, каждый из которых выполняется в контексте, определяемом предыдущими запросами:
Табл. 1. Подчиненные запросы
Подзапрос Контекст Результат
model Не применимо модель
model/root(Package) модель список пакетов
ownedMember(Class) список пакетов список классов
Каждый подзапрос выполняется один раз для каждого элемента; результаты каждого выполнения объединяются. Эти результаты становятся контекстом следующего подзапроса или списка результатов в случае последнего подзапроса.

Комментарии