|
xslt - count(distinct) - как?
|
|||
---|---|---|---|
#18+
есть xml примерно такой структуры Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
что нужно сделать: посчитать количество узлов <server>, у которых у любого потомка есть аттрибут error со значением true в данном случае должны быть посчитаны server1 и server3 есть xslt файл с таким выражение Код: xml 1.
Однако это выражение считает все узлы, у который установлен аттрибут error='true', в результате получается count=3 откуда вопрос - как таки посчитать именно сервера, а не все узлы с аттрибутом? глубина вложенности детей, количество, наименования и т.д. могут быть совершенно произвольными и неограниченными ------------------------- There’s no silver bullet! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 14:10 |
|
xslt - count(distinct) - как?
|
|||
---|---|---|---|
#18+
Скобки не там /servers/[server//@error='true'] ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 15:37 |
|
xslt - count(distinct) - как?
|
|||
---|---|---|---|
#18+
Вернее так: /servers[server//@error='true'] ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 15:39 |
|
xslt - count(distinct) - как?
|
|||
---|---|---|---|
#18+
Еще вернее: /servers/server[*//@error='true'] ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 15:41 |
|
xslt - count(distinct) - как?
|
|||
---|---|---|---|
#18+
AntonariyСкобки не там /servers/[server//@error='true'] О, спасибо немножко не так, но направление мне стало понятным в результате получилось вот так: Код: xml 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 15:47 |
|
|
start [/forum/topic.php?fid=14&msg=37910801&tid=1332663]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
161ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 256ms |
total: | 520ms |
0 / 0 |