|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
Сначала задача мне показалась довольно простой, но потом я решил обратиться к профессионалам. Исходный XML: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Результат должен быть: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Прошу обратить внимание на value3, оно в единичном виде, значит в конечном XML должно отсутствовать. Моя искренняя благодарность тому, кто сможет задачу решить одним XSLT-преобразованием. Если решение будет двумя преобразованиями, то с хорошей оптимизацией по скорости, при больших объемах данных. Я очень уважаю этот форум, поэтому просьба - не писать глупости! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2016, 18:42 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
Хочу добавить три очевидных условия 1) узел group имеет бесконечную вложенность. 2) узел subgroup только может быть только подгруппой group, но также бесконечное количество раз. 3) количество повторений всех group не ограничено. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2016, 19:09 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
а double по какому принципу проставляется? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2016, 20:32 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
@bc, маловато конкретики 1, value3 в единичном виде - это на весь документ или только на тот узел в котом оно присутствует???? а если не в единичном виде - то что тогда? value2 и value1 тоже в единичном виде, почему они должны быть в новом документе? 2, на каких условиях определяются значения атрибута double ???? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2016, 20:42 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
какая версия xslt используется? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2016, 20:44 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
Antonariy, Хороший вопрос , но все же ответ на него есть в задаче. double - повторение по всему файлу, значения [value...] . Я упомянул в задаче о value3 не случайно. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2016, 20:47 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
Фридрих, Мне бы хотелось увидеть решение на версии 1.0. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2016, 20:49 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
Фридрих, 1) XSLT 2.0 - не грех, но менее интересно будет. 2) Подчеркну еще раз, главное производительность . 3) Поблажка - можно применять бесконечное количество преобразований. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2016, 21:01 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
@bc Antonariy, Хороший вопрос , но все же ответ на него есть в задаче. double - повторение по всему файлу, значения [value...] . Я упомянул в задаче о value3 не случайно.слава б-гу других зашифрованных ребусов не видно ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2016, 21:15 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
Фридрих, Я очень рад, что заинтересовал задачкой, прошу больше комментариев, вопросов. Не стесняйтесь. Главное, чтобы комментарии и вопросы были стоящими. Будьте внимательны. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2016, 21:19 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
Antonariy@bc Antonariy, Хороший вопрос , но все же ответ на него есть в задаче. double - повторение по всему файлу, значения [value...] . Я упомянул в задаче о value3 не случайно.слава б-гу других зашифрованных ребусов не видно Шифровать не стремился. Когда продумывал формулировку, убрал избыточность описания. Случайно получился ребус. Прошу прощения. Не хотел показаться заумным. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2016, 21:24 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
это первый шаг. в результате получится список из subgroup. его нужно загнать в переменную. вторым шагом делается копия этой переменной с подсчетом количества значений и проставлением в double/ третьим шагом делается копия с исключением double=1. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2016, 23:09 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
Если Вас интересует производительность, то на любом ЯП напишите две функции по работе с ассоциативным массивом. Далее одним проходом подсчитайте количество всех value, а вторым - выведите резуьтат ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2016, 23:19 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
_Vasilisk_, Меня не интересует как определить производительность, потому что массив данных настолько огромный, что сразу видно действие. Но за участие спасибо, ваш запрос XSLT тоже бы хотелось видеть. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2016, 00:40 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
Antonariy, Хотелось бы твердых законченных решений, без советов, но с комментариями. То есть, абсолютно твердо работающее решение проблемы, от начала и до конца. Я это указывал в теме. У меня есть три решения и все они работают медленно, даже на серьезных серверах. Подчеркну, данных должно обрабатываться катастрофически много. Поэтому задача на любителя красивых решений . За участие конечно благодарю . Ваше решение мне понравилось, но это решение я уже видел. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2016, 00:53 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
Antonariy Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
это первый шаг. в результате получится список из subgroup. его нужно загнать в переменную. вторым шагом делается копия этой переменной с подсчетом количества значений и проставлением в double/ третьим шагом делается копия с исключением double=1. Никто не хочет поспорить? Мне кажется есть проблема. Хотя бы в "<subgroup>". Буду признателен, если восторжествует жесткое решение проблемы, без ляпов и неопределенностей. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2016, 01:36 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
@bcМеня не интересует как определить производительностьЯ и не писал, что Вас интересует определение производительности. Я написал, что если производительность основной критерий, то нужно смотреть в сторону написания расширений ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2016, 01:42 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
_Vasilisk_@bcМеня не интересует как определить производительностьЯ и не писал, что Вас интересует определение производительности. Я написал, что если производительность основной критерий, то нужно смотреть в сторону написания расширений Я вас понял, давайте вместе дойдем до конечного результата. Напишите ваше оптимальное решение. Каким видите его вы. А дальше попробуем оценить насколько оно подходит под реальность. Будет красивое и четкое решение проблемы. А потом вдруг и появится еще более красивое решение. Будет интересно сравнить. Если в один запрос решать, то задача громоздкая, а XSLT язык довольно гибкий. Иногда чудеса на пустом месте рождаются, против всякой логики. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2016, 01:57 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
В форуме «Работа» и с указанием количественного значения благодарности мог бы поделиться своим решением по выводу дерева с бесконечным уровнем вложения. Подсчет количества значений value и фильтрацию единичных значений добавить несложно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2016, 07:56 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
Alibek B., Так и сделаю. Правда получаются одни разговоры. Никто не предложил четкого решения. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2016, 08:08 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
@bc Antonariy, Хотелось бы твердых законченных решений, без советов, но с комментариями.а мне хотелось бы вертолет, пяток шлюх и собственный тропический остров. без советов и комментариев. что было не лень, то и набросал. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2016, 08:14 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
@bcВаше решение мне понравилось, но это решение я уже видел.значит надо было выкладывать что есть, чтобы время не терять на повторы. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2016, 08:16 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
Antonariy@bcВаше решение мне понравилось, но это решение я уже видел.значит надо было выкладывать что есть, чтобы время не терять на повторы. Проверь свое решение, это просто не то, что нужно по задаче. Тебе просто культурно дали понять, что не верно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2016, 12:09 |
|
Интересное преобразование XSLT
|
|||
---|---|---|---|
#18+
мой интерес к таким задачам заканчивается, когда я в общем и целом вижу путь решения и могу дать совет. проходить полный цикл - а нафига оно мне забесплатно надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2016, 12:23 |
|
|
start [/forum/topic.php?fid=14&fpage=6&tid=1332075]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
others: | 246ms |
total: | 408ms |
0 / 0 |