forum.bitel.ru
http://forum.bitel.ru/

card_inet.xsl вставить текущую дату в шаблон
http://forum.bitel.ru/viewtopic.php?f=22&t=1687
Страница 1 из 1

Автор:  sabriel [ 05 дек 2008, 12:58 ]
Заголовок сообщения:  card_inet.xsl вставить текущую дату в шаблон

Здравствуйте. Искал по форуму не нашел:)
Необходимо следующее:
есть кусок кода
Код:
<fo:block xsl:use-attribute-sets="text11_bold">
<_____> ____________  2008 г.
</fo:block>


И вот необходимо вместо
<____> ____________ 2008 г.
вставить текущую дату.

Возможно ли это сделать?

Автор:  snark [ 08 дек 2008, 18:32 ]
Заголовок сообщения:  Re: card_inet.xsl вставить текущую дату в шаблон

sabriel писал(а):
необходимо вместо
<____> ____________ 2008 г.
вставить текущую дату.

Возможно ли это сделать?

возможно :)
берете дату, например так:
Код:
<xsl:value-of select="current-date()" />

ну и потом расщепляеете ее на составляющие ...

Автор:  sabriel [ 09 дек 2008, 11:31 ]
Заголовок сообщения: 

к сожалению не работает:(

Код:
<fo:block xsl:use-attribute-sets="text11_bold">
<xsl:value-of select="current-date()"/>
</fo:block>


Может нужно что то дополнительно включить в xslt или что нибудь в этом духе?

Автор:  Администратор [ 09 дек 2008, 16:32 ]
Заголовок сообщения: 

Такой функции стандартно нет http://www.zvon.org/xxl/XSLTreference/Output/.
Можно использовать JAVA расширения.
Как быстрый извращенный пример:

http://wiki.bgbilling.ru/index.php/%D0% ... 0%B0%D0%BC
cначала регистрируется расширение:
Код:
<xalan:component prefix="sql" functions="select">
             <xalan:script lang="javaclass" src="xalan://bitel.billing.server.util.exslt.SQLQuery"/>
     </xalan:component>     

потом используется (добавьте еще функцию FORMAT):
Код:
<xsl:variable name="date" select="sql:select( CURRENT_DATE())"/>


Извращенный, т.к. каждая дата - запрос к SQL серверу. Можно еще сделать Java класс, скомпилить и вызывать его функции подобным же образом (еще пример расширения в bill_pdf.xsl есть). Вообще в перспективе хотим вызов скрипта BGBS сделать в XSLT шаблонах, чтобы проще было..

Автор:  sabriel [ 09 дек 2008, 17:21 ]
Заголовок сообщения: 

Спасибо большое бум капать:)

Автор:  RemindMe [ 10 мар 2010, 17:32 ]
Заголовок сообщения:  Re: card_inet.xsl вставить текущую дату в шаблон

Ну никак не получается вставить функцию sql. Такая же проблема только вместо текущей даты нужно вставить последнее число следующего месяца.
Объявили:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:svg="http://www.w3.org/2000/svg" version="1.0"
xmlns:sql="bitel.billing.server.util.exslt.SQLQuery"
xmlns:xalan="http://xml.apache.org/xalan">

<xalan:component prefix="sql" functions="select">
<xalan:script lang="javaclass" src="xalan://bitel.billing.server.util.exslt.SQLQuery"/>
</xalan:component>

Добавляем:
<xsl:variable name="datet" select="'SELECT DAY(LAST_DAY(CURDATE()))'"/>
<xsl:value-of select="@datet"/>

Что не так?
Ошибок не выдает

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/