<relation>  (relationship) describes any kind of relationship or linkage amongst a specified
group of participants. 15.2.2  The Participant DescriptionModule namesdates — 13  Names, Dates, People, and Places Attributes  att.datable  (att.datable.w3c  (@period , @when , @notBefore , @notAfter , @from , @to ))  (att.datable.iso  (@when-iso , @notBefore-iso , @notAfter-iso , @from-iso , @to-iso )) att.editLike  (@cert , @resp , @evidence , @source )  (att.dimensions  (@unit , @quantity , @extent , @atLeast , @atMost , @min , @max , @precision , @scope )) att.naming  (@nymRef )  (att.canonical  (@key , @ref )) type categorizes the relationship in some respect, e.g.
as social, personal or other.Status  Optional Datatype  Suggested values include: social relationship concerned with social roles personal relationship concerned with personal roles, e.g.
kinship, marriage, etc. [Default]  other other kinds of relationship 
 name supplies a name for the kind of  relationship of which
	this is an instance.Status  Required Datatype  Values  an open list of application-dependent keywords 
 active identifies the ‘active’ participants in a non-mutual
relationship, or all the participants in a mutual one.Status  Optional Datatype   1–∞ occurrences of  separated by whitespace Values  a list of identifier values for participant or participant
groups 
 mutual supplies a list of participants amongst all of whom the relationship holds equally.Status  Mandatory when applicable Datatype   1–∞ occurrences of  separated by whitespace Values  a list of identifier values for participant or participant
groups 
 passive identifies the ‘passive’ participants in a non-mutual
relationship.Status  Optional Datatype   1–∞ occurrences of  separated by whitespace Values  a list of identifier values for participant or participant
groups 
 
 Used by May contain Declaration Compact to XML format XML format to compact <rng: element  name ="relation "> <rng: ref  name ="att.global.attributes  "/> <rng: ref  name ="att.datable.w3c.attributes  "/> <rng: ref  name ="att.datable.iso.attributes  "/> <rng: ref  name ="att.editLike.attributes  "/> <rng: ref  name ="att.dimensions.attributes  "/> <rng: ref  name ="att.naming.attributes  "/> <rng: ref  name ="att.canonical.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.datable.w3c.attributes ,
   att.datable.iso.attributes ,
   att.editLike.attributes ,
   att.dimensions.attributes ,
   att.naming.attributes ,
   att.canonical.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 ?
} Example <relation    type ="social "   name ="supervisor "   active ="#p1 "   passive ="#p2 #p3 #p4 "/> 
 This indicates that the person with identifier p1 is supervisor of
persons p2, p3, and p4.
Example <relation  type ="personal " name ="friends " mutual ="#p2 #p3 #p4 "/> 
 This indicates that p2, p3, and p4 are all friends.
Note  Only one of the attributes active  and
  mutual  may be supplied; the attribute passive 
  may be supplied only if the attribute active   is supplied. Not all
  of these constraints can be enforced in all schema languages.