XForms And XPath
XForms uses XPath to address data. This is called binding.
XForms Binding
XForms uses two sections to define data: The XForms model and the XForms user
interface.
The XForms model is an XML template (instance) for the data, and the XForms
user interface is a description of the input and display of the data.
XForms uses XPath to define the connection between the two sections.
This is called binding.
XPath
XPath is a W3C standard syntax for defining parts of XML documents.
XPath uses path expressions to identify nodes in an XML document. These path
expressions look much like the expressions you see when you work with a
computer file system.
This XPath expression:
addresses the fname node in the XML document:
<person>
<fname>Hege</fname>
<lname>Refsnes</lname>
</person>
|
Learn more about XPath in our XPath tutorial
Binding Using Ref
With an XForms model instance like this:
<instance>
<person>
<name>
<fname/>
<lname/>
</name>
</person>
</instance>
|
The XForms user interface can bind <input> elements using the ref
attribute:
<input ref="name/fname">
<label>First Name</label>
</input>
<input ref="name/lname">
<label>Last Name</label>
</input>
|
The ref="name/fname" attribute in the example above is an XPath expression
pointing to the <fname> element in the instance model. This binds
the input field to the <fname>
element in the XML document (instance) that is collecting data from the form.
The XForms user interface could also use a reference like this:
<input ref="/person/name/fname">
<label>First Name</label>
</input>
<input ref="/person/name/lname">
<label>Last Name</label>
</input>
|
In the example above, the slash (/) at the beginning of the XPath expression
indicates the root of the XML document.
Binding Using Bind
With an XForms model instance like this:
<model>
<instance>
<person>
<name>
<fname/>
<lname/>
</name>
</person>
</instance>
<bind nodeset="/person/name/fname" id="firstname"/>
<bind nodeset="/person/name/lname" id="lastname"/>
</model>
|
The XForms user interface can bind <input> elements using the bind
attribute:
<input bind="firstname">
<label>First Name</label>
</input>
<input bind="lastname">
<label>Last Name</label>
</input>
|
Why two different ways to bind input control elements to instance data?
Well, when you start using XForms in complex applications, you will find
binding using bind to be a more flexible way to deal with multiple forms and
multiple instance models.
The Ektron Intranet
lets you do everything you need to do on your corporate intranet and everything you want to do... all with just one application.
What can you do with the Ektron Intranet? |

|
Navigate through content, documents, assets, colleagues and workgroups quickly and intuitively with enterprise search |

|
Communicate with friends and colleagues with forums, message boards and corporate blogging using the new Social Networking Platform |

|
Promote collaboration among coworkers in your organization through project workspaces where others can efficiently find information and work together |

|
Personalize your company profile by bookmarking and organizing favorite content, uploading assets, posting photos, blogging, and more |

|
Interact with features like tagging, flagging, wikis and ratings found in the Web 2.0 Toolbox |
 |
Author/edit content, manage navigation, menus, audit trails, workflow and approvals with the best in breed Content Management |
|
|
|
|
See why there are 20,000+ Ektron integrations worldwide. Request an
INSTANT DEMO or download a
FREE TRIAL today. |
|