Understanding XForms: AJAX, XBL & XForms.org

by Kurt Cagle

This particular series has been ongoing since late last year - not quite a book, though a very healthy chapter towards one, fortunately. When I started it, I was hoping to learn a little bit myself about XForms, as teaching a new technology is, at least for me, one of the best ways I can think of to learn one. However, along the way, I have learned quite a bit, both good and bad, about this technology, and have to admit that I see far more potential in it now than I did when first I addressed the issue in Revisiting XForms.

XForms is not perfect - there were times when I was working on things that I found XForms to be very limiting indeed, sometimes over the most trivial issues. Working on an in-progress implementation certainly didn't help with this, of course, though I will readily admit that, even unfinished, the Mozilla Firefox XForms implementation is very, very effective, something I'll say more about at the end of this article.


Asbjørn Ulsberg
2006-08-09 02:20:08
Give me a print stylesheet or something equivalent please! I need to print this! :-)
Sylvain Hellegouarch
2006-08-09 06:20:40
Kurt you type faster than I can read.

Great article and excellent news you've set up xforms.org. Even though I don't have the time for it now you can be sure I'll try to pop in soon enough.

- Sylvain

Gary Sikora
2006-08-09 06:46:05
FormFaces is a pure JavaScript solution that utilizes AJAX techniques and can be seamlessly integrated with AJAX applications. This means that XForms+HTML can be sent directly to the browser where JavaScript transcodes the XForms controls to HTML form controls and processes the binding directly within the browser - requiring zero server-side processing and zero plug-ins. FormFaces is extremely simple to use, just insert the following tag into your XForms+HTML document:

<script type="text/javascript" src="formfaces.js"></script>

The FormFaces JavaScript is compatible with browsers that implement XHTML 1.0, ECMA-262 3rd Edition, and DOM Level 2 which includes Internet Explorer, Netscape, Mozilla, FireFox, Opera, Konquerer, Safari, and NetFront. To this end, the FormFaces framework enables:

1. Cross-browser support - existing client-side browser can be used.

2. Server-side technology agnostic - the same forms can be used across disparate frameworks such as Java and .Net.

3. Offline mode - user interaction does not require server round-trips.

FormFaces also enables Web 2.0 APIs, such as Google Maps, Yahoo Traffic Alerts, Kiko Calendar, and Skype Voice Service, to be easily integrated with XForms. This Web 2.0 and XForms integration is not yet well known.

We garner your efforts to benchmark performance, compliance and utility across various XForms engines. I suspect that not only deployment configurations are significantly different across implementations, but so are server CPU load, network bandwidth, user agent load and user interaction latencies. We will participate as needed to aid in this effort.

We are certainly interested in participating in your www.xforms.org portal site and truly appreciate your collaborative efforts in bringing us all together. I believe this will not only help the XForms initiative as a whole, but will help the implementation variants to better understand deployment and performance requirements and constraints, subsequently, maturing into numerous web form use cases. We will send you an email as requested. We will put a link and description of this initiative on our www.FormFaces.com website.

Kurt Cagle
2006-08-09 11:58:50
> Give me a print stylesheet or something equivalent please! I need to print this! :-)

I'm pulling these together at the XForms.org site and should have printable versions of them there as well - check back there in a few days.

Asbjørn Ulsberg
2006-08-09 23:33:41
How about your "The Power of Free" article? I'd like to print that one as well. :-)
2006-09-13 13:57:10
Tips for Being a Successful Landlord

In today's apartment rental market there are several things that are "must do's" for becoming a successful landlord. The reason you're playing the real estate rental game is to have the check in your mailbox on the first of the month, right? Here are a few tips that can help you to achieve this with as little aggravation and frustration possible.

First and foremost is finding the right tenant to rent your apartment, house or other rental. This is the most important ingredient in the recipe. Checking the prospective tenant's credit history to make sure they are paying their bills is one of the best ways you can screen. A tenant that pays their bills on time most likely will send you their rent on time. Establish a clear system on collecting rent, handling complaints from the tenant and how you will contact them if you need to gain access to the apartment.

Secondly, get all the important terms of the tenancy in writing. You have the option to have a basic rental agreement or draw up a formal lease. Whichever you decide, the important thing is to document the terms that you and the tenant agreed to. Clarify who is paying the utilities, the rental price and any other agreements made between you and your tenant.

It's a good idea to stay on top of the repair and maintenance needs of your property. When you are notified of something that is broken or not working, repair it as soon as possible to prevent further damages. You may also lawfully enable the tenant to withhold rent, sue for injuries caused by defective conditions or move out without notice.

On a similar topic make sure you are carrying enough property and liability insurance to cover yourself in any situation. A well designed insurance program can protect your rental property from losses caused by everything from fire and storms to burglary, vandalism, and personal injury lawsuits.

I hope that this has been helpful to you. Just remember, as long as you follow these simple tips you will be on your way to a happy and fulfilling landlord future. Best of luck!

ABOUT THE AUTHOR: Eric Goldstein, associated with www.AllSpacses.com which Conveniently Connects All People with All Spaces in All Places, has been dedicated to the real estate rental market for over 8 years. He has assisted over 25,000 landlords with their renting needs. Any questions about renting apartments, houses or other rentals feel free to visit www.AllSpaces.com or email him at Eric@AllSpaces.com.

2007-01-12 12:19:05
I am running this in Firefox 2.0 with the newest XForms plugin. To make the example that used javascript to calculate angles work, I had to surround the xbl file with:

<xbl:bindings xmlns:xbl="http://www.mozilla.org/xbl">

...Kurt's stuff goes here...

2007-02-03 05:16:41
Hello Kurt,

what about xforms in relation to the openLaszlo approach? This isn't an explicit implementation, but it seems to me that it offers all the benefits of xforms.

2007-05-10 14:09:24
Relating to Asbjørns question, where can I find print stylesheet as well as other articles about ajax? Ther are very informative and easy to follow...
2007-06-15 16:02:33
I enjoyed reading this article, thanks
2007-07-14 11:11:07
Can I use AJAX on my blog. It would be such a improvement from a monotone and uniform templates that blogger uses.
2007-12-22 17:37:00
Hello, I often read your blog, it's great.
2008-01-26 17:46:23
technique usable on many different operating systems, computer architectures, and web browsers as it is based on open standards such as JavaScript and the DOM. There are free and open source implementations of suitable frameworks and libraries.