Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Форматирование конечной страницы XSLT 
:(
    Опции темы
MystDeim
Дата 17.7.2008, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 22.10.2007
Где: Россия->Юбилей ный

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



Как нормально отформатировать? Я вообще не понимаю как xslt расставляет пробелы и переносы строк.
Вот такой код, постараюсь сократить:
Код

...
                <div style="float: left">
                    <xsl:apply-templates select="main" />
                </div>
...
    <xsl:template match="main">
        <p>Panel Menu</p>
        <xsl:apply-templates />
    </xsl:template>

    <xsl:template match="main/*">
        <p><xsl:value-of select="local-name(.)" /></p>
        <ul>
            <xsl:apply-templates />
        </ul>
    </xsl:template>

    <xsl:template match="link">
        <li>
            <a href="{path}">
                <xsl:value-of select="text"/>
            </a>
        </li>
    </xsl:template>
...


На выходе в xhtml:
Код

    <div style="float: left"><p>Panel Menu</p>
    <p>navigation</p><ul>
      <li><a href="page=test1">Ссылка 1</a></li>
      <li><a href="page=test2">Ссылка 2</a></li>
    </ul>
  </div>

Обратите внимание закрывающий див сдвинут и список не понятно как стоит, хочеться чтобы было вот так:

Код

    <div style="float: left">
      <p>Panel Menu</p>
      <p>navigation</p>
      <ul>
        <li><a href="page=test1">Ссылка 1</a></li>
        <li><a href="page=test2">Ссылка 2</a></li>
      </ul>
    </div>


Может я чего-то не допонимаю, уже замучался с этим.

Добавлено через 2 минуты и 1 секунду
Забыл xml показать:
Код

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <main>
    <navigation>
      <link>
        <text>Ссылка 1</text>
        <path>page=test1</path>
      </link>
      <link>
        <text>Ссылка 2</text>
        <path>page=test2</path>
      </link>
    </navigation>
  </main>
...


Это сообщение отредактировал(а) MystDeim - 17.7.2008, 23:38
--------------------
Учебные материалы для студентов http://studlab.org
PM MAIL WWW   Вверх
jsa
Дата 18.7.2008, 05:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 3
Всего: 20



покажи xsl:output


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
MystDeim
Дата 18.7.2008, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 22.10.2007
Где: Россия->Юбилей ный

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



Код

    <xsl:output method="xml" indent="yes"
        doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
        doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />

--------------------
Учебные материалы для студентов http://studlab.org
PM MAIL WWW   Вверх
jsa
Дата 18.7.2008, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 3
Всего: 20



indent форматирует документ так как захочет, зависит от реализации xslt процессора, смотри доки к своему процессору

Добавлено через 3 минуты и 16 секунд
 глянь Удаление пробельных символов


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
MystDeim
Дата 18.7.2008, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 22.10.2007
Где: Россия->Юбилей ный

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



jsa, да, похоже xslt процессор виноват.
А какой Вы процессор используете? Что пишете в xsl:output , чтобы четкой структуры добиться?
--------------------
Учебные материалы для студентов http://studlab.org
PM MAIL WWW   Вверх
jsa
Дата 21.7.2008, 06:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 3
Всего: 20



да также:
Код

<xsl:output method="xml" encoding="UTF-8" indent="yes" doctype-public="..." doctype-system="..." />

кстати, indent="yes" злоупотреблять не стоит, выставляю yes, только когда dev версия проекта, на продакшн всегда в "no"
кстати, иногда тихо матерюсь про себя - неправильно работает indent="yes", иногда нормально


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


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

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


 




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


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

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