hub.oscript.io
hub.oscript.io
Войти

xsltlibпакет

Библиотека преобразования XSLT

автор: Artem Kuznetsovскачиваний: 18репозиторий: github.com/oscript-library/xsltlib

Пакет лежит в основном пуле хаба, а opm знает этот хаб по умолчанию: короткой формы достаточно.

opm install xsltlib

Скачанный файл ставится командой opm install -f <файл> — сеть для этого уже не нужна.

Описание

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>