niemopen / niem-naming-design-rules

NIEM Naming and Design Rules Specification
Other
4 stars 2 forks source link

Add Representation Term `Adapter` #5

Open cdmgtri opened 1 year ago

cdmgtri commented 1 year ago

Migrated from NIEM/NIEM-NDR#114

Adapter seems like a useful representation term to add and easy to check. It's obvious in the schemas where the hand-off to external content appears, but there's no cue in the instances besides unfamiliar looking content.

We have similar representation terms for associations, augmentations, and metadata. Would like to see adapters treated consistently.

Dr. Scott: It shows up in the element name, just like with Codes.

todo Christina to make XML examples for clarity

cdmgtri commented 1 year ago

We sometimes use Adapter as a representation term for adapter properties and types. For the others, it is sometimes difficult or impossible to tell that they are adapters without looking at what the type contains.

Property Type
ag:LocationLineStringCoordinates geo:LineStringType
ag:LocationMultiSurfaceCoordinates geo:MultiSurfaceType
ag:LocationPointCoordinates geo:PointType
ag:LocationPolygonCoordinates geo:PolygonType
cbrn:SpecialEventSecurityArea geo:PolygonType
edxl-cap:AlertAdapter edxl-cap:AlertAdapterType
edxl-de:DistributionElementAdapter edxl-de:DistributionElementAdapterType
edxl-have:HaveAdapter edxl-have:HaveAdapterType
geo:AreaCurve geo:CurveType
geo:AreaEnvelope geo:EnvelopeType
geo:AreaPoint geo:PointType
geo:AreaPolygon geo:PolygonType
geo:AreaRegionGeometry geo:GeometryType
geo:Ellipse geo:EllipseType
geo:Feature geo:FeatureType
geo:Geometry geo:GeometryType
geo:LocationFeature geo:FeatureType
geo:LocationGeometry geo:GeometryType
geo:LocationGeospatialPoint geo:PointType
mo:WaypointPoint geo:PointType
mo:WGS84LocationEllipse mo:WGS84EllipseType
mo:WGS84LocationExternalPolygon mo:WGS84ExternalPolygonType
mo:WGS84LocationLineString mo:WGS84LineStringType
mo:WGS84LocationPoint mo:WGS84LocationPointType

Suggestions:

Also, a decision for the NBAC, but may want to make adapter namespace prefixes easier to spot and distinguish from external namespace prefixes. We could follow the pattern we use for xs (external) vs niem-xs (proxy):

External Current adapter Proposed adapter
xs niem-xs niem-xs
cap edxl-cap niem-cap
de edxl-de niem-de
have edxl-have niem-have
gml geo niem-gml
cdmgtri commented 1 year ago

Model changes merged into the dev branch for 6.0.