OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] XRules: Mind your own business rules

[ Lists Home | Date Index | Thread Index ]

unibase did this over 20 years ago and can walk the data table 
structures resolving rules over multiple tables etc.

basically if you replace the rdbms table structures and associations 
with a dom you have what we already have (patents anyone?)

it works but:

1. in a general sense we discovered there is no unique solution to some 
problems and the nature of the relationship between nodes is critical to 
a correct calculation (a full descending dom approach would probably 
avoid this problem, but it is not really general and when you factor in 
xquery you will run into very major problems)
2. to work well you need to build in a calculus, and then programmers 
tend to fail as the system takes over (ref perma thread on recursion etc)
3. depth of calculation becomes a real issue
4. and at any rate the original question was really about publishing the 
business rules, not using them.  to work, the rules will need to exist 
in the context of a schema. personally i think an extension of xsd is 
probably the correct way to do this.


David Lyon wrote:

>Hi Waleed,
>Excellent idea... I really *really* like it.....
>On Thu, 10 Mar 2005 5:16 am, Waleed Abdulla wrote:
>><xr:ruleset context="/PurchaseOrder/Item">
>>  <xr:calculate target="ItemTotal" value="UnitPrice * Quantity" />
>>  <xr:bind target=".">
>>    <xr:property name="OverLimit" dvalue="boolean(. &gt; ../MaxPerItem)" />
>>  </xr:bind>
>>And, this is a sample purchase order:
>>  <MaxPerItem>300</MaxPerItem>
>>  <Item>
>>    <Quantity>2</Quantity>
>>    <UnitPrice>30</UnitPrice>
>>    <ItemTotal>60</ItemTotal>
>>  </Item>
>Maybe I could use it in my markup?
>I would embed the calculations directly in the xml.. Here I've
>added an explanation mark to denote a formula, and keeping
>the # to denote that the field return type will be a number or 
>a ? in the case of a boolean. This would give me something 
>a little more compact that would look like this:
> <PurchaseOrder>
>   MaxPerItem#=300
>   <Item>
>     Quantity#=2
>     UnitPrice#=30
>     ItemTotal#!="UnitPrice# * Quantity#" 
>     OverLimit?!="Quantity# > ../MaxPerItem"
>   </Item>
> </PurchaseOrder>
>There are a number of applications in real life business
>documents for this:
> - US sales tax calculations
> - Intercountry tax/GST/VAT issues
> - (the afformentioned) shipping costs
> - the ability to incorporate events.. 
>Actually this whole idea is not dissimilar to linking
>and calculations within spreadsheets. Providing the
>scope stays within the document... I think that it is
>quite a good idea.
>It's definitely something worth pursuing further !
>Best Regards

fn:Rick  Marshall
tel;cell:+61 411 287 530


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS