mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-11 05:23:42 +03:00
Fix XML escaping in mxl-compile text content
Add Esc-Xml helper to escape &, <, >, " in cell text and template content to prevent invalid XML generation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -226,6 +226,12 @@ foreach ($col in $colWidthMap.Keys) {
|
|||||||
# 6c. Scan areas for row heights and cell formats
|
# 6c. Scan areas for row heights and cell formats
|
||||||
# We need to do two passes: first collect all formats, then generate XML
|
# We need to do two passes: first collect all formats, then generate XML
|
||||||
|
|
||||||
|
# Helper: escape XML special characters
|
||||||
|
function Esc-Xml {
|
||||||
|
param([string]$s)
|
||||||
|
return $s.Replace('&','&').Replace('<','<').Replace('>','>').Replace('"','"')
|
||||||
|
}
|
||||||
|
|
||||||
# Helper: determine fillType from cell content
|
# Helper: determine fillType from cell content
|
||||||
function Get-FillType {
|
function Get-FillType {
|
||||||
param($cell)
|
param($cell)
|
||||||
@@ -453,7 +459,7 @@ foreach ($area in $def.areas) {
|
|||||||
X "`t`t`t`t`t<tl>"
|
X "`t`t`t`t`t<tl>"
|
||||||
X "`t`t`t`t`t`t<v8:item>"
|
X "`t`t`t`t`t`t<v8:item>"
|
||||||
X "`t`t`t`t`t`t`t<v8:lang>ru</v8:lang>"
|
X "`t`t`t`t`t`t`t<v8:lang>ru</v8:lang>"
|
||||||
X "`t`t`t`t`t`t`t<v8:content>$($cellInfo.Text)</v8:content>"
|
X "`t`t`t`t`t`t`t<v8:content>$(Esc-Xml $cellInfo.Text)</v8:content>"
|
||||||
X "`t`t`t`t`t`t</v8:item>"
|
X "`t`t`t`t`t`t</v8:item>"
|
||||||
X "`t`t`t`t`t</tl>"
|
X "`t`t`t`t`t</tl>"
|
||||||
}
|
}
|
||||||
@@ -462,7 +468,7 @@ foreach ($area in $def.areas) {
|
|||||||
X "`t`t`t`t`t<tl>"
|
X "`t`t`t`t`t<tl>"
|
||||||
X "`t`t`t`t`t`t<v8:item>"
|
X "`t`t`t`t`t`t<v8:item>"
|
||||||
X "`t`t`t`t`t`t`t<v8:lang>ru</v8:lang>"
|
X "`t`t`t`t`t`t`t<v8:lang>ru</v8:lang>"
|
||||||
X "`t`t`t`t`t`t`t<v8:content>$($cellInfo.Template)</v8:content>"
|
X "`t`t`t`t`t`t`t<v8:content>$(Esc-Xml $cellInfo.Template)</v8:content>"
|
||||||
X "`t`t`t`t`t`t</v8:item>"
|
X "`t`t`t`t`t`t</v8:item>"
|
||||||
X "`t`t`t`t`t</tl>"
|
X "`t`t`t`t`t</tl>"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user