From: Jean-Marc V. <jm...@us...> - 2004-08-28 14:26:20
|
Update of /cvsroot/exist/eXist-1.0/webapp/xquery In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14359 Added Files: hello.xq hello-plural-db.xq hello-plural.xq Log Message: iexamples of plain dynamic Web pages with XQuery and eXist extensions --- NEW FILE: hello.xq --- xquery version "1.0"; (: How to do plain dynamic Web pages with XQuery and eXist extensions :) declare namespace request="http://exist-db.org/xquery/request"; let $name := request:request-parameter("name", " you") return <html> <form method="GET"> Please enter your name: <input type="text" size="40" name="name" /> <input type="submit" /> </form> Hello { $name } ! </html> --- NEW FILE: hello-plural.xq --- xquery version "1.0"; declare namespace request="http://exist-db.org/xquery/request"; let $name := request:request-parameter("name", "") let $names := ( request:get-session-attribute("names"), $name ) let $dummy := request:set-session-attribute("names", $names) return <html> <form method="GET"> Please enter your name: <input type="text" size="40" name="name" /> <input type="submit" /> </form> Hello { $names } ! </html> --- NEW FILE: hello-plural-db.xq --- xquery version "1.0"; declare namespace request="http://exist-db.org/xquery/request"; declare namespace xmldb="http://exist-db.org/xquery/xmldb"; let $name := request:request-parameter("name", "") (: The first time store the document holding he names :) let $collection := xmldb:collection("xmldb:exist:///db", "guest", "guest") let $dummy := if ( not ( doc( "names.xml" )) ) then xmldb:store($collection, "names.xml", <names/> ) else <dummy/> (: Create an XUpdate document :) let $xupdate := <xupdate:modifications version="1.0" xmlns:xupdate="http://www.xmldb.org/xupdate" > <xupdate:append select=" doc( 'names.xml' )/names"> <xupdate:element name="name">{$name}</xupdate:element> </xupdate:append> </xupdate:modifications> let $dummy2 := if ( not ( doc( "names.xml" )/names/name = $name) ) then xmldb:update($collection, $xupdate) else <dummy/> let $names-from-db := doc( "/db/names.xml" ) let $names := $names-from-db return <html> <form method="GET"> Please enter your name: <input type="text" size="40" name="name" /> <input type="submit" /> </form> Hello { $names } ! </html> |