With first_name, last_name, and full_name, which would be
mandatory and which would be optional? Can that be
expressed in XSD?
Good point! I think we would have to make them all
optional.
I think you have to make at least one name field required. But
maybe not - I guess it is foreseeable that someone could report
their neighbor or their postman or guy who works at walmart as being
missing without knowing his or her first, last, nickname, etc.). In
which case, this information would go into a descriptive "other"
field.
I'm sorry, I wasn't very clear in my reply. I was replying only to the question about XSD: I believe that it isn't possible to express, in XSD, this kind of "require at least 1 of n" condition. Assuming we want to provide an XML schema for PFIF, we have to make the optionality decision for each field separately. Thus, for example, we could choose to make <full_name> always required, and the others optional.
If we want to choose one field to be required, I also think that <full_name> is the nicest choice from a design point of view; the only drawback is that PFIF 1.2 data would not be valid PFIF 1.3. Presumably, records would be converted to PFIF 1.3 by setting full_name = first_name + " " + last_name.
Any other opinions on whether to make any of these fields required?
—Ping