Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Несколько вопросов по Xslt
Форум программистов > Интернет и сети > Web-программирование > HTML, CSS, XML, JavaScript
Avenger
1. есть вот такой вот тег в xml: <total>Total (4 wickets, 50 overs) 310</total>, возможно ли средствами xslt извлечь из него инфу так, чтобы на странице отображалось в таком виде: "310/4 (50 ov.)"

2. как сделать проверку деления на ноль средствами xslt? если ноль то нужно выводить прочерк, если не ноль, то результат деления.

3. Как в xslt извлечь имя тега xml?
например у меня есть такой xml-код:

<?xml version="1.0" encoding="WINDOWS-1251"?>
<tutorial>
<title>"Заметки об XSL"</title>
<author>Леонов Игорь Васильевич</author>
</tutorial>

нужно отобразить на странице надпись "title" и нужно обязательно ее выдрать из xml. читал в какой то статье, что вот так нужно <xsl:value-of select="tutorial/title/name()"/> но только не работает что-то.



очень надеюсь на вашу помощь. спасибо.
Vovochka
Цитата(Avenger @ 18:04:2008 - 05:50) *
<total>Total (4 wickets, 50 overs) 310</total>

Кажется мне, что ваш xml is very bad sad.gif
Ничего кроме цифр (в вашем примере) в нем не должно было быть.

Да и все ваши математические операции вытекают оттуда же.
Неужели в xml нельзя писать уже конечные значения?

sax_ol
Avenger
Почему бы не начать с документации? На просторах инета ее ой как достаточно.

хотябы вот: http://www.hostcms.ru/forums/22/111/
Avenger
Цитата
Кажется мне, что ваш xml is very bad sad.gif
Ничего кроме цифр (в вашем примере) в нем не должно было быть.

Да и все ваши математические операции вытекают оттуда же.
Неужели в xml нельзя писать уже конечные значения?

нормальный xml, у меня в принципе выбора не было, какой дали, мое дело преобразовать его в xhtml, с чем я вроде справился, а этот вопрос я решил так:
<xsl:value-of select="substring-after(inningsinfo/match/innings/total, ') ')"/>/<xsl:value-of select='substring-before(substring-after(inningsinfo/match/innings/total, "("), " w")'/>
(<xsl:value-of select='substring-before(substring-after(inningsinfo/match/innings/total, ", "), "ers")'/>.)

Цитата
Почему бы не начать с документации? На просторах инета ее ой как достаточно.

на чтение документации не было времени, сразу с нуля начал делать, что непонятно было смотрел, искал, спрашивал, теперь уже более менее разобрался в xslt.
Avenger
ответ на 2-ой мой вопрос:

<xsl:choose>
<xsl:when test="cricketbbbfeed/currentscores/maxovers = 0">
<xsl:text>-</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="format-number(((cricketbbbfeed/currentscores/target - 1) div cricketbbbfeed/currentscores/maxovers),'#.00')"/>
</xsl:otherwise>
</xsl:choose>

ответ на 3-ий вопрос:
<xsl:value-of select="name(tutorial/title)"/>
или второй вариант с использованием шаблонов
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2008 IPS, Inc.