LINUX.ORG.RU

Преобразование XML - чем кошернее?


0

0

У меня есть задача - нужно преобразовать файл OO.calc в совершенно другой xml-файл, но с особенностями - здесь играем, здесь не играем, здесь рыбу заворачивали. То есть там в ячейках среди простого текста записаны ещё метаданные, и в зависимости от этих метаданных нужно будет делать дополнительные элементы, причём совершенно в другой части выходного дерева.

У меня стойкое ощущение, что это проще делать на Perl, а не на XSLT. Скажите честно - я дурак и ничего не понимаю в кошерном XSLT? Или как?

★★★★★

У меня стойкое ощущение, что это проще делать на Perl, а не на XSLT

Да. Ещё проще на скале, наверное.

Legioner ★★★★★
()

Лучше OCamlDuce ещё ничего не придумали.

vasilenko ★★
()
Ответ на: комментарий от Xellos

> Значит придётся помирать дураком.

А зачем тогда пост создавал?

archimag ★★★
()

> У меня стойкое ощущение, что это проще делать на Perl, а не на XSLT. Скажите честно - я дурак и ничего не понимаю в кошерном XSLT?

Вообще, действительно проще сделать на Perl. С другой стороны на XSLT кошернее

name_no ★★
()

Проще наверное на самом удобном для тебя ЯП взять библиотеку для работы с XML DOM и сделать все что надо. Думаю что SAX не понадобится.

vertexua ★★★★★
()
Ответ на: комментарий от name_no

> Вообще, действительно проще сделать на Perl.

Только в том случае, если хорошо знаешь Perl и совершенно не знаешь XSLT.

archimag ★★★
()

проще на том, что знаешь.

Deleted
()
Ответ на: комментарий от vertexua

дом, ага. Пошутил. Афаик уже давно никто не пользуется голым парсером xml. Везде все юзают парсеры XML -> Domain Model. Я бы взял xsd от этого xml, xsd от таргет xml, с помощью jaxb нагенерил бы классов и написал один биндинг между классами. Делов на пару часов.

JFreeM ★★★☆
()
Ответ на: комментарий от JFreeM

Много ынтерпрайза. Надо решать в зависимости от задачи. Если доки небольшие, сильно часто не дергаются, то генерация классов подходит достаточно хорошо.

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

> Где стрелка profit?)

Не настолько это дело удобно...


Это потрясающе удобно. XSLT это специально разработанный DSL именно для трансформации XML-документов, что говорит само за себя.

Разве что вся ваша работа заключается в обработке xml


Разве у автора не такой случай? В любом случае, XSLT можно расширять за счёт своих XPath-фукций и новых элементов, а вменяемые инструменты позволяют делать легко, так что, XSLT не теряет своей эффективности даже в тех случаях, когда содержит элементы сложной логики не имеющие непосредственного отношения к трансформации узлов дерева.

archimag ★★★
()

mix Perl w/ xslt -> profit

Pi ★★★★★
()
Ответ на: комментарий от archimag

все правда, но иной раз «лучше б сдохнуть» при виде нетривиальной логики на хслт

Pi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.