Приложение N 2
к приказу ФСО России
от 4 июля 2024 г. N 92
Единые форматы разметки текстов правовых актов в электронном виде
I. Общие положения
1. Электронный исходный текст правового акта и электронный текст правового акта с внесенными изменениями (далее - тексты актов) в информационно-правовой системе, содержащей интегрированный полнотекстовый банк правовой информации, и в информационно-правовой системе, содержащей тексты в HTML-формате, хранящиеся в информационном фонде.
2. Текст акта из информационного фонда банка правовых актов направляется в виде HTML-документа и должен отображаться интегрированным полнотекстовым банком правовой информации без преобразований с целью сохранения корректности текста правового акта (содержание и оформление текста).
3. Тексты актов готовятся и распространяются с собственной таблицей стилей CSS.
4. Во встроенной таблице стилей CSS определяется ограниченное количество стилей для работы с HTML-документом.
II. Правила, определяемые CSS
5. Правила, определяемые таблицей стилей CSS:
1) использование ширины текста акта, соответствующей ширине печатного листа. Параметр "ширина текста акта" не применяется к таблицам;
2) запрет на использование HTML-списков;
3) ограниченное использование HTML-элементов для текста акта. Используются следующие HTML-элементы:
а) <р> - абзацы в тексте;
б) <table> (<td>, <tr>) - таблицы;
в) <img> - встроенные изображения;
г) <span> - контейнер для строчных элементов;
д) <br> - перенос текста на новую строку;
4) ограничение использования разных размеров шрифта. Изменение размера шрифта используется только для таблиц. Для таблиц используется два размера шрифта - крупный (равный шрифту текста акта) и мелкий (на 10 % мельче шрифта текста акта);
5) оформление абзацев, строчных элементов, таблиц, ссылок выполняется с помощью встроенных классов. Стандартные элементы оформления (в том числе <h1>, <h2>, <sup>, <b>, <a>) не используются;
6) запрет использования атрибута <style> внутри HTML-элементов. Оформление элементов определяется с помощью классов. Исключение составляет определение ширины таблицы и ширины столбцов таблицы;
7) ширина таблицы и столбцов таблицы задается в единице измерения "em" (размер относительно текущего шрифта);
8) все непустые элементы <р>, <table>, <tr> должны иметь уникальный идентификатор id.
IV. Таблицы стилей CSS
12. <style>
/*CSS*/
@page vert{size:595.3pt 841.9pt; mso-page-orientation:portrait; margin:15mm 10mm 15mm 12mm; mso-header-margin:10mm; mso-footer-margin:10mm; mso-paper-source:0;}
@page hori{size:841.9pt 595.3pt; mso-page-orientation:landscape;margin:15mm 10mm 15mm 12mm; mso-header-margin:10mm; mso-footer-margin:10mm; mso-paper-source:0;}
@page any{margin:15mm 10mm 15mm 12mm;}
@page{margin:15mm 7mm 15mm 15mm;}
body{margin:0px 0px 0px 12px; border:0; padding:0; color:#333333; background-color:#fffefb; font-size:18px; font-family:"times new roman", times, serif; line-height:125%; word-wrap:break-word;}
div{margin:0; border:0; padding:0;}
div.comment{display:block; width:670px; margin-bottom:5px; padding:5px 5px 7px 5px; border-radius:5px; background-color:#d5d5d5; font-size:16px; font-family:tahoma, arial, sans-serif; line-height:125%; text-align:justify;}
div.fixedcomment{display:block; width:670px; margin-bottom:5px; padding:5px 3325px 7px 17px; background-color:#d5d5d5; font-size:16px; font-family:tahoma, arial, sans-serif; line-height:125%; text-align:justify;}
div.fixedcomment:before{display:none; content:" "; top:0; left:0; position:fixed; z-index:1; width:670px; margin:0; padding:5px 3325px 7px 17px; background-color:#d5d5d5; font-size:16px; font-family:tahoma, arial, sans-serif; line-height:125%; text-align:justify;}
div.clip{margin-top:4px; width:680px; font-size:16px; font-family:tahoma, arial, sans-serif; line-height:125%;}
div.time{padding:16px 0px;}
div.past{background-color:#f0b0c0;}
div.future{background-color:#b8f0d0;}
div.present{background-color:#a8e0ff;}
div.brd{margin:8px 0px; border-bottom:1px solid #a0a0a0; padding:0;}
div.fragments{min-height:1000px; width:4000px;}
img, img.mid{margin-bottom:0; vertical-align:middle;}
img.bot{margin-bottom:-5px; vertical-align:baseline;}
p.I{text-indent:0; margin-left:45px; max-width:635px; text-align:left;}
p.K{text-indent:0; margin-left:45px; max-width:635px; text-align:justify;}
p.H{text-indent:-81px; margin-left:126px; max-width:509px; text-align:left; font-weight:bold;}
p.S{text-indent:0; margin-left:340px; max-width:340px; text-align:center;}
p.C{text-indent:0; margin-left:45px; margin-right:45px; max-width:590px; text-align:center}
p.T{text-indent:0; margin-left:45px; margin-right:45px; max-width:590px; text-align:center; font-weight:bold;}
p.Z{text-indent:0; margin-left:45px; margin-right:45px; max-width:590px; text-align:center; font-weight:bold;}
p.Y{text-indent:0; margin-left:45px; max-width:635px; text-align:left;}
p.M{white-space:pre; overflow-wrap:normal; text-indent:0; max-width:4000px; text-align:left; font-size:17px; font-family:"courier new", courier, monospace;}
p.L{text-indent:0; text-align:left;}
p.R{text-indent:0; text-align:right;}
p.J{text-indent:0; text-align:justify;}
p.F{text-indent:0; margin-left:45px; max-width:625px; text-align:left; background-color:#dcfeed; border-left:5px solid #94DD96; padding-left:5px;}
p.A{text-indent:0; margin-left:45px; max-width:625px; text-align:left; background-color:#f0f0f0; border-left:5px solid #c0c0c0; padding-left:5px;}
p, p.P{text-indent:45px; margin:6px 0px; max-width:680px; text-align:justify; border:0; padding:0;}
p.N{text-indent:45px; margin:6px 0px; max-width:680px; text-align:justify; border:0; padding:0; font-size:16px;}
.HD{display:none;}
.W0{vertical-align:baseline; font-size:100%; font-weight:normal; font-style:normal; text-decoration:none;}
.W1{vertical-align:baseline; font-size:100%; font-weight:normal; font-style:normal; text-decoration:underline;}
.W2{vertical-align:baseline; font-size:100%; font-weight:normal; font-style:italic; text-decoration:none;}
.W3{vertical-align:baseline; font-size:100%; font-weight:normal; font-style:italic; text-decoration:underline;}
.W4{vertical-align:baseline; font-size:100%; font-weight:bold; font-style:normal; text-decoration:none;}
.W5{vertical-align:baseline; font-size:100%; font-weight:bold; font-style:normal; text-decoration:underline;}
.W6{vertical-align:baseline; font-size:100%; font-weight:bold; font-style:italic; text-decoration:none;}
.W7{vertical-align:baseline; font-size:100%; font-weight:bold; font-style:italic; text-decoration:underline;}
.W8{vertical-align:sub; line-height:100%; font-size:100%; font-weight:normal; font-style:normal; text-decoration:none;}
.W9{vertical-align:super; line-height:100%; font-size:100%; font-weight:normal; font-style:normal; text-decoration:none;}
.WA{vertical-align:sub; line-height:100%; font-size:100%; font-weight:bold; font-style:normal; text-decoration:none;}
.WB{vertical-align:super; line-height:100%; font-size:100%; font-weight:bold; font-style:normal; text-decoration:none;}
.WC{vertical-align:baseline; font-size:100%; font-weight:normal; font-style:normal; text-decoration:line-through;}
.WD{vertical-align:baseline; font-size:100%; font-weight:normal; font-style:italic; text-decoration:line-through;}
.WE{vertical-align:baseline; font-size:100%; font-weight:bold; font-style:normal; text-decoration:line-through;}
.WF{vertical-align:baseline; font-size:100%; font-weight:bold; font-style:italic; text-decoration:line-through;}
table{table-layout:fixed;
margin:0px 0px 4px 0px; padding:0;
text-indent:0; text-align:left;
box-sizing:border-box;
border-collapse:collapse;
border-spacing:0;
border-width:1px;
border-color:#a0a0a0;
border-style:none;
}
td{
empty-cells:show;
vertical-align:top;
margin:0; padding:6px 4px 6px 4px;
text-indent:0; text-align:left;
border-spacing:0;
border-width:1px;
border-color:#a0a0a0;
border-style:none;
}
td div{margin:0; border:0; padding:0; display:inline-block; -ms-writing-mode:tb-rl; -ms-transform:rotate(180deg);}
.TB0 td, .G02L td, .G02R td, .G02C td, .G02J td, .G04L td, .G04R td, .G04C td, .G04J td{border-style:none;}
.TB1 td, .G12L td, .G12R td, .G12C td, .G12J td, .G14L td, .G14R td, .G14C td, .G14J td{border-style:solid;}
table.G22L tr td, table.G22R tr td, table.G22C tr td, table.G22J tr td, table.G24L tr td, table.G24R tr td, table.G24C tr td, table.G24J tr td{border-style:solid;}
table.G32L tr td, table.G32R tr td, table.G32C tr td, table.G32J tr td, table.G34L tr td, table.G34R tr td, table.G34C tr td, table.G34J tr td{border-style:none;}
table td.X0{border-style:none;}
table td.X1{border-style:solid none none none;}
table td.X2{border-style:none solid none none;}
table td.X3{border-style:solid solid none none;}
table td.X4{border-style:none none solid none;}
table td.X5{border-style:solid none solid none;}
table td.X6{border-style:none solid solid none;}
table td.X7{border-style:solid solid solid none;}
table td.X8{border-style:none none none solid;}
table td.X9{border-style:solid none none solid;}
table td.XA{border-style:none solid none solid;}
table td.XB{border-style:solid solid none solid;}
table td.XC{border-style:none none solid solid;}
table td.XD{border-style:solid none solid solid;}
table td.XE{border-style:none solid solid solid;}
table td.XF{border-style:solid;}
td, td p, .TAL td, .TAL td p, tr td p.L, .G02L td, .G02L td p, .G04L td, .G04L td p, .G12L td, .G12L td p, .G14L td, .G14L td p, .G22L td, .G22L td p, .G24L td, .G24L td p, .G32L td, .G32L td p, .G34L td, .G34L td p{text-indent:0; margin:0; max-width:100%; text-align:left;}
.TAC td, .TAC td p, tr td p.C, .G02C td, .G02C td p, .G04C td, .G04C td p, .G12C td, .G12C td p, .G14C td, .G14C td p, .G22C td, .G22C td p, .G24C td, .G24C td p, .G32C td, .G32C td p, .G34C td, .G34C td p{text-indent:0; margin:0; max-width:100%; text-align:center}
.TAR td, .TAR td p, tr td p.R, .G02R td, .G02R td p, .G04R td, .G04R td p, .G12R td, .G12R td p, .G14R td, .G14R td p, .G22R td, .G22R td p, .G24R td, .G24R td p, .G32R td, .G32R td p, .G34R td, .G34R td p{text-indent:0; margin:0; max-width:100%; text-align:right;}
.TAJ td, .TAJ td p, tr td p.J, .G02J td, .G02J td p, .G04J td, .G04J td p, .G12J td, .G12J td p, .G14J td, .G14J td p, .G22J td, .G22J td p, .G24J td, .G24J td p, .G32J td, .G32J td p, .G34J td, .G34J td p{text-indent:0; margin:0; max-width:100%; text-align:justify;}
tr td p.P{text-indent:38px; margin:0; max-width:100%; text-align:justify;}
tr td p.N{text-indent:38px; margin:0; max-width:100%; text-align:justify; font-size:16px;}
tr td p.I{text-indent:0; margin:0px 0px 0px 38px; max-width:100%; text-align:left;}
tr td p.K{text-indent:0; margin:0px 0px 0px 38px; max-width:100%; text-align:justify;}
tr td p.H{text-indent:-81px; margin:0px 38px 0px 119px; max-width:100%; text-align:left; font-weight:bold;}
tr td p.T{text-indent:0; margin:0px 38px 0px 38px; max-width:100%; text-align:center; font-weight:bold;}
tr.holder td{visibility:hidden; height:0; border-style:none; padding:0; font-size:4px; line-height:0.125em;}
.G02L, .G02C, .G02R, .G02J, .G12L, .G12C, .G12R, .G12J, .G22L, .G22C, .G22R, .G22J, .G32L, .G32C, .G32R, .G32J{font-size:16px;}
tr td p.M{max-width:100%; text-align:left; font-size:14px; font-family:"courier new", courier, monospace;}
div.clip{page:any;}
div.fragments{page:any;}
input.cap{position:absolute; opacity:0; height:0; width:0;}
input.cap + label{display:block; cursor:pointer; text-indent:0; margin-left:45px; margin-right:45px; max-width:590px; text-align:center; text-decoration:underline; color:#1111ee;}
input.cap + label:before{content:""; display:inline-block; padding:0; margin-right:6px; border-radius:3px; min-height:15px; min-width:15px; font-size:15px; line-height:15px; vertical-align:middle; background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAABBSURBVDhPY3zw4P9/BjIBE5QmCwxSzYaG76Es7GDgnI0RVficev68IJQFAXjjGWQQugZkMIj8TAoYOGdToJmBAQCgSRZk7J2AQAAAAABJRU5ErkJggg==");}
input.cap:checked + label:before{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAAxSURBVDhPY3zw4P9/BjIBE5QmC4xqJhFgRJWh4XsoCxOcPy8IZUHAaDyTCAZKMwMDAC3CDlahtN6NAAAAAElFTkSuQmCC");}
input.cap:not(:checked) + label + .C{display:none;}
input.cap:not(:checked) + label + .C + .C{display:none;}
span.mark,span.markx{color:#1111ee; font-weight:normal; font-style:italic; text-decoration:none;}
/*CSS*/
@media screen{
div.fixedcomment{margin-left:-12px;}
span.ed,span.edx{color:#1111ee;}
span.edx{background-color:#f0f0f0;}
span.markx{background-color:#f0f0f0;}
.F span.mark, .F span.markx, .A span.mark, .A span.markx{background-color:transparent; color:#333333;}
.cmd, a{cursor:pointer; color:#1111ee; font-weight:normal; font-style:normal; text-decoration:underline;}
.W8 .cmd, .W8 a{cursor:pointer; color:#1111ee; font-weight:normal; font-style:normal; text-decoration:underline;
vertical-align:bottom; line-height:100%; font-size:11px; font-weight:normal; font-style:normal;}
.W9 .cmd, .W9 a{cursor:pointer; color:#1111ee; font-weight:normal; font-style:normal; text-decoration:underline;
vertical-align:top; line-height:100%; font-size:11px; font-weight:normal; font-style:normal;}
.cmdx{background-color:#ead099;}
.cmdg{background-color:#00e889; color:#000; text-decoration:none;}
.cmdr{background-color:#ff8989; color:#000; text-decoration:none;}
.W8{vertical-align:bottom; line-height:100%; font-size:11px; font-weight:normal; font-style:normal; text-decoration:none;}
.W9{vertical-align:top; line-height:100%; font-size:11px; font-weight:normal; font-style:normal; text-decoration:none;}
.WA{vertical-align:bottom; line-height:100%; font-size:11px; font-weight:bold; font-style:normal; text-decoration:none;}
.WB{vertical-align:top; line-height:100%; font-size:11px; font-weight:bold; font-style:normal; text-decoration:none;}
}
@media print{
body{margin:0; border:0; padding:0; color:#333333; background-color:#ffffff; widows:1; orphans:1; font-size:13.5pt; font-family:"times new roman", times, serif; line-height:125%; word-wrap:break-word;}
div.comment{display:block; width:100%; font-size:11pt; margin:10pt 0pt; padding:0;}
div.fixedcomment{display:block; width:100%; font-size:11pt; margin:10pt 0pt; padding:0;}
div.fixedcomment:before{display:none; position:static; width:100%; font-size:11pt; margin:10pt 0pt; padding:0;}
div.clip{width:100%; font-size:11pt; font-family:tahoma, arial, sans-serif;}
div.time{padding:0ex 0ex 1ex 0ex;}
div.fragments{min-height:5%; width:100%;}
p, p.P{text-indent:7ex; max-width:100%; text-align:justify; margin:5pt 0pt; border:0; padding:0;}
p.N{text-indent:8ex; max-width:100%; text-align:justify; margin:5pt 0pt; border:0; padding:0;}
p.I{text-indent:0; margin-left:7ex; max-width:100%; text-align:left;}
p.K{text-indent:0; margin-left:7ex; max-width:100%; text-align:justify;}
p.H{text-indent:-10ex; margin-left:17ex; margin-right:7ex; max-width:100%; text-align:left; font-weight:bold;}
p.S{text-indent:0; margin-left:auto; margin-right:0; max-width:40ex; text-align:center;}
p.C{text-indent:0; margin-left:5ex; margin-right:5ex; max-width:100%; text-align:center;}
p.T{text-indent:0; margin-left:5ex; margin-right:5ex; max-width:100%; text-align:center; font-weight:bold;}
p.M{white-space:pre; overflow-wrap:normal; text-indent:0; max-width:100%; text-align:left; font-size:12.5pt; font-family:"courier new", courier, monospace;}
p.F{text-indent:0; margin-left:7ex; max-width:100%; text-align:left; border-left:5pt solid #949494; padding-left:5pt;}
.mark,.markx{font-weight:normal; font-style:italic; text-decoration:none; color:#333333;}
.F span.mark, .F span.markx, .A span.mark, .A span.markx{background-color:transparent; color:#333333;}
.cmd, a{color:#1111ee; font-weight:normal; font-style:normal; text-decoration:none;}
.W8 .cmd, .W8 a{color:#1111ee; font-weight:normal; font-style:normal; text-decoration:none;
vertical-align:bottom; line-height:100%; font-size:9pt; font-weight:normal; font-style:normal;}
.W9 .cmd, .W9 a{color:#1111ee; font-weight:normal; font-style:normal; text-decoration:none;
vertical-align:top; line-height:100%; font-size:9pt; font-weight:normal; font-style:normal;}
.W8{vertical-align:bottom; line-height:100%; font-size:9pt; font-weight:normal; font-style:normal; text-decoration:none;}
.W9{vertical-align:top; line-height:100%; font-size:9pt; font-weight:normal; font-style:normal; text-decoration:none;}
.WA{vertical-align:bottom; line-height:100%; font-size:9pt; font-weight:bold; font-style:normal; text-decoration:none;}
.WB{vertical-align:top; line-height:100%; font-size:9pt; font-weight:bold; font-style:normal; text-decoration:none;}
.G02L, .G02C, .G02R, .G02J, .G12L, .G12C, .G12R, .G12J, .G22L, .G22C, .G22R, .G22J{font-size:12pt;}
tr td p.M{max-width:100%; text-align:left; font-size:12pt; font-family:"courier new", courier, monospace; page-break-inside:avoid;}
}
@media print and (orientation:landscape){
table{font-size:12pt;}
p.M{font-size:11pt;}
}
@media screen{
p.cmp0:before, p.cmp1:before, tr.cmp0>td:first-child:before, tr.cmp1>td:first-child:before{position:absolute; z-index:-1; display:none; left:0; width:12px; content:">"; text-indent:4px; text-align:left; text-decoration:none; background-color:#808080; color:#fffefb; font-size:100%; font-weight:bold; font-style:normal; font-family:"times new roman", times, serif;}
p.cmp1:before, tr.cmp1>td:first-child:before{display:block;}
}
div.ihintv{margin-top:6px; padding:2px 8px 7px 10px; border-radius:0px 0px 2px 2px; text-indent:0; text-align:justify; background-color:#d5d5d5; color:#333333;}
div.ihint0, div.ihint1{display:none; position:fixed; z-index:9; left:0; top:0; border-radius:4px; border:2px solid #808080; padding-top:2px; text-indent:10px; text-align:left; background-color:#808080; color:#fffefb; box-shadow:2px 2px 2px #a0a0a0; font-size:16px; font-family:tahoma, arial, sans-serif; line-height:125%; word-wrap:break-word;}
@media screen{div.ihint1{display:block;}}
</style>
V. Описание формата разметки текстов правовых актов на структурные единицы в интегрированном полнотекстовом банке правовой информации
13. Разметкой текста акта должна определяться:
1) структурная единица;
2) номер структурной единицы (при наличии);
3) наименование структурной единицы (при наличии);
4) начало и конец структурной единицы в тексте;
5) верхнеуровневые структурные единицы (при наличии).
14. Разметка текста акта на структурные единицы (далее - разметка) в интегрированном полнотекстовом банке правовой информации формируется отдельным элементом, не встраиваемым внутрь текста акта.
15. Разметка текста акта на структурные единицы хранится в информационном фонде банка правовых актов. Связь разметки и текста акта осуществляется через уникальные идентификаторы элементов HTML-текста.
16. Уникальные идентификаторы присваиваются в тексте акта следующим элементам HTML:
1) абзац - <р>;
2) таблица - <table>;
3) строка таблицы - <tr>.
17. Разметка должна быть представлена в виде элемента формата JSON, содержащего массив объектов.
18. Каждый объект массива должен определять одну структурную единицу текста правового акта.
19. Объект разметки текста правового акта должен содержать пять пар "ключ-значение", определяющих свойства структурной единицы:
1) id- уникальный идентификатор структурной единицы (строковое значение);
2) np - уникальный идентификатор элемента HTML-текста, с которого начинается структурная единица в тексте акта (строковое значение);
3) npe - уникальный идентификатор элемента HTML-текста, которым заканчивается структурная единица в тексте акта (строковое значение);
4) caption - наименование структурной единицы (наименование из текста акта для крупных структурных единиц или обозначение и номер структурной единицы, не имеющей наименования в тексте акта) (строковое значение);
5) unit - обозначение структурной единицы (строковое значение);
6) lvl - уровень вложенности структурной единицы (числовое значение).
20. Объект разметки текста акта должен представляться следующим образом:
{"id":"h1_a2", ,,np":"p10","npe":"p17","caption":"Статья 2. Понятия, применяемые в настоящем Федеральном законе","unit":"статья","lvl":1}
21. Ключ "id" представляется аббревиатурой, расшифровка которой позволяет определить структурную единицу, ее номер (при наличии в тексте) и все структурные единицы, в которые входит текущая структурная единица.
Аббревиатура для каждой структурной единицы отделяется от других символом подчеркивания "_". Структурные единицы в идентификаторе должны следовать в порядке убывания - от верхнеуровневой до текущей.
Аббревиатура для каждой структурной единицы должна состоять из первого буквенного символа, определяющего структурную единицу, и последующих символов, определяющих номер структурной единицы.
22. Используются следующие буквенные символы для обозначения структурных единиц:
1) b - часть;
2) s - раздел;
3) d - подраздел;
4) h - глава;
5) g - параграф (§);
6) r - подпараграф;
7) а - статья;
8) u - приложение;
9) z - утверждаемое приложение (не имеющее по тексту обозначения "Приложение");
10) с - часть (статьи);
11) j - пункт;
12) k - подпункт.
23. При обозначении структурных единиц текста акта допускается использовать следующие виды нумерации:
1) римские цифровые номера (I, V и т.д.);
2) арабские цифровые номера (1, 2, 55 и т.д.);
3) при наличии в номере числового значения с верхним индексом (2 3, 4 15) начало верхнего индекса обозначается двоеточием ":", конец верхнего индекса обозначается символом "~";
4) при нумерации буквами русского алфавита номер начинается с дефиса "-", далее следует порядковый номер буквы в русском алфавите (начиная с 1);
5) ненумерованным структурным единицам (приложения, разделы и др.) присваивается условный номер, который обозначается первой буквой "F" и числом.
24. Ключ "id" должен представляться следующим образом:
sI_h1_a1_c3_j2:1 - пункт 21 части 3 статьи 1 главы 1 раздела I.
25. Ключи "np" и "npe" должны представляться строковыми значениями из первой латинской буквы и числа.
26. Ключи "np" и "npe" должны отображаться следующим образом:
p10, p45, t2, tr230.
27. Ключ "caption" должен соответствовать наименованию структурной единицы в тексте правового акта при его наличии.
28. Структурные единицы (статья, часть, пункт, подпункт) не должны иметь наименований. Для них в объекте разметки используется условное наименование для корректного отображения при показе оглавления текста. Значение условного наименования начинается со знака "$".
29. При наличии в наименовании надстрочных символов используется стандартный тег HTML <sup></sup>.
30. Ключ "caption" формируется следующим образом:
"РАЗДЕЛ I. ОБЩИЕ ПОЛОЖЕНИЯ
Статья 1. Предмет регулирования настоящего Кодекса
Статья 10
часть 4 (хранится как "$часть 4")
пункт 21 (хранится как "$пункт 2<sup>1</sup>")".
31. Ключ "unit" должен содержать обозначение структурной единицы: раздел, подраздел, глава, приложение, пункт и т.п.
32. Ключ "lvl" должен содержать уровень вложенности структурной единицы. Отсчет уровня начинается с 0.