Естественно, что например с помощью xslt можно превратить данный xml в сколь угодно красивый html, но вот в чем загвоздка: внутри тэга entry могут храниться данные, которые сами по себе требуют некоторой обработки. Например (как на многих форумах) имеются вложенные "тэги" [link /] или [br], которые надо на ходу превращать в <a /> и <br> и тп.
Есть очевидное решение "обработать" исходный xml на сервере и превратить его сразу в html. Я пошел более извратным путем и в принципе победил проблему с помощью JavaScript + xslt, но результат не вдохновляет: для каждого тэга нужно писать неслабый кусок JavaScript-кода, в котором-таки приходится делать document.write, что ничуть не лучше "ручной" обработки xml на сервере. Да еще и к клиенту скачивается невообразимое безобразие из смеси html/xml/JavaScript, которое потом насилует его браузер.
В общем, ищу изящное решение.
P.S. Как это сделано на форуме RSDN пока "ниасилил"
P.P.S. Конкретная технология не важна, интересен подход. Т.е. вопросы типа "а на чем у тя сервак, на IIS или Apache?" не задавать!
NotYet, guys... not yet...
Re: Ищу изящное решение для обработки "хитрого" xml
Здравствуйте, outsourcer, Вы писали:
O>Привет All, Великий и Ужасный!
O>Вопрос такой:
O>Есть задача отображать пользователю некие данные, которые изначально представлены в виде xml примерно такой структуры:
O>Естественно, что например с помощью xslt можно превратить данный xml в сколь угодно красивый html, но вот в чем загвоздка: внутри тэга entry могут храниться данные, которые сами по себе требуют некоторой обработки. Например (как на многих форумах) имеются вложенные "тэги" [link /] или [br], которые надо на ходу превращать в <a /> и <br> и тп.
O>Есть очевидное решение "обработать" исходный xml на сервере и превратить его сразу в html. Я пошел более извратным путем и в принципе победил проблему с помощью JavaScript + xslt, но результат не вдохновляет: для каждого тэга нужно писать неслабый кусок JavaScript-кода, в котором-таки приходится делать document.write, что ничуть не лучше "ручной" обработки xml на сервере. Да еще и к клиенту скачивается невообразимое безобразие из смеси html/xml/JavaScript, которое потом насилует его браузер.
O>В общем, ищу изящное решение.
O>P.S. Как это сделано на форуме RSDN пока "ниасилил" O>P.P.S. Конкретная технология не важна, интересен подход. Т.е. вопросы типа "а на чем у тя сервак, на IIS или Apache?" не задавать!
Незнаю, лучшее по мне решение это при создании XML сразу обработать данное поле и получить html.
А так юзаем функции обработки строк в XSLT. Ищем все те же [br] и т.п. и заменяем их на <br/> и т.п..
Почему первый вариант для меня предпочтительный, из сооброженний производительности.
Re: Ищу изящное решение для обработки "хитрого" xml
Здравствуйте, Tourist, Вы писали:
T>Здравствуйте, outsourcer, Вы писали:
<skipped>
T>Незнаю, лучшее по мне решение это при создании XML сразу обработать данное поле и получить html.
ok.
T>А так юзаем функции обработки строк в XSLT. Ищем все те же [br] и т.п. и заменяем их на <br/> и т.п.. T>Почему первый вариант для меня предпочтительный, из сооброженний производительности.
Хорошо, а как заменить "нечто", на "<br/>" (как заменить "нечто" на "что-то" я знаю)? Может я как раз тут чего-то не понимаю, но именно этот момент мне с помощью xslt и не удалось сделать — пришлось привлекать javascript. Проблема именно с символом '<'.
NotYet, guys... not yet...
Re[2]: Ищу изящное решение для обработки "хитрого" xml
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Здравствуйте, outsourcer, Вы писали:
ВВ>Можно на том же джаваскрипте написать функции расширения, где пройтись по таким строкам регекспами — все будет вполне красиво и без document.write
Годицца, пожалуй.
Правда остается проблема, что текст не должен содержать символов переноса строки (их приходится тогда сносить с помощью xslt...). Но всё равно хорошая мысль, спасибо. Послушаем другие предложения.
NotYet, guys... not yet...
Re[3]: Ищу изящное решение для обработки "хитрого" xml