What is the Namespace Conformance within the National Information Exchange Model (NIEM)?

A namespace can be labeled as NIEM-conformant. Any namespace that is not NIEM conformant is referred to as an external namespace. A namespace is NIEM-conformant if its reference schema follows NIEM conformance rules. A schema component must be in a NIEM-conformant namespace to be considered NIEM conformant. For any component of a schema to be conformant, the entire schema must be conformant.  A NIEM conformant schema must claim to be conformant. This occurs when the document element, the schema element, has a child annotation with a child appinfo with a child element i:conformant with the character child "true". In other words, the XPath

"/xsd:schema/xsd:annotation/xsd:appinfo/i:conformant" has the value "true".

 

<xsd:schema ...>

  <xsd:annotation>

    <xsd:appinfo>

      <i:conformant>true</i:conformant>

  </xsd:appinfo>

 </xsd:annotation>

</xsd:schema>

 

Non-Schema Namespaces

 

An external namespace may be defined by a non-schema mechanism, such as DTD. In such a case, a placeholder schema would be created to represent the exact constructs referred to from the NIEM-conformant schema. A placeholder schema would not represent the deeper XML content of such namespaces. Instead, it would define placeholder elements and additional required constructs that are further defined by the non-XML Schema standard.

 

For example, XHTML 1.0, which has no normative XML Schema definition, may be considered an external namespace. XHTML defines a namespace, and numerous elements within that namespace.  Were a NIEM-conformant schema specification to use the element "xhtml:ul" (an unordered list), it would use a reference. In order for schema validation to proceed normally, a schema would have to define that element. However, there is no such schema for Non-XML Schema specifications. The schema that is created to fulfill that role is the placeholder schema. Placeholder schemas should only represent the necessary components directly referred to from NIEM-conformant schemas.

 

Importing of External Namespaces

 

When NIEM namespaces are imported, the import statements are documented with a description of how the namespace is relevant to the namespace being defined. External

(non-NIEM) namespaces should be documented with additional information, including:

 

1. An indication that the imported namespace is not NIEM-conformant.

2. The URI for a source of the reference schema for the namespace

3. Version information

4. Information about the body responsible for the standard, including:

1. Contact information

2. URI

Additional metadata will be defined, as the NIEM NDR is further defined. For the time being, the metadata should be included as documentation elements.