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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-core message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: Re: Core Component Analysis - SWIFT's Comments


I would like to put my two cents worth in here at this point.

For the past year and a bit we have been devising an XML based solution for
our SWIFT messaging, based purely on their ISO 15022 standards. As far as
dates are concerned we have adopted the following, using settlement date as
an example:

<Settlement>
  <Date>...</Date>
</Settlement>

This has been used purely from the point of view that other components may
be added for date fields, especially time and, in some circumstances,
amounts, currencies and so on. In this scenario with time the mark up would
become:

<Settlement>
  <Date>...</Date>
  <Time>...</Time>
</Settlement>

Another XML feature that we have used is the use of attributes to define
currencies. Settlement amount, with a USD currency would be marked up as:

<SettlementAmount Curr="USD">999.99</SettlementAmount>

I am not saying that this is the defined correct method of doing this. This
is done based on the XML rules as defined in the reading that I have done
in this regard. All comments appreciated.

Steve Tompkins
Business Systems Officer
J P Morgan Chase and co.

---------------------- Forwarded by Steve GIS Tompkins/CHASE on 22/01/2001
15:19 ---------------------------


"William J. Kammerer" <wkammerer@foresightcorp.com> on 22/01/2001 14:51:38



To:   ebXML Core <ebxml-core@lists.ebxml.org>
cc:
Subject:  Re: Core Component Analysis - SWIFT's Comments


Jacques Littré, in the "SWIFT Comments on the 'Core Component Aggregate
Entities' ebXML CC Document," advocates getting rid of EDIFACT-like
qualifiers.  Instead of hiding the semantics of a <Date/Time> aggregate
in a "PurposeCode," Jacques reasonably suggests using the
InformationEntityUseName as the tag name itself, eliminating the
PurposeCode describing the particular kind of date:

   <Party> ...
      <BirthDate>
         <Date>20010101</Date>
         <Time>102300</Time>
         ..........
      </BirthDate>
      <DeathDate>
         <Date>20800202</Date>
         <Time>102300</Time>
         ..........
      </DeathDate>
      ...........
   </Party

As an aside,  I'm a little confused by the ellipses in <BirthDate> and
<DeathDate>, since there's very little more that one could add to these
elements: date and time are pretty much all you need to describe a
BirthDate.

But this does inspire some observations, motivated by Martin Bryan's
"The need for process-based semantic sets," at
http://www.sgml.u-net.com/semantics.htm. Since the example goes to the
trouble of enveloping subordinate <Date> and <Time> elements, there's no
need for the "Date" suffix in <BirthDate>, which unnecessarily restricts
its extension to further describe attending facts to a "Birth" event:
Location, Hospital, Attending Physician, Weight, etc., etc. The
"context," if you will (pardon the overloaded use of the word), is set
by the Name of the enclosing tag;  all subordinate tags can be assumed
to pertain to a Birth:

   <Birth>
      <Date>1922-10-16</Date>
      <Location>
         <CityName>Cincinnati</CityName>
         <CountryCode>US</CountryCode>
         <CountrySubEntityName>Ohio</CountrySubEntityName>
      </Location>
      ..........
   </Birth>

A <Date> element, based on the XML Schema "date" type, is understood to
be expressed in the ISO 8601 extended date format   Likewise, it's
understood that the <CountryCode> basic core component is expressed as
an ISO 3166 2 alpha country code.  The <CountrySubEntityName> semantics
could be subsumed into <CountryCode> if we were to agree that the latter
could be represented by an ISO 3166-2:1998 country (and optional
subdivision) code;  thus <CountryCode>US-OH</CountryCode> would
unambiguously identify Ohio, the home of Warren G. Harding.

Since everything enveloped within <Birth> describes the birth event,
there's no need for a redundant "Birth" prefix on any of the enclosed
element tag names.  And now the ellipses make sense, because there's
clearly more information that we could see pertaining to a Birth event.
The same stuff found within <Birth> would also find a place in
describing Death events.

The above is a nice collection of data useful for most business
applications which require birth date and location information.  Rarely
would the birth time be recorded, especially for an adult, but the
<Date> could easily be replaced by:

   <DateAndTime>1922-10-16T10:40-0500</DateAndTime>

But if Birth Date (and Time, for whatever reason) were the only desired
facts pertaining to the Birth, the component instance should be able to
be abbreviated as:

   <BirthDateAndTime>1922-10-16T10:40-0500</BirthDateAndTime>

Or more usefully, in business applications, as:

   <BirthDate>1922-10-16</BirthDate>

William J. Kammerer
FORESIGHT Corp.
4950 Blazer Memorial Pkwy.
Dublin, OH USA 43017-3305
+1 614 791-1600

Visit FORESIGHT Corp. at http://www.foresightcorp.com/
"Commerce for a New World"









[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Search: Match: Sort by:
Words: | Help


Powered by eList eXpress LLC