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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отступы, пробелы и переносы строк в XLST, и как они транслируются в результат 
V
    Опции темы
Greendrake
Дата 10.2.2006, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 364
Регистрация: 14.7.2005

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



Существуют ли правила/законы по которым отступы, пробелы и переносы строк в XSL-шаблоне переносятся в результат трансформации?

Ещё вот тут нашёл такой вопрос:

Что здесь не так и как это исправить?

<xsl:template match="para">
<a href="{@href}">
clickme
</a>
</xsl:template>


Думаю здесь сабж и имеется ввиду. Какой ответ?

P.S. Исходник вопроса лучше посмотреть по ссылке, т. к. тут отступы не отображаются smile
PM MAIL   Вверх
Beard
Дата 11.2.2006, 02:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата:
Текстовый узел сохраняется если имеет место какое-либо из следующих условий:

*

Название элемента, являющегося родителем данного текстового узла, находится в перечне названий элементов, сохраняющих пробельные символы.
*

Текстовый узел содержит хотя бы один непробельный символ. Как и в XML, пробельным символом считаются #x20, #x9, #xD и #xA.
*

Элемент, являющийся предком этого текстового узла, имеет атрибут xml:space со значением preserve и нет более близких элементов-предков, имеющих xml:space со значением default.

В остальных случаях текстовый узел вычищается.

Атрибуты xml:space из дерева не вычищаются.

Замечание: Это подразумевает, что если для фиксированного конечного элемента был указан атрибут xml:space, то он будет включен в результат.

В случае со стилями перечень названий элементов, сохраняющих пробельные символы, состоит лишь из xsl:text.

<!-- Category: top-level-element -->
<xsl:strip-space
elements = tokens />

<!-- Category: top-level-element -->
<xsl:preserve-space
elements = tokens />

Для исходных документов перечень названий элементов, сохраняющих пробельные символы, задается элементами верхнего уровня xsl:strip-space и xsl:preserve-space. Каждый из этих элементов имеет атрибут elements, значением которого является перечень NameTest-ов (через пробельный символ). Изначально набор названий элементов, сохраняющих пробельные символы, содержит названия всех элементов. Если название элемента совпадает с NameTest в элементе xsl:strip-space, то он удаляется из перечня названий элементов, сохраняющих пробельные символы. Если название элемента совпадает с NameTest в элементе xsl:preserve-space, то оно добавляется к перечню названий элементов, сохраняющих пробельные символы.
PM MAIL   Вверх
Greendrake
Дата 11.2.2006, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 364
Регистрация: 14.7.2005

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



Цитата(Beard @ 11.2.2006, 02:49)
Текстовый узел сохраняется если имеет место какое-либо из следующих условий

Это всё хорошо, но что, собственно, есть текстовый узел?

Не уж то несколько пробелов, расположенных между <a href="{@href}> и clickme считаются узлом?? А может ещё, каждый из этих пробелов - узел smile

ИМХО, узлом-то должен считаться тег. Тем не менее, вышеописанные пробелы вроде бы вычищаются.

Это сообщение отредактировал(а) Greendrake - 11.2.2006, 17:15
PM MAIL   Вверх
OstinStar
Дата 21.3.2006, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 21.3.2006

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



У меня такая проблема:
при отображении xml в IE6 все, что находится в cdata пишется в одну строчку - без табуляций и переносов на след. строку. Это происходит после прикрепления xsl к xml. А мне нужно, чтобы cdata отображалась также как без xsl.
PM MAIL   Вверх
Ignat
Дата 23.3.2006, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

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



OstinStar, думаю, <pre></pre> спасет.


--------------------
Теперь при чем :P
PM   Вверх
OstinStar
Дата 24.3.2006, 07:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 21.3.2006

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



Спасибо, уже спасло smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

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

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

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

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


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

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


 




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


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

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