|
|
|
Объединение двух xml-файлов
|
|||
|---|---|---|---|
|
#18+
Вопрос по XML. Подскажите плиз как можно вставлять в xml-документ с DTD_1 данные из другого xml c DTD_2. Изменять DTD у main.xml нельзя. Не знаю имеет ли это значение, но DTD_2 имеет несложную структуру - пара элементов и атрибутов. main.xml: <...> <... DTD_1> <main> .... <inserthere> item with id=2 from collection.xml </inserthere> ..... <inserthere> item with id=40 from collection.xml </inserthere> .... </main> collection.xml: <...> <... DTD_2> <collection> <item id="2">aaa</item> <item id="3">bbb</item> ...... <item id="229">vvv</item> ..... </collection> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 01:24 |
|
||
|
Объединение двух xml-файлов
|
|||
|---|---|---|---|
|
#18+
Не понял на счёт DTD. Вопрос как вставлять данные или Вас беспокоит, что original DTD что не будет соответствовать структуре осле merg-а? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 02:31 |
|
||
|
Объединение двух xml-файлов
|
|||
|---|---|---|---|
|
#18+
Если DTD обоих документов отличаются, и изменять DTD#1 нельзя то тогда есть два пути решения проблемы. 1) Изменить DTD#2 таким образом чтобы он стал "вложением" в DTD#1 2) Просто преобразовать документ №2 в строку и вставить ее в значение элемента insertthere документа №1 Код: plaintext 1. 2. 3. 4. 5. или как сущность CDATA Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 10:40 |
|
||
|
Объединение двух xml-файлов
|
|||
|---|---|---|---|
|
#18+
ejikНе понял на счёт DTD. Вопрос как вставлять данные или Вас беспокоит, что original DTD что не будет соответствовать структуре осле merg-а? Последнее. main.xml должен быть valid. В принципе как вставлять данные тоже интересует. Потому, что я ожидал что это делается с использованием XSLT. 1) Изменить DTD#2 таким образом чтобы он стал "вложением" в DTD#1 Сорри, я не понял :) Как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 13:14 |
|
||
|
Объединение двух xml-файлов
|
|||
|---|---|---|---|
|
#18+
Последнее. main.xml должен быть valid. Тогда делай так, как mayton сказал, вложенный XML помещай в секцию CDATA и будет тебе valid. И ничего с DTD мудрить не надо. В принципе как вставлять данные тоже интересует. Потому, что я ожидал что это делается с использованием XSLT. JAXP пользуй, а через XSLT не знаю как можно файлы сливать, по крайней мере так, как ты хочешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 14:22 |
|
||
|
Объединение двух xml-файлов
|
|||
|---|---|---|---|
|
#18+
mergexml ejikНе понял на счёт DTD. Вопрос как вставлять данные или Вас беспокоит, что original DTD что не будет соответствовать структуре осле merg-а? Последнее. main.xml должен быть valid. В принципе как вставлять данные тоже интересует. Потому, что я ожидал что это делается с использованием XSLT. 1) Изменить DTD#2 таким образом чтобы он стал "вложением" в DTD#1 Сорри, я не понял :) Как это сделать? Опубликуй оба DTD и мы подумаем, что можно сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 14:29 |
|
||
|
Объединение двух xml-файлов
|
|||
|---|---|---|---|
|
#18+
Вот два DTD: Код: plaintext 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. Нужно вставлять некоторые элементы Item из collection.xml в элемент Insertthere в main.xml (c main.dtd). Main.dtd менять не желательно. После вставки из main.xml будет извлекаться информация (в том числе возможно и из child node of Insertthere) с помощью XQuery. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2005, 12:25 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=32942591&tid=2152871]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
138ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 406ms |

| 0 / 0 |
