Преобразование XML с запросом xsl и БД

Я использую Java для преобразования XML-файлов с помощью класса Transformer. Я передаю файл таблицы стилей (xls) преобразователю вместе с входным файлом xml, и это дает мне преобразованный выходной файл xml.

В то же время мне также нужно запросить базу данных и вставить некоторые дополнительные данные в файл XML из базы данных, поэтому я использую JDBC и xQuery для подключения к базе данных Oracle и запроса реляционной таблицы. В ResultSet я получаю ROWS в формате XML.

Мой план состоит в том, чтобы передать эти строки Java Transformer в качестве параметра и в процессе преобразования вставить эти данные в соответствующее место. Параметр будет содержать несколько строк, и необходимо выбрать определенные строки во время преобразования для вставки. Будет ли это работать?

Я попытался привести ResultSet к XMLType, но это не удалось. Есть ли другой тип объекта, к которому я мог бы привести ResultSet и использовать его в качестве параметра для Transformer?

Я надеюсь, что это имеет смысл. Большое спасибо за ответы заранее!


person L4zl0w    schedule 05.04.2011    source источник
comment
Вы спрашиваете, какой тип данных из вашего основного языка (Java?) Ваш XSLT-процессор допускает в качестве параметра? Какой процессор XSLT вы используете?   -  person    schedule 05.04.2011
comment
Я отредактировал свой исходный вопрос. Я надеюсь, что это имеет больше смысла. Мой основной язык — Java. Я думаю, мне нужен определенный тип, который я мог бы использовать.   -  person L4zl0w    schedule 05.04.2011


Ответы (1)


Мне удалось преобразовать ResultSet в OracleResultset, а затем создать из него XMLType.

ResultSet rset = stmt.executeQuery();
OracleResultSet orset = (OracleResultSet) rset;
XMLType qRes = XMLType.createXML(orset.getOPAQUE(1));

Это поднимает другие вопросы, которые я задам отдельно.

person L4zl0w    schedule 06.04.2011