XSD: Referenz auf vorhandenes Element

RealHAZZARD

Erfahrenes Mitglied
Hallo,

ich habe da mal ein Problem...
Dafür hab ich mal ein Beispiel vorbereitet.
Ich möchte ein Schema für XML-Dateien, in denen man eine Liste von Produkten (die dort auch in ihren Eigenschaften definiert werden) erstellen kann. Und in einem anderen Element dieses Dokumentes soll dann eine Bestellung stattfinden. Dafür ist natürlich klar, dass nichts bestellt werden kann, was nicht auch da ist. Also möchte ich die Artikel so zu sagen nur per id refenrenzieren.
Beispielauszug für eine XML:
Code:
<artikelliste>
   <artikel id="1" hersteller"irgendwas1" titel="irdendwas1"/>
   <artikel id="2" hersteller"irgendwas2" titel="irdendwas2"/>
   <artikel id="3" hersteller"irgendwas3" titel="irdendwas3"/>
   <artikel id="4" hersteller"irgendwas4" titel="irdendwas4"/>
   <artikel id="5" hersteller"irgendwas5" titel="irdendwas5"/>
   ...
</artikelliste>
<bestelliste>
   <kunde id="egal">
      <position artikelid="2" menge="2" />
      <position artikelid="3" menge="3" />
      <position artikelid="1" menge="7" />
      <position artikelid="4711" menge="10" />
   </kunde>
   ...
</bestelliste>
Bitte nicht über Sinn oder Unsinn dieser Struktur diskutieren. Dies ist nur ein Beispiel.
Ich will also mit Hilfe einer XSD erreichen, dass das rot markierte einen Fehler darstellt, weil es keinen Artikel in der Artikelliste mit der ID 4711 gibt.
Ich habe mich dazu schon ein wenig belesen, aber ich steig da nicht so leicht durch. Die Beispiele waren leider immer zu umfangreich, weswegen man schnell die Übersicht verlor.
 
Hallo,

soweit ich weiß, ist das nicht möglich.
Meiner Meinung nach gehört sowas auch in die Programmlogik und nicht in ein Schema.

Ein Schema hat ja nur zu definieren wie eine XML-Datei auszusehen hat und nicht zu prüfen ob gültige Werte drin stehen.

MFG

Sascha
 

Neue Beiträge

Zurück