Литералы
Литерал - это строка символов, заключенная в соответствующие ограничители, которая вносится в выводимый текст в таком виде, как она приведена в формате. Литералы могут использоваться, например, для именования полей.
Существуют литералы трех типов:
Условный литерал | Он определяет текст, который будет выведен только в случае присутствия в записи соответствующего ему поля/подполя. Если поле является повторяющимся, то текст будет выведен только один раз, независимо от количества экземпляров поля/подполя. Условные литералы заключаются в двойные кавычки ("), например, "Заглавие: ". | ||
Повторяющийся литерал | Он определяет текст, который будет выведен только в случае присутствия в записи соответствующего ему поля или подполя. Однако, если поле повторяющееся, литерал будет выводиться для каждого экземпляра поля/подполя. Повторяющиеся литералы заключаются в вертикальные черты (|), например, |Автор: |. |
| |
Безусловный литерал | Он определяет текст, который будет выведен независимо от наличия поля в записи. Безусловные литералы заключаются в одинарные кавычки (') или (‘), например, 'Краткое содержание' или ‘Заголовок‘. |
Литерал не должен содержать ограничителей литерала. Например, безусловный литерал не может содержать одинарную кавычку (хотя может содержать двойные кавычки и/или вертикальные черты).
Условные и/или повторяющиеся литералы связываются с полем или подполем своим расположением в формате. Литералы, предшествующие команде вывода поля/подполя, называемые префикс-литералами, выводятся перед содержимым поля/подполя, в то время, как литералы, следующие за командой вывода поля/подполя, называемые суффикс-литералами, выводятся после содержимого поля/подполя.
Если за повторяющимся префикс-литералом непосредственно следует знак '+' (например, |xxx|+), то он будет выведен перед каждым, кроме первого, экземпляром поля/подполя.
Если повторяющемуся суффикс-литералу непосредственно предшествует знак '+' (например, +|xxx|), то он будет выведен после каждого, кроме последнего, экземпляра поля/подполя.
С полем/ подполем может быть связан более чем один литерал. В этом случае различные литералы должны подчиняться следующим правилам и порядку:
префикс-литералы:
1. Один или более условных префикс-литералов. За условным префикс-литералом могут следовать другие условные префикс-литералы, команды вертикального и горизонтального размещения, и/или команды режима вывода. Все команды между первым условным префикс-литералом и соответствующей ему командой вывода поля/подполя становятся условными и будут выполнены только при наличии поля/подполя, иначе они игнорируются.
2. Один и только один повторяющийся префикс-литерал. Если такой литерал есть, то он должен непосредственно предшествовать соответствующей ему команде вывода поля/подполя.
суффикс-литералы:
3. Один и только один повторяющийся суффикс-литерал. Если такой литерал есть, то он должен следовать непосредственно за соответствующей ему командой вывода поля/подполя.
4. Один и только один условный суффикс-литерал. Если такой литерал есть, то он должен следовать непосредственно за повторяющимся суффикс-литералом или связанной с ним командой вывода поля/подполя.
5. Суффикс-литералы не должны разделяться запятыми и не должно быть запятой между командами вывода поля/подполя и первым суффикс-литералом, так как запятая обозначает конец суффикс-литералов, связанных с данной командой вывода поля/подполя.
Пустые литералы: (т. е. литералы нулевой длины, такие, например, как "" или ||) вполне допустимы и могут использоваться, например, как префикс-литералы для обеспечения условного вертикального размещения или как суффикс-литералы для временного подавления автоматической пунктуации, которая обеспечивается в режиме данных.
Литералы подвергаются преобразованию в прописные буквы, если расположены после соответствующей команды режима вывода.
Примеры различных типов литералов приведены на рис. 8.
Формат Выходные данные
----------- ------------------------------------------------------------
'MFN: ',mfn(3) MFN: 034
mdl,"Заглавие: " v200 Заглавие: Конструктор Сухой. Люди и
самолеты.
v675 623.746623.746(092) Сухой П.О.
v675|; | 623.746; 623.746(092) Сухой П.О.;
v675+|; | 623.746; 623.746(092) Сухой П.О.
|; |v675 ; 623.746; 623.746(092) Сухой П.О.
|; |+v675 623.746; 623.746(092) Сухой П.О.
"УДК"/v675+|; | УДК
623.746; 623.746(092) Сухой П.О.
|(|v675|)| (623.746)(623.746(092) Сухой П.О.)
"(УДК: ",v675+|; |")" (УДК: 623.746; 623.746(092) Сухой П.О.)
mdl,v210 Военное изд-во; М., 1993.
mdl,v210"" Военное изд-во; М., 1993
Рис. 8