XForms Model
The XForms model defines a template for the data to be
collected in a form.
The XForms Framework
The purpose of an HTML form is to collect data. XForms has the
same purpose.
With XForms, input data is described in two different parts:
- The XForm model (to describe the data and the logic)
- The XForm user interface (to display and input the data)
The XForms model defines what the form is, what data it contains, and what it
should do.
The XForms user interface defines the input fields and how
they should be displayed.
The XForms Model
The XForms model is used to describe the data.
The data model is an instance (a template) of an XML document.
The XForms model defines a data model inside a <model> element:
<model>
<instance>
<person>
<fname/>
<lname/>
</person>
</instance>
<submission id="form1"
action="submit.asp"
method="get"/>
</model>
|
From the example above, you can see that the XForms model uses an <instance> element to define
the XML template for data to be collected, and a <submission> element to describe how to
submit the data.
The XForms model does not say anything about the visual part of the form (the
user interface).
XForms Namespace
If you are missing the XForms namespace in these examples, or if you don't
know what a namespace is, it will be
introduced in the next chapter.
The <instance> Element
The XForms model uses an <instance> element to define
the data to be collected.
XForms is always collecting data for an XML document. The <instance> element
in the XForms model defines the XML document.
In the example above the "data instance" (the XML document) the form is collecting data for looks
like this:
<person>
<fname/>
<lname/>
</person>
|
After collecting the data, the XML document might look like this:
<person>
<fname>John</fname>
<lname>Smith</lname>
</person>
|
The <submission> Element
The XForms model uses a <submission> element to describe how to
submit the data.
The <submission> element defines a form and how
it should be submitted. In the example above, the id="form1"
attribute
identifies the form, the action="submit.asp" attribute defines the URL to where the
form should be submitted, and the method="get" attribute defines the method to use when
submitting the data.
The XForms User Interface
The XForms user interface is used to display and input the
data.
The user interface elements of XForms are called controls (or input
controls):
<input ref="fname"><label>First Name</label></input>
<input ref="lname"><label>Last Name</label></input>
<submit submission="form1"><label>Submit</label></submit>
|
In the example above the two <input> elements define two input
fields. The ref="fname" and ref="lname" attributes point to the <fname> and <lname>
elements in the XForms model.
The <submit> element has a submission="form1" attribute which
refers to the <submission> element in the XForms model. A submit element is
usually displayed as a button.
Notice the <label> elements in the example. With XForms every input
control element has a required <label> element.
You'll Need A Container
XForms is not designed to work alone. There is no such thing as an XForms
document.
XForms has to run inside another XML document. It could run inside XHTML 1.0,
and it will run inside XHTML 2.0.
All Together Now
If we put it all together the document will look
like this:
<xforms>
<model>
<instance>
<person>
<fname/>
<lname/>
</person>
</instance>
<submission id="form1"
action="submit.asp"
method="get"/>
</model>
<input ref="fname"><label>First Name</label></input>
<input ref="lname"><label>Last Name</label></input>
<submit submission="form1"><label>Submit</label></submit>
</xforms>
|
And the page will display pretty much like this:
The XForms Processor
An XForms Processor built into the browser will be responsible for
submitting the XForms data to a target.
The data can be submitted as XML and could look something like this:
<person>
<fname>Hege</fname>
<lname>Refsnes</lname>
</person>
|
Or it can be submitted as text, looking something like this:
The Altova MissionKit is a suite of intelligent XML tools, including:
XMLSpy® – industry-leading XML editor
- Support for all XML-based technologies
- Graphical editing views, powerful debuggers, code generation, & more
MapForce® – graphical data mapping tool
- Drag-and-drop data conversion with code generation
- Support for XML, DBs, EDI, Excel® 2007, text, Web services
StyleVision® – visual stylesheet designer
- Drag-and-drop stylesheet design for XML & databases
- Output to HTML, PDF, RTF, Word 2007, & more
And more…
Try before you buy with a free fully functional 30-day trial
Download today
|
|
Get Your Diploma!
W3Schools' Online Certification Program is the perfect solution for busy
professionals who need to balance work, family, and career building.
The HTML Certificate is for developers who want to document their knowledge of HTML, XHTML, and CSS.
The JavaScript Certificate is for developers who want to document their knowledge of JavaScript and the HTML DOM.
The XML Certificate is for developers who want to document their knowledge of XML, XML DOM and XSLT.
The ASP Certificate is for developers who want to document their knowledge of ASP, SQL, and ADO.
The PHP Certificate is for developers who want to document their knowledge of PHP and SQL (MySQL).
|
|