*commonName should have attribute xml:lang instead of language
*otherNames is not useful as is. It was intended to capture different name components required by a jurisdiction which are not covered by the other (non-commonName) sub-elements. In order to meet this, it should have an attribute to such as @component similar to how an addressLine is handled.
Ideally we could find an existing standard to adopt, but I haven't found anything yet.
Dublin core has some interesting discussion:
http://dublincore.org/documents/name-representation/
*commonName should have attribute xml:lang instead of language
*otherNames is not useful as is. It was intended to capture different name components required by a jurisdiction which are not covered by the other (non-commonName) sub-elements. In order to meet this, it should have an attribute to such as @component similar to how an addressLine is handled.
Ideally we could find an existing standard to adopt, but I haven't found anything yet.
Dublin core has some interesting discussion:
http://dublincore.org/documents/name-representation/