Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > XML, XSL > HTML+XML+XSL=HTML |
Автор: jsse 2.6.2006, 00:23 | ||
Доброго времени суток. Помогите пожалуйста разобраться. У меня имеется HTML файл:
На выходе *** должны замениться на данные из XML файла с помощью правил из отдельного файла XSL. Правильней было бы использовать XSL код внутри приведенного мной HTML и сделать XSL+XML=HTML, НО идея такова: 1. Сгенерировать страницу HTML с помощью XSL+XML (выход - мой пример) не хочеться делать для них потоянно преобразование, т.к. именно эти данные будут меняться очень редко допустим header(меню сайта) 2. Сделать преобразование для динамически изменяемых данных заменить *** на нужные мне данные Если, то что я задумал изврат - пожалуйста подправте ![]() Хочеться узнать ваше мнение и предложения. |
Автор: maxim1000 2.6.2006, 00:53 | ||
предложение до смеха простое:
конечно, это нельзя назвать в полной мере "неиспользование XSL кода в HTML шаблоне", но по смыслу оно так - весь код можно вынести куда угодно и менять там сколь угодно часто... |
Автор: jsse 2.6.2006, 19:05 |
maxim1000, а как можно при первой трансформации получить документ с xslt тєгами? |
Автор: maxim1000 2.6.2006, 19:59 |
упс... пропустил фразу: в принципе, подозреваю, что как-то можно это сделать можно попробовать прямо так и написать: <xsl:call-template name="somename1"/> но только в шаблоне, который генерирует "описательный" HTML (который в примере), изменить название пространства имён на каоке-нибудь другое вместо xsl (просто сейчас нет под рукой инструментария, чтобы проверить) ну а если совсем никак не получится - всегда можно заменить вызов шаблона на <mycalltemplate1> а потом обработать HTML XSL шаблоном, который копирует исходный XML, но когда встречает <mycalltemplate...> выполняет соответствующие действия... |
Автор: jsse 2.6.2006, 20:04 |
Когда я заменяю на <mycalltemplate> не проходит даже первое преобразование - выскакивает ашипка. ![]() |
Автор: maxim1000 2.6.2006, 20:32 |
хм... а какая ошибка там может быть? в чём выражается? Добавлено @ 20:33 только, конечно же, <mycalltemplate/> (в смысле закрыть надо) если и так не работает, то непонятно... |
Автор: jsse 4.6.2006, 13:45 |
Звыняйтэ - пока новичек ) нужно было закрыть тэг. Но всё равно отошли от темы. |
Автор: jsse 5.6.2006, 22:04 |
Вобщем задача сводиться к тому - чтобы уменьшить кол-во запросов к БД. Думаю делать это путем генерации главного шаблона - в котором будет кэшироваться меню, перевод на другие языки и т.п.(допустим каждые 30 минут), потом делать преобразование с динамичискими данными - например контент сайта. Подскажите как? |
Автор: Beard 6.6.2006, 00:31 | ||
Все же предложить оптимальный (или близкий к этому) вариант сложно из ваших данных, т.к. не понятно, чем мы пользуемся, почему и для чего (ну кроме как "уменьшить кол-во запросов к БД")... Вот вы построили шаблон-каркас по какому-то XML-ку (который, как я понял, строится по запросу из БД), а динамически изменяемые данные откуда будут браться - из того же XML-ка или нет? И чем мы пользуемся - PHP, JSP или еще чем-нить? Может нам XML вообще не стоит генерить? И почему все упирается в ограничение запросов к БД? Может как раз наоборот лучше перекинуть нагрузку на СУБД, чем выполнять трансформации? Вобщем - "Хочу все знать!". Это я не придираюсь, а просто действительно хочется подумать над проблемой и предложить что-нить стоящее, а отправной-то точки и нет! |