Waleed K. Abdulla wrote:
>
> I agree with Dave’s comment that XRules is suitable for the .NET
> platform because there is only a .NET implementation right now.
> However, in terms of speed, I would argue that XRules is faster than
> Schematron. I haven’t done any testing, but I’m basing my opinion on
> the following:
>
> 1. Schematron also loads the whole XML document into memory (that’s
> necessary to implement XSLT transformations, which are used
> behind the scenes)
> 2. XRules doesn’t do any XSLT transformations and therefore escapes
> these resource-intensive operations. On the other hand,
> Schematron performs two XSLT transformations for each validation.
> 3. XRules provides syntax to easily select the nodes and context in
> which XPath expressions work, while in Schamtron all expressions
> are global. Therefore, you’ll notice that XRules expressions are
> consistently smaller and easier to write and read than
> Scheamtron expressions. And, expectedly, simpler expressions run
> faster.
>
> And, other than performance, XRules provides many features that are
> impossible to implement in Schematron due to it’s dependency on XSLT.
> Obviously, dynamic validation and dynamic node updates are the most
> obvious, but also XRules Properties, simpler expressions, and more
> built-in rules.
>
Yep, agree with all of these. However, how XSLT is implemented varies
from implementation to implementation. Plus, unless you implement SAXON
.NET, there is still no support for XPath 2.0, which is much improved
over XPath 1.0. Regardless, XRules is still a very good rule engine...
Now if it just worked with Java. :)
Dave