<relation>

<relation> (relation) décrit tout type de relation ou de lien à l'intérieur d'un groupe donné de participants. [15.2.2 The Participant Description]
Modulenamesdates — 13 Names, Dates, People, and Places
Attributsatt.global (@xml:id, @n, @xml:lang, @rend, @style, @rendition, @xml:base, @xml:space) (att.global.linking (@corresp, @synch, @sameAs, @copyOf, @next, @prev, @exclude, @select)) (att.global.analytic (@ana)) (att.global.facs (@facs)) (att.global.change (@change)) att.datable (@calendar, @period) (att.datable.w3c (@when, @notBefore, @notAfter, @from, @to)) (att.datable.iso (@when-iso, @notBefore-iso, @notAfter-iso, @from-iso, @to-iso)) (att.datable.custom (@when-custom, @notBefore-custom, @notAfter-custom, @from-custom, @to-custom, @datingPoint, @datingMethod)) att.editLike (@evidence, @source, @instant) (att.dimensions (@unit, @quantity, @extent, @precision, @scope) (att.ranging (@atLeast, @atMost, @min, @max, @confidence)) ) (att.responsibility (@cert, @resp)) att.canonical (@key, @ref) att.sortable (@sortKey)
typecaractérise la relation sous un certain aspect, par exemple social, personnel ou autre.
Statut Optionel
Type de données

<rng:ref name="data.enumerated"/>
data.enumerated
Les valeurs suggérées comprennent:
social
forme de relation sociale.
personal
forme de relation personnelle, comme parenté, mariage, etc. [Valeur par défaut]
other
autres formes de relation.
namefournit un nom pour le type de relation dont elle est une instance.
Statut Requis
Type de données

<rng:ref name="data.enumerated"/>
data.enumerated
Valeurs une liste ouverte de mots-clé dépendant de l'application.
activeidentifie les participants actifs dans une relation à sens unique, ou tous les participants dans une relation réciproque.
Statut Optionel
Type de données 1–∞ occurrences of 

<rng:ref name="data.pointer"/>
data.pointer
séparé par un espace
Valeurs une liste de valeurs identifiant les participants ou les groupes de participants.
mutualfournit une liste de participants entre lesquels la relation est réciproque.
Statut Optionel
Type de données 1–∞ occurrences of 

<rng:ref name="data.pointer"/>
data.pointer
séparé par un espace
Valeurs une liste de valeurs identifiant les participants ou les groupes de participants.
passiveidentifie les participants ‘passifs’ dans une relation non mutuelle.
Statut Optionel
Type de données 1–∞ occurrences of 

<rng:ref name="data.pointer"/>
data.pointer
séparé par un espace
Valeurs une liste de valeurs identifiant les participants ou les groupes de participants.
Membre du
Contenu dans
Peut contenir
core: desc
Declaration

<rng:element name="relation">
 <rng:ref name="att.global.attributes"/>
 <rng:ref name="att.global.linking.attributes"/>
 <rng:ref name="att.global.analytic.attributes"/>
 <rng:ref name="att.global.facs.attributes"/>
 <rng:ref name="att.global.change.attributes"/>
 <rng:ref name="att.datable.attributes"/>
 <rng:ref name="att.datable.w3c.attributes"/>
 <rng:ref name="att.datable.iso.attributes"/>
 <rng:ref name="att.datable.custom.attributes"/>
 <rng:ref name="att.editLike.attributes"/>
 <rng:ref name="att.dimensions.attributes"/>
 <rng:ref name="att.ranging.attributes"/>
 <rng:ref name="att.responsibility.attributes"/>
 <rng:ref name="att.canonical.attributes"/>
 <rng:ref name="att.sortable.attributes"/>
 <rng:optional>
  <rng:attribute name="type" a:defaultValue="personal">
   <rng:choice>
    <rng:value>social</rng:value>
    <rng:value>personal</rng:value>
    <rng:value>other</rng:value>
    <rng:data type="Name"/>
   </rng:choice>
  </rng:attribute>
 </rng:optional>
 <rng:attribute name="name">
  <rng:ref name="data.enumerated"/>
 </rng:attribute>
 <rng:choice>
  <rng:optional>
   <rng:attribute name="active">
    <rng:list>
     <rng:oneOrMore>
      <rng:ref name="data.pointer"/>
     </rng:oneOrMore>
    </rng:list>
   </rng:attribute>
  </rng:optional>
  <rng:optional>
   <rng:attribute name="mutual">
    <rng:list>
     <rng:oneOrMore>
      <rng:ref name="data.pointer"/>
     </rng:oneOrMore>
    </rng:list>
   </rng:attribute>
  </rng:optional>
 </rng:choice>
 <rng:optional>
  <rng:attribute name="passive">
   <rng:list>
    <rng:oneOrMore>
     <rng:ref name="data.pointer"/>
    </rng:oneOrMore>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:ref name="desc"/>
 </rng:optional>
</rng:element>
element relation
{
   att.global.attributes,
   att.global.linking.attributes,
   att.global.analytic.attributes,
   att.global.facs.attributes,
   att.global.change.attributes,
   att.datable.attributes,
   att.datable.w3c.attributes,
   att.datable.iso.attributes,
   att.datable.custom.attributes,
   att.editLike.attributes,
   att.dimensions.attributes,
   att.ranging.attributes,
   att.responsibility.attributes,
   att.canonical.attributes,
   att.sortable.attributes,
   attribute type { "social" | "personal" | "other" | xsd:Name }?,
   attribute name { data.enumerated },
   (
      attribute active { list { data.pointer+ } }?
    | attribute mutual { list { data.pointer+ } }?
   ),
   attribute passive { list { data.pointer+ } }?,
   desc?
}
Schematron

<s:report test="@active and @mutual">Only one of the attributes
@active and @mutual may be supplied</s:report>
Schematron

<s:report test="@passive and not(@active)">the attribute 'passive'
may be supplied only if the attribute 'active' is
supplied</s:report>
Exemple
<relation
  type="social"
  name="supervisor"
  active="#fr_p1"
  passive="#p2 #p3 #p4"/>

Cela indique que la personne avec l'identifiant p1 est le superviseur des personnes p2, p3 et p4.

Exemple
<relation type="personal" name="friends" mutual="#fr_p2 #fr_p3 #fr_p4"/>

Cela indique que p2, p3 et p4 sont tous amis.

Note

Un seul des attributs active et mutual peut être fourni ; l'attribut passive ne peut être utilisé que si l'attribut active est fourni. Tous les langages de schéma ne sont pas capables d'exprimer la totalité de ces contraintes.