NIEM / NIEM-Releases

Repository for releases of the National Information Exchange Model
https://niem.github.io/niem-releases/
87 stars 23 forks source link

Include GENC URIs as appinfo in the genc.xsd schema document #163

Closed iamdrscott closed 4 years ago

iamdrscott commented 4 years ago

Conformance with GENC Standard Content requires "accompanying the code value with the applicable codespace identifier. This requirement may be fulfilled by either: a. a direct pairing, or b. by establishing a documented scope for a codespace identifier use and then ensuring that all code values employed within that scope are in accordance with the content baseline specified by that codespace identifier."

Using any of the genc:Country*CodeType components in an IEPD conforms with alternative (b). We can make this absolutely clear by providing the GENC codespace identifier as appinfo in the type definitions as follows:

  <xs:complexType name="CountryAlpha2CodeType">
    <xs:annotation>
      <xs:appinfo>
        <clsa:SimpleCodeListBinding 
          codeListURI="http://api.nsgreg.nga.mil/geo-political/GENC/2/3-10"
          constrainingIndicator="false"/>
      </xs:appinfo>
      <xs:documentation>A data type for country codes.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="genc:CountryAlpha2CodeSimpleType">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

and making corresponding changes to genc:CountryAlpha3CodeType, genc:CountryNumericCodeType, and genc:CountrySubdivisionCodeType. I believe the correct value for @constrainingIndicator is "false", because code values for these types will be validated against the schema enumeration, but I could be wrong.