Mozilla's XUL is not like HTML.
XUL is itself the toolkit that makes Mozilla,
the browser. Your preferences windows is made of XUL.
Your bookmarks editor is made of XUL.
XUL doesn't 'send forms'. Commonly XUL is
used to view (and navigate) through data; if
a widget is used to change data, it is often changed in a
backend store (eg: a local rdf preferences file or an inmemory-datasource)
through javascript. It wasn't designed to be run online, 'remote',
it was designed to run locally, on your harddisk, like a real application.
Like thunderbird or firefox run.
If you do run it 'remote', you may need a lot of privileges
that are only available to signed scripts and after a user
has granted permissions. Some functions however, like the
good old XMLHttpRequest, are available without restrictions.
That allows you to use HTTP to communicate between your application
and a server. Read more here:
http://www.xulplanet.com/tutorials/xulqa/q_submit.html.
Still you are more likely to post SOAP requests or RDF data then
a 'form' from XUL. XUL doesn't think in terms of CGI (name/value pairs)
when it comes to it's interface. For example, how would you
translate a nested foldout menu with checkable entries to CGI ?
This project extends the definitions of some of the XUL
elements, making it possible to interpret them as
one or more name/value/label triplets.
FormButton is an addon that translates multiple FormWidgets into
a CGI querystring and send that through HTTP, much like a submitbutton
on a form. And as you can see in the testsuites, it can be run
'remote','online'.
WidgetTree is an addon that allows you to edit the contents
of a treecell by doubleclicking on it. It only works for
contenttrees.