Я делаю XQuery для java-кода, который генерирует файл, извлекающий данные из двух разных xml-файлов из eXistDB, но когда я генерирую выходной xml, он добавляет тег xmlns = "" на каждый дочерний элемент.
Это вывод XML, который я получаю:
<?xml version='1.0' encoding='UTF-8'?>
<produc>
<cod_prod xmlns="">1011</cod_prod>
<denominación xmlns="">Micro Intel Core i5-2320</denominación>
<precio xmlns="">120</precio>
<nombre_zona xmlns="">Madrid-CENTRO</nombre_zona>
<director xmlns="">Pedro Martín</director>
<stock xmlns="">-2</stock>
</produc>
<produc>
<cod_prod xmlns="">1019</cod_prod>
<denominación xmlns="">Memoria DDR3 G.Skill 2GB</denominación>
<precio xmlns="">10</precio>
<nombre_zona xmlns="">Madrid-CENTRO</nombre_zona>
<director xmlns="">Pedro Martín</director>
<stock xmlns="">2</stock>
</produc>
<produc>
<cod_prod xmlns="">1020</cod_prod>
<denominación xmlns="">Memoria DDR3 G.Skill 4GB</denominación>
<precio xmlns="">30</precio>
<nombre_zona xmlns="">Madrid-CENTRO</nombre_zona>
<director xmlns="">Pedro Martín</director>
<stock xmlns="">20</stock>
</produc>
Это XQuery, используемый для генерации вывода:
consulta = conn.prepareExpression("for $prod in //produc[cod_zona="+zona+"] " +
"let $nombre_zona:=//zona[cod_zona = $prod/cod_zona]/nombre " +
"let $director:=//zona[cod_zona = $prod/cod_zona]/director " +
"return" +
" <produc>" +
" <cod_prod>{data($prod/cod_prod)}</cod_prod> " +
" <denominación>{data($prod/denominacion)}</denominación> " +
" <precio>{data($prod/precio)}</precio> " +
" <nombre_zona>{data($nombre_zona)}</nombre_zona> " +
" <director>{data($director)}</director> " +
" <stock>{data($prod/stock_actual)-data($prod/stock_minimo)}</stock> " +
" </produc>"
);