BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 04 май 2024, 22:22

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
СообщениеДобавлено: 17 дек 2014, 12:57 
Не в сети
Клиент

Зарегистрирован: 10 ноя 2014, 18:38
Сообщения: 396
Карма: 0
например -
Телефон: <xsl:value-of select="/data/bill/contract_data/contract_params/parameter[@pid='1']/@value"/>
--
По всей видимости потому что нет у меня никакакого /data/bill/contract_data/contract_params/parameter в системе(элементарно через find в системе слов таких нет).
Где его взять-то?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 дек 2014, 14:20 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
А если так попробовать:
Код:
/data/bill/contract_params/parameter[@pid=1]/@value

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 дек 2014, 14:23 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Я себе сделал такой шаблон, чтобы смотреть, какие узлы и атрибуты есть в xml:
Код:
    <!-- Вывод содержимого узла -->
    <xsl:template name="print">
                    <fo:block xsl:use-attribute-sets="text" margin-top="12pt">
                        <fo:block>Orig:</fo:block>
                        <xsl:for-each select=".">
                            <fo:block margin-left="15pt">
                                <xsl:value-of select="local-name()"/>:<xsl:value-of select="."/>
                            </fo:block>
                        </xsl:for-each>

                        <fo:block>Children:</fo:block>
                        <xsl:for-each select="./*">
                            <fo:block margin-left="15pt">
                                <xsl:value-of select="local-name()"/>:<xsl:value-of select="."/>
                            </fo:block>
                        </xsl:for-each>

                        <fo:block>Attrs:</fo:block>
                        <xsl:for-each select="./@*">
                            <fo:block margin-left="15pt">
                                <xsl:value-of select="local-name()"/>:<xsl:value-of select="."/>
                            </fo:block>
                        </xsl:for-each>

                        <xsl:for-each select="./*">
                            <xsl:call-template name="print"/>
                        </xsl:for-each>
                    </fo:block>
    </xsl:template>


Вызывать вот так:
Код:
<xsl:for-each select="./*">
    <xsl:call-template name="print"/>
</xsl:for-each>

В результате в pdf будет всё дерево выведено.

Не идеал, конечно, но работает.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 дек 2014, 15:09 
Не в сети
Клиент

Зарегистрирован: 10 ноя 2014, 18:38
Сообщения: 396
Карма: 0
vkulakov писал(а):
А если так попробовать:
Код:
/data/bill/contract_params/parameter[@pid=1]/@value


о, так работает... а почему тогда старый bill_pdf.xsl поставляется?
в инструкции же написано, что его апдейты переписывают..
---

ещё есть вопрос - подскажите куда посмотреть - мне надо выводить по условию - скажем

если /data/bill/contract_params/parameter[@pid=1]/@value = NULL, то вывести /data/bill/contract_params/parameter[@pid=2]/@value

можно такое реализовать?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 дек 2014, 15:11 
Не в сети
Клиент

Зарегистрирован: 10 ноя 2014, 18:38
Сообщения: 396
Карма: 0
vkulakov писал(а):
Я себе сделал такой шаблон, чтобы смотреть, какие узлы и атрибуты есть в xml:

Вызывать вот так:
Код:
<xsl:for-each select="./*">
    <xsl:call-template name="print"/>
</xsl:for-each>

В результате в pdf будет всё дерево выведено.

Не идеал, конечно, но работает.


идеал-не идеал - это отличная штука, спасибо!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 дек 2014, 18:34 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Galkov писал(а):
ещё есть вопрос - подскажите куда посмотреть - мне надо выводить по условию - скажем

если /data/bill/contract_params/parameter[@pid=1]/@value = NULL, то вывести /data/bill/contract_params/parameter[@pid=2]/@value

можно такое реализовать?


Так тут ничего сложного нет. Здесь про if написано, как с null сравнивать - тоже можно найти. У меня готового решения нет.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.048s | 30 Queries | GZIP : On ]