|
XSLT Преобразование. Увеличение количества элементов
|
|||
---|---|---|---|
#18+
Никак пока не въеду как написать шаблон, чтобы каждый элемент в xml увеличить на столько раз, сколько у него вложенных элементов определенных и соответственно в получившемся элементе был только один. Пример исходного элемента: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Что хочется получить: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2017, 10:57 |
|
XSLT Преобразование. Увеличение количества элементов
|
|||
---|---|---|---|
#18+
Решение "в лоб": Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2017, 11:48 |
|
XSLT Преобразование. Увеличение количества элементов
|
|||
---|---|---|---|
#18+
вот так даже покороче будет: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl=" http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" /> <xsl:template match="/"> <registry> <xsl:for-each select="/registry/group/subgroup"> <group> <xsl:apply-templates select="../Paramtest" /> <xsl:apply-templates select="." /> </group> </xsl:for-each> </registry> </xsl:template> <xsl:template match="node()|@*"> <xsl:copy> <xsl:copy-of select="@*" /> </xsl:copy> </xsl:template> </xsl:stylesheet> ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2017, 11:49 |
|
XSLT Преобразование. Увеличение количества элементов
|
|||
---|---|---|---|
#18+
извините, тэг SRC забыл^ Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2017, 11:49 |
|
XSLT Преобразование. Увеличение количества элементов
|
|||
---|---|---|---|
#18+
Спасибо, нужное направление понял ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2017, 13:57 |
|
XSLT Преобразование. Увеличение количества элементов
|
|||
---|---|---|---|
#18+
Опять затык - не хватает теоретических знаний в данном вопросе. Не могу найти: есть у меня в шаблоне <xsl:for-each select="/registry/group/subgroup">. Как мне выбрать один узел из другого места в xml, где значение атрибута соответствует текущему значению атрибута или тега: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Т.е. в xml есть справочник, а в данных используется id, а нужно выцепить имя. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 13:46 |
|
XSLT Преобразование. Увеличение количества элементов
|
|||
---|---|---|---|
#18+
Извиняюсь, сам нашел, если это не изврат: Код: xml 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 13:53 |
|
XSLT Преобразование. Увеличение количества элементов
|
|||
---|---|---|---|
#18+
Алымов Анатолий, это не изврат, правда селектор обычно сокращают до собаки, так читать проще Код: xml 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 14:49 |
|
|
start [/forum/topic.php?fid=14&fpage=6&tid=1332053]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 140ms |
0 / 0 |