Re: [xml-dev] Invoices (was Re: [xml-dev] XML's greatest cultural advantage over JSON)
To clarify a little.
I would see this MCE-esque scenario as something like this:
If the (XML, eg UBL) invoice contains any eneties marked with
a 'MustUnderstand' attribute, say, but my finance app doesn't
have them on, say, a list of entities it already includes properly
in its calculations, then it will reject the invoice (or at least
mark it as an exception which the application cannot process
with regard to its calculations). Likewise, the application
sending the invoice will need to be programmed such that all
calculation-sensitive data can be (and is) marked 'MustUnderstand'.
Obviously there will be more to it than that in real life but it's an
arhictectural pattern for XML (for business documents at least)
I've been after for a long time. It nicely complements and perhaps
completes the architectural pattern of schema subsets.
----
Stephen D Green
On 11 April 2013 08:23, Stephen D Green <[email protected]> wrote:
Well with some business-transaction documents such as invoicesthere is a calculation model which is very important to get rightwhen processing the document. The processing application (code)has to know which entities are important components of thecalculation and which are not. If there are no variations to theschema (or more specifically to the structure and semantics) thecalculation model is clear. Having a situation where there are novariations which could impact the calculation model is extremelyoptimistic when there are many parties involved, especially whenthere are multiple countries and accounting and tax systemsinvolved. So having a way to always be certain whether a strangeentity is relevant to the calculation model is important to allowreliable calculations even in a non-homogenous scenario wherethere are multiple variations, some known, some unknown (suchas new versions and unfamiliar customisations or even variationsin the use of the same schema)... And that's a simplification.----Stephen D GreenOn 10 April 2013 16:43, John Cowan <[email protected]> wrote:On Wed, Apr 10, 2013 at 7:18 AM, Stephen D Green <[email protected]> wrote:--The MCE, mentioned in the other thread, does look quite promising forfuture developments of XML standards for Invoices though: If it becomespossible to label some entities as 'must understand' and others as'ignorable'.I used to be a big believer in this distinction. Then I realized that "must understand" begs the question "in order to do what?" If you are an editor for office documents, or even a viewer, it may make some sort of sense. But suppose you just want to count the number of paragraphs with a little bit of XSLT? Are you supposed to make use of the MCE information in this case? Obviously not. But there simply is no bright line between when you should and when you should not, making the whole notion of "must understand" extremely problematic to apply.There's a nice analogy with what the Open Source Initiative mailing lists call "badgeware". These are web applications that you can use and modify freely, provided you keep the original creator's logo, or a link, on the splash screen, or even all screens. The authors always want us to bless their licenses as open source, but they can't be. Why not? Because they don't realize how wide the scope of "modification" is. Suppose you just want to pull out the date-parsing code and reuse it server-side, where there is nowhere to display the badge. Is that valid according to the license? Probably not. And if it is, where can the line be drawn between reusing the whole thing and just changing the logo, and this sort of reuse of individual modules? Nobody knows. So we have to turn down such licenses.
GMail doesn't have rotating .sigs, but you can see mine at http://www.ccil.org/~cowan/signatures