# xslt cookbook phần 5

## Những bộ phải được bình đẳng khi các bản sao được bỏ qua. Bạn cũng phải làm nhiều hơn so với loại bỏ phần tử đầu tiên trên bước đệ quy, bạn nên loại bỏ tất cả các phần tử có giá trị như các yếu tố đầu tiên, cũng giống như bạn làm cho các thiết lập thứ hai. | xsl call-template name vset equal-text-values xsl with-param name nodes1 select nodes1 not . nodes1 1 xsl with-param name nodes2 select nodes2 not . nodes1 1 xsl call-template xsl when xsl otherwise xsl choose xsl template Notice that we have commented out the test for unequal sizes because that test is not valid in the presence of duplicates. For example one set might have three occurrences of an element with string value foo while the other has a single element foo. These sets should be equal when duplicates are ignored. You also must do more than remove just the first element on the recursive step you should remove all elements with the same value as the first element just as you do for the second set. This will ensure that duplicates are fully accounted for on each recursive pass. These changes make all equality tests based on text value come out correct but at the cost of doing additional work on sets that are obviously unequal. These equality tests are not as general as the value-set operations produced in Recipe because they presume that the only notion of equality you care about is text-value equality. You can generalize them by reusing the same technique you used for testing membership based on a test of element equality that can be overridden by an importing stylesheet xsl template name vset equal xsl param name nodes1 select . xsl param name nodes2 select . xsl if test count nodes1 count nodes2 xsl call-template name vset equal-impl xsl with-param name nodes1 select nodes1 xsl with-param name nodes2 select nodes2 xsl call-template xsl if xsl template -- Once we know the sets have the same number of elements -- -- we only need to test that every member of the first set is -- -- a member of the second -- xsl template name vset equal- impl xsl param name nodes1 select . xsl param name nodes2 select . xsl choose xsl when test not nodes1 xsl value-of select true xsl when xsl otherwise xsl variable name test xsl apply-templates select nodes2 mode vset .

TÀI LIỆU LIÊN QUAN
31    582    32
49    702    36
99    3656    265
19    292    13
35    245    13
35    196    7
35    152    5
35    168    7
35    165    5
35    150    2
TÀI LIỆU XEM NHIỀU
13    34845    1861
3    21996    228
25    20252    3877
20    17456    1494
16    17203    2657
14    15426    2664
1    13878    450
37    13740    2842
3    11980    226
23    11227    401
TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
16    4    1    10-12-2022
19    184    2    10-12-2022
94    5    1    10-12-2022
2    123    1    10-12-2022
132    25    1    10-12-2022
10    8    1    10-12-2022
80    14    1    10-12-2022
42    29    2    10-12-2022
29    11    1    10-12-2022
4    10    1    10-12-2022
7    10    1    10-12-2022
55    22    1    10-12-2022
43    14    3    10-12-2022
13    9    1    10-12-2022
28    9    2    10-12-2022
25    3    1    10-12-2022
11    151    1    10-12-2022
144    1    1    10-12-2022
223    4    1    10-12-2022
81    6    1    10-12-2022
TÀI LIỆU HOT
3    21996    228
13    34845    1861
3    1813    77
580    3860    352
584    2141    88
62    4911    1
171    4292    642
2    2010    74
51    2818    158
53    3721    180
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.