relationship-page

El elemento relationship-page (página de relaciones) solo debe utilizarse cuando se desee capturar relaciones de unidad familiar dentro del script (es decir, las relaciones entre las personas de una unidad familiar). Para que este elemento funcione correctamente, se apoya en la siguiente estructura de entidad del esquema de Almacén de datos:

Figura 1. Esquema de Almacén de datos necesario para una página de relaciones
<xsd:element name="Person">
  <xsd:complexType>
    <xsd:sequence minOccurs="0">
      <xsd:element ref="Relationship" 
                   minOccurs="0"
                   maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:attribute name="personID" type="D:SVR_KEY" />
    ...
  </xsd:complexType>
  <xsd:key name="PersonKey">
    <xsd:selector xpath="./Person" />
    <xsd:field xpath="@personID" />
  </xsd:key>
  <xsd:keyref name="RelationshipRef" refer="PersonKey">
    <xsd:selector xpath="./Person/Relationship" />
    <xsd:field xpath="@personID" />
  </xsd:keyref>
</xsd:element>

<xsd:element name="Relationship">
  <xsd:complexType>
    <xsd:attribute name="relationshipType" type="IEG_STRING" />
    <xsd:attribute name="personID" type="D:SVR_KEY" />
  </xsd:complexType>
</xsd:element>

Tenga en cuenta que la entidad Relación (Relationship) puede tener otros atributos definidos para capturar información adicional relativa a la propia relación. Por ejemplo, puede que desee valerse de la opción de utilizar un indicador para registrar si una relación es una relación de cuidador no progenitor o puede que desee añadir otros atributos de relación personalizados. Por ejemplo:

Figura 2. Esquema de Almacén de datos para atributos de relación
<xsd:element name="Relationship">
  <xsd:complexType>
    <xsd:attribute name="relationshipType" type="IEG_STRING" />
    <xsd:attribute name="personID" type="D:SVR_KEY" />
    <xsd:attribute name="isNonParentPrimaryCaretaker" 
                    type="IEG_BOOLEAN" />
    <xsd:attribute name="startDate" type="IEG_DATE" />
  </xsd:complexType>
</xsd:element>

Por supesto, también habrá que capturar las personas de la unidad familiar antes de visitar las páginas de relaciones pues, de lo contrario, no habrá relaciones que entrar. Suponiendo que haya personas en la unidad familiar, se mostrará una página para todos los miembros de la unidad familiar menos el último. En Control del flujo en los scripts IEG puede encontrarse información adicional sobre cómo crear páginas de relaciones y su aspecto.