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


Help: OASIS Mailing Lists Help | MarkMail Help

ubl-ndrsc message

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

Subject: Re: [ubl-ndrsc] R13 contradiction

If the problem is as described by Bill (fix of documentation bug
resulting in wrong element names [wrong in the sense of "not intended"])
then I agree that the bug fix should be backed out.

Burcham, Bill wrote:
> Gosh you're absolutely right Eve!  I totally missed the "with the separators
> and object class term removed"  Sorry about that Eve and group.  The rule
> looks fine and it's perfectly clear that the object class term is (by
> default) elided.
> That being said, how does NDRSC feel about UBL going out the door with every
> single tag name *including* the object class term?  That's what's about to
> happen if no one says different.
> Problem was that when the Perl scripts were upgraded to do "global elements"
> a _documentation_ bug was introduced that caused the ID's for elements
> representing Basic BIE Properties to be kind of messed up.  For each BIE,
> all the Basic BIE Properties that referred to it got the same ID and
> documementation annotation.  Note that for some reason this bug did not
> affect the Ids on elements representing Association BIE Properties -- they
> each got their own ID and documentation annotation just fine.  By changing
> the Perl scripts to tack the object class term on the front of every single
> element (in fact both those representing BBIEPs and ABIEPs) the
> documentation problem disappeared.  But now, element names are long and
> there is never any reuse of tag names across content models, e.g.:
> 	<xsd:complexType name="ReceivedTransportHandlingUnitDetailsType">
> 		<xsd:annotation>
> 			<xsd:documentation>
> 				<ccts:ABIE dictionaryEntryName="Received_
> Transport Handling Unit. Details" definition="information about a set of
> items which can be considered to be an undividable set of items for the
> purposes of delivery, also know as a 'logistics unit'."
> qualifierTermObjectClassTerm="Received" objectClassTerm="Transport Handling
> Unit" qualifierTerm_PropertyTerm="" propertyTerm="Details"
> representationTerm="Details" xmlns:ccts="CCTS.xsd"/>
> 			</xsd:documentation>
> 		</xsd:annotation>
> 		<xsd:sequence>
> 			<xsd:element ref="ReceivedTransportHandlingUnitID"/>
> 			<xsd:element
> ref="ReceivedTransportHandlingUnitTypeCode"/>
> 			<xsd:element
> ref="ReceivedTransportHandlingUnitHandlingUnitReceiptLine"
> maxOccurs="unbounded"/>
> 		</xsd:sequence>
> 	</xsd:complexType>
> I especially loathe "ReceivedTransportHandlingUnitHandlingUnitReceiptLine".
> To me it seems better to release schemas with the documentation problem and
> tag names that will be stable across releases, than to introduce unstable
> tag names (they'll have to change back in the next release right?) just to
> get the doc clean.
> Now I understand that the documentation isn't "just" documentation -- that
> in fact we envision sophisticated processing on those Ids.  But is that a
> priority in this very first release?  Should that priority trump the
> stability of our tag names?  My worst fear is that we release with these
> long (non-reusable) tag names and then we're stuck with them forever.
> Recall too that the action that triggered the Perl script changes in the
> first place was a realization that a crucial NDR design decision was
> violated and that we had to fix it (local versus global).  Now it seems we
> are in danger of violating an equally crucial and hard-won decision (tag
> naming).
> -Bill
> -----Original Message-----
> From: Eve L. Maler [mailto:eve.maler@sun.com] 
> Sent: Friday, January 17, 2003 9:37 AM
> To: ubl-ndrsc@lists.oasis-open.org
> Subject: Re: [ubl-ndrsc] R13 contradiction
> I wrote this in an attempt to put the naming instructions for each kind 
> of thing in its own separate numbered rule.  The element name does not 
> directly equal the dictionary entry name; it is the entry name with a 
> bunch of truncating rules applied (object class term removed, separators 
> removed, duplicated words removed, etc.).  Is this unclear in R13?  I 
> hadn't thought so.
> Also, your compressed version of the subsequent paragraph is a little 
> misleading: It's more like "If the object class term would have been 
> (would be?) helpful in the (XML), it should be (appear) in the property 
> qualifier field (of the spreadsheet)" -- not "it should appear in the 
> XML", which would be tautological.  This bit is supposed to serve as 
> advice for modelers, and should ideally belong somewhere in the LC 
> methodology in addition to having a non-normative reminder here.
> 	Eve
> Burcham, Bill wrote:
>>R13 and the subsequent paragraph are contradictory.  R13 says 
>>(incorrectly) that the element name = the "(full dictionary entry name 
>>of the property)..."  The subsequent paragraph goes on to say that "if 
>>the object class term would have been helpful in the (XML) it should 
>>be (present) in the (XML)".  If R13 is correct then the object class 
>>term is always present and there's no need for the subsequent 
>>I know I've missed some subsequent discussions, but when we ratified 
>>global elements in Boston, we did not say we would start generating 
>>element names = dictionary entry terms.  Doing so would eliminate all 
>>opportunity for element reuse since there would be no way the same tag 
>>name could occur in two  content models (since the two content models 
>>would have different "object class terms").
>>If I'm right R13 is wrong and also we've got quite an issue with the 
>>schemas that are about to be shipped as UBL 1.0.
>>Here's the two paragraphs for your reference:
>>[R 13]	An element name in an element declaration [TBD: ref= or
> name=?]
>>based on a property must be the full dictionary name of the property 
>>in the syntax-neutral model, with the separators and object class term 
>>removed, and with the property term removed if it is identical or 
>>similar to the representation term, with the following term pairs 
>>considered similar: Identification/Identifier and Identification/Code. 
>>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. [TBD: This rule seems very long. Is there any way it can be 
>>broken down into multiple rules?]
>>If the object class term would have been helpful in the resulting XML 
>>name for clarity, it should be repeated in the property qualifier 
>>field. For example, if Party. Identification. Identifier would result 
>>in an element name of ID, and if this name would be confusing because 
>>a Party object has many different identifiers as properties, then the 
>>property should have been named Party. Party Identification. 
>>Identifier instead, resulting in an element name of PartyID.

Eduardo Gutentag               |         e-mail: eduardo.gutentag@Sun.COM
XML Technology Center          |         Phone:  (510) 986-3651
Sun Microsystems Inc.          |

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

Powered by eList eXpress LLC