XML-Schema: vorhandene Attribute einschränken?

Hallo zusammen,

Lange habe ich mich gegen XML gewehrt, nun hilft alles nichts mehr: ich muss im Rahmen meiner Diplomarbeit ein XML-Schema erweitern und bin dabei auf gewisse Probleme gestoßen.
So gibt es einen Typ

Der hier dann verwendet werden soll, bzw. eigentlich sollte er so eingeschränkt werden dass in diesem Typ das Attribut nur bestimmte Werte annehmen darf

 (...) 

Das Ganze ist nicht valide (wobei ich meinem XMLSpy nicht mehr so recht glaube, so wie der in der letzten Woche einen Bug nach dem anderen offenbart hat).
Leider habe ich keine Ahnung wie das gehen soll, bzw. ob es überhaupt geht.
Also, noch mal auf Deutsch: ich wollte es eigentlich so machen, dass das Attribut „mimeType“ des MediaResourceType innerhalb des Typs ExampleAudioQueryType nur die Werte audio/mpeg, audio/x-pn-realaudio und audio/x-wav annehmen darf. Ist das irgendwie machbar?

Ich wäre Euch echt dankbar für ein bisschen Hilfe - die Tutorials, Foren etc., die ich bisher durchgewühlt habe, haben mir diesbezüglich leider gar nichts gebracht. :frowning:

Schöne Grüße,
Kerstin

Hallo,

Also, noch mal auf Deutsch: ich wollte es eigentlich so
machen, dass das Attribut „mimeType“ des MediaResourceType
innerhalb des Typs ExampleAudioQueryType nur die Werte
audio/mpeg, audio/x-pn-realaudio und audio/x-wav annehmen
darf. Ist das irgendwie machbar?

so sollte es gehen:

Gruß
Heavy

Hallo,

darauf wäre ich auch gekommen - nur leider darf ich das nicht - das ist ein wichtiger Typ in dem Projekt der muss so bleiben wie er ist (jedenfalls so lange mein Betreuer darauf beharrt…). Hatte mich vielleicht falsch ausgedrück, sorry.

Dennoch danke… Ich werde wohl doch Untertypen zu diesem MediaResourceType machen müssen.

Kerstin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

der Ansatz war schon richtig, nur brauchst Du keine List. Dein neuer Type erbt vom „MediaResourceType“ und überschreibt dann das Attribut „mimeType“ mit einer Enumeration, welche nur die angegebenen Werte zuläßt:

Im Ergebnis sieht der neue Type des Elements „ExampleAudio“ (hier anonym, man könnte ihn auch als eigenen Type definieren und z.B. ExampleAudioResourceType o.ä. nennne) genauso aus wie der „MediaResourceType“.

Grüße
Ralf

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]