Date Posted: April 12, 2005
Update: November 26, 2008 Version 2.0.5 supports named parameters for IBM Data Studio 1.x.
What is XML Forms Generator?
This standards-based, data-driven Eclipse plug-in generates forms that adhere to the XForms 1.0 standard, using as a starting point either Web Service Description Language (WSDL) documents or XML instance documents having optional XML Schema backing models. The generated forms adhere to the XHTML and XForms 1.0 standards and can be viewed in popular XHTML and XForms renderers.
When generating forms from an XML instance document, the XML Forms Generator has access to the XML Schema specifications of the data domain to which the XML instance document belongs. Thus, for each data item in the instance document, the Generator automatically creates the appropriate form constructs. Those constructs include type constraints, length constraints, control types (drop-down list, text input, range), and iterative structures.
The XML Forms Generator can also generate XHTML/XForms documents from WSDL source documents. Tools are also included for the generation and testing of JSP (Java™ Server Page) response templates.
The XML Forms Generator is integrated into the Eclipse workbench, and in many cases it can generate valid, working forms with only a couple of mouse clicks.
The XML Forms Generator supports integration with IBM Data Studio 1.1. Integrated with Data Studio, XML Forms Generator can generate XHTML/XForm with data type, length, and required constraints; visualize PureXML fields in XHTML/XForm; and customize validation constraints for pureXML fields in the validation editor.
A set of animated demonstrations of the XML Forms Generator, as well as extensive documentation, is included; it is integrated into the Eclipse Help system.
The XML Forms Generator runs on Windows® and Linux® (see the Requirements section for details).
How does it work?
As an Eclipse plug-in, the XML Forms Generator provides tight integration with Eclipse and Eclipse-based products, with convenient user interface elements, including context menus, wizards, and preference pages.
XML schemas associated with XML instances provide the metadata required for the detection and generation of varying constructs, such as type constraints, length constraints, control types (drop-down list, text input, range), and iterative structures over array types.
When an instance XML document is used as the starting point for form generation, its corresponding XML Schema provides that metadata, but the instance itself determines the elements and attributes for which entry fields will be generated. Therefore, the XML instance document acts as a template, permitting a data-driven approach to form generation. With the XML Forms Generator's data-driven approach, the output generated by just a few mouse clicks is a functioning form that is ready for deployment.
When a WSDL document is used as the starting point for form generation, its properties (operations, message parts, type definitions, etc.) are analyzed; the WSDL document itself makes use of an EMF model of WSDL and XML Schema. This analysis then allows for the creation of a prototypical XML instance document that in turn ("under the covers") drives the generation of a functioning form that is ready for deployment.
When a WSDL document generated in Data Studio is used as the starting point for form generation, its corresponding SQL file is analyzed and its parameters' corresponding metadata is retrieved; for non-PureXML parameters, the metadata constraints are bound, and for PureXML fields, the reference XML instances are specified to visualize in XHTML/XForm.
The output of the XML Forms Generator conforms to the XHTML and XForms 1.0 standards. The generated forms therefore can immediately be rendered in popular XForms-capable renderers and customized in existing editors meant to work with documents adhering to those standards.
About the technology author(s)
Kevin E. Kelly, a senior technical staff member with IBM, works on software standards. Mr. Kelly has been a member of the W3C XForms Working Group and is chairman of W3C Compound Document Formats Working Group. His focus is on developing open standards-based technologies for faster, more efficient standards adoption through XML-based and model-driven approaches. Before joining IBM, Mr. Kelly spent eight years at Rational Software working on UML modeling and Java technologies.
Jan Joseph Kratky is the lead developer for the Compound XML Document Editor and XML Forms Generator. Mr. Kratky is currently a software engineer with IBM Emerging Software Standards in Research Triangle Park (RTP), N.C. He holds an M.S. from Rensselaer Polytechnic Institute and a B.A. from Cornell University. A Sun Certified Java Programmer and Sun Certified Web Component Developer, Mr. Kratky has worked with Java technolgies since 1997 and with Eclipse technologies since 2001.
Steve Speicher, a senior software engineer with IBM, works on software standards. His current focus is on making use of tools and model-driven development to improve the process of creating standards. Mr. Speicher has previously worked on software development tools in the Rational division and IBM internal tools. He holds a B.S. in computer science and applied mathematics, both from Kent State University.
Keith Wells is the technical and team lead for Xforms development in the IBM Emerging Standards in RTP, N.C. Currently, Mr. Wells is a member of the W3C Forms Working Group and is exploring opportunities with XForms, emerging software standards, industry standards, and other XML-based technologies.
Gee Chia, an advisory software engineer with IBM, currently works on emerging software standards development in RTP, N.C. Her focus is on XML Forms Generator, emerging software standards, and industry standards. Ms. Chia has previously worked on developing IBM software products.
Qiang Wang works as a staff software engineer in the China Emerging Technology Institute, China Software Development Laboratory. He concentrates on IBM Incubator projects and SOA-related topics. His interests include Java, J2EE, SOA, agile development, RUP, and project management. He is currently working on PoCs development for building SOA growth for vertical standards.
Xiaofeng Zhao is a staff software engineer in the China Emerging Technology Institute, China Software Development Laboratory. He concentrates on IBM Incubator projects. His interests include Web 2.0, SOA, J2EE, and Web technologies. He is currently working on PoCs development for building SOA standards growth for vertical standards.
