[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: RE: [ubl-ndrsc] R13 contradiction
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 > paragraph. > > 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. -- Eve Maler +1 781 442 3190 Sun Microsystems cell +1 781 354 9441 Web Technologies and Standards eve.maler @ sun.com ---------------------------------------------------------------- To subscribe or unsubscribe from this elist use the subscription manager: <http://lists.oasis-open.org/ob/adm.pl>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC