Saahil Gupta
Saahil Gupta

Reputation: 209

Pass a value from HTML page to xquery

I am trying to delete a database by passing database name from a HTML page. Code is as follows:

HTML page:

<html>
  <body background="db.jpg">
    <form action="/database-delete" method="post">
      <div>
        <label for="database name">enter database name to delete:</label>
        <input type="text" id="database name" />
      </div>


    <form name="test" action="deleteDB.xqy?uid={xdmp:random()}" method="post"
          enctype="multipart/form-data">

      <p><input type="submit" value="Delete a database"/></p>
    </form>
  </body>
</html>

and XQuery is:

xquery version "1.0-ml";
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy";

declare variable $dbname as xs:string external;
let $config := admin:get-configuration()
let $result:= admin:database-exists($config, $dbname)
return
  if ($result) then
    (:--:)
    ( 
      "database deleted successfully",
      admin:save-configuration(
        admin:database-delete($config, admin:database-get-id($config,$dbname)))
    )
  else (
    "No such database exists..Please enter a valid input"
  )

But I am not able to do it. Please help me out. Thanks in advance....

Upvotes: 1

Views: 319

Answers (1)

Dave Cassel
Dave Cassel

Reputation: 8422

To get a form value that was passed to MarkLogic, call xdmp:get-request-field().

Upvotes: 4

Related Questions