Design and Implementation of Highly Modular Schemas for XML: Customization of RuleML in Relax NG
We present a re-conceptualization and re-engineering of the non-SWSL portion of the Derivation Rules subfamily of RuleML in the Relax NG Compact (RNC) schema syntax. The benefits arising from RNC schemas include decreased positional sensitivity and greater flexibility in modularization (from fine-grained modular to monolithic), as well as unification of human-readable (“Content Models”) and machine-readable (XSD/XML) versions. We introduce a Relax NG schema design pattern, enforced by RNC meta-schemas, that guarantees monotonicity (grammatical extension implies syntactic containment) when any of a large number of small expansion modules are merged. The original fifteen Derivation RuleML sublanguages are thus embedded in a syntactic lattice with hundreds of thousands of languages with semantics inherited from the top language. The original RuleML sublanguages are available through links, and customized languages are available through a GUI web-app. The GUI serves as the front end to a PHP-specified parameterized schema that takes a selection of customization options and returns a schema driver file. These options are encoded to facilitate determination of syntactic containment between any pair of languages. As in earlier (Derivation) RuleML language hierarchies, (logical) expressivity forms the backbone of the language lattice. The (parameterized) RNC schema serves as a pivot format from which XSD schemas, statistically-random XML test instances, monolithic simplified RNC content models, and HTML documentation are automatically generated. The RNC-based re-engineering of Derivation RuleML has already led to the discovery and patching of errata in RuleML versions 0.91 and 1.0, as well as to suggested enhancements of version 1.0 and a newly conceived version 1.1. The specifications of the RNC-based RuleML schemas are maintained at http://wiki.ruleml.org/index.php/Relax_NG .
KeywordsParameterized Schema Atomic Formula Expansion Module Hasse Diagram Language Lattice
Unable to display preview. Download preview PDF.
- [BM04]Biron, P.V., Malhotra, A.: XML Schema Part 2: Datatypes, 2nd edn. W3C Recommendation, W3C (October 2004), http://www.w3.org/TR/xmlschema-2/
- [Bol11]Boley, H.: A RIF-Style Semantics for RuleML-Integrated Positional-Slotted, Object-Applicative Rules. In: Pasche, A. (ed.) RuleML 2011 - Europe. LNCS, vol. 6826, pp. 194–211. Springer, Heidelberg (2011)Google Scholar
- [DPSS06]Damasio, C.V., Pan, J.Z., Stoilos, G., Straccia, U.: An approach to representing uncertainty rules in ruleml. In: Proc. of the 2nd International Conference of Rules and Rule Markup Languages for the Semantic Web, RuleML 2006 (2006)Google Scholar
- [GK10]Grosso, P., Kosek, J.: Associating schemas with xml documents 1.0, 1st edn. (2010), http://www.w3.org/TR/xml-model
- [IG09]Ishikawa, M., Gylling, M.: XHTML 2.0 RELAX NG Definition (2009), http://www.w3.org/TR/xhtml2/xhtml20_relax.html#a_xhtml20_relaxng
- [ISO08]ISO. ISO/IEC 19757-2: Document Schema Definition Language (DSDL) Part 2: Regular-grammar-based validation - RELAX NG (2008), http://standards.iso.org/ittf/PubliclyAvailableStandards/c052348_ISO_IEC_19757-2_2008E.zip
- [Mur98]Murata, M.: Hedge automata: a formal model for xml schemata (1998), http://www.horobi.com/Projects/RELAX/Archive/hedge_nice.html
- [Mur11]Murata, M.: Re: Theory question: sub-grammars and sub-languages (2011), http://tech.groups.yahoo.com/group/rng-users/message/1345
- [Nat]Nation, J.B.: Notes on lattice theory, http://www.math.hawaii.edu/~jb/lat1-6.pdf
- [TBMM04]Thompson, H.S., Beech, D., Maloney, M., Mendelsohn, N.: XML Schema Part 1: Structures. World Wide Web Consortium (2004), http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/
- [Vli03]van der Vlist, E.: Relax Ng. O’Reilly (2003)Google Scholar
- [W3C98]W3C. Guide to the W3C XML Specification (”XMLspec”) DTD, Version 2.1. World Wide Web Consortium (1998), http://www.w3.org/XML/1998/06/xmlspec-report.htm