OpenHub
OpenHub
Войти

xsltlibпакет

с апстрима
автор: Artem Kuznetsovскачиваний: 0

Пакет лежит в основном пуле хаба: короткой формы достаточно, если хаб прописан сервером пакетов в 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

GitHub release GitHub license GitHub Releases GitHub All Releases

Build Status Quality Gate Coverage Tech debt

Компонента преобразования данных 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>