是的,这是可能的。
可以定义一个键(使用xsd:key或xsd:unique),然后使用xsd:keyref来引用它。
<?xml version="1.0" encoding="utf-8"?>
<!--XML Schema generated by QTAssistant/XML Schema Refactoring (XSR) Module (http://www.paschidev.com)-->
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="sample">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="SCHOOL" type="xsd:string"/>
<xsd:element name="STUDENT" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="SCHOOL_ID" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:key name="PKSchools">
<xsd:selector xpath="SCHOOL"/>
<xsd:field xpath="."/>
</xsd:key>
<xsd:keyref name="FKStudentSchool" refer="PKSchools">
<xsd:selector xpath="STUDENT/SCHOOL_ID"/>
<xsd:field xpath="."/>
</xsd:keyref>
</xsd:element>
</xsd:schema>

此示例XML将无法通过验证:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- Sample XML generated by QTAssistant (http://www.paschidev.com) -->
<sample xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SCHOOL>001</SCHOOL>
<STUDENT>
<SCHOOL_ID>002</SCHOOL_ID>
</STUDENT>
</sample>
该错误消息(可能不同):出现
错误而载入[],第8行位置3“PKSchools”Keyref中的键序列 '002'未能引用某个键。
你可以编辑你的问题,并显示实际的XML而不是使用问题的口头描述? –
有些问题没有格式化'行话'恕我直言,更清晰。 – Ichorus