fix(skd-validate): принимать <dcsset:item> без xsi:type как StructureItemGroup

Platform эмитит StructureItemGroup как короткую форму <dcsset:item> без
xsi:type (это дефолтный тип). Раньше валидатор выдавал error на любой
реальный XML с такой формой. Теперь — отсутствие xsi:type трактуется
как dcsset:StructureItemGroup (с warning только для нестандартных типов).
This commit is contained in:
Nick Shirokov
2026-05-23 21:16:43 +03:00
parent bb7696bf28
commit 3ef4f44028
2 changed files with 4 additions and 6 deletions
@@ -655,10 +655,8 @@ function Check-StructureItem {
if ($script:stopped) { return }
$xsiType = $itemNode.GetAttribute("type", "http://www.w3.org/2001/XMLSchema-instance")
if (-not $xsiType) {
Report-Error "Variant '$variantName': structure item missing xsi:type"
return
}
# StructureItemGroup — дефолтный тип, platform эмитит <dcsset:item> без xsi:type.
if (-not $xsiType) { $xsiType = 'dcsset:StructureItemGroup' }
if ($validStructureTypes -notcontains $xsiType) {
Report-Warn "Variant '$variantName': unusual structure item type '$xsiType'"
}
@@ -622,9 +622,9 @@ def check_structure_item(item_node, variant_name):
return
xsi_type = item_node.get(XSI_TYPE, "")
# StructureItemGroup — дефолтный тип, platform эмитит <dcsset:item> без xsi:type.
if not xsi_type:
report_error(f"Variant '{variant_name}': structure item missing xsi:type")
return
xsi_type = "dcsset:StructureItemGroup"
if xsi_type not in valid_structure_types:
report_warn(f"Variant '{variant_name}': unusual structure item type '{xsi_type}'")