Я использую сервер базы данных BaseX с приложением Node.js. Приложение позволяет пользователю вводить несколько строк в текстовое поле, разделенных разделителем. Затем эти несколько строк должны быть запрошены в файле XML для поиска узлов, имеющих одно и то же значение. Я понятия не имею, как включить внешнюю переменную splitstring
в XQuery. Вот мой код:
exports.search = function(req, res){
var string = req.body.searchBox;
string = string.toLowerCase();
var splitstring = string.split(' ');
//console.log(splitstring);
var basex = require('basex');
var log = require("../node_modules/basex/debug");
// create session
var session = new basex.Session();
basex.debug_mode = false;
// create query instance
var inputquery = 'for $node in doc("./tags.xml")/images/image return $node/source';
var query = session.query(inputquery);
query.results(log.print);
// close query instance
query.close();
// close session
session.close();
Я хочу реализовать что-то вроде этого:
var inputquery = 'for $node in doc("./tags.xml")/images/image where $node/tag=' + <one of the strings in splitstring> + ' return $node/source';
Можно ли сделать что-то подобное с помощью BaseX и XQuery?