|
|
|
Junior Member
      
участник
Last Login: 16.12.2003 18:04
Сообщ.: 16,
Visits: 177
|
|
Задача такая: Есть общий xsl-шаблон, из него должны вызываться другие шаблоны. Необходимо в зависимости от поступающего xml-потока, импортировать разные xsl-шаблоны. Т.е. общий файл должен выглядеть так
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:import href="имя_файла.xsl"/> <!-- "строка включения" --> <xsl:template ...> ... <xsl:calltemplate name="tmp1" /> ... <xsl:calltemplate name="tmp2" /> ... <xsl:calltemplate name="tmp3" /> </xsl:template> </xsl:stylesheet>
т.е. в "строке включения" имя файла должно меняться динамически и браться из поступающего xml-потока
Каким образом это сделать? Использовать переменную не удалось, т.к. xsl:variable может быть использована только внутри xsl:template, а xsl:import должен быть сразу после xsl:stylesheet. С параметрами тоже как-то не получилось. Подскажите, плиз.
|
|
|
|
|
Forum Member
      
участник
Last Login: 19.11.2003 12:48
Сообщ.: 42,
Visits: 463
|
|
Посмотрел это и предыдущее сообщение. Они вообще довольно старые, поэтому первый вопрос к Вам: проблема все еще актуальна?
Если "да", то могу предложить простое решение, в котором не нужно импортировать XSL, а нужно создать несколько. Все их, как и сам XML документ можно включить в страницу как XML-islands. Тогда при выборе чек-бокса (или радио кнопки) будет легко применить нужный шаблон к XML документу и заменить таблицу на новую. Пойдет?
Могу подготовить полный пример, но это не для форума (несколько файлов и не очень маленьких) свяжитесь со мной по почте.
Если же их (XSL'ей) там очень много, скажите, придумаем еще что-нибудь.
|
|
|
|