[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XRules: Mind your own business rules
>> -----Original Message----- >> From: Mark Seaborne [mailto:mseaborne@o...] > >> I would concur with Roland Merrick on this issue. The XForms model has >> great >> potential as a way of defining distributable business rule sets (whether >> or >> not you need a form). > > I started reviewing ver 1.1 of the specs after Roland's comments. It's my > feeling that a language to express business rules deserves to be a first > class citizen in the standards world. If the XForms workgroup considers > expanding on their dynamic model (add rule grouping mechanisms, > context-sensitive embedding in XSD, standardized error reporting ...etc) and > branching out the effort into a separate standard that works equally well > with XForms and with other standards, then that would be something > wonderful. How about it W3C? It is certainly the intention of the XForms WG that the pieces of XForms that are generally useful elsewhere, should be easy to adopt and adapt. For example, we are currently looking at how Chapter 11 of XForms 1.0, dealing with submission, can be broken out into its own spec. so that it can be used independently of XForms. It certainly has been mooted in the past that the XForms model is another thing of use outside the world of "traditional" forms. If you have further use cases and requirements of the XForms model I would encourage you to submit them to the XForms WG. As to grouping, well, an XForms model is a named grouping of rules, and it is possible to nest rules within a model (though admittedly this is somewhat broken in XForms 1.0). As to error reporting, XForms defines specific help, hint and alert elements (which can themselves be populated from resources external to the XForm). These do not currently provide all of the functionality that you might require, but this certainly is recognised as a problem that must be addressed. >> The nice thing is that it the declarative rules are >> designed to layer over an existing XML schema language (W3C XML Schema). >> So >> the XForms model could be seen as XSD extensions > > I'll read more about this, but what I know so far is that XForms uses the > XML Schema data types. Is there more to it? Well, yes considerably, as Roland's example hinted. Firstly it is possible to assign simple types where there is no schema at all, either using @xsi:type on an XML instance, or, perhaps more usefully, using the XForms type attribute, thus: <bind type="my:nonEmptyString" nodeset="/person-name/first-name"/> The most obvious differences here are that you don't mess with your instance data, and you can type attribute values too. It is also possible to assign a simple type to a node that is already assigned a type by a schema, so long as you don't invalidate the existing constraint. This means that you can easily tighten existing constraints (e.g. subset enumerations). However, XForms also gives you the ability to define XPath based constraints, in much the same way that Schematron already did (must be a lesson there somewhere). So, you can do the if node x has value 3 and node y exists then node z has a value of "Do not Pass Go, Do not Collect 200 (currency of your choice)", kind of thing. Not only can you define validity, you can also define relevance. The constraint above could just as easily have said, node z is not relevant. This means that node z (and any descendants) is pruned for as long as the defined condition is true. In fact XForms allows you to define and assign simple type, constraints, relevance, calculated values, whether a node is read only, requiredness and p3p type. All of these things are collectively known as Model Item Properties (MIPs). As an XForms model can reference as many XML instances as you like, it is possible to define MIPs that cross root nodes. As I mentioned before, my view is that XForms MIPs combined with W3C XML Schema is very similar in effect to Schematron combined with Relax NG. All the best Mark The information in this e-mail is sent in confidence for the addressee only and may be legally privileged. Unauthorised recipients must preserve this confidentiality and should please advise the sender immediately of the error in transmission and then delete this e-mail. If you are not the intended recipient, any disclosure, copying, distribution or any action taken in reliance on its content is prohibited and may be unlawful. Origo Services Limited accepts no responsibility for any loss or damage resulting directly or indirectly from the use of this e-mail or the contents. It is your responsibility to scan for viruses. Origo Services Limited reserves the right to monitor e-mails sent to or from addresses under its control. When you reply to this e-mail, you are consenting to Origo Services Limited monitoring the content of the e-mails you send to or receive from Origo Services Limited. If this e-mail is non-business related Origo Services Limited is not liable for any opinions expressed by the sender. The contents of this e-mail are protected by copyright. All rights reserved. Origo Services Limited is a company incorporated in Scotland (company number 115061) having its registered office at 4th floor, Saltire Court, 20 Castle Terrace, Edinburgh EH1 2EN.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|