So do you know if anyone has implemented any optimizations using @as?
I appreciate that @as can be valuable for software engineering reasons: clarity and strict typechecking of course. Good things.
For Schematron I am still not sure whether it would be better to have
<sch:rule context="person">
<sch:let name="payrate" value="//rate[$for = "" as="xs:number"/>
or
<sch:rule context="person">
<sch:let name="payrate" value="//rate[$for = "" />
<sch:assert tes"number(payrate)" >The payrate should be a number</sch:assert>
I mean, if xslt:variable/@as is not used for any significant optimizations, then isn't it just an assertion about type in which case the appropriate markup is should be an explicit assertion, not a type statement.
Cheers
Rick