Skip to content

Proposal: Deprecate Use of QNames for IDs

Desiree Beck edited this page May 24, 2015 · 9 revisions

Status: Open
Comment Period Closes: Affects Backwards Compatibility: Yes
Relevant Issue: https://github.com/MAECProject/schemas/issues/106

Background Information

In MAEC v4.1, all MAEC identifiers (IDs) are captured and formatted as qualified names (QNames). Each ID includes both a namespace portion (optional) and an ID portion (required), separated by a colon (":"). To use these IDs, MAEC producers and consumers must map prefixes to namespaces.

Proposal

We propose using Uniform Resource Identifiers (URIs) instead of QNames for IDs. This follows a W3C recommendation (see http://www.w3.org/2001/tag/doc/qnameids) and will make the use of IDs more direct.

Example

Before
<maecPackage:MAEC_Package ... xmlns:AcmeCompany="http://www.acmecompany.com"...>
  <maecPackage:Malware_Subjects>
    <maecPackage:Malware_Subject id="AcmeCompany:example-sub-1">
    ...
    </maecPackage:Malware_Subject>
  </maecPackage:Malware_Subjects>
</maecPackage:MAEC_Package>
After
<maecPackage:MAEC_Package ...>
  <maecPackage:Malware_Subjects>
    <maecPackage:Malware_Subject id="http://www.acmecompany.com/example-sub-1">
    ...
    </maecPackage:Malware_Subject>
  </maecPackage:Malware_Subjects>
</maecPackage:MAEC_Package>

Impact

This change will not be backward compatible and is one of several revisions planned in new major version.

Requested Feedback

  1. Should URIs be used instead of QNames in IDs?
  2. Are there any circumstances when using QNames is necessary or preferable?

Clone this wiki locally