xsltlibпакет
с апстрима
Пакет лежит в основном пуле хаба: короткой формы достаточно, если хаб прописан сервером пакетов в opm.cfg.
opm install xsltlibУстановка на opm младше 1.7.0
Легаси-флоу. Клиент младше 1.7.0 адрес пула в аргументе не разбирает: пул сначала прописывают сервером пакетов, и только потом ставят через него. На 1.7.0 и новее этот раздел не нужен — хватает команды из шапки страницы.
Добавьте пул сервером пакетов в opm.cfg. Порт продублирован в «Сервер»: у opm push поле «Порт» не читается.
{
"СервераПакетов": [
{
"Имя": "default",
"Сервер": "https://hub.1cdevelopers.ru",
"Порт": 443,
"ПутьНаСервере": "/api/v1/pools/default/download/",
"РесурсПубликацииПакетов": "/api/v1/pools/default/push",
"Приоритет": 1
}
]
}И ставьте пакет, указывая сервер:
opm install -m default xsltlibОписание
Oscript XSL Transform component
Компонента преобразования данных XML с использованием XSLT для oscript
Примеры использования
Преобразование строки XML
- таблица преобразования из строки
- результат в виде строки
#Использовать xsltlib
ТаблицаСтилей = "<?xml version = ""1.0"" encoding=""UTF-8""?>
|<xsl:stylesheet version = ""3.0"" xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"">
|
| <xsl:output method=""xml"" indent=""yes"" />
| <xsl:template match="" / "">
| <new>
| <xsl:value-of select=""/root/item[last()]""/>
| </new>
| </xsl:template>
|</xsl:stylesheet>";
СтрокаXML = "<?xml version = ""1.0"" encoding=""UTF-8""?>
|
|<root>
| <item>item1</item>
| <item>item2</item>
| <item>item3</item>
|</root>";
#Использовать xsltlib
Преобразование = Новый ПреобразованиеXSL();
Преобразование.ЗагрузитьТаблицуСтилейИзСтроки(ТаблицаСтилей);
Результат = Преобразование.ПреобразоватьИзСтроки(СтрокаXML);
Сообщить(Результат);
// > <new>item3</new>
Преобразование файла XML (таблица преобразования из файла)
- таблица преобразования из файла
- результат в запись XML (файл)
<!-- stylesheet.xslt -->
<?xml version = "1.0" encoding="UTF-8"?>
<xsl:stylesheet version = "3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" />
<xsl:template match=" / ">
<new>
<xsl:value-of select="/root/item[last()]"/>
</new>
</xsl:template>
</xsl:stylesheet>
<!-- data.xml -->
<?xml version = "1.0" encoding="UTF-8"?>
<root>
<item>item1</item>
<item>item2</item>
<item>item3</item>
</root>
#Использовать xsltlib
Преобразование = Новый ПреобразованиеXSL();
Преобразование.ЗагрузитьТаблицуСтилейИзФайла("stylesheet.xslt");
Запись = Новый ЗаписьXML();
Запись.ОткрытьФайл("result.xml");
Результат = Преобразование.ПреобразоватьИзФайла("data.xml", Запись);
<!-- result.xml -->
<new>item3</new>