data elements, as well as information about the metadata captured about data elements. Part 5 of the ISO 11179 standard establishes a methodology for naming items in data dictionaries. The ISO 11179-based NIEM NDR naming convention uses object class, property, and representation terms to constitute a multiple-part name as shown in the figure below: Object Class Term: Represents the object to which the property is applicable. In NIEM, we interpret that object to be the real-world object. (An object class refers to a group of objects that share the same attributes, operations, methods, relationships, and semantics.) Property Term: Identifies the property that the data element represents (e.g., last name, expiration date, height, total). Representation Term: Describes the form of the data represented. These terms have been derived from ISO 11179 representation terms, and include Amount, Code, Date, Time, Indicator, Measure, Name, Numeric, Percent, Picture, Quantity, Rate, and Time. Qualifier Term: The object class and property terms can have qualifiers; i.e., a word or words that help define and differentiate the element name. NIEM modeling and schema concepts The NIEM technical modeling and schema concepts and mechanisms which support building new data components that meet specific requirements and reusing existing NIEM data components are briefly described below. More detail can be found in the NIEM User Guide and the NIEM NDR. Data elements, classes, types, and properties The NIEM data model uses concepts originating from object-oriented programming (OOP). OOP defines a class as a specific entity in the data model, which may represent a real-world object but may also represent any conceptual object, such as relationships and messages. An object's properties are said to describe the object. When the NIEM XML Schemas are generated from the NIEM data model, data model classes are represented as XML Schema types, and data model properties are represented as XML elements and attributes. Extension techniques There are two approaches for extending the NIEM data model for use in information exchange schemas and documents. Creating new NIEM types to represent new concepts Adding new data to existing NIEM types, to extend existing concepts Specialization with inheritance Specialization is used when a base object class (type) contains or can be subcategorized into a more specific subclass. When this can be done, the subclass derived from the base class inherits the properties of the more general base or parent class. This mechanism is used to share or reuse