Next: 1.4.1 <ContactDefinition>
Up: 1. Elements
Previous: 1.3.6 <PerformanceProperties>
Contents
Index
1.4 Shared Definitions
If a Supplier is creating an IVES message that refers to the same
real world entity in multiple locations within the document or within
multiple documents then there a number of steps that can be taken
to ensure that this data sharing is explicit in the IVES markup.
The shared entities should define a supplierSpecificId (see
) so that the shared elements are
unambiguously referring to the same entity. This removes the potential
duplication, but it does potentially leave you with a document that
contains a lot of duplicate information. It also means that each successive
definition of an entity would override the meta-data from an earlier
definition which might also lead to inconsistencies.
If you want to remove the duplication, then one creates a definition
element that defines the definitive description of an object. The
definition element is held in the <IvesMessage> but outside
the hierarchy of any particular <Event>.
Every time that a Supplier wants to refer to this definition then
they use a reference element. The reference element
can be used instead of an explicit inline definition for the object
and is a pointer to the definition element. Consumers that
are parsing an IVES message should then relate the data contained
in the definition element to all reference elements
that refer to it.
- The binding between a definition element and a reference
element is via the supplierDefinitionId which is compulsory
on both the definition element and the reference element.
- If you have a reference element that uses a supplierDefinitionId
that is not resolveable to a definition element in the current
document then the Consumer should use the most recently received matching
definition element from an earlier document from the same Supplier.
Consumers are under no obligation to be able to perform this operation,
and if a Supplier is not aware that the Consumer that they are sending
the reference element to is both able to perform the operation,
and is also in possesion of the definition element then it
is safer to always embed the current version of the appropriate definition
elements in the same IVES document that contains the reference
elements.
- If it is still not possible to resolve the definition object then
the reference cannot be resolved and therefore the <Event> containing
the reference cannot be utilised. This should be treated as an error
condition and should be resolved, either by the Supplier providing
the appropriate definition elements or by the Consumer making the
decision to delete the reference elements and then re-parsing the
IVES document.
The following list is all of the elements that support definition
and reference objects:
It is also worth noting that references can be included in other definitions.
For example, a <VenueDefinition> may contain <ContactReference> elements
that point at <ContactDefinition>s which themselves contain <LinkReference>
to <LinkDefinition> elements and so forth.
Subsections
Next: 1.4.1 <ContactDefinition>
Up: 1. Elements
Previous: 1.3.6 <PerformanceProperties>
Contents
Index
Alex Fiennes
2010-04-13