Attempting to install the relevant ISO 2- and 3-letter codes as the enumerated possible values is probably never going to be a realistic possibility. See RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry at http://www.iana.org/assignments/lang-tag-apps.htm for further information. The union allows for the 'un-declaration' of xml:lang with the empty string.
Source
<xs:element name="knowledgeItem"><xs:annotation><xs:documentation>An Item used for collating a set of concept definitions to form the physical representation of a controlled vocabulary</xs:documentation></xs:annotation><xs:complexType><xs:complexContent><xs:extension base="AnyItemType"><xs:sequence><xs:element name="contentMeta" minOccurs="0"><xs:annotation><xs:documentation>Content Metadata for a Knowledge Item</xs:documentation></xs:annotation><xs:complexType><xs:sequence><xs:element ref="icon" minOccurs="0"/><xs:group ref="AdministrativeMetadataGroup"/><xs:choice minOccurs="0" maxOccurs="unbounded"><!-- v1.1 rev3 : evolution. language added to the set--><xs:element ref="language"/><xs:element ref="subject"/><xs:element ref="description"/></xs:choice><xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/></xs:sequence><xs:anyAttribute namespace="##other" processContents="lax"/></xs:complexType></xs:element><xs:element name="conceptSet" minOccurs="0"><xs:annotation><xs:documentation>An unordered set of concepts</xs:documentation></xs:annotation><xs:complexType><xs:sequence><xs:element ref="concept" minOccurs="0" maxOccurs="unbounded"><xs:annotation><xs:documentation>A set of properties defining a concept</xs:documentation></xs:annotation></xs:element></xs:sequence><xs:anyAttribute namespace="##other" processContents="lax"/></xs:complexType></xs:element></xs:sequence></xs:extension></xs:complexContent></xs:complexType></xs:element>
ANY attribute from ANY namespace OTHER than 'http://iptc.org/std/nar/2006-10-01/'
Source
<xs:element name="conceptSet" minOccurs="0"><xs:annotation><xs:documentation>An unordered set of concepts</xs:documentation></xs:annotation><xs:complexType><xs:sequence><xs:element ref="concept" minOccurs="0" maxOccurs="unbounded"><xs:annotation><xs:documentation>A set of properties defining a concept</xs:documentation></xs:annotation></xs:element></xs:sequence><xs:anyAttribute namespace="##other" processContents="lax"/></xs:complexType></xs:element>