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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ubl-dev message

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


Subject: 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 
provided.


Here is the sort of workflow I envisage:

1)

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

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

--> message 

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

2) 

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

Message sent to Party B

3)

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

4)

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

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

--> message 

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



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