IDREF/IDREFS Data Item
XML Naming Approach

Container Identifiers

All containers (represented as XML Elements) have an ContainerNameID XML attribute that is used strictly for IDREF's inside the XML file.   In servicing transfer none of the ID fields are defined as having any business meaning per se.

If there is an "Identifier" data item that has business value it is defined as a separate data item (e.g. PayeeID vs. PayeeIdentifier).   By defining the ID's as having no business meaning it gets around potentially nasty conflicts between ID's that may overlap (e.g. a loan Identifier that happens to be the same as a particular Payee Identifier).   It's up to the creator of the XML to use a convention for the ID's that are unique.

It may make sense to recommend that all future containers have an optional ContainerName_ID/ID XML attribute.

IDREF/IDREFs Naming Convention

So the convention we took was to name the IDREF attribute that points to an ID as:

  DataItemName +"_Referencing_"+ UpperCamelCaseContainerName + "ID"

e.g. HazardInsuranceAgentPayeeIDREF_Referencing_PayeeID

and for the IDREFS that point to one or more IDs as:

  DataItemName +"_Referencing_"+ UpperCamelCaseContainerName + "IDs"

e.g. BorrowerIDREFS_Referencing_BorrowerIDs