Comments 24
UFO just landed and posted this here
Раз уж подключил мозиловский движок, то разумнее использовать Javascript with E4X — Javascript для XML. Который оперирует с XML объектами более элегантно, а не в виде костылей «startElement(...);»
+1
E4X is implemented in SpiderMonkey (Gecko's Javascript engine) since version 1.6.0[1] and in Rhino (Mozilla's other Javascript engine written in Java instead of C) since version 1.6R1. Осталось только найти как его включить. А проблема со startElement(...) не в том чтобы Javascript научить работать с XML а в том чтобы обеспечить двухстороннее конвертирование объектов между рантаймом Rhino и XSLT.
0
Ужас, XSLT всегда использовали что бы отделить логику от представления, а тут опять всего намешали.
Почему просто не использовать XSLT в JS не делать «ужасный коктейль»
Почему просто не использовать XSLT в JS не делать «ужасный коктейль»
0
а Вы не путаете со Smarty?
0
Нет не путаю, хотя идеи похожи ;)
Так все таки, вам не кажется более логичным вызывать XSLT из JS, а не наоборот?
Так все таки, вам не кажется более логичным вызывать XSLT из JS, а не наоборот?
0
нет не кажется, XSLT это не шаблонизатор а полноценный функциональный язык программирования, я могу представить где ваше предложение себя оправдает, но в данном конкретном случае ситуация иная.
0
Мне кажетсяя, что XSLT тяжеловат и немного неуклюж для полноценного языка программирования. Когда-то давно я его хотел использовать в таком качестве, но потом оказалось, что большинство задач решается проще классическим подходом.
Но есть рассматривать XSLT как язык программирования, то возникает несогласование парадигм. XSLT — это функциональный язык, JS — императивный. При их сложении получается нечто, что наследует ограничения обоих языков. Например, функциональные языки отлично распаралливаются, у императивных же, как только логика становится чуть сложнее, все ощутимо хуже — требуется привлекать различные способы синхронизации.
Но есть рассматривать XSLT как язык программирования, то возникает несогласование парадигм. XSLT — это функциональный язык, JS — императивный. При их сложении получается нечто, что наследует ограничения обоих языков. Например, функциональные языки отлично распаралливаются, у императивных же, как только логика становится чуть сложнее, все ощутимо хуже — требуется привлекать различные способы синхронизации.
0
как то противоречиво: расширять «полноценный функциональный декларативный язык программирования»
и все же он предназначен для преобразований XML-документов, и расширять его дополнительными конструкциями (тем более внедрять внутрь другой язык ) не самая лучшая практика (хотя вполне уместна в некоторых случаях — возможно в вашем)
и все же он предназначен для преобразований XML-документов, и расширять его дополнительными конструкциями (тем более внедрять внутрь другой язык ) не самая лучшая практика (хотя вполне уместна в некоторых случаях — возможно в вашем)
0
Так и не понял ответа на вопрос «Зачем это нужно ?»
Для того чтобы расширить возможности XSLT существует библиотека EXSLT
Добавление еще каких то скриптовых возможностей внутрь XSLT по моему противоречит самой концепции использования связки XML/XSLT
Для того чтобы расширить возможности XSLT существует библиотека EXSLT
Добавление еще каких то скриптовых возможностей внутрь XSLT по моему противоречит самой концепции использования связки XML/XSLT
+2
Наверно ответ на Ваш вопрос — «Я уже сделал а как и где применить, и применять ли вообще решайте сами»
0
Мне кажется я привел примеры использования…
0
Да пример использования — есть
но только не понятно зачем реализовывать это на уровне XSLT
а не с помощью того же серверного Javascript, если уж на то пошло,
генерируя XML и преобразовывая его в другой формат используя XSLT
но только не понятно зачем реализовывать это на уровне XSLT
а не с помощью того же серверного Javascript, если уж на то пошло,
генерируя XML и преобразовывая его в другой формат используя XSLT
0
Потому что то, что вы описываете это другой подход к проблеме если таковая существует, для меня проблема была в том что вход — это XML а процессинг основан на XSLT… решение соответствующее. Повторюсь также что это XSLT 2 ни одной реализации Javascript движка со встроенным XSLT 2 либо возможностью его как либо прикрутить я не знаю.
0
Нестыковочка просто получилась
В начале статьи вы пишете
"[проект] как я думаю может быть полезен многим из вас"
а теперь говорите что это решение для частного случая с причудливыми исходными требованиями :)
В начале статьи вы пишете
"[проект] как я думаю может быть полезен многим из вас"
а теперь говорите что это решение для частного случая с причудливыми исходными требованиями :)
0
Да примеры есть, но они они показывают как сделать смесь XSLT, Javascript, Java, а не как просто решить поставленную задачу
Нужно знать всего 3 языка, чтобы выбрать данные из базы и сгенерировать XML дерево — как по мне, использовать это можна «Just for Fun»
Нужно знать всего 3 языка, чтобы выбрать данные из базы и сгенерировать XML дерево — как по мне, использовать это можна «Just for Fun»
+1
Sign up to leave a comment.
Добавь Javascript в XSLT