Имя: Пароль:
1C
1С v8
помогите с XSLT - замена значения атрибута тэга
,
0 kittystark
 
26.01.23
16:37
в некотором XML (для ЭДО),  есть тэг
<Документ КНД="1115131" Функция="ДОП" ...>

нужно заменить его на
<Документ КНД="1115131" Функция="СЧФДОП" ...>

с помощью какого XSLT 1.0  можно это сделать?

попытка в лоб применить <xsl:attribute name="Функция">СЧФДОП</xsl:attribute>
выдает xsltParseStylesheetTop: unknown attribute element
1 kittystark
 
26.01.23
17:21
<xsl:template match="@Функция='ДОП'">
<xsl:text>СЧФДОП</xsl:text>
</xsl:template>

не прокатывает
2 kittystark
 
26.01.23
17:37
<xsl:when test="@Функция = 'ДОП'">
<xsl:text>СЧФДОП</xsl:text>
</xsl:when>

выдает ошибку xsltParseStylesheetTop: unknown when element
3 kittystark
 
27.01.23
10:52
ап
4 kittystark
 
04.02.23
20:59
после общения в соседней ветке решил привести решение

тхт = новый ТекстовыйДокумент();
тхт.Прочитать( имяФайла, "windows-1251" );
стр = тхт.ПолучитьТекст();    
стр = RegExpReplace( стр, "Функция\s*=\s*""ДОП""", "Функция=""СЧФДОП""" );
    
тхт.УстановитьТекст( стр );
тхт.Записать( имяФайла, "windows-1251" );
5 kittystark
 
04.02.23
21:00
Function RegExpReplace( str, pattern, replacement ) export

    RegExp = new COMObject("vbscript.regexp");
    RegExp.IgnoreCase    = true;
    RegExp.MultiLine    = true;
    RegExp.Global        = true;
    RegExp.Pattern         = pattern;    

    return RegExp.Replace(str,replacement);
        
EndFunction
Ошибка? Это не ошибка, это системная функция.