powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как в xsl подключить заранее не известный xsl файл?
5 сообщений из 5, страница 1 из 1
Как в xsl подключить заранее не известный xsl файл?
    #36977750
kdestroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Покажу наглядно - мне нужно, чтобы работало следующее:

<xsl:include href="/includes/current_template" />

то есть, подключаемый файл шаблонов хранится в XML
<includes>
<current_template>blue.xsl</current_template>
</includes>

Конечно, в href нельзя указывать селектор, но можно ли как то иначе это сделать?

спасибо!
...
Рейтинг: 0 / 0
Как в xsl подключить заранее не известный xsl файл?
    #36977961
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdestroy,

не понятно где ты пытаешься "своровать".

У XSLT свои каноны, динамическая подгрузка темплейтов === дикие тормоза. Запихни все возможные варианты в один XSL, при необходимости обрабатывать одинаковые сущности - пользуйся модами.
Все взрослые трансформеры длелают предкомпиляцию XSL, за счет чего сильно выигрывают в скорости.
...
Рейтинг: 0 / 0
Как в xsl подключить заранее не известный xsl файл?
    #36978392
kdestroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mage.lan,

Если на сайте например подгружаешь модули, каждый со своим шаблоном, или подгружаешь новый шаблон всего сайта - как же в таком случае я смогу предугадать
...
Рейтинг: 0 / 0
Как в xsl подключить заранее не известный xsl файл?
    #36979570
kdestroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поставлю вопрос иначе:

Если я подключаю несколько шаблонов, то как исходя из данных xml выбрать какой из подключенных шаблонов применять?
...
Рейтинг: 0 / 0
Как в xsl подключить заранее не известный xsl файл?
    #36980720
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdestroy,

если твои модули выдают разные словари, то проблемы нет, трансформер сам решит, если одинаковые, то нужна некая стройность в написании xsl.

например, ты получаешь следующий XML:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<page title="My page">
   <modules>
       <module name="menu" gen-time="21 ms" etc="...">
           <config />
           <data />
       </module>
       <module name="document" gen-time="11 ms" etc="...">
           <config />
           <data />
       </module>
    </modules>
    <request />
</page>
Тогда xsl ты будешь орисывать как-то так:
Код: plaintext
1.
2.
3.
<xsl:template match="module[@name='menu']">
   <!-- build menu -->
   <xsl:for-each select="data/MenuItem/..." />
</xsl:template>
Код: plaintext
1.
2.
3.
<xsl:template match="module[@name='document']">
   <!-- show document -->
   <xsl:copy-of select="data/document/node()" />
</xsl:template>
где-то еще отдельно будет описываться:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<xsl:template match="/">
    <html>
        <head>
            <title>
                <xsl:value-of select="/page/@title" />
            </title>
        </head>
        <body>
             <xsl:apply-templates select="/page/modules/module" />
        </body>
    </html>
</xsl:template>
Зная набор модулей на странице ты заворачиваешь все привязанные к ним наборы темплейтов в одно полотно, обрамляешь его тегом <xsl:stylesheet>, все шаблон готов. предкомпайлишь, кладешь в память, до того момента, пока за ним не прийдет сервер.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как в xsl подключить заранее не известный xsl файл?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]