docs(mxl): уточнить, как читается объект в позиционной записи строки

Прежняя формулировка противопоставляла «ячейку» и «многоязычный текст», хотя
текст тоже даёт ячейку. Разница не в этом: объект либо описывает СВОЙСТВА
ячейки (среди ключей есть ключ её схемы), либо является её ЗНАЧЕНИЕМ, и тогда
ключи — идентификаторы языков.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-08-11 21:16:17 +03:00
co-authored by Claude Opus 5
parent b5fef09844
commit e46db618e3
4 changed files with 12 additions and 9 deletions
@@ -151,8 +151,9 @@
| `null` | Пустая колонка: позиция занята, ячейка не создаётся |
| `{ ... }` | Обычная ячейка **без** `col`; нужна для `style`, `detail`, `template` |
Объект-элемент читается как ячейка, если несёт хоть один её ключ (`span`, `rowspan`, `style`,
`param`, `detail`, `text`, `template`), и как многоязычный текст в противном случае.
Объект-элемент трактуется по его ключам: если среди них есть ключ ячейки (`span`, `rowspan`,
`style`, `param`, `detail`, `text`, `template`) — объект описывает свойства ячейки. Иначе он
целиком считается её текстом, а его ключи — идентификаторами языков.
```json
"rows": [
@@ -845,8 +845,9 @@ function Set-CellProp {
$cell | Add-Member -NotePropertyName $name -NotePropertyValue $value -Force
}
# Ячейка это или многоязычный текст: у ячейки есть хоть один ключ её схемы, у ML-значения
# ключи — идентификаторы языков. Пересечений нет: в корпусе это ru, en, ru1, Русский.
# Объект описывает СВОЙСТВА ячейки или является её ЗНАЧЕНИЕМ: в первом случае среди ключей
# есть ключ схемы ячейки, во втором ключи — идентификаторы языков. Пересечений нет: в корпусе
# это ru, en, ru1, Русский.
function Test-CellObject {
param($el)
$cellKeys = @('col', 'span', 'rowspan', 'style', 'param', 'detail', 'text', 'template')
@@ -885,9 +885,9 @@ def main():
# поэтому весь код ниже про шорткат не знает.
def is_cell_object(el):
"""Ячейка это или многоязычный текст: у ячейки есть хоть один ключ её схемы,
у ML-значения ключи — идентификаторы языков. Пересечений нет: в корпусе это
ru, en, ru1, Русский."""
"""Объект описывает СВОЙСТВА ячейки или является её ЗНАЧЕНИЕМ: в первом случае среди
ключей есть ключ схемы ячейки, во втором ключи — идентификаторы языков. Пересечений
нет: в корпусе это ru, en, ru1, Русский."""
cell_keys = ('col', 'span', 'rowspan', 'style', 'param', 'detail', 'text', 'template')
return any(k in el for k in cell_keys)
+3 -2
View File
@@ -151,8 +151,9 @@
| `null` | Пустая колонка: позиция занята, ячейка не создаётся |
| `{ ... }` | Обычная ячейка **без** `col`; нужна для `style`, `detail`, `template` |
Объект-элемент читается как ячейка, если несёт хоть один её ключ (`span`, `rowspan`, `style`,
`param`, `detail`, `text`, `template`), и как многоязычный текст в противном случае.
Объект-элемент трактуется по его ключам: если среди них есть ключ ячейки (`span`, `rowspan`,
`style`, `param`, `detail`, `text`, `template`) — объект описывает свойства ячейки. Иначе он
целиком считается её текстом, а его ключи — идентификаторами языков.
```json
"rows": [