Ваш вопрос сочетает в себе различные точки, которые должны быть обработаны отдельно. Если я правильно понимаю, вы хотите отобразить результат запроса в веб-браузере и хотите манипулировать DOM страницы результатов после, она была создана при взаимодействии с пользователем. Первая часть (отображение в браузере) isn't the problem, я думаю.
Поскольку браузер просто отображает результат запроса, который сериализуется в файл (точно так же, как это делает простой текстовый редактор), в основном нет никакого «контакта» или «связи» между браузером и движком XQuery, -оценка любого взаимодействия с пользователем. Итак, ваш вопрос в основном задает вопрос о том, как создать такой способ переоценки XQuery на основе настраиваемого параметра.
В документации eXist-db имеется интересный, но простой пример: number-guessing game, для которого требуется оценка входа пользователя на стороне сервера и изменение содержимого страницы для каждой догадки. Он полностью реализован в XQuery, используя обработку сеанса eXist-dbs и возможности XQuery Servlet.
Непросто адаптировать пример угадывания чисел к вашим потребностям. Вам даже не нужно отслеживать количество догадок, поэтому не требуется создавать сеанс на сервере. Достаточно послать выбранный элемент id
с запросом (как показывает пример с угаданным номером, используя обычную HTML-форму) и оценить это свойство запроса с помощью функции XQuery. В этом примере функция local:guess
отвечает за эту задачу, и она также создает соответствующий HTML-вывод.
Такое решение зависит от возможностей движка XQuery. Возможно, «автономное» решение будет возможно с помощью Javascript, но это, похоже, выходит за рамки вопроса.
Я новичок в программировании и из того, что мог сказать, мне нужно будет использовать eXist для этого, которого я не могу сделать. –
Спасибо за это. Я новичок в программировании и из того, что я могу сказать, мне нужно будет использовать eXist для создания сеанса (но, к сожалению, не использовать eXist, поскольку мне нужно отправить файл кому-то еще, чтобы посмотреть). Javascript может быть вариантом, но я не знаком с ним. Можете ли вы использовать Javascript для Saxon для тестирования? Если вы используете Javascript, вы бы предложили использовать что-то вроде обработчика событий или сеанса страницы или ...? –
Javascript будет «запускать» событие, в зависимости от макета страницы результатов. XQuery Wikibook имеет [пример для поиска на основе Javascript] (http://en.wikibooks.org/wiki/XQuery/Employee_Search), где XQuery используется для обработки запроса на стороне сервера. Таким образом, для этого решения требуется компонент на стороне сервера. Для ** автономного решения ** («[Одностраничное приложение] (http://en.wikipedia.org/wiki/Single-page_application)»?), Вам нужно будет включить исходные данные на страницу результатов, например используя JSON. Но я думаю, что было бы лучше сформулировать новый вопрос по этому вопросу. – tohuwawohu