[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: RE: Portable Constraints
Thanks Stephen, cost/currency looks like an good example of a component that should be portable. Instead of PrimaryPrice and SecondaryPrice, how about a cost element that contains values in various currencies: <cost> <USD>40.00</USD> <EUR>28.10</EUR> </cost> The cost element then has assert elements to check that the values are consistent: Assert: if (USD and EUR) then number(EUR) eq (floor(USD * (0.702644 * 100)) div 100) else true() Assert: if (USD and GBP) then number(GBP) eq (floor(USD * (0.620670 * 100)) div 100) else true() (Perhaps someone can think of a better way to express the XPath expressions?) Here is an XML Schema that declares the cost element and its assertions: <xs:element name="cost"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element name="USD" type="xs:decimal" /> <xs:element name="EUR" type="xs:decimal" /> <xs:element name="GBP" type="xs:decimal" /> </xs:choice> <xs:assert test="if (USD and EUR) then number(EUR) eq (floor(USD * (0.702644 * 100)) div 100) else true()" /> <xs:assert test="if (USD and GBP) then number(GBP) eq (floor(USD * (0.620670 * 100)) div 100) else true()" /> </xs:complexType> </xs:element> What do others think? Do you think this cost element is a good candidate for being a portable component? /Roger
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
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
|