|
XSLT: Пара вопросов по иерархическим структурам
|
|||
---|---|---|---|
#18+
Есть XML произвольной вложенности; корнем является Tree, который содержит коллекцию Item. Item может содержать коллекцию Group. Group может содержать коллекцию Item. Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Для обработки применяю такой XSLT: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Почему-то первое время у меня выводился не иерархический список, а плоский (т.е. в запрос Item попадают ноды любой вложенности). Однако сейчас выводится нормально. Это был глюк? Или я неправильно обрабатываю иерархию? И второй вопрос, как проверить наличие потомков (чтобы не выводить пустой <ul>)? ________________________ Мы смотрим с оптимизмом... ...в оптический прицел. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2011, 17:21 |
|
XSLT: Пара вопросов по иерархическим структурам
|
|||
---|---|---|---|
#18+
По второму вопросу нашел функцию count(), он неактуален. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2011, 17:57 |
|
XSLT: Пара вопросов по иерархическим структурам
|
|||
---|---|---|---|
#18+
Alibek B.который содержит коллекцию ItemAlibek B. Код: xml 1.
не наталкивает ни на какие мысли? Alibek B.как проверить наличие потомков Код: xml 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2011, 18:45 |
|
XSLT: Пара вопросов по иерархическим структурам
|
|||
---|---|---|---|
#18+
1. Нет, это в процессе переноса на форум забыл заменить DeviceItem на Item. 2. test="*" ведь проверяет любых потомков? А если мне нужно учитывать только ноды с именем Item? Сейчас я использую count(Item)>0, стоит ли заменить на что-то более правильное? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2011, 19:08 |
|
XSLT: Пара вопросов по иерархическим структурам
|
|||
---|---|---|---|
#18+
Alibek B.нужно учитывать только ноды с именем Item Код: xml 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2011, 19:36 |
|
XSLT: Пара вопросов по иерархическим структурам
|
|||
---|---|---|---|
#18+
Еще один вопрос. Имеется структура: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
Из нее мне нужно получить такой список/коллекцию: item2 item3 item4 item7,item8,item9 item10,item11 item12 Другими словами, нужно получить список узлов Item, у которых state=0; список должен быть сгруппирован по родителькому Group (т.е. узлы принадлежащие одному Group выводятся через запятую). Теоретически, должен работать такой стиль: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Однако не работает. Не подскажите, где ошибка? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2011, 20:59 |
|
XSLT: Пара вопросов по иерархическим структурам
|
|||
---|---|---|---|
#18+
Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
Как-то так. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2011, 22:38 |
|
|
start [/forum/topic.php?fid=14&fpage=24&tid=1332798]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 137ms |
0 / 0 |