BGBilling XSLT

Материал из BiTel WiKi

(Различия между версиями)
Перейти к: навигация, поиск
(Счетчик)
Строка 4: Строка 4:
== Счетчик ==
== Счетчик ==
-
Используется для корректного сложения  
+
Используется для корректного сложения дробных чисел с десятичной точкой. При использовании сложения средствами XSLT возможны погрешности округления из-за перевода десятичных дробей к числам с плавающей точкой.
 +
 
 +
Объявляется так:
 +
<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:counter="bitel.billing.server.util.exslt.Counter">
 +
........
 +
</source>
 +
 
 +
Используется так:
 +
<source lang="xml">
 +
<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')"/>
 +
</source>
== SQL запрос ==
== SQL запрос ==

Версия 11:39, 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">
 
	<xalan:component prefix="sql" functions="select">
   			 <xalan:script lang="javaclass" src="xalan://bitel.billing.server.util.exslt.SQLQuery"/>
  	</xalan:component>
  	......

Используется так:

<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>

Генерация картинки со штрих-кодом

Личные инструменты