Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вставить один XML в другой, если у них разные XSL 
:(
    Опции темы
Cross
Дата 29.3.2008, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


информатик-аналитик
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 2.6.2006
Где: Москва

Репутация: нет
Всего: 1



Здравствуйте!

Вот простой XML-файл:
Код

<?xml version="1.0" encoding="windows-1251"?>
<page>    
<css/>
<logo/>
    <top-menu/>
    <main>
        <content/>
    </main>
    <right-menu/>

</page>


Для него есть соответствующий XSL

Там где тег <content/> нужно, чтобы подключался другой XML со своим XSL. 
Результатом должна стать HTML-страница!!!
Как это сделать с помощью JSTL?

Вот как я делаю: 
Код

<%@page pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jstl/xml" %>

<c:import url="index.xml" var="index" charEncoding="windows-1251"/>
<x:parse var="xml" xml="${index}" />
<c:import url="index.xsl" var="xsl" charEncoding="windows-1251"/>
<x:set var="css" select="$xml//css"/>
<x:transform xml="${css}" xslt="${xsl}"/>
<x:set var="logo" select="$xml//logo"/>
<x:transform xml="${logo}" xslt="${xsl}"/>

<x:set var="topmenu" select="$xml//top-menu"/>
<x:transform xml="${topmenu}" xslt="${xsl}"/>

<x:set var="main" select="$xml//main"/>
<x:transform xml="${main}" xslt="${xsl}"/>

        Вот здесь подключается другой XML и его XSL
    <c:import url="http://localhost/test/index-text.xml" var="buildXml" charEncoding="windows-1251"/>
    <c:import url="http://localhost/test/irssm-text.xsl" var="xslt" charEncoding="windows-1251"/>
    <x:transform xml="${buildXml}" xslt="${xslt}" />


<x:set var="rightmenu" select="$xml//right-menu"/>
<x:transform xml="${rightmenu}" xslt="${xsl}"/>


И вот отрывок из кода XSL для основного файла:

Код

...
<xsl:template match="main">
<div id="main">
    <xsl:apply-templates select="content"/>
</div>
...
<xsl:template match="content">
    <xsl:apply-templates/>
</xsl:template
</xsl:template>


Подскажите, что тут не так? И вообще как это делается.

Это сообщение отредактировал(а) Cross - 29.3.2008, 14:35
PM MAIL ICQ Skype MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0746 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.