fix(1c): separate template descriptor type from payload carrier
This commit is contained in:
@@ -102,14 +102,23 @@ Read-only diagnostic inventory `CommonTemplate` в `upo_test` уже дал тр
|
||||
|
||||
| Fixture | Template GUID | Доказательство типа | Разрешённое действие |
|
||||
| --- | --- | --- | --- |
|
||||
| `ОформлениеОтчетовБежевый` | `f49709d3-13ea-4d67-9934-9d93f8ba1c21` | XML root `AppearanceTemplate`, DCS appearance namespace | read-only, отдельный appearance decoder pending |
|
||||
| `ОформлениеОтчетовБежевый` | `f49709d3-13ea-4d67-9934-9d93f8ba1c21` | XML root `AppearanceTemplate`, DCS appearance namespace; platform TemplateType descriptor ещё не декодирован | read-only appearance decoder; platform type unresolved |
|
||||
| `ШаблонHTMLПредставленияTXTФайла` | `e3eb9ae8-7381-400b-a933-861b1f4efcff` | UTF-8 XML/HTML root `html` | existing safe text/HTML export only |
|
||||
| `КомпонентаXMLDSIG` | `db062a63-2759-409a-b78b-132fe226f6f1` | carrier `{#base64:...}` with ZIP signature `PK` after decoding; metadata part has no `ExternalComponent` declaration | opaque archive candidate, hash/size only |
|
||||
|
||||
Из этого следует, что `AppearanceTemplate` нельзя относить к spreadsheet
|
||||
только из-за вложенного упоминания `SpreadsheetDocument` в XML. Для него
|
||||
нужен собственный root-aware classifier и отдельный XML decoder; обратная
|
||||
запись по-прежнему запрещена до controlled before/after fixture.
|
||||
только из-за вложенного упоминания `SpreadsheetDocument` в XML. Равным
|
||||
образом XML root нельзя объявлять платформенным типом макета: он выбирает
|
||||
только decoder payload. Платформенный `TemplateType` допускается публиковать
|
||||
лишь после разбора metadata descriptor или подтверждённой template identity.
|
||||
Для carrier нужен отдельный XML decoder; обратная запись по-прежнему
|
||||
запрещена до controlled before/after fixture.
|
||||
|
||||
Текущая реализация публикует найденный в descriptor числовой `type code` как
|
||||
`descriptor_type_evidence` без имени типа. В живой базе код `7` встретился у
|
||||
carrier `AppearanceTemplate`, `4` — у HTML carrier, `1` — у ZIP carrier.
|
||||
Это корреляции, а не таблица типов: назначать этим кодам платформенные имена
|
||||
можно только после controlled fixture каждого типа.
|
||||
|
||||
Reader реализован в `plugins/1c/parser/appearance_payload.py`: он возвращает
|
||||
контейнер, все верхнеуровневые правила `item(parameter, value)` и точный
|
||||
|
||||
Reference in New Issue
Block a user