<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.global (@xml:id , @n , @xml:lang , @rend , @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.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 (@evidence , @source ) (att.dimensions (@unit , @quantity , @extent , @precision , @scope ) (att.ranging (@atLeast , @atMost , @min , @max )) ) (att.responsibility (@cert , @resp )) att.naming (@role , @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
Contained 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.global.linking.attributes "/> <rng:ref name="att.global.analytic.attributes "/> <rng:ref name="att.global.facs.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.ranging.attributes "/> <rng:ref name="att.responsibility.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:ref name="data.pointer "/> <rng:zeroOrMore> <rng:ref name="data.pointer "/> </rng:zeroOrMore> </rng:list> </rng:attribute> </rng:optional> <rng:optional> <rng:attribute name="mutual "> <rng:list> <rng:ref name="data.pointer "/> <rng:zeroOrMore> <rng:ref name="data.pointer "/> </rng:zeroOrMore> </rng:list> </rng:attribute> </rng:optional> </rng:choice> <rng:optional> <rng:attribute name="passive "> <rng:list> <rng:ref name="data.pointer "/> <rng:zeroOrMore> <rng:ref name="data.pointer "/> </rng:zeroOrMore> </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.datable.w3c.attributes ,
att.datable.iso.attributes ,
att.editLike.attributes ,
att.dimensions.attributes ,
att.ranging.attributes ,
att.responsibility.attributes ,
att.naming.attributes ,
att.canonical.attributes ,
attribute type { "social" | "personal" | "other" | xsd:Name }?,
attribute name { data.enumerated },
(
attribute active { list { data.pointer , data.pointer * } }?
| attribute mutual { list { data.pointer , data.pointer * } }?
),
attribute passive { list { data.pointer , 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>
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.