Angenommen, wir haben das folgende Schema:
%Vor%und hier ist die Beispiel-XML-Datei:
%Vor%Damit c_elements auf a_elements und b_elements durch ID referenzieren kann. Ist es möglich, das ref-Attribut so zu beschränken, dass nur Referenzen auf Elemente aus einer Gruppe akzeptiert werden, etwa a_elements?
Neben meiner früheren Antwort können Sie theoretisch nicht die Verwendung von ID / IDREF beschränken, es ist jedoch möglich, eine Identitätsbeschränkung hinzuzufügen, die Ihre Anforderung erfüllt:
%Vor%Ich kenne keinen Mechanismus, um dies mit ID und IDREF zu tun. Design ID und IDREF beziehen sich auf alle Tags im Dokument.
Das heißt, Sie könnten dies auf irgendeine Weise umgehen - vielleicht mit Validierungsregeln für alle Prozesse der Datenstruktur. Dies wäre zum Beispiel mit Xpath-Ausdrücken recht einfach. Sie könnten dies sicherlich mit einer Schematron-Assertion erreichen. Hier ein Beispiel: Ссылка
Hoffe, das hilft.
Ken
Die Lösung von kennethmay funktioniert möglicherweise nicht, wenn Sie XSD 1.0 verwenden. Zum Beispiel benutze ich Visual Studio 2015 Editor und zeigen, dass bs Element (z. B.) nicht als Fehler identifiziert wird. Ich denke, das funktioniert nur für XSD Version 1.1