<link>

<link> definisce tra elementi o porzioni di testo un'associazione o legame ipertestuale non meglio specificabile da altri elementi 16.1 Links
Modulo linking — 16 Linking, Segmentation, and Alignment
Oltre agli attributi globali att.pointing (@target, @evaluate) att.typed (@type, @subtype)
targets specifica gli identificatori degli elementi o porzioni di testo da associare
Stato Opzionale
Tipo di dati 2–∞ occorrenze di 

<rng:ref name="data.pointer"/>
data.pointer
separato da spazio bianco
Valori two or more pointers (URIs), separated by whitespace
Usato da
Può contenere Elemento vuoto
Dichiarazione

<rng:element name="link">
 <rng:ref name="att.global.attributes"/>
 <rng:ref name="att.pointing.attributes"/>
 <rng:ref name="att.typed.attributes"/>
 <rng:optional>
  <rng:attribute name="targets">
   <rng:list>
    <rng:ref name="data.pointer"/>
    <rng:ref name="data.pointer"/>
    <rng:zeroOrMore>
     <rng:ref name="data.pointer"/>
    </rng:zeroOrMore>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:empty/>
</rng:element>
element link
{
   att.global.attributes,
   att.pointing.attributes,
   att.typed.attributes,
   attribute targets { list { data.pointer, data.pointer, data.pointer* } }?,
   empty
}
Schematron

<sch:report test="@target and @targets">You may not supply both
@target and @targets</sch:report>
Schematron

<sch:report test="not(@target) and not(@targets)">You must
supply either @target or @targets</sch:report>
Schematron

<sch:assert test="contains(@target,' ')">You must supply at least two
values for @target</sch:assert>
Esempio
<s n="1">The state Supreme Court has refused to release <rs xml:id="R1">
  <rs xml:id="R2">Rahway State Prison</rs> inmate</rs>
 <rs xml:id="R3">James Scott</rs> on bail.</s>
<s n="2">
 <rs xml:id="R4">The fighter</rs> is serving 30-40 years for a 1975 armed robbery conviction in <rs xml:id="R5">the penitentiary</rs>.
</s>
<!-- ... -->
<linkGrp type="periphrasis">
 <link targets="#R1 #R3 #R4"/>
 <link targets="#R2 #R5"/>
</linkGrp>