BGBilling XSLT
Материал из BiTel WiKi
Admin (Обсуждение | вклад) (→SQL запрос) |
Admin (Обсуждение | вклад) |
||
Строка 49: | Строка 49: | ||
<xsl:value-of select="@title"/> | <xsl:value-of select="@title"/> | ||
</xsl:for-each> | </xsl:for-each> | ||
+ | </source> | ||
+ | |||
+ | == Использование произвольных методов API биллинга == | ||
+ | Например, вызов функции: http://bgbilling.ru/v4.5/javadoc/bitel/billing/common/CommonUtils.html#maskBlank(java.lang.String,%20java.lang.String) | ||
+ | Возможен вызов любой функции с простыми параметрами (пустой список, либо строка) из любого класса, входящего в classpath BGBillingServer. | ||
+ | |||
+ | Объявляется так: | ||
+ | <source lang="xml"> | ||
+ | <xsl:stylesheet | ||
+ | version="1.0" | ||
+ | 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" | ||
+ | xmlns:xalan="http://xml.apache.org/xalan" | ||
+ | xmlns:utils="bitel.billing.common.CommonUtils"> | ||
+ | ...... | ||
+ | </source> | ||
+ | |||
+ | Вызывается так: | ||
+ | <source lang="xml"> | ||
+ | <xsl:variable name="abon_service" select="utils:replace( '5555,44', ',', '')"/> | ||
</source> | </source> | ||
== Генерация картинки со штрих-кодом == | == Генерация картинки со штрих-кодом == |
Версия 11:46, 24 декабря 2008
Основная статья с описанием технологии: http://wiki.bitel.ru/index.php/XSLT
В биллинге доступные некоторые дополительные возможности XSLT.
Содержание |
Счетчик
Используется для корректного сложения дробных чисел с десятичной точкой. При использовании сложения средствами XSLT возможны погрешности округления из-за перевода десятичных дробей к числам с плавающей точкой.
Объявляется так:
<xsl:stylesheet
version="1.0"
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"
xmlns:xalan="http://xml.apache.org/xalan"
xmlns:counter="bitel.billing.server.util.exslt.Counter">
........
Используется так:
<xsl:value-of select="counter:set('total', '0.0')"/> <xsl:value-of select="counter:add('total', '10.00')"/> <xsl:value-of select="counter:get('total')"/>
SQL запрос
Используется длвы выполнения произвольных выборок из базы биллинга. Пример здесь: Квитанция телефонии физ. лицам.
Объявляется расширение так:
<xsl:stylesheet
version="1.0"
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"
xmlns:xalan="http://xml.apache.org/xalan"
xmlns:sql="bitel.billing.server.util.exslt.SQLQuery">
......
Используется так:
<xsl:variable name="query" select="'SELECT id, title FROM contract'"/> <xsl:variable name="contracts" select="sql:select( $query )"/> <xsl:for-each select="$numbers/row"/> <xsl:value-of select="@id"/> <xsl:value-of select="@title"/> </xsl:for-each>
Использование произвольных методов API биллинга
Например, вызов функции: http://bgbilling.ru/v4.5/javadoc/bitel/billing/common/CommonUtils.html#maskBlank(java.lang.String,%20java.lang.String) Возможен вызов любой функции с простыми параметрами (пустой список, либо строка) из любого класса, входящего в classpath BGBillingServer.
Объявляется так:
<xsl:stylesheet
version="1.0"
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"
xmlns:xalan="http://xml.apache.org/xalan"
xmlns:utils="bitel.billing.common.CommonUtils">
......
Вызывается так:
<xsl:variable name="abon_service" select="utils:replace( '5555,44', ',', '')"/>