Beschränken Sie die ID-Verweise auf eine bestimmte Elementgruppe

8

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?

    
Max 15.11.2011, 19:37
quelle

3 Antworten

6

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%     
kennethmay 19.11.2011, 22:04
quelle
1

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

    
kennethmay 17.11.2011 16:41
quelle
0

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

    
Sriwantha Attanayake 16.11.2016 04:37
quelle

Tags und Links