# XSD-Datei zulässige Werte auslesen



## Systalisma (18. Mai 2011)

Hallo zusammen,

ich habe eine xsd-Datei welche ich auslesen möchte.

In der xsd-Datei sind verschiedene Werte festgelegt.
Es kann zum Beispiel ein Element "Attribut" nur die Werte "Attribut1" - "Attribut6" haben.

Ich habe den xml-code schon mit der xsd-Datei validiert, das klappt auch.

Z.b. wenn ich in der xml-Datei das Element "Attribut0" eingebe, dann gibt mir der XML-Validator folegendes aus:
"...Eines der Attribute {Attribut1, Attribut2, Attribut3, Attribut4, Attribut5, Attribut6} wurde erwartet"

Hier sehe ich, dass der Validator alles richtig erkennt.

Meine Frage ist:
Wie bekomme ich diese zulässigen Werte heraus? (z.B. in einer ArrayList speichern)


Mit freundlichen Grüßen
Systalisma


----------



## Tomate_Salat (18. Mai 2011)

du könntest dir mal JAXB anschauen. Das mit deinen Attributen könntest du dann als enum realisieren.


----------



## Systalisma (18. Mai 2011)

JAXB, davon hab ich auch schon gelesen.

Ich würde nur gerne wissen ob es auch noch andere Möglichkeiten oder Methoden gibt um ganz allgemein eine xml -oder xsd-Datei zu analyisieren.

Mfg
Systalisma


----------



## Wildcard (18. Mai 2011)

Wenn du gerne ein bestimmtes XML einlesen möchtest dann kannst du dir aus der XSD mit EMF entsprechende Java Klassen generieren lassen. EMF erkennt dabei restrictions wie besagte Enumeration und erzeugt dir daraus einen Java Enum für dein Modell.
Wenn es dir allgemein darum geht beliebige XSDs zu analysieren dann würde ich XML Schema Infoset verwenden (ein EMF Modell für XSDs).
Eclipse Modeling - EMF - Home
Eclipse Modeling - MDT - Home


----------

