Article Preview
TopIntroduction
The extensible mark-up language (XML) now forms the basis of nearly all common data exchange mechanisms. Additionally it provides the underlying framework for many Internet based technologies such as Web-services and Ajax. XML has also developed into the de-facto standard and the basis for the semantic web (Lu et al., 2002). It is also often used to define meta-data in the form of manifest files within development environments such as Eclipse and Netbeans along with deployment platforms such as Android.
One of the strengths of the XML is its simplicity, flexibility and its low cost of entry. Its implicit ability to support any desired data format means it can be used within both general and bespoke applications. However there is a price to be paid for this level of flexibility, and that is the correct application of its validation framework.
XML was designed to support a validation mechanism in the form of a set of rules that govern the available tags, attributes and the structure of an XML document. These are generally referred to as XML schema languages and within the first few years of XML's appearance a number of different languages appeared. Even by the year 2000 there were at least six proposed schema definition languages (Lee & Chu, 2000). The three most common schema definition languages still prominent today are the Document Type Definition (DTD) language (Bray et al., 2008), the XML Schema Definition Language (XSD) (Fallside & Walmsley, 2004) and the Regular Language for XML Next Generation (RELAX NG) (Clark & Makoto, 2001; ISO, 2008).
Although there are a multitude of options available for the definition of the underlying schemas, the reality of the situation is that in many instances these mechanisms are not actually used. Validation of a document to its expected format is still commonly implemented into the logic of the applications, rather than by the general purpose tools which can automatically ensure a document complies with a specified definition. One of the reasons for this problem is that fully defining the validation documents, using DTD, XSD or RELAX NG, is not always a simple exercise. Additionally the textual nature of the schema definition languages means that the ability to undertake a process of design, including the opportunity to visualise and try out several ideas, is often lost. This lack of a design process has been recognised in literature and it has been argued that XML databases are often casually designed (Yu & Jagadish, 2008) and that XML schema design plays an important role in the software development process (Basci & Misra, 2009). It has also been noted that the user requirements of the applications often change and therefore the structures of the supporting XML documents change, creating the problem of XML schema evolution (Malý et al., 2011).
To help address some of these issues research work was undertaken that resulted in the design and development of a simple approach to the definition of XML schemas. This approach, currently known as Very Simple Schema Definition (VSSD) consists primarily of a graphical notation that allows the definition of an XML schema in a conceptual manner that is independent from the available schema definition languages. Having the ability to refer to and amend a graphical representation of a schema makes the process of managing schema evolution much easier. Abstracting to a graphical representation not only simplifies development but better supports the ability to hide deployment specifics. Once a model instance has been defined an appropriate set of mapping rules are automatically applied resulting in the generation of a specific schema definition language.