ПРИМЕР АБСТРАКТНОЙ-ОПЕРАЦИИ СУММИРОВАНИЯ
В данном приложении приведен пример использования абстрактной-операции суммирования.
F.1 Элементы в примере ХС
Рассмотрим ХС, содержащее следующие перечисленные в таблице F.1 элементы, по одному в каждой строке. В колонках показаны значения указанных типов-атрибутов. Знак "-" означает отсутствие атрибута в элементе.
Таблица F.1 - Хранилище-сообщения в рассматриваемом примере
Порядковый номер | Тип-элемента | Состояние-элемента | Приоритет |
3 | Сообщение | перечисленный | срочный |
5 | Сообщение | перечисленный | низкий |
8 | Отчет | перечисленный | - |
10 | Сообщение | перечисленный | нормальный |
15 | Отчет | новый | - |
18 | Сообщение | новый | нормальный |
20 | Сообщение | новый | срочный |
22 | Сообщение | новый | нормальный |
23 | Сообщение | новый | нормальный |
Примечание - Даже если приоритет в конверте-доставки-сообщения данного сообщения опущен и по умолчанию является "нормальным", то соответствующий атрибут имеет место в значении по умолчанию.
F.2 Пример запроса суммирования
Предположим, что требуется просуммировать все "новые" элементы по приоритетам. Требуемый результат приведен в следующем списке подсчетов (см. таблицу F.2). Цифры в скобках означают порядковые-номера сообщений, образующих данный подсчет.
Таблица F.2 - Ожидаемый результат из списка суммирования
Приоритет | Счет |
- | 1 (15) |
срочный | 1 (20) |
нормальный | 3 (18, 22, 23) |
низкий | 0 |
Компоненты аргумента-суммирования должны иметь следующий вид: | ||
селектор: | ||
фильтр: | состояние-элемента = новое | |
запросы-суммирования: | тип атрибута = приоритет | |
Компоненты результата-суммирования могут иметь следующий вид: | ||
счет: | 5 | |
промежуток: | ||
наинизший: | 15 | |
наивысший: | 23 | |
суммирование: | ||
| { отсутствует: | 1 |
| имеет место: | { значение = нормальный, счет = 3 } |
{ значение = срочный, счет = 1 }} |