Skip to content

arkuznetsov/xsltlib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub release GitHub license GitHub Releases GitHub All Releases

Build Status Quality Gate Coverage Tech debt

Checked by Silver Bulleters SonarQube BSL plugin

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>