|
Транспонирование XML файла средствами XSLT
|
|||
---|---|---|---|
#18+
Имеется XML файл вида <root> <element> <type>A</type> <value>1</value> </element> <element> <type>B</type> <value>2</value> </element> <element> <type>C</type> <value>3</value> </element> ....... </root> Необходимо с помощью XSLT трансформации преобразовать его в SQL инструкцию вида INSERT INTO <table> VALUES(1,2). Порядок элементов в XML файле произвольный. Из всех элементов XML файла в SQL инструкцию попадают, только значения элементов определенного типа, например, вида A и B или к примеру B и C. Элементы, которые должны попасть в SQL 100% процентов есть в XML файле. Значения элементов располагаются в XML инструкции в строго определенном порядке, к примеру, элемент A обязательно первый, а элемент B обязательно второй. По сути дела задача сводится к транспонированию некоторого заранее заданного подмножества XML файла. Сам страдал страдал над задачей, но решить ее не удалось. Имеет ли задача решения указанными средствами? И если имеет у кого какие есть идеи по ее решению? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2008, 21:33 |
|
Транспонирование XML файла средствами XSLT
|
|||
---|---|---|---|
#18+
Маслов Д. А.Имеется XML файл вида <root> <element> <type>A</type> <value>1</value> </element> <element> <type>B</type> <value>2</value> </element> <element> <type>C</type> <value>3</value> </element> ....... </root> Необходимо с помощью XSLT трансформации преобразовать его в SQL инструкцию вида INSERT INTO <table> VALUES(1,2). Так и не понял логики преобразования. Что такое <table> и где оно в исходном XML? Что такое VALUES (1, 2) и почему не 1, 3? Кто и когда определяет эту логику ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2008, 23:59 |
|
Транспонирование XML файла средствами XSLT
|
|||
---|---|---|---|
#18+
Логика определяется на этапе создания XSLT преобразования и в дальнейшем не изменяется. <table> - фиксированная величина не зависящая от XML файла и задающаяся на этапе создания XSLT преобразования. Попытаюсь переформулировать задачу: Имеется XML файл. Содержащий описания объектов типа A,B,C,.... . Файл ежедневно изменяется. Необходимо создать SQL инструкцию вставки в БД значений элементов типа A и C. Таблица БД table1. То есть должна получиться инструкция вида INSERT INTO table1 VALUES(<val1>,<val2>), где <val1>,<val2> - значения тэгов <value></value> для объектов типа A и C соответственно. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2008, 15:53 |
|
Транспонирование XML файла средствами XSLT
|
|||
---|---|---|---|
#18+
Тогда в чем проблема? Вот решение для типов А и В Код: plaintext 1. 2. 3. 4. 5.
С уважением, Vasilisk ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2008, 00:04 |
|
Транспонирование XML файла средствами XSLT
|
|||
---|---|---|---|
#18+
Помогло, огромное спасибо!!! Ради академического интереса, но не более того. Возможно ли решить эту же задачу с помощью <xslt:if>, <xslt:for-each> и неограниченного числа стилей и подстилей? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2008, 09:42 |
|
Транспонирование XML файла средствами XSLT
|
|||
---|---|---|---|
#18+
Ну например так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
С уважением, Vasilisk ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2008, 23:37 |
|
Транспонирование XML файла средствами XSLT
|
|||
---|---|---|---|
#18+
Огромное спасибо! Вы удовлетворили абсолютно все мои практические и академические интересы! :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2008, 08:52 |
|
|
start [/forum/topic.php?fid=14&msg=35608250&tid=1333755]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
75ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 306ms |
total: | 485ms |
0 / 0 |