|
To this point, we have only done record fetches on the Coffeebreak database, using a
<Record>. To search and
update the database, we need parameterized operations. These are implemented using a
<http://waterken.com/sql/lambda/Lambda>.
A <Record> is used for
navigating a database, and a
<Lambda> is used for
operating on a database.
Unlike a <Record>, a
<Lambda> gives a type to the
wrapped SQL resource. For each
<Lambda>, you must have an
associated schema. The schema defines what operation the
<Lambda> performs on the
database, and how it is invoked, by providing a
<http://waterken.com/script/Declaration>.
For example, the
<http://waterken.com/coffeebreak/GetCoffee>
resource embodies the authority to search for a
<Coffee> by name.
The first step in defining a new
<Lambda>, is creating the
corresponding
<Declaration>.
For example, the
<Declaration> for the
<GetCoffee> resource is
in the file at: www/en-US/waterken.com/coffeebreak/GetCoffee-declaration.xml. Navigate to
this file in your file manager.
The <Declaration> declares
that the <Lambda> takes one
parameter, the coffee name, and returns a
<Coffee>. Like with the
<Schema> resource editor,
seen previously, you can use the file manager to create a skeleton
<Declaration> and then fill
it out with the desired values.
To complete the definition, a new
<Schema> must be created for
the resource. The
<Schema> must have a branch
named 'declaration' with arity
<Implied>. The implied
value is the corresponding
<Declaration>.
For example, open the
<GetCoffee> schema
editor located at: www/en-US/waterken.com/coffeebreak/GetCoffee.xml. The arity of the
'declaration' branch is set to
<Implied>, and the implied
value is a link to the previously created <GetCoffee-declaration>.
The next page describes the
<Lambda> that implements
<GetCoffee>.
|