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


Help: OASIS Mailing Lists Help | MarkMail Help

ubl message

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

Subject: SV: [ubl-dev] How to 'glue' two instances having different schemas?


The original comment was about a need I perceived to have areas that could
be extended. I feel quite strongly about this as an dochead and a developer,
having extensibility in documents is extremely useful. I also note that one
of the principles of UBL is supposed to be extensibility, I'm not sure what
that means in this context if one cannot extend instances. From what I
gather it is being used to mean that you can create your own namespace, and
import the UBL schemas to make your own localized version. That's great, but
it's not what I would define as extensibility. I would define that as
reusability. There are of course other techniques for extending a format,
including just using the format as well-formed XML until the point of
validation, stripping out additions and then sending it onward - I find this
to be sub-optimal and an irritating way to work though. 

As noted before the use of extensible content areas proved useful because it
turned out there were specialized business domains that were required by law
to have certain information with every invoice they sent. I've gone over
this before so no need to belabor the point, the reply was to suggest that
one could add this extra information at the transport level, i.e. as another
document in an ebXML payload. 

I don't think this is a good idea (for Denmark, but probably for any country
trying to do the same thing) for the following reasons:

1. Although we probably will be using ebMS to send messages I don't like the
idea of tying ourselves to it; it's a good idea to only tie oneself to one
thing at a time I think. 
2. Let's be honest, we probably wouldn't have anything ready to use when
people came with problems like the law requires we send this information
with - by anything ready I mean agreements between all parties as to what
would need to be done with additional payloads etc. That could be a long
messy argument. Don't know how far we'd get. 
3. Gosh, there are just so many laws! Who knows what effects could be had.
For example, there's a new ruling by the Ombudsman of denmark that all
documents sent must be archivable in their original state (okay it's more
complicated than that but that's a summary), now the thing is - is that
extra payload part of the document? This would basically mean not only
archiving the two payloads, but also archiving the ebMS message. Also there
are various rulings regarding archivability of governmental information that
would probably mean that we would have to archive the ebMS message if it
consisted of more than one payload. 

----- Original Message ----- 
From: "Stephen Green" <stephen_green@seventhproject.co.uk>
To: <ubl-dev@lists.oasis-open.org>
Sent: Friday, July 08, 2005 6:15 AM
Subject: [ubl-dev] How to 'glue' two instances having different schemas?

In my days long ago as an invoice clerk I had to
physically glue a ledger document slip to each
invoice for processing (I guess this was standard
accounting practise and perhaps still is for paper
systems). The ledger slip could now be replaced
with XBRL-GL, say, and the paper invoice with
UBL, say. But what about the glue?

In the old days (perhaps still now) the actual glue was
important because a staple caused problems when the
joint document was scanned (let alone causing
a few cuts to fingers!). A paperclip easily fell off during
transit too. In the same way I guess the workflow
process might determine how best to 'glue' the xml
ledger information to an electronic business document.*

A recent comment from Bryan R prompted a response
from UBL suggesting that one attaches further, non-UBL
data to the UBL document using an outer document
and I suggested using the UN/CEFACT ATG2
Standard Business Document Header perhaps. That
might be one way.
In its favour: it is an all-standards based approach
Against: is this the proper use of the SBDH? I suppose
it was designed for messages (probably primarily for
external transfers). Of course there might be a transfer
of the XBRL-GL+UBL+SBDH XML to a central ledger,
say but it might just be that the combination is stored
in some way. Such storage might require that the
combined document be disassembled (for example, so that
each part is stored in a database cell associated with
its respective schema, the SBDH, say, perhaps being
reduced to just a relational key value).

There are other ways to link the two (or more) documents
of course; perhaps too many different ways. I'd suggest
one standard way might be better to standardize the
transfers between different systems (perhaps just as
a best practise guide).

Other ways:
The XBRL-GL suggests either refering to the business
document with a filename or url or actually including
the document within the respective XBRL-GL field.
The first two ways have the problem of how to specify
a file path or full url if that changes during the processing
(not a persistent url say). It could be a url relative to the
XBRL-GL document but that too could be unpredictable.
The second way I'd like to pick up on: How to include,
say, a UBL document within, say, an XBR-GL document?
The field in XBRL-GL by which to link to the document
is just a string so I found one way is to escape the
UBL XML document with CDATA front and end
characters. This has the disadvantage of effectively hiding
the UBL XML from XML-aware parsers - not good for
getting at the UBL data (such as with XQuery or XPath).
It probably depends on how temporary the combined
set of documents will be and howit will subsequently
be persisted.

What would be nice would be an XSD xsd:xml datatype !

Failing that, there is always xlink (or xinclude?). I'm not
too up to date on all this but I gather there isn't too much
tool support for dereferencing these.

How about another idea (failing this I'd stick to the SBDH)
- standardising the implementation at a higher level by
introducing a CCTS 'XMLType' datatype, then worrying
about how best to implement it at any time depending
on the technologies available. This might create a problem
for future ablilities to read the legacy data so I'm not really
advocating it so much as putting out a 'strawman'.

Any thoughts?

Perhaps this is one for liaison between UBL and XBRL
to establish a standard suggested linking mechanism.

All the best

Stephen Green

*  The workflow processes do seem to follow paths which,
though outside of UBL's scope perhaps, can still be
standardised, as seems to happen in the accounting
domain. At least best practise guidelines are usually

Here is the sort of workflow I envisage:


Party A Finance System creates Ledger (such as XBRL-GL format)
                                          and Business Document (such as UBL

Ledger + Business Document + link (such as SBDH) --> Combination

--> message

Message sent to Central Finance System (General Ledger) for processing
and/or storage


Business Document (such as UBL format) --> message

Message sent to Party B


Party B Finance System receives Business Document (such as UBL format)


Party B Finance System creates Ledger (such as XBRL-GL format)
                                          for Business Document (such as UBL

Ledger + Business Document + link (such as SBDH) --> Combination

--> message

Message sent to Central Finance System (General Ledger) for processing
and/or storage

To unsubscribe, e-mail: ubl-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: ubl-dev-help@lists.oasis-open.org

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