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: Re: [ubl-dev] Order element for enquiries


Hi Michael

I'm not sure whether this is wisdom but it's sort of consensus at
any rate:

As a general rule #1, use the most specific element, which in this
case would be cac:SellerContact/cbc:Telefax

However, to improve on rule #1, there's a well agreed strategy for
this kind of thing which is to use subsetting (subset customising
with UBL schema conformance, i.e. still validate against standard
UBL schema) to remove as much as possible optional elements which
in your scenario would cause this kind of duplication.
So rule #2, there should be as close to possible only one place in
the instance to put the data - and subsetting is one way to
engineer that.

Another way to get to rule #2 is to provide an implementation
guide - a set of rules to tell users where to put their data :-)
But essentially that is almost the same as subsetting, and it
has pros and cons compared with subsetting.

e.g.  suggested pro for user guide: can still use
/ord:Order/cac:SellerSupplierParty/cac:Party/cac:Contact/cbc:Telefax
when appropriate (guide defines what is appropriate)
suggested con for user guide: maybe cannot validate against use of
/ord:Order/cac:SellerSupplierParty/cac:Party/cac:Contact/cbc:Telefax
when inappropriate (unless there is a clever way invented to use
something like artificial intelligence to 'understand' content)

A typical full scale implementation guide might use both approaches.

Some actually forbid use of certain elements, e.g. you could forbid
use of /ord:Order/cac:SellerSupplierParty/cac:SellerContact/cbc:Telefax
by creating a conformant set of schemas without it present and say
validation is performed first against UBL standard schemas (for
sake of conformance to UBL) and secondly against your custom schemas
which don't have
/ord:Order/cac:SellerSupplierParty/cac:SellerContact/cbc:Telefax
and both have to pass. This rule would then be applied before
*sending* the message (be strict on sending, lax on receiving -
Postles law).

Personally I would prefer it if I could just make an amendment to
say that my software would accept the
/ord:Order/cac:SellerSupplierParty/cac:SellerContact/cbc:Telefax
but that it might not process it but there seems to be a problem
enforcing the rule if that is added (how would the rule be tested
with that caveat included???) - so how would it be specified?
Leaving /ord:Order/cac:SellerSupplierParty/cac:SellerContact/cbc:Telefax
in the implementation guide would mean a rule for the sender needs
to be stated about when to use it.

In a shorter (sorry) answer to your question, UBL would have
considered any hard and fast rules about this to constitute an
actual implementation guide and the nearest we got to writing
it was the UBL SBS which didn't reach completion for UBL 2.0,
only for UBL 1.0. Really, for UBL 2.0 the options are to write
your own or use a third party one (like NES or OIOUBL). Or if
you want you could even use mine and adapt it - it is called
SystML2 and the schemas for it are on sourceforge
http://xforms4ubl.svn.sourceforge.net/viewvc/*checkout*/xforms4ubl/Schemata/SystML2/SystML2.zip?revision=42
so adapting them within the GPL terms is perfectly acceptable.
However you might find they are suitable as they are (they
do, as far as I can tell by a quick check, exclude
/ord:Order/cac:SellerSupplierParty/cac:SellerContact
and therefore recommend or require, depending how you implement
them, senders to use just
/ord:Order/cac:SellerSupplierParty/cac:Party/cac:Contact/cbc:Telefax
for everything

(I could, of course, have excluded
/ord:Order/cac:SellerSupplierParty/cac:Party/cac:Contact/cbc:Telefax
instead but that would produce a problem if the contact isn't
that of the seller.)

This subset was based on the UBL 2.0 SBS as far as it got (with
some tweaks).

It comes with some nice XForms (see  
https://sourceforge.net/projects/xforms4ubl/ )
which comply with the SystML2 subset.

Of course, if you only use UBL internally, all this could be
academic anyway, but this is how it's done for multiparty or maybe
even community or open mesh implementations.

Best regards

-- 
Stephen D. Green

Partner
SystML, http://www.systml.co.uk
Tel: +44 (0) 117 9541606

http://www.biblegateway.com/passage/?search=matthew+22:37 .. and voice



Quoting Michael Strasser <Michael.Strasser@brisbane.qld.gov.au>:

> I have found a pattern relevant to my question. I realised that I
> had forgotten to include the destination fax number in the document!
>
> I was then faced with the analgous choice. Which of these do I use?
>
> /ord:Order/cac:SellerSupplierParty/cac:Party/cac:Contact/cbc:Telefax
> /ord:Order/cac:SellerSupplierParty/cac:SellerContact/cbc:Telefax
>
> Again, any wisdom is appreciated.
>
>
> Regards
>
> Michael
>
>
>>>> "Michael Strasser" <Michael.Strasser@brisbane.qld.gov.au>   
>>>> 7/02/2008 10:03:55 >>>
> I am modelling our purchase order using UBL-Order-2.0 as discussed
> before. Our printed orders display a "For Enquiries Refer To" field
> with the name and phone number.
>
> It is not clear to me which of these components is more appropriate
> in this case:
>
> /ord:Order/cac:BuyerCustomerParty/cac:BuyerContact
> /ord:Order/cac:BuyerCustomerParty/cac:Party/cac:Contact/
>
> My hunch is that the associated Party may be a 'reusable' entity
> with a regular contact (Party/Contact). An order may have a specific
> contact who is different to the regular one (BuyerContact).
>
> I haven't found documentation for UBL that explains this kind of
> detailed semantic distinction.
>
> Does anyone have any wisdom on this?
>
>
> Thanks in advance
>
> Michael Strasser
> Brisbane, Australia
>
>
>
>
> **********************************************************************
>    This message has passed through an insecure network.
>     Please direct all enquiries to the message author.
> **********************************************************************
>
> ---------------------------------------------------------------------
> 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]