gifts2017

XSL преобразование в 1С.

Опубликовал Сергей Кудашкин (sikuda) в раздел Обмен - Обмен через XML

XSLT есть в 1C, в отличие от регулярных выражений. Значит надо попробовать.

Доброго времени суток!

  Если спросить простого 1С-ника что такое XSL преобразование. Он наверно Вам ничего не скажет. Есть конечно знающие люди, но их мало. В стандартных конфигурациях это мало используется и использовать в такой закрытой системе как 1С сложно. Но все по порядку.

  На самом деле XSLT есть в 1C (объект ПреобразованиеXSL), в отличие от регулярных выражаний ( http://infostart.ru/public/183084/ ). Да она конечно только версии 1.0, но нам не превыкать к трудностям. Что же это такое? Если кратко - берем один файл xml и по шаблону превращаем его в другой. Сразу возникает куча вопросов как, поэтому отсылаем к первоисточникам http://www.w3schools.com/xsl/default.asp

А сами покажем маленький пример обработки на 1С : [wpdm_file id=11]

 

Сайт: sikuda.ru

P.S.

Я думаю она не стала популярной, так потребности внутри  1С нет. Динамические преобразования XML в части интерфейса слабо развиты или  применяются закрытые методы 1С. Но я думаю может кому и пригодиться.

Дополнительно:

http://infostart.ru/public/146223/

Скачать файлы

Наименование Файл Версия Размер
ПреобразованиеXSL.epf 56
.epf 9,48Kb
23.04.13
56
.epf 9,48Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Ийон Тихий (cool.vlad4) 23.04.13 14:34
у вас же на картинке правильный порядок букв, почему в заголовке и в тексте неправильный (расширение excel)?
eXtensible Stylesheet Language Transformations
2. Яков Коган (Yashazz) 23.04.13 19:27
О, вот и публикация на эту тему. Гуд!
Сам пользуюсь, у нас такенные хмл-файлы приходят, что построчно их преобразовывать да туда-сюда готовить к нетривиальному чтению - дело очень долгое. Посему юзаем. Посмотрю, авось что и пригодится.

(1) Автор уже успел поправить. Бывает, опечатался )).
3. Ийон Тихий (cool.vlad4) 23.04.13 20:55
ну исправил, молодец. теперь о деле. под виндой есть возможность использовать xslt 2.0, - использовать добротный движок (есть бесплатная версия), с примерами и даже где-то валяющейся в инете документацией - http://www.altova.com/download/altovaxml.html (altova знают наверное многие, кто имел дело с xml). качаем community edition и по аналогии с примером из js, код 1С,
	
Попытка
	objAltovaXML = Новый COMОбъект("AltovaXML.Application");
Исключение
	Сообщить(ОписаниеОшибки());
	Возврат;
КонецПопытки;
strExampleFolder = "Здесь путь к altova\......\AltovaXMLExamples\";
xslt2 = objAltovaXML.XSLT2;
xslt2.XSLFileName = strExampleFolder + "CopyInputXSLT2.xsl";
xslt2.InputXMLFileName = strExampleFolder + "simple.xml";
xslt2.Execute(strExampleFolder + "OutputFrom1C.xml");
...Показать Скрыть

там же лежит библиотека типов, можно посмотреть какие еще методы поддерживаются (в принципе их не так много)
4. Станислав Раташнюк (stanru1) 24.04.13 11:13
очень огорчает и ограничивает отсутствие поддержки 2й версии xslt. вменяемого быстрого способа работы с 2й версией не нашел (saxon работает медленно и через ж. - то есть, через файлы). Но saxon не надо устанавливать, в отличие от altova. Вообще удивляет и обращает на себя внимание отсутствие свободных xslt движков 2й версии.
5. Игорь (nmt450) 25.04.13 09:23
stanru1, скорее всего уже и не будет. Технология XSLT в вэбе, где и предполагалось основное применение, "не взлетела". Поддержка XSLT в браузерах появилась в IE6, и с тех пор не обновлялась лет десять. Год назад один из последних "могикан" - mail.ru отказалась от использования XSLT в своем почтовом сервисе.
Желающих развивать эту технологию уже давно не наблюдается.