Narrowing Down XML Template Expansion and Schema Validation

17 Dec 2019  ·  René Haberland ·

This work examines how much template instantiation can narrow down schema validation for XML-documents. First, instantiation and validation are formalised. Properties towards their practical meaning are probed, an implementation is developed. Requirements for an unification are elaborated and a comparison is taken out. The semantics are formulated in terms of denotational semantics as well as rule-based referring to the data models chosen. Formalisation makes it clearer instantiation is adequately represented. Both semantics show, that the rules set for both, instantiation and validation, cannot totally be unified. However, reuse of simplified code also simplifies unification. Implementation allows unification of both processes on document-level. The validity of all implementations is guaranteed by a comprehensive test suite. Analysis shows the minimal XML template language has got regular grammar properties, except macros. An explanation was given, why filters and arrows are not best, especially towards a unified language to be variable and extensive. Recommendations for future language design are provided. Instantiation shows a universal gap in applications, for instance, as seen by XSLT. Lack of expressibility of arbitrary functions in a schema is one such example, expressibility of the command language is another basic restriction. Useful unification constraints are found out to be handy, such as typing each slot. In order to obtain most flexibility out of command languages adaptations are required. An alternative to introducing constraints is the effective construction of special NFAs. Comparison criteria are introduced regarding mainly syntax and semantics. Comparisons is done accordingly. Despite its huge syntax definitions XSD was found weaker than RelaxNG or XML template language. As template language the latter is considered universal.

PDF Abstract
No code implementations yet. Submit your code now

Tasks


Datasets


  Add Datasets introduced or used in this paper

Results from the Paper


  Submit results from this paper to get state-of-the-art GitHub badges and help the community compare results to other papers.

Methods