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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> форматирование значения, работа со строками 
V
    Опции темы
Anze
Дата 25.9.2008, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вот есть такая xml:
Код

<catalog>
    <item>
    <title>title</title>
    <info>test test test</info>
    <year>2678</year>
    </item>
</catalog>


Надо что бы catalog/item/year выводился не целым, а примерно так:
Код

2-6-7-8


Подскажите, пожалуйста, как это сделать?

Это сообщение отредактировал(а) Anze - 25.9.2008, 18:46
PM ICQ   Вверх
Bulat
Дата 26.9.2008, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

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



Anze, 
Цитата(Anze @  25.9.2008,  18:45 Найти цитируемый пост)
а примерно так:


Так примерно или точно?? Есть функция format-number(), вот только у меня пока не получается отформатировать с сепаратором "-". smile


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
Anze
Дата 26.9.2008, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



В том то и дело что так, как надо, а показал с "минусом", что бы нельзя было воспользоваться format-number, потому что в данном случае он не подходит. Я думал что есть какой нибудь другая функция для работы со строками, в частности с отдельными символами строки....

Примерно исходя из примеров у меня получился такой код, он просто "выводит" по одному символу из строки, это пока вполне подойдёт, но он выдаёт ошибку.
полный код main.xml:
Код

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<catalog>
    <item>
        <title>title1</title>
        <info>test test test</info>
        <year>2678</year>
    </item>
    <item>
        <title>title2</title>
        <info>test test test</info>
        <year>3245325</year>
    </item>
</catalog>


полный код style.xsl:
Код

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method='html' version='1.0' encoding='UTF-8' indent='yes'/>

<xsl:template match="/">
    <html>
    <body>
        <table border="1">
         <xsl:for-each select="catalog/item">
            <tr>
                <td><xsl:value-of select="title"/></td>
                <td><xsl:value-of select="info"/></td>
                <td>
                    <xsl:call-template name="fullstring">
                        <xsl:with-param name="counter" select="1"/>
                        <xsl:with-param name="texter" select="year"/>
                    </xsl:call-template>
                </td>
            </tr>
            </xsl:for-each>
        </table>
    </body>
    </html>
    </xsl:template>

    <xsl:template name="fullstring">
        <xsl:value-of select="substring($texter,$counter,1)"/>

        <xsl:variable name="next" select="$counter+1"/>

        <xsl:if test="string-length($texter) >= $next">
            <xsl:call-template name="fullstring">
                <xsl:with-param name="counter" select="$next"/>
                <xsl:with-param name="texter" select="$texter"/>
            </xsl:call-template>
        </xsl:if>
    </xsl:template>

</xsl:stylesheet>


Кто нибудь может подсказать почему браузер ругается ошибкой: Ошибка при XSLT преобразовании: Произошла неизвестная ошибка ()?

Это сообщение отредактировал(а) Anze - 26.9.2008, 16:21
PM ICQ   Вверх
jsa
Дата 29.9.2008, 05:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Anze @  26.9.2008,  16:42 Найти цитируемый пост)
 Я думал что есть какой нибудь другая функция для работы со строками, в частности с отдельными символами строки....

посмотри здесь, может пригодиться


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


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

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



Цитата(Anze @  26.9.2008,  11:42 Найти цитируемый пост)
В том то и дело что так, как надо, а показал с "минусом", что бы нельзя было воспользоваться format-number, потому что в данном случае он не подходит


Format-number, предназначен для форматирования чисел, а не строковых констант содержащих цифры smile, поэтому, скорее всего, "-" посреди цифр и не прокатывает smile



--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
Anze
Дата 7.10.2008, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



jsa, спасибо за ссылку, нашёл на этом сайте много полезного, и конечно решение своей задачи)
всё решилось с помощью этого темплейта

Это сообщение отредактировал(а) Anze - 7.10.2008, 00:11
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

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

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

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

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


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

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


 




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


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

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