2017-05-28 3 views
0

私はHTMLフォームを持っています。送信ボタンを押すと、情報を取得してXQueryの機能を使用してxqueryをxmlに保存します。私の英語のため申し訳ありませんHTMLフォーム(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> 

--exist-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> 

。あなたは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","") 

:HTTP RESTインターフェイスで

+0

RESTインターフェイスを使用し、これらの値をパラメータとして渡します。 –

答えて

0

パラメータは、のように設定リクエスト機能を使用してXQueryで変数にアクセスされ

update insert 
    <supplier id=" "> 
     <name>{$name}</name> 
    ... 

さて、これが始まりです。 HTMLには、入力要素の名前属性がパラメータとしてクエリに渡される必要があります。戻ってきた後にリターンが必要で、httpリクエストをGETに設定する必要があります。また、セッションベースの環境にいなければ、クエリや文書をすべて開いておく必要があります.HTML GETでは、コントローラやその他のパスの一部に基づいてXQueryを見つけることができます。

これは本質的にhttp://path/to/myquery.xm?name=John%20Doe&telephone=123456789と同じです...あなたは名前と電話をつかみたいと思います。

関連する問題