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: RE: [ubl] Rules for Names (Dictionary Entry Names and UBLNames) - urgent action required.


Tim,
 
We have discussed your comments below internally at GEFEG and have the
following response.

1. We don't like to "guess" what the NDR could mean or do not mean. We
expect clear rules for all cases. Because our resources are very limited we
do not have time to read all possible documents which contain a few words
about CCTS in order to create simple UBL schemas.

2. The NDR (2006-05-25) says for BBIEs:

[CTN2] A UBL xsd:complexType name based on a ccts:BasicBusiness
InformationEntityProperty MUST be the ccts:Dictionary EntryName shared
property term and its qualifiers and representation term of the
ccts:BasicBusinessInformationEntity, with the separators removed and with
the "Type" suffix appended after the representation term.

[ELN2] A UBL global element name based on an unqualified ccts:BBIEProperty
MUST be the same as the name of the corresponding xsd:complexType to which
it is bound, with the word "Type" removed.

One line below there is a rule for ASBIEs, that says clearly something about
redundant words.

[ELN3] A UBL global element name based on a qualified ccts:ASBIE MUST be the
ccts:ASBIE dictionary entry name property term and its qualifiers; and the
object class term and qualifiers of its associated ccts:ABIE. All
ccts:DictionaryEntryName separators MUST be removed. Redundant words in the
ccts:ASBIE property term or its qualifiers and the associated ccts:ABIE
object class term or its qualifiers MUST be dropped.

Why is it so hard to do the same for BBIEs? This is all that we are
requesting to provide clear instructions for developers and eliminate
guessing and assumptions.

3. We cannot recognize that the DEN is the beginning for building element
and type names. We understand that the names should be built from some terms
that are also a component of the DEN. In the case of an ASBIE the element
name actually consists of additional parts that are not part of the DEN. The
qualifier(s) of the associated object class are not part of the DEN (CCTS
2.01).

4. Before we started to implement the UBL 2.0 schema generation we asked for
an action item list that clearly says what we should implement. The answer
was "Implement the NDR!". We did this as the best we know how, but if UBL
would like to have more "convoluted" rules then we should return to the
action item list.

5. You state "that as of the UBL NDR the DEN and only the DEN has to be
used. This is not correct. [ELN3] says "A UBL global element name based on a
qualified ccts:ASBIE MUST be the ccts:ASBIE dictionary entry name property
term and its qualifiers; and the object class term and qualifiers of its
associated ccts:ABIE. All ccts:DictionaryEntryName separators MUST be
removed. Redundant words in the ccts:ASBIE property term or its qualifiers
and the associated ccts:ABIE object class term or its qualifiers MUST be
dropped." The qualifiers of the object class term of the associated ccts:
ABIE are NOT part of the DEN. See CCTS B25.

Regards,
Sylvia
________________________________

From: Tim McGrath [mailto:tmcgrath@portcomm.com.au] 
Sent: Monday, June 26, 2006 9:58 PM
To: ubl@lists.oasis-open.org
Subject: [ubl] Rules for Names (Dictionary Entry Names and UBLNames) -
urgent action required.


At today's Pacific call we had a discussion about the rules for truncating
names.  This lead from a request by GEFEG (the builders of the software that
we use to create schemas) to specify where we get naming rules from.  We
need to conclude this issue immediately so we can update the NDRs and get
the 2.0 schemas built.

My research has brought me to the following position.  I am not aware of any
other rules (either in CCTS or UBL NDRs) that affect naming.  If anyone
knows then please add to this set so we can get our NDRs updated this week.

Firstly, the initial name for any BIE (information item) is the Dictionary
Entry Name (DEN).  The UBLName is then based on this DEN.  The DEN is the
responsibility of the ebXML CCTS and the UBLName is the responsibility of
the UBL NDRs.  

Details of these rules are given below. I will focus on Basic and
Association BIEs as the naming of Aggregate BIEs appears not the be the
issue and describing them would only add complexity to an already complex
issue.

All Dictionary Entry Names (DEN) are specified by following the ebXML CCTS
(v2.01). 

For Basic BIEs this is initially as Rule B24...
"The Dictionary Entry Name of a Basic Business Information Entity shall
consist of the following components in the specified order:
* the Object Class Term of the corresponding Basic Core Component, and
possibly additional Qualifier Term(s),
* the Property Term of the corresponding Basic Core Component, and possibly
additional Qualifier Term(s),
* the Representation Term of the Data Type on which the corresponding Basic
Business Information Entity Property is based."

So the initial DEN for identifying a Contact might be 'Contact. Identifier.
Identifier'

For Association BIEs there is a similar Rule B25...
"The Dictionary Entry Name of an Association Business Information Entity
shall consist of the following components in the specified order:
* the Object Class Term of the corresponding Association Core Component, and
possibly additional Qualifier Term(s),
* the Property Term of the corresponding Association Core Component, and
possibly additional Qualifier Term(s),
* the Object Class Term of the Association Business Information Entity on
which the corresponding Association Business Information Entity Property is
based."

So the initial DEN for other communcation channels associated with a Contact
be 'Contact. Other_ Communication. Communication'

These DENs are then refined using Rule B29...
"For Basic and Association Business Information Entities, if the Property
Term is equal to the third component of the Dictionary Entry Name, and the
Property Term is not qualified, the Property Term shall be removed from the
Dictionary Entry Name."

So the DEN for identifying a Contact would then be 'Contact. Identifier'.
But the DEN for any other communications associated with a Contact is not
shortened, because it is qualified by "Other_ ".  So it remains 'Contact.
Other_ Communication. Communication'.  If it were not qualified it would
have become 'Contact. Communication'

As far as I can see, these are the only rules for shortening Dictionary
Entry Names.  

There are no UBL NDR rules about forming Dictionary Entry Names. Our NDRs
state, "Since UBL is an implementation of CCTS, UBL uses CCTS dictionary
entry names as the basis for UBL XML schema construct names. UBL converts
these ccts:DictionaryEntryNames into UBL XML schema construct names using
strict transformation rules."  We have rule GNR2 that says, "UBL XML element
and type names MUST be consistently derived from CCTS conformant dictionary
entry names."  Elements names are what we also know as the UBLName. These
rules for consistent derivations of CCTS conformant dictionary entry names
are what we have in the UBL NDRs.  

Rule CTN 2 states:
"A UBL xsd:complexType name based on a
ccts:BasicBusinessInformationEntityProperty MUST be the ccts:Dictionary
EntryName shared property term and its qualifiers and representation term of
the ccts:BasicBusinessInformationEntity, with the separators removed and
with the "Type" suffix appended after the representation term."
 
So the complexType name for identifying a Contact would then be
'IdentifierType'

Then ELN2 adds:
"A UBL global element name based on an unqualified ccts:BBIEProperty MUST be
the same as the name of the corresponding xsd:complexType to which it is
bound, with the word "Type" removed."

So the element name for identifying a Contact would then be 'Identifier'.  A
convoluted way of saying it, but it works!  

For Association BIEs, rule ELN 3 states:
"A UBL global element name based on a qualified ccts:ASBIE MUST be the
ccts:ASBIE dictionary entry name property term and its qualifiers; and the
object class term and qualifiers of its associated ccts:ABIE. All
ccts:DictionaryEntryName separators MUST be removed. Redundant words in the
ccts:ASBIE property term or its qualifiers and the associated ccts:ABIE
object class term or its qualifiers MUST be dropped."
NB I suspect that the first use of 'qualified' is not what was meant. All
ASBIEs follow this rule regardless of their qualification.  Otherwise we
have no rule for ASBIE element names!

Following this rule means the element name for the other communcations
associated with a Contact becomes "OtherCommunciation".

However, we aren't finished because there are some UBL truncation rules for
UBLNames. These are...

"Each Basic BIE Property results in an element in the XML Schema. The tag
name is derived like this:
<Basic BIE Property Property Term>( ( <BBIE Object Class Term> != "Text" &&
<Basic BIE Property Property Term> != <BBIE Object Class Term>) ? (<BBIE
Object Class Term> == "Identifier" ? "ID" : <BBIE Object Class Term>)
So the tag name is the name of the Basic BIE Property followed by the name
of the pertinent BBIE. If the BBIE is named "Text" or if the name of the
Basic BIE Property is the same as the name of the BBIE then it must be
elided. If the BBIE Object Class Term is Identifier then it is translated to
"ID" in the tag name.
Here are some examples: "


Basic BIE Property Property Term

	BBIE Object Class Term

	Tag name

	
Purpose

	Code

	PurposeCode

	
Name

	Text

	Name

	
Party

	Identifier

	PartyID

	

also, described as...
"If the representation term is "Text", it must be removed. If the
representation term is "Identifier", it must be replaced with "ID".
Examples: Person. Name. Text becomes Name, Person. Residence. Address
becomes ResidenceAddress, and Address. Country. Identifier becomes
CountryID. "

NB. This rule is taken from the UBL NDR Working Draft 22, 18 February 2003
(wd-ublndrsc-ndrdoc-22 ) currently posted at
http://www.oasis-open.org/apps/org/workgroup/ubl/ubl-ndrsc/document.php?docu
ment_id=1380.  This rule never made it to the NDR 1.0 but we made no
decision to remove it and have been following it regardless.  I propose it
be reworded (eg Object Class Term should have been Representation Term) ,
update the examples and then have it re-instated.

To summarize, if we use some of elements from the structure called "Contact"
in UBL 2.0, it has examples of most of these rules.

BBIE DEN = "Contact. Identifier. Identifer" shortens to "Contact.
Identifier", gives UBLName = "ID"
BBIE DEN = "Contact. Name. Name" shortens to "Contact. Name", gives UBLName
= "Name"
BBIE DEN = "Contact. Telephone. Text" does not shorten, gives UBLName =
"Telephone"
ASBIE DEN = "Contact. Other_ Communication. Communication" does not shorten,
gives UBLName = "OtherCommunication"



-- 
regards
tim mcgrath
phone: +618 93352228  
postal: po box 1289   fremantle    western australia 6160
web: http://www.portcomm.com.au/tmcgrath




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