1 / 45

Brought to you by the letters XFE

XForms: Bringing the Power of XML to Everyone 田 Micah Dubinko Editor, XForms 1.0 http://dubinko.info/writing/xforms/. Brought to you by the letters XFE. http://dubinko.info/writing/xforms/. Introduction. “In the beginning…the earth was without form and void” --Genesis 1:1,2.

Download Presentation

Brought to you by the letters XFE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XForms: Bringing the Power of XML to Everyone田Micah Dubinko Editor, XForms 1.0http://dubinko.info/writing/xforms/

  2. Brought to you by the letters XFE http://dubinko.info/writing/xforms/

  3. Introduction “In the beginning…the earth was without form and void” --Genesis 1:1,2

  4. Long time coming • Pre-Web: Proprietary; binary formats • 1993: HTML forms • 1994–2002: Nothing new • Today: XForms & proprietary

  5. Limitations of HTML Forms • Need Script to do anything… • Validations • Calculations • Dynamic Forms • Some Assembly Required • <input value=“initial value”> • Primitive Data Representation • Name=Micah&Title=Chief+XML…

  6. Scripting Closes Doors

  7. Key Design Factors in XForms • XML In; XML Out • 80/20 • Embrace existing practice • Integration with Web Services; Tools • Leverage XPath, XML Schema, XSLT • Any Time, Any Place, Any Device

  8. Implementation Strategies • Chiba • OXF • IBM(1) • DENG • FormsPlayer • XFE • X-Smiles • Novell • Ripcord • nForms • Oracle(1) • Oracle(2) • IBM(2) • jXForms • Xero • MobiForm Server … Zero-install client … Application

  9. Example: <input ref=“q”> <label><html:img src=“images/google.jpg” alt=“Google Search:”/></label> <send ev:event=“DOMActivate”/> </input>

  10. More Quotes “What the world really needs is more love and less paperwork.” --Pearl Bailey “XML lets organizations benefit from structured, predictable documents. Thus, XML breeds forms. QED. --David Weinberger

  11. More Examples • Working Group Examples • http://www.w3.org/MarkUp/Forms/2002/Examples/ • Test Suite • http://www.w3.org/MarkUp/Forms/Test • Of course, www-forms@w3.org

  12. Benefit: Unify Client and Server Server Client XForms Processor XForms Processor • Server process for “data double check” • Client process for optimal data entry XForms Model • Less CGI hacks = better security

  13. Foundations: XPath “Nobody trips over mountains. It is the small pebble that causes you to stumble. Pass all the pebbles in your path, and you will find you have crossed the mountain.” --Traditional Proverb

  14. XForms Architecture XHTML 2.0 SVG FO SMIL ? Form Controls XForms Model XPath XForms Actions XML Schema XML Events XML

  15. XForms Instance • Based on XPath • Provides template for your data • Provides default or partially submitted data • Can be inline or referenced externally • Full support for XML Schema

  16. Binding <head> </head> <bind id=“xyz” nodeset=“memo/cc” required=“1”/> XForms Model <body> </body> <input bind=“xyz”…> <input ref=“memo/cc”…> Insert LOTR joke here

  17. Form Building Blocks • XForms lives in multiple locations within a single “containing document” <head> </head> Purpose (non-visible) XForms Model <html> </html> <body> </body> Presentation Form controls

  18. Fundaments: XML Schema “Knowledge is of two kinds. We can know a subject ourselves, or we can know where to find information on it.” --Samuel Johnson

  19. XForms Architecture XHTML 2.0 SVG FO SMIL ? Form Controls XForms Model XPath XForms Actions XML Schema XML Events XML

  20. XForms Model ARTHUR: Camelot!GALAHAD: Camelot!LANCELOT: Camelot!PATSY: It’s only a model.Arthur: Shhh! --Monty Python and the Holy Grail

  21. XForms Model • Single, device-independent XML form definition • Works with standard or proprietary user interfaces • Defines the ‘Purpose’ of the form

  22. XForms Constraints • Static (from Schema) and dynamic • Datatypes • Relevant • Required • ReadOnly • Validation • Calculation • Minimum/maximum occurrences

  23. User Interface “A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, and die gallantly. Specialization is for insects.” --Robert A. Heinlein

  24. User Interface • Describes intent, not presentation <input> <secret> <trigger> <submit> <select> <select1> Total: $300.00 <range> <upload> <output>

  25. Advanced User Interface • Grouping • Dynamic Presentation • Multiple pages • Repeating Tables

  26. Actions & Events “While we are free to choose our actions, we are not free to choose the consequences of our actions” --Stephen Covey “We are not ready for any unforeseen event that may or may not occur.” --Dan Quayle

  27. XForms Actions • Defines common set of behaviors • Based on XML Events • No JavaScript required • Message • Send • Setvalue • Setfocus • Toggle • Load

  28. modeless ephemeral modal More Examples • <message level=“ephemeral”>Please enter the number…</message> • <message level=“modeless”>Have you forgotten your password</message> • <message level=“modal”>This field is required (Street)</message>

  29. XML Events • Event-driven • modelInitialize • Focus/blur, next/previous • valueChanged • Help/hint/alert • Submit/reset • Error conditions

  30. Submit “This element encodes how, where, and what to submit.” --XForms Candidate Rec, 12 Nov 2002

  31. Data Submission Submit • XML in/XML out; or legacy format… • Including Binary data • GET, PUT, or POST • File system, HTTP, or e-mail

  32. Style “Never offend people with style when you can offend them with substance.” --Sam Brown

  33. CSS, Level 3 • New styles for form controls; basic UI • Ability to apply style to readonly, required, relevant, etc.

  34. Accessibility, Design, Troubleshooting “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies.” --C. A. R. Hoare

  35. Usability help alert hint

  36. Section 508 Accessibility • Accessible web forms for everybody • Not keyboard-centric • Events for focus, navigation • Script not required • Captions/metadata • Multimodal forms

  37. …on any Device • appearance= “full” | “compact” | “minimal” “full” (always visible) “compact” (scroll bars) “minimal” (popup)

  38. Extending XForms “Still, what an arm! and I could alter it: But all the play, the insight and the stretch—Out of me, out of me!” --Robert Browning

  39. What about InfoPath? “Do not go where the path may lead; go instead where there is no path and leave a trail.” --Ralph Waldo Emerson

  40. GFDL • Full text and graphics available under open content license • http://dubinko.info/writing/xforms/

  41. Help Make XForms Better! • Vote For XForms in Mozilla! • http://bugzilla.mozilla.org/show_bug.cgi?id=97806 • Even better: help implement XForms in Mozilla

  42. Try Out XForms • Implementations: • Novell http://www.novell.com/xforms/ • X-Smiles http://www.xsmiles.org • FormsPlayer http://www.formsplayer.com • Mozquito http://webaccess.mozquito.com • Oracle http://otn.oracle.com/tech/wireless/mobilebrowser.htm • IBM http://www.alphaworks.ibm.com/tech/xmlforms

  43. Making the Transition • Deploy XML data (Web Services) • RPC-style bad; Document-style better • Plain-old XML even better • Don’t assume browser-only access • Avoid dependence on HTML processing • Think beyond client-server • Embrace open standards

  44. For More Information… • www-forms@w3.org (subj: “Subscribe”) • http://www.w3.org/TR/xforms/ • http://www.w3.org/MarkUp/Forms • http://dubinko.info/blog/ • http://www.xml.com/ • http://dubinko.info/writing/xforms/

  45. Thank You! • Please fill out an evaluation form

More Related