CS 6999 Semantic Web Techniques |
|
Project 4: Mapping RuleML Transformation Rules to Standard ML |
|
|
|
A
transformation-rule extension is in the RuleML 0.81 prerelease: http://www.dfki.uni-kl.de/ruleml/dtd/0.81/.
Contained here are instructive transformation-rule examples: http://www.dfki.de/ruleml/exa/0.81/
. Also consider the functional language (Standard) ML, e.g. by looking at
"A Gentle Introduction to ML" (http://www.dcs.napier.ac.uk/course-notes/sml/manual.html
). Write an XSLT translator that maps arithmetic RuleML transformation rules
over the integers to a (small) subset of Standard ML. The type declarations
in Standard ML can therefore constantly use the 'int' type. This should
handle arithmetic nestings such as RuleML's markup for +(*(X,X),*(2,X,Y),*(Y,Y)) and function definitions
such as the markup for f(X,Y) = +(*(X,X),*(2,X,Y),*(Y,Y)). Since Standard ML uses an
ASCII (not: XML) syntax, this XSLT translator maps from XML to ASCII. Test
your translator with examples inspired by the above exa/0.81/, selecting those
where integers can be used as the only argument types. Document your
translator via the selected examples and discuss how one could proceed to
further data types. |
|
|
|
|
Maintained by Bruce Spencer