|
XSLT. Преобразование XML-XML с учетом отношения один-ко-многим.
|
|||
---|---|---|---|
#18+
Ок. Чуть позже. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2019, 16:15 |
|
XSLT. Преобразование XML-XML с учетом отношения один-ко-многим.
|
|||
---|---|---|---|
#18+
Благодарю за понимание. Сегодня чуть позже все подробно объясню. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2019, 16:31 |
|
XSLT. Преобразование XML-XML с учетом отношения один-ко-многим.
|
|||
---|---|---|---|
#18+
_Vasilisk_, _Vasilisk_, _Vasilisk_Да. Если я пойму, что вам нужно. Сейчас я не понимаю. Вообще Ок. Не вопрос. Смотрим на xml-источник. Структура не логичная, но в ней можно разобраться. В нашем конкретном случае в теге <art> содержится структура изделия "Комплекс 1". 1. Принцип построения иерархии: "Комплекс 1" состоит из "Запчасть 1" и "Запчасть 2", т.е. является им родительским объектом. Справедливо и обратное - "Запчасть 1" и "Запчасть 2" входят в "Комплекс 1", т.е. являются дочерними объектами. 2. Первый элемент <relation>. Первый элемент - Код: xml 1.
задает ссылку на технические параметры главного элемента "Комплекс 1", а именно: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9.
Дальше все интересней. 3. Элемент <occurrence>. Служит для хранения ссылки @ref на элементы <item>, которые в свою очередь содержат ссылки на технические параметры "Запчасти 1" и "Запчасти 2", а именно <form_4> и <form_5>. 4. Элемент <occurrence>/<relation> Хранит ссылки на form_2 и form_3. Эти элементы хранят информацию о связях. У каждого элемента иерархии есть тег <VART_ID>, который является уникальным ключом. В <form_2> и <form_3> есть параметр: Код: xml 1.
@value которого совпадает с <VART_ID> родительского элемента. Т.е. <VART_ID> "Комплекс_1" будет равен formattribute[@name='Идентификатор родительского объекта']/@value" у <form_2> и <form_3>. 5. Итог <form_2> и <form_3> хранят информацию о связях элементов в сборке, поэтому они нам нужны только когда будет работать XSL. В итоговом XML они не нужны. Мы просто берем файл-источник и преобразовываем его структуру в логичную и понятную. В примере итогового xml: Код: 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.
те же самые данные но в более понятном виде. Смотрим на Part/ImportID=form_1. VART_ID= 102532 . Он будет равен <ParentID> для Part/ImportID=form_4 и Part/ImportID=form_5. Просто и понятно. 6. Для чего все это? ERP-система, в которую мне необходимо залить данные, не понимает мудреный формат исходного XML. Надеюсь, что понятно рассказал =) Жду вопросов! Можно вот сюда: oleg071984@gmail.com. В этом случае я смогу отвечать сразу же. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2019, 22:20 |
|
|
start [/forum/topic.php?fid=14&gotonew=1&tid=1331930]: |
0ms |
get settings: |
26ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
94ms |
get topic data: |
11ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
132ms |
get tp. blocked users: |
1ms |
others: | 328ms |
total: | 626ms |
0 / 0 |