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

 


Help: OASIS Mailing Lists Help | MarkMail Help

regrep-cc-review message

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


Subject: Re: [regrep-cc-review] Association Core Components - Represent with Associations


Farrukh Najmi wrote:

> Have given up trying to include context from the thread for this reply 
> and will paraphrase instead....
>
> One issue with the representation of ACC as an Association that I have 
> heard is that an Association is a RegistryObject and RegistryObjects 
> do not have version attributes. Version attributes are desired for 
> ACC. Therefor the argument goes that we should not use Association for 
> representing ACC.
>
> Maybe  we should not limit our modeling choices by the limitation of 
> current RIM.
>
> Nikola and I have long felt that version should have been a 
> RegistryObject attribute (actually to take it a step further I have 
> never felt comfortable with having RegistryEntry in the first place 
> for this very reason).
>
> One possibility is tha we could consider making the proposal that in 
> 2.6 we modify RIM w.r.t version related info so that Version is 
> optionaly included as part of a RegistryObject and RegistryEntry is 
> eliminated. The only issues I see with this is:
>
>    -It makes a big RIM change late in V3 cycle
>    -Version work would have to think through implications ofr 
> supporting full version control in V4
>
> The proposed schema changes could look something like:
>
> 1. Removes RegistryEntryType (not shown in schema fragments)
>
> 2. Replace RegistryEntryType with RegistryObjectType (not shown in 
> schema fragments)
>
> 3. Add VersionType as follows:

mm1: Farrukh, perhaps we should look at the suggestions in discussion 
within UBL and OAG-CC who submitted comments to the CCTS implementation 
verification group.  All of these may or may not apply:

Code List. Identifier

Code List. Version. Identifier

Code List. Agency. Identifier

Code List. Agency Scheme. Identifier

Code List. Agency Scheme Agency. Identifier


This is related to codes although this is a good reference point (Note, 
could the version be determined by other than the registry owner - for 
example, they use a code list and store them locally in a registry for 
use, but the actual officiating agency is some other authority.  If this 
is too benign a case, I can understand).

And too, RosettaNet has proposed some versioning attributes on what 
looks to be loosely the same as a core component.  In addition to the 
major and minor version, they have proposed:

    * Date defined
    * Date minor version
    * Date major version

Most of the other attributes, I believe we probably already have 
defined. Thanks.

>
> *    <complexType name = "VersionType">
>         <annotation>
>             <documentation xml:lang = "en">
> Defines a version for a RegistryObject.
>             </documentation>
>         </annotation>
>         <sequence minOccurs = "0" maxOccurs = "unbounded">
>             <element ref = "tns:Slot"/>
>         </sequence>
>                 <attribute name = "expiration" use = "optional" type = 
> "dateTime"/>
>                 <attribute name = "majorVersion" default = "1" type = 
> "integer"/>
>                 <attribute name = "minorVersion" default = "0" type = 
> "integer"/>
>                 <attribute name = "stability" use = "optional">
>                     <simpleType>
>                         <restriction base = "NCName">
>                             <enumeration value = "Dynamic"/>
>                             <enumeration value = "DynamicCompatible"/>
>                             <enumeration value = "Static"/>
>                         </restriction>
>                     </simpleType>
>                 </attribute>
>
>                 <attribute name = "userVersion" use = "optional" type 
> = "tns:ShortName"/>
>     </complexType>
>     <element name = "Version" type = "tns:VersionType"/>
> *
> 4. Update RegistryObjectType as follows:
>
>     <complexType name = "RegistryObjectType">
>         <annotation>
>             <documentation xml:lang = "en">
> id may be empty. If specified it may be in urn:uuid format or be in some
> arbitrary format. If id is empty registry must generate globally 
> unique id.
>
> If id is provided and in proper UUID syntax (starts with urn:uuid:) 
> registry will honour it.
>
> If id is provided and is not in proper UUID syntax then it is used for
> linkage within document and is ignored by the registry. In this case the
> registry generates a UUID for id attribute.
>
> id must not be null when object is being retrieved from the registry.
>
>             </documentation>
>         </annotation>
>         <sequence minOccurs = "0" maxOccurs = "1">
>             <element ref = "tns:Name" minOccurs = "0" maxOccurs = "1"/>
>             <element ref = "tns:Description" minOccurs = "0" maxOccurs 
> = "1"/>
>             <element ref = "tns:Slot" minOccurs = "0" maxOccurs = 
> "unbounded"/>
>             <element ref = "tns:Classification" minOccurs = "0" 
> maxOccurs = "unbounded"/>
>             <element ref = "tns:ExternalIdentifier" minOccurs = "0" 
> maxOccurs = "unbounded"/>
>             *<element ref = "tns:Version" minOccurs = "0" maxOccurs = 
> "1"/>*
>         </sequence>
>         <attribute name = "id" type = "anyURI"/>
>
>         <!--home attribute is required only for replicas of remote 
> Objects-->
>         <attribute name = "home" type = "anyURI" use="optional"/>
>
>         <attribute name = "objectType" use = "optional" type = "anyURI"/>
>            <attribute name = "status">
>                  <simpleType>
>                    <restriction base = "NCName">
>                          <enumeration value = "Submitted"/>
>                          <enumeration value = "Approved"/>
>                          <enumeration value = "Deprecated"/>
>                          <enumeration value = "Withdrawn"/>
>                    </restriction>
>                  </simpleType>
>            </attribute>
>     </complexType>
>     <element name = "RegistryObject" type = "tns:RegistryObjectType"/>
>
>
>
>




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