forum.bitel.ru http://forum.bitel.ru/ |
|
Указание групп в xml веб-статистики http://forum.bitel.ru/viewtopic.php?f=22&t=3916 |
Страница 1 из 1 |
Автор: | Cromeshnic [ 19 апр 2010, 13:41 ] |
Заголовок сообщения: | Указание групп в xml веб-статистики |
Сейчас в параметре /data/contract_data/contract/@gr хранится long число - битовая маска групп договора. Но использовать её средствами одного только xsl нельзя, т.к. в нем отсутствуют побитовые операции. Может быть есть смысл добавить параметр, скажем bingr, содержащий маску в бинарном представлении, чтобы можно было проверить наличие группы через substring(@bingr,20,1)=1 ? |
Автор: | dimOn [ 19 апр 2010, 15:24 ] |
Заголовок сообщения: | Re: Указание групп в xml веб-статистики |
почему отсутствуют то? |
Автор: | snark [ 19 апр 2010, 15:27 ] |
Заголовок сообщения: | Re: Указание групп в xml веб-статистики |
тут Код: <xsl:template name="power">
<xsl:param name="x"/> <xsl:param name="n"/> <xsl:choose> <xsl:when test="$n = 0">1</xsl:when> <xsl:when test="$n = 1"> <xsl:value-of select="$x"/> </xsl:when> <xsl:otherwise> <xsl:variable name="pow-1"> <xsl:call-template name="power"> <xsl:with-param name="x" select="$x"/> <xsl:with-param name="n" select="$n - 1"/> </xsl:call-template> </xsl:variable> <xsl:value-of select="$x * $pow-1"/> </xsl:otherwise> </xsl:choose> </xsl:template> |
Автор: | dimOn [ 19 апр 2010, 15:29 ] |
Заголовок сообщения: | Re: Указание групп в xml веб-статистики |
а причём тут степень?)) я немного затупил с сутью вопроса, да, напрямую побитово нельзя.... |
Автор: | Cromeshnic [ 19 апр 2010, 15:37 ] |
Заголовок сообщения: | Re: Указание групп в xml веб-статистики |
Так может добавить? ![]() 2snark Ну, возведу я в степень, а "bitwise and" всё равно не сделаешь. Можно конечно через xmlns:sql="bitel.billing.server.util.exslt.SQLQuery дергать запросом, но некрасиво ведь. |
Автор: | snark [ 19 апр 2010, 16:04 ] |
Заголовок сообщения: | Re: Указание групп в xml веб-статистики |
Цитата: (xslt) support the arithmetic operations "div" and "mod" that you can use to simulate bitwise calculations. For example, to extract the low-order bit from x you could use "x mod 2", and to extract the bit to the left of that you could use "floor(x div 2) mod 2" and like that. первая ссылка в гугле Код: http://google.com/search?q=xsl+bitwise+operations тут еще есть немного инфы |
Автор: | Cromeshnic [ 20 апр 2010, 09:16 ] |
Заголовок сообщения: | Re: Указание групп в xml веб-статистики |
Упс, плохо искал. Бтв, решение: Код: <xsl:if test="floor(/data/contract_data/contract/@gr div 4194304) mod 2 = 1"> - для проверки наличия группы 22 (2^22 = 4194304) |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |