An application architecture that uses XML for data storage and message passing throughout the life cycle of the data can leverage powerful data validation techniques early and often. It can identify problems with the data quickly and greatly increase the overall assurance of the correctness of that data.
XForms fits naturally into such an architecture, as it requires users to enter their data as XML. As a result, XForms provides a direct interface to the power of XML validation tools for immediate and meaningful feedback to the user about any problems in the data. Further, the use of validation components enables and encourages the reuse of these components at other points of entry into the system, or at other system boundaries.
This article sketches the uses of validation in an architecture that operates over XML data that is at least partly entered through human-computer interaction. At the data entry end, the architecture validates data produced from XForms by re-purposing Schematron validation rules for different approaches to helping the user understand problems that might exist in the data.
The article also briefly mentions an orthogonal use of the same Schematron rules for validating mappings from legacy data formats such as relational databases to a local XML schema. Multiplexing validation components for multiple uses allows a pervasive level of quality of XML content at the point of entry and retrospectively.
Born January 1977 in Cleveland, OH, Chimezie is a first-generation son of Nigerian immigrants. He moved (with his family) to Nigeria in 1980 where he was introduced to computers (and software programming) at a young age. Upon returning to the United States in 1990, his interest in Engineering and Computers eventually led him to attain a degree in Computer Engineering. As a software consultant for Fourthought Inc. from 2000 – 2002, his interest in XML related technologies was established. He currently is working for the Cleveland Clinic Foundation doing XML & RDF related research on Knowledge Management technologies for computerized patient records.
John’s CCF badge describes him as a “Systems Analyst”, and he has come to realize just how true that is. He tries to throw down as much code as possible in his job, but that code most often ends up managing information flow between system components. It just so happens that his favorite technology for encoding and forwarding information is XML.