Как удалить тег xmlns = "" из результата XQuery? - PullRequest
0 голосов
/ 23 марта 2019

Я делаю 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>"
                    );
...