Присвоение запросов

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

Об этой задаче

Запросы в IBM® Rational DOORS начинаются с корневого элемента (модуля), за которым следует его дочерний элемент (объект) и дочерние атрибуты объекта. Например: Module/Object/Attribute/Name.

Синтаксис запросов IBM Rational Tau похож на синтаксис XPath. Однако в отличие от XPath запрос Rational Publishing Engine не задает фильтр; операторы фильтрации и сортировки создаются отдельно от запроса. Все элементы схемы за исключением запроса определяются с помощью внутренних запросов Rational Tau. Запрос на языке извлекает данные Rational Tau. Например с корневым элементом из элемента модели model.rootResource связан запрос GetModelRoots() Rational Tau.

Процедура

  1. Присвойте запросы.
    1. В Document Studio откройте панель Схема источника данных.
    2. Добавьте элементы в шаблон.
    3. Перенесите элементы из панели Схема источника данных на элементы.
    Запрос присваивается элементу шаблона. Атрибуты типа запроса (элемент, перенесенный из панели Схема источника данных ), можно использовать в элементе шаблона и его дочерних элементах.
  2. Укажите ограничение для элемента запроса.
    Прим.: Ограничение элементов запроса обеспечивает возможность обработки подмножества элементов шаблона.
    1. В Document Studio выберите элемент шаблона, содержащий запрос.
    2. На панели Свойства перейдите на вкладку Данные.
    3. Для свойства Ограничение введите число объектов из источника данных для применения в соответствующем запросе. Нулевое значение (0) указывает, что ограничение отсутствует.
  3. Присвойте повторяющиеся свойства запросам. Рекурсия данных позволяет извлечь все дочерние требования из основного исходного требования в схеме.
    1. Выберите элемент, содержащий запрос.
    2. На панели Свойства в свойстве Рекурсивный уровень укажите глубину запроса.
    3. Для свойства Рекурсивные сегменты укажите число повторяющихся сегментов в запросе.
    Ниже приведен пример рекурсивных уровней и сегментов.
  4. Сохраните внесенные изменения.

Результаты

В процессе применения запроса к элементу в редакторе материалов шаблона отображаются три визуальных индикатора (по умолчанию они выделены синим цветом):
  • Имя схемы источника данных
  • Контекст отображается с символом доллара ($)
  • Имя запроса
Элемент ячейки с примененным запросом
Совет: При очистке информации из запросов опции Очистить ссылки и очистить данные работают по-разному. Опция Очистить ссылки доступна, только когда выбран элемент, имеющий запрос. Опция Очистить ссылки удаляет все запросы, атрибуты, фильтры, сортировки и условия в выбранном элементе и его дочерних элементах, если им также назначены запросы или атрибуты. Опция Очистить данные удаляет все запросы, атрибуты, фильтры, сортировки и условия в выбранном элементе и его дочерних элементах. Главные страницы, стили и свойства форматирования не удаляются.

Пример: Рекурсивный уровень и рекурсивные сегменты

Список требований к программному обеспечению можно просмотреть с помощью запроса PRRequirement в схеме IBM Rational RequisitePro, которая устанавливается вместе с примерами Rational Publishing Engine: %RPE_HOME%\source\XML\examples\RequisitePro.xsd

Для каждого запроса PRRequirement можно извлечь все дочерние требования на всех уровнях вложения, избежав добавления каждого запроса в шаблон.

Вместо добавления следующих запросов:
  • [$1] Project/Requirements/PRRequirement для извлечения PRRequirements.
  • [$2] $1/Children/Relationship/RelatedReq для извлечения дочерних требований каждого элемента PRRequirement.
  • [$3] $2/Children/Relationship/RelatedReq для извлечения дочерних требований каждого требования из каждого элемента PRRequirement.
Можно создать один запрос для всех требований:
  1. Добавьте запрос Project/Requirements/PRRequirement/Children/Relationship/RelatedReq в элемент.
  2. Добавьте значения в свойства Рекурсивный уровень и Рекурсивные сегменты:
    • Для свойства Рекурсивный уровень введите значение 4.

      Рекурсивный уровень задает глубину запроса. Если ввести значение не менее единицы, то потребуется также указать значение не менее единицы для параметра Рекурсивные сегменты.

    • Для свойства Рекурсивные сегменты введите значение 3.
      Параметр Рекурсивные сегменты задает число повторяющихся сегментов в запросе. В этом примере применяются сегменты Children/Relationship/RelatedReq.
      Прим.: Значение свойства Рекурсивные сегменты не должно превышать число сегментов в запросе. Родительский запрос не включается в качестве сегмента.
  3. Выполните отчет для тестирования.
    При создании отчета выполняются следующие запросы:
    • [$1] – Project/Requirements/PRRequirement/Children/Relationship/RelatedReq
      Прим.: Первый запрос должен содержать полный контекст запроса.
    • [$2] – $1/ Children/Relationship/RelatedReq
    • [$3] - $2/Children/Relationship/RelatedReq
    • [$4] – $3/Children/Relationship/RelatedReq
    Если значение свойства Рекурсивные сегменты превышает число сегментов в запросе, то неполадку можно устранить одним из следующих способов:
    • Выберите элемент, к которому применено свойство Рекурсивные сегменты. На панели Свойства выберите вкладку Данные и уменьшите значение свойства Рекурсивные сегменты.
    • Кроме того, запрос можно изменить таким образом, чтобы он начинался с другого родительского запроса. Если значение свойства Рекурсивные сегменты больше не один сегмент, создайте элемент контейнера и добавьте запрос, расположенный на один уровень выше родительского запроса существующего элемента. Затем переместите существующий элемент в элемент контейнера.

Дальнейшие действия

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

Для поиска списка присваиваний переменных, атрибутов и запросов, используемых в элементе щелкните правой кнопкой мыши на этом элементе и выберите Поиск > Все указатели в элементе. Откроется представление Поиск и будет показан список. Для изменения элемента дважды щелкните на нем в результатах.

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


Комментарии