The answer is that technically you can use a code list as an element or an attribute or both. However, rule 2 of the NIEM Conformance Rules (https://www.niem.gov/aboutniem/grant-funding/Pages/implementation-guide.aspx) states the following: “If the appropriate component (type, element, attribute, etc.) required for an IEPD exists in the NIEM, use that component. Do not create a duplicate component of one that already exists.” By defining both an attribute and an element you are creating two components that mean the same thing. One would need a very strong business justification for using the code list as both an element and an attribute.