我有一个html表单,当我按下提交按钮时我想获取信息并使用Xquery的功能,这样一个(insert)xquery将保存在xml中。
- HTML -
<html>
<body>
<form action="insert.xq">
<span ="label">Name:</span>
<input type="text"/>
<span ="label">Telephone:</span>
<input type="text"/>
<span ="label">Website:</span>
<input type="text"/>
<span ="label">Date:</span>
<input type="text"/>
<!-- Buttons submit and reset-->
<input type="submit" value="Submit"/>
<input type="reset" value="Delete"/>
</form>
</body>
</html>
- exists-db XQUERY -
xquery version "3.1";
declare namespace exist="http://exist.sourceforge.net/NS/exist";
declare namespace xmldb="http://exist-db.org/xquery/xmldb";
declare namespace request = "http://exist-db.org/xquery/request";
update insert
<supplier id=" ">
<name> </name>
<telephone> </telephone>
<website> </website>
<date> </date>
</supplier>
into doc("suppliers.xml")//supplier
- XML -
<?xml version="1.0" encoding="UTF-8"?>
<suppliers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="validate.xsd">
<supplier id="1">
<name>Microsoft</name>
<telephone>943715587</telephone>
<website>www.microsoft.com</website>
<date>10/08/2016</date>
</supplier>
</suppliers>
抱歉我的英文。
答案 0 :(得分:0)
HTTP REST接口中的参数使用请求函数在XQuery中访问变量:
let $name := request:get-parameter("name","")
let $telephone := request:get-parameter("telephone","")
let $website := request:get-parameter("website","")
let $date := request:get-parameter("date","")
然后像在XQuery变量中那样在其余代码中使用:
update insert
<supplier id=" ">
<name>{$name}</name>
...
现在,这是一个开始。您的HTML需要输入元素上的name属性,以将它们作为参数传递给查询。在let之后需要返回,并且http请求应设置为GET。不知道你的系统,查询和文档必须对所有人开放,除非你在一些基于会话的环境中,HTML GET可以根据控制器中的某些路径找到XQuery。
这与http://path/to/myquery.xm?name=John%20Doe&telephone=123456789基本相同......您想要获取姓名和电话。