|
XSLT и передача параметров в шаблон
| ☑ |
0
Яплакал
14.04.16
✎
10:30
|
Есть вот такой шаблон XSLT
<xsl:stylesheet xmlns:xsl=";
version="1.0">
<xsl:param name="ws_user"/>
<xsl:param name="ws_pass" />
<xsl:template name="МойШаблон" match="/">
<xsl:element name="XXX">
<xsl:value-of select="$ws_user"/>
</xsl:element>
<xsl:element name="YYY">
<xsl:value-of select="$ws_pass"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
В коде
Преобразование = Новый ПреобразованиеXSL;
Преобразование.ЗагрузитьИзСтроки(XSLT);
Преобразование.ДобавитьПараметр("ws_user", "222");
Преобразование.ДобавитьПараметр("ws_pass", "44443");
СтрXMLРезультат = Преобразование.ПреобразоватьИзСтроки(СтрВхXML);
вот если параметры передавать числовые значение в результирующей xml все заполняется, а вот если передать например
Преобразование.ДобавитьПараметр("ws_user", "Вася");
или любое другое слово, в xml на выходе пусто
|
|
1
asady
14.04.16
✎
10:35
|
(0) попробуй вместо
<xsl:value-of select="$ws_user"/>
поставить
<xsl:text ="$ws_user"/>
|
|
2
Яплакал
14.04.16
✎
10:54
|
(1) xsl:text - это другое, не катит это тут
|
|
3
asady
14.04.16
✎
11:07
|
(2) тогда попробуй
xmlns:xsl="
|
|
4
Яплакал
14.04.16
✎
11:18
|
(3) в таком случаи не трансформирует, а выдает текст шаблона
|
|
5
asady
14.04.16
✎
11:33
|
(0) попробуй без 1С - тупо в браузере
натрави на свой xml шаблон твой xsl
если прокатывает - то проблема на стороне 1С
там можно платформу обновить например
|
|
6
Chainsaw
14.04.16
✎
11:48
|
(0) Это известная платформенная ошибка работы с кириллическими строковыми параметрами
Включай значение в спецузел в преобразуемом XML или прибивай гвоздями в шаблоне как <xsl:param name = ... select = ... </xsl:param>
Ну и не забудь про маскировку служебных символов XML
|
|
7
Яплакал
14.04.16
✎
11:51
|
(6) это не только с кириллицей, латиница так же не выводится
|
|
8
Яплакал
14.04.16
✎
11:52
|
(5) а как я в браузере инициализирую параметры?
|
|