<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
Hello,<br>
<br>
there is an issue regarding specifying datatypes. Consider this CTM
document<tt><br>
</tt>
<blockquote><tt>somerule<br>
&nbsp; isa rule<br>
&nbsp; match: "\\d+"^^regexp:perlre<br>
&nbsp; action: "foobar"<br>
  <br>
foo<br>
&nbsp; isa object-relational-mapping<br>
&nbsp; query: "SELECT * FROM sometable"^^sql:query</tt><br>
</blockquote>
It would be nice to make this compressible to<br>
<blockquote><tt>somerule<br>
&nbsp; rule(</tt><tt>"\\d+","foobar")</tt><br>
  <tt></tt><br>
  <tt>foo<br>
&nbsp; mapping(</tt><tt>"SELECT * FROM sometable")</tt><br>
  <tt></tt></blockquote>
However, this is not possible currently, because there is no way for
the CTM template to set the datatype. Thus, a user would have to write<br>
<blockquote><tt>somerule</tt><br>
  <tt>&nbsp; rule(</tt><tt>"\\d+"</tt><tt>^^regexp:perlre</tt><tt>,"foobar")</tt><br>
  <br>
  <tt>foo</tt><br>
  <tt>&nbsp; mapping(</tt><tt>"SELECT * FROM sometable"</tt><tt>^^sql:query</tt><tt>)</tt></blockquote>
which is quite ugly and also tedious (thus, not really compact as a
"compact syntax" would suggest). This hampers the usage of datatypes at
all. People will model things just as "xsd:string"s, while these things
should have a different datatype, just because expressing "xsd:string"
is easier (e.g. you can omit the "^^xsd:string" part).<br>
<br>
Thus, we need syntax for defining (or changing) the datatype of a
literal within templates.<br>
<br>
ciao,<br>
Xu&acirc;n.<br>
<br>
</body>
</html>