# xslt cookbook phần 2

## có thể được thiết kế dễ dàng. Nếu nó không phải là kiểm chứng, nó không phải là một yêu cầu. Suzanne Robertson nói, bằng ngôn ngữ hơi khác nhau về "phù hợp với tiêu chuẩn" - một giải pháp phù hợp với yêu cầu: thiết kế hệ thống có thể sử dụng các tiêu chuẩn để đáp ứng | Computing Sums and Products Problem You need to sum or multiply functions of numbers contained in a node set. Solution The abstract form of sum for processors that support tail-recursive optimization is as follows xsl template name math sum -- Initialize nodes to empty node set -- xsl param name nodes select . xsl param name result select 0 xsl choose xsl when test not nodes xsl value-of select result xsl when xsl otherwise -- call or apply template that will determine value of node unless the node is literally the value to be summed -- xsl variable name value xsl call-template name some-function -of- a-node xsl with-param name node select nodes 1 xsl call-template xsl variable -- recurse to sum rest -- xsl call- template name math sum xsl with-param name nodes select nodes position 1 xsl with-param name result select result value xsl call -template xsl otherwise xsl choose xsl template Two techniques can handle a large number of nodes in the absence of tail-recursive optimization. The first is commonly called divide and conquer. The idea behind this technique is to reduce the amount of work by at least a factor of two on each recursive step xsl template name math sum-dvc xsl param name nodes select . xsl param name result select 0 xsl param name dvc-threshold select 100 xsl choose xsl when test count nodes lt dvc-threshold xsl call-template name math sum xsl with-param name nodes select nodes xsl with-param name result select result xsl call-template xsl when xsl otherwise xsl variable name half select floor count nodes div 2 xsl variable name sum1 xsl call-template name math sum-dvc xsl with-param name nodes select nodes position lt half xsl with-param name result select result xsl with-param name dvc-threshold select dvc-threshold xsl call-template xsl variable xsl call-template name math sum-dvc xsl with-param name nodes select nodes position half xsl with-param name result select sum1 xsl with-param name dvc-threshold select dvc-threshold xsl .

TÀI LIỆU LIÊN QUAN
31    273    20
49    306    19
99    2086    185
19    137    7
35    137    7
35    103    4
35    85    2
35    89    4
35    94    2
35    76    1
TÀI LIỆU XEM NHIỀU
13    18275    634
25    11519    2490
3    10700    93
20    10645    1091
37    10083    2579
14    9254    1917
8    8159    1667
23    7283    269
2    7130    134
17    7020    181
TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
57    8    1    30-07-2021
20    2    1    30-07-2021
71    16    1    30-07-2021
94    6    1    30-07-2021
137    11    2    30-07-2021
4    8    1    30-07-2021
7    15    1    30-07-2021
101    2    1    30-07-2021
67    5    1    30-07-2021
92    6    1    30-07-2021
20    7    1    30-07-2021
56    3    1    30-07-2021
5    7    0    30-07-2021
90    11    1    30-07-2021
103    5    1    30-07-2021
92    8    1    30-07-2021
10    11    1    30-07-2021
11    5    1    30-07-2021
18    2    1    30-07-2021
138    15    1    30-07-2021
TÀI LIỆU HOT
3    10700    93
13    18275    634
3    866    71
580    2887    282
584    1431    57
62    3154    1
171    2802    500
2    1205    64
51    1511    91
53    2040    84