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

 


Help: OASIS Mailing Lists Help | MarkMail Help

regrep message

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


Subject: [regrep4 issue] Make ClassificationScheme and ClassificationNodesubtypes of TaxonomyElement



Both ClassificationScheme and ClassificationNode are parents for a Set
of ClassificationNode. It is often the case that one needs to treat them
uniformly. in regrep 3 this is not possible because the only common base
class for the 2 classes is RegistryObjectT.

For regrep4, I am proposing that we add a intermediate type called
TaxonomyElement resulting in following hierarchy:

Identifiable
    RegistryObject
       TaxonomyELement
          ClassificationScheme
          ClassificationNode

The schema would look like:

  <complexType name="TaxonomyElementType">
    <annotation>
      <documentation xml:lang="en">
          Common base type for ClassificationScheme and ClassificationNode
      </documentation>
    </annotation>
    <complexContent>
      <extension base="tns:RegistryObjectType">
        <sequence>
          <element maxOccurs="unbounded" minOccurs="0"
ref="tns:ClassificationNode"/>
        </sequence>
        <attribute name="parent" type="tns:referenceURI" use="optional"/>
        <attribute name="path" type="string" use="optional"/>
      </extension>
    </complexContent>
  </complexType>

  <complexType name="ClassificationNodeType">
    <annotation>
      <documentation xml:lang="en">
          Represents a value in a ClassificationScheme
      </documentation>
    </annotation>
    <complexContent>
      <extension base="tns:TaxonomyElementType">
        <attribute name="code" type="tns:LongName" use="optional"/>
      </extension>
    </complexContent>
  </complexType>
  <element name="ClassificationNode" type="tns:ClassificationNodeType"
substitutionGroup="tns:Identifiable"/>

  <complexType name="ClassificationSchemeType">
    <annotation>
      <documentation xml:lang="en">
        ClassificationScheme is the mapping of the same named interface
in ebRIM.
        It extends RegistryObject.
      </documentation>
    </annotation>
    <complexContent>
      <extension base="tns:TaxonomyElementType">
        <attribute name="isInternal" type="boolean" use="required"/>
        <attribute name="nodeType" type="tns:referenceURI" use="required"/>
      </extension>
    </complexContent>
  </complexType>
  <element name="ClassificationScheme"
type="tns:ClassificationSchemeType" substitutionGroup="tns:Identifiable"/>

Please share any thoughts or concerns regarding this proposed change.
Thanks.

-- 
Regards,
Farrukh

Web: http://www.wellfleetsoftware.com





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