[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: RE: Caution using XML Schema backward- or forward-c ompati

  • From: "Andrew Welch" <andrew.j.welch@g...>
  • To: "Stephen Green" <stephengreenubl@g...>
  • Date: Thu, 3 Jan 2008 10:52:05 +0000

Re:  RE: Caution using XML Schema backward- or forward-c ompati
On 03/01/2008, Stephen Green <stephengreenubl@g...> wrote:
> A fictionalization/generalization of one of the Invoice document features
> might serve to make this a little more realistic:
>
> A document type A has an IssueDate. The document was designed based
> on requirements from countries X and Y where the IssueDate means the date
> when the document was created. That's version 1. Along comes country Z
> where IssueDate is the date when tax was applied. That is for their country
> actually the only date which is meaningful on the document, they ignore the
> date the document was created. Because of the political and legal situation
> they insist on a new version being created which they claim is backwards
> compatible but where the definition of the IssueDate is changed a little. It
> is now, in version 2 a mixture of the two definitions such that all countries
> are happy with it. But then along comes country Q where the document
> type in question usually has both an IssueDate and a TaxPointDate and it
> is the TaxPointDate which has the purpose of date when tax is applied and
> the IssueDate is as it is with countries X and Y. If country Q arrives in the
> design committee just before the roll-out, in the rush they persuade the
> committee to add TaxPointDate to version 2. Now there is the likelihood of
> a semantic interoperability problem. Does country Z start using the
> TaxPointDate since it has an uncompromised definition which is exactly what
> they require rather than IssueDate which has a vaguer semantic definition and
> role. If they carry on using IssueDate then there is the risk it will
> be misunderstood
> by countries X and Y.

The dates are the dates, they are fixed, it's just the interpretation
of those dates that differ, so you could just add a layer of
abstraction - call the dates date1 and date2 and let country1 treat
date1 as the IssueDate, and for country2 it would be date2.  What you
gain in "semantic interoperability" you lose in the semantic quality
of the XML.

An alternative is to add an "applicability" attribute to the elements, such as:

<issueDate applicability="X">...
<issueDate applicability="Z">...

or for more complex configuations use a child element:

<container>
  <applicability>
    <details.../>
  </applicability>
  <issueDate>...
</container>

...which is the way they do it for various plane configurations in
S1000D (iirc - it was a few years ago now that I did that).  The
processing application can then filter or ignore markup that's not
applicable to itself.  Content with no applicability attribute or
child element is applicable to all.

Huge markup efforts like S1000D and AvP70 have addressed most of these
problems, the people that designed that XML also designed the SGML
before it, and have coped with problems like versioning, multiple
variations for each country and per plane etc. so maybe learn from
their mistakes.  They have massive committees that take a long time to
change a single attribute, and clear definitions to authors about the
intended use for each bit of markup - I've lost several enjoyable
hours ensuring that a 3rd level list used roman numerals, unless it
was within a numbered paragraph, in which case it becomes a 4th level
list.

Anyway, my point is that for them the markup is the most important
thing - bigger than all of the applications that process it - so all
of the applications change when the markup changes.  A new version is
a big event.

In the vast majority of other cases, changing all of the existing
applications to accomodate a new consumer of the markup just isn't
reasonable, which leads to the slippery slope of wedging more
information into existing markup, or the new consumer just accepting
the existing markup.



cheers
-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/


[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!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.