8.5. Системный рабочий лист для сортировки xYSRT

The UNESCO micro CDS/ISIS Software

Рабочий лист xYSRT, приведенный на рис. 43, выводится на экран после рабочего листа для печати, если вы запросили сортировку выходных данных (путем введения "Да" в поле Сортировка рабочего листа для печати). Он содержит все параметры, связанные с сортировкой и употреблением подзаголовков.

Рис. 43. Системный рабочий лист для сортировки EYSRT

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

8.5.1. Количество подзаголовков

Введите количество уровней подзаголовков, которые вы хотите использовать. Это количество должно быть меньше или равно количеству ключей сортировки (см. ниже). Если это количество будет больше, CDS/ISIS установит количество уровней равным количеству ключей сортировки.

Основная цель использования подзаголовков - помочь пользователю найти требуемую информацию путем обеспечения быстрого средства просмотра: подзаголовок выступает по сравнению с текстом и глаз его быстро воспринимает, интуитивно представляя таким образом, расположение данных.

Как правило, количество подзаголовков должно быть на единицу меньше количества ключей сортировки, последний ключ сортировки должен соответствовать первому элементу данных, которые вы печатаете для каждой записи. Например, в списке, отсортированном по автору (первый уровень сортировки) и заголовку (второй уровень сортировки) вам следует использовать один уровень подзаголовков. Использовать два уровня подзаголовков в этом случае не имеет смысла, поскольку маловероятно, чтобы один автор написал две работы под одинаковым заглавием (см. рис. 48). Другой пример. Вы можете отсортировать список материалов конференций по месту конференции (первый уровень сортировки), дате конференции (второй уровень сортировки), названию конференции (третий уровень) и заглавию статьи (четвертый уровень) и использовать три уровня подзаголовков (место, дата и название конференции), а сами статьи, которые вы будете использовать как первый элемент данных в вашем формате печати, будут затем перечислены в лексикографическом порядке.

8.5.2. Имя файла стоп-слов

Если в одной из ТВП, используемых для генерации ключей сортировки, (см. ниже) вы используете технику индексирования 4 (индексирование по словам), вы можете использовать файл стоп-слов, содержащий список незначащих слов. В этом случае введите здесь имя файла стоп-слов, который вы хотите использовать. CDS/ISIS будет игнорировать слова, перечисленные в файле стоп-слов, при построении ключей сортировки. Для уточнения подробностей о построении файла стоп-слов см. раздел 17.3. "Создание файла стоп-слов".

8.5.3. Формат подзаголовка

Вы можете ввести здесь ваш собственный формат для печати подзаголовков. Поскольку подзаголовки создаются средствами ТВП, они не обязательно должны соответствовать содержанию полей в записи (т. е. подзаголовком может быть только одно слово из поля). С другой стороны, язык форматирования (который используется также и для форматирования подзаголовков, а не только записей) не имеет специальных команд для форматирования подзаголовков, он может форматировать только поля или подполя. По этой причине, CDS/ISIS присваивает каждому подзаголовку специальную метку, которая может быть использована затем в формате для ссылки на подзаголовок.

Если вы вводили свой собственный формат, вы должны помнить, что во время печати CDS/ISIS, прежде чем выполнить печать, предпринимает следующие действия:

1) каждому подзаголовку присваивается метка, равная идентификатору поля, определенному в ТВП, используемой для построения соответствующего ключа сортировки (однако, если CDS/ISIS использует формат для подзаголовков по умолчанию, он предназначает каждому подзаголовку последовательные номера, начиная с 1);

2) текущий подзаголовок сравнивается с предыдущим и, если они не отличаются, то он уничтожается, т. е. это значит, что печататься он не будет. Вы можете использовать условное форматирование для регулирования пропускаемых пустых строк. Отметим, что подзаголовки не уничтожаются, даже если они не отличаются друг от друга, и даже если вы определите 2 или 3 в индикаторе обработки подзаголовка соответствующего ключа сортировки.

Например, допустим, что индикаторы полей, присвоенные первому и второму ключам сортировки, были 1 и 2 соответственно, тогда может быть использован следующий формат подзаголовка, обеспечивающий пустую строку перед первым уровнем подзаголовка и пустую строку перед вторым уровнем подзаголовка только в том случае, если нет изменений в первом подзаголовке:

MHL,""#V1(0,4)/""#N1,V2(4,8)

(использовано мнимое поле N1 для пропуска пустой строки, только в том случае, если опущен первый подзаголовок).

Отметим также, что, если вы вводите свой формат для подзаголовка, CDS/ISIS будет использовать только параметр смещения данных (приведенный в рабочем листе для печати) для смещения записей, распечатываемых под последним уровнем подзаголовка. Следовательно, вы сами должны позаботиться о смещении самих подзаголовков. Если вы не вводите свой формат (т. е. оставите это поле пустым),
CDS/ISIS использует системный формат по умолчанию:

MHL,""#V1(0,i)/""#V2(i,2i)/...#

где i - значение, присвоенное вами параметру смещения данных в рабочем листе для печати
V1, V2 и т. д. - первый, второй и т. д. подзаголовки. Приведенный выше формат по умолчанию оставляет одну пустую строку перед первой записью, печатаемой под последним уровнем подзаголовка.

8.5.4. Параметры ключа сортировки

Вы можете определить до 4 ключей сортировки, которые будут использованы в иерархическом порядке. Первый ключ сортировки определяет начальную последовательность сортировки, второй ключ сортировки обеспечивает порядок расположения записей, имеющих одинаковый первый ключ и т. д. Например, в списке, отсортированном по автору (первый ключ), вы можете расположить записи, относящиеся к данному автору, а также по названию, задав название как второй ключ сортировки.

Нужно помнить, что существует большая разница между первым ключом и вторым и ключами более высокого уровня. Если в записи файла документов нет поля, соответствующего первому ключу, эта запись не появится в листинге. Например, авторский указатель включает только те записи, которые действительно имеют автора. Однако, в тех случаях, когда вы хотите быть уверены, что все записи появятся в листинге, вы должны обеспечить адекватные альтернативы для тех записей, в которых первый ключ может отсутствовать. В этом вам поможет команда IF языка форматирования (см. раздел 3.2. "Язык форматирования"). Записи, в которых отсутствуют поля, соответствующие ключам второго и более высоких уровней, будут отсортированы как пустые (т. е. они появятся в начале списка) и будут распечатаны.

Для каждого ключа вы должны ввести три параметра, описанных ниже.

8.5.4.1. Таблица выбора полей

Таблица выбора полей (ТВП) определяет содержимое ключа сортировки и, в то же время, если он используется, соответствующий подзаголовок (помните, что вы можете определить больше ключей сортировки, чем подзаголовков).Разница между ключом сортировки и подзаголовком состоит в том, что первый используется для расположения записей в определенном порядке, а второй используется для печати. Хотя ключ сортировки содержит те же данные, что и соответствующий ему подзаголовок, эти данные могут быть представлены в различной форме. Например, ключ сортировки всегда представлен большими буквами; если поле, из которого он извлечен, содержит средства изменения порядка сортировки, то ключ представлен в сортировочной форме поля; и т. д. Подзаголовок, с другой стороны, выводится в таком виде, как он определен, т. е. он не будет переведен в большие буквы, если вы не зададите этот перевод в формате ТВП. Более того, подзаголовок всегда представлен в печатаемой форме поля, если оно содержит средства изменения порядка сортировки.

ТВП подробно описана в разделе 3.4. "Таблица выбора полей (ТВП)", и, предполагается, что вы уже знакомы с этой методикой. Вы можете ввести имя ранее определенной ТВП или ввести ее непосредственно. Если вы хотите использовать ранее определенную ТВП, введите имя, которому предшествует знак (@). Знак @ говорит CDS/ISIS, что это имя, а не ТВП.

Для определения ТВП вы должны ввести три компоненты, разделенные пробелами в следующем порядке: индикатор поля, технику индексирования и формат. Если вам нужно ввести многострочную ТВП, отделите каждую строку знаком +, окруженным пробелами.

Вот два простых примера: первый предлагает CDS/ISIS использовать ранее определенную ТВП, названную АВТОР; второй предлагает системе создать ключ сортировки из поля 10 и ключ сортировки из каждого дескриптора поля 20.

@АВТОР
1 0 V10 + 1 2 V20

Во втором примере, поскольку ТВП состоит из двух строк, все генерируемые подзаголовки будут отсортированы в одном алфавитном порядке. В многострочной ТВП вы можете использовать различные идентификаторы полей для каждой строки, например:

1 0 V10 + 2 2 V20

В этом случае, если вы определяете формат подзаголовка, то эта метка должна учитываться в формате. Для этой ТВП вы должны использовать V1 для ссылки на поле 10 и V2 для ссылки на поле 20. Это может быть полезным, например, при печати подзаголовков с использованием различных типов шрифтов.

Как уже упоминалось, если одно или более полей, используемых в ТВП, содержат средства изменения порядка сортировки, CDS/ISIS учитывает эти средства при построении ключей сортировки.

8.5.4.2. Индикатор обработки подзаголовка

Этот параметр указывает CDS/ISIS, что он должен построить единственный ключ сортировки или один ключ сортировки для каждого элемента, созданного таблицей выбора полей. Вдобавок, он указывает также, должен ли подзаголовок быть единичным, т. е. печататься, только если он изменился, или он должен быть распечатан в любом случае.

Введите следующее:

0 или 2 - для генерации единственного ключа: в этом случае ключ строится из первого элемента, созданного таблицей выбора полей. Например, если вы сортируете по автору, вы можете использовать эту опцию для определения того, что вы хотите использовать в качестве ключа сортировки только первого автора, и, следовательно, что данная запись должна быть распечатана только под первым автором;

1 или 3 - для генерации многократного ключа: в этом случае CDS/ISIS построит по одному ключу сортировки из каждого элемента, созданного таблицей выбора полей. Эта опция используется обычно для продуцирования указателей. В этом случае запись, из которой извлекаются ключи, будет распечатана под каждым подзаголовком. Например, вы можете использовать генерацию многократного ключа для создания авторского указателя или предметного указателя. Если вы зададите генерацию многократного ключа на более чем одном уровне, CDS/ISIS создаст все требуемые комбинации.

Для создания единичного подзаголовка, используйте значение 0 или 1. Значения 2 или 3 будут печатать подзаголовки каждый раз, независимо от того, изменились они или нет. Последняя возможность полезна при создании каталожных карточек.

8.5.4.3. Длина ключа

Этот параметр определяет длину ключа сортировки для данного сеанса печати. Вы должны выбрать подходящую длину в зависимости от поля, из которого извлекаете ключ, для создания верной последовательности. Например, если вы определите длину ключа для названия в 10 символов, CDS/ISIS будет сортировать только первые 10 символов каждого названия. Это может иметь следующие последствия: во-первых, все названия, которые отличаются только начиная с одиннадцатой позиции будут расположены в неотсортированном порядке, поскольку CDS/ISIS будет рассматривать их как равные; во-вторых, если название является одним из подзаголовков, то только первое из них будет напечатано, поскольку CDS/ISIS распечатывает подзаголовки, только если есть изменения в соответствующем ключе сортировки.

С другой стороны, вы не должны задавать слишком большую длину ключа, поскольку это увеличит размер файла и время, требуемое для сортировки. Более того, существует максимальный предел на общую длину ключей сортировки, который не может превышать 256 символов и на размер записи HIT файла, который не может превышать 510 символов. Так, если вам нужно провести сортировку по более, чем одному ключу, вы должны убедиться, что общая длина ключа (для всех ключей) не превышает 256 символов и что сумма длин ключей и длин соответствующих им подзаголовков не превышает 510 символов. Если это случится, CDS/ISIS выдаст предупреждающее сообщение и проигнорирует записи, не помещающиеся в предельные размеры.

8.5.5. Подтверждение правильности заполнения рабочего листа для сортировки.

После заполнения последнего поля рабочего листа для печати, CDS/ISIS предложит вам подтвердить правильность его заполнения. Подсказка появится внизу экрана:

Подсказка 105: CR - следующая строка М - модифицировать С - отменить Х - выход

Ответ на подсказку:

CR - для подтверждения правильности заполнения рабочего листа. CDS/ISIS после этого начинает печатать.

M - для изменения содержимого одного или более полей. CDS/ISIS в этом случае разместит курсор в первом поле и вы сможете выполнить необходимую корректировку.

С - для отмены сеанса печати и возврата в меню хХPRT.

Отметим, что при корректировке полей вам следует поступать так же, как и при редактировании записи при вводе данных (см. раздел 3.5.2. "Редактирование записи").