Submitting input-form data to server

wei@sting.berkeley.edu (Pei Y. Wei)
Date: Sat, 4 Sep 93 19:31:48 -0700
From: wei@sting.berkeley.edu (Pei Y. Wei)
Message-id: <9309050231.AA06656@sting.Berkeley.EDU>
To: TONYJ@scs.slac.stanford.edu, putz@parc.xerox.com, www-talk@nxoc01.cern.ch
Subject: Submitting input-form data to server
Cc: hackers@ora.com
Status: RO
Hi--

Following up on the input forms discussion at W5, we need to define a 
standard way for browsers to transmit input forms data to a server. 

* What syntax do we choose for marking up a property list? SGML or MIME?

* What information do we return in the property list? Complete text 
  (form document + input values), or only the essential user-input values?



Consider this form, for example:

	<FORM HREF="http://pizza.com/service/order">
	<P>Your address:
	<INPUT name="address">
	<P>Sizes: 
	<UL>
	<LI><INPUT name="size" type="radio" value="large">Large
	<LI><INPUT name="size" type="radio" value="medium">Medium
	<LI><INPUT name="size" type="radio" value="small" checked>Small
	</UL>
	<P>Toppings:
	<UL>
	<LI><INPUT name="toppings" type="check" value="artichoke">Artichoke
	<LI><INPUT name="toppings" type="check" value="mushroom">Mushroom
	<LI><INPUT name="toppings" type="check" value="olive">Olive
	<LI><INPUT name="toppings" type="check" value="pastrami">Pastrami
	</UL>
	</FORM>

In what format should the input results be transmitted back to a server? 
Would it be agreeable to return only those inputs with different value
than the initial, and only one value for "radio" types? Thusly and in SGML:

	=========================
	FORM /service/order
	<INPUTS>
	<NAME>address
	<VALUE>147 Nearby st.

	<NAME>size
	<VALUE>medium

	<NAME>toppings
	<VALUE>artichoke

	<NAME>toppings
	<VALUE>olive

	<NAME>toppings
	<VALUE>pastrami

	</INPUTS>
	=========================

Or be more verbose about it. Return all input items, like this:

	=========================
	FORM /service/order
	<INPUTS>
	<NAME>address
	<VALUE>147 Nearby st.

	<NAME>size
	<VALUE>large
	<UNCHECKED>

	<NAME>size
	<VALUE>medium
	<CHECKED>

	<NAME>size
	<VALUE>small
	<UNCHECKED>

	<NAME>toppings
	<VALUE>artichoke
	<CHECKED>

	<NAME>toppings
	<VALUE>mushroom
	<UNCHECKED>

	<NAME>toppings
	<VALUE>olive
	<CHECKED>

	<NAME>toppings
	<VALUE>pastrami
	<CHECKED>

	</INPUTS>
	=========================

Or what?

Perhaps MIME would be a better wrapper instead of SGML tags? For example,
it should be easier for MIME to handle the case where the user enters 
"<VALUE>" for an input. Instead of escaping the content, MIME delimiters
are variable.

What do you think? I have input forms implemented in violaWWW, but it 
lacks a standard way of transmitting the input results back to a server.


-Pei