この関係を定義するには、ID
とともに を使用します。IDREF
以下に 2 つの形式を示します。
DTD
<!DOCTYPE lab_group [
<!ELEMENT lab_group (student_name)*>
<!ELEMENT student_name (#PCDATA)>
<!ATTLIST student_name student_no ID #REQUIRED>
<!ATTLIST student_name tutor_1 IDREF #IMPLIED>
<!ATTLIST student_name tutor_2 IDREF #IMPLIED>
<!ATTLIST student_name tutor_3 IDREF #IMPLIED>
<!ATTLIST student_name tutor_4 IDREF #IMPLIED>
]>
XSD
<xs:element name="student_name">
<xs:key name="ID">
<xs:selector xpath="student_no"/>
<xs:field xpath="@id"/>
</xs:key>
<xs:keyref name="IDREF" refer="ID">
<xs:selector xpath="//student_name/@tutor_1|//student_name/@tutor_2|//student_name/@tutor_3|//student_name/@tutor_4"/>
<xs:field xpath="@ref"/>
</xs:keyref>
</xs:element>
クイックリファレンス用にいくつかの類似物を次に示します。
- ID => 主キー
- IDREF => 外部キー
- IDREFS => 結合