Announcement

Collapse
No announcement yet.

JAXB Validierung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • JAXB Validierung

    Hallo,

    ich bin gerade dabei mich in JAXB einzuarbeiten und stehe nun vor der Aufgabe, eine Validierung vorzunehmen.

    Dabei geht es um den Übergang von Java zu XML. In unseren Mappern lesen wir die Attribute von den Fachobjekten und setzen sie in die JAXB-Klassen. Wenn die JAXB-Klasse nun gesetzt ist, möchte ich diese gerne von JAXB auf die Pflichtfelder prüfen lassen. Ich will also nicht händisch jedes einzelne Attribut abfragen, ob es null ist oder nicht, sondern das soll automatisch passieren. Dabei will/soll ich nicht den ganzen Baum prüfen (das passiert später sowieso) sondern beim Setzen der JAXB-Klassen in den Mappern übergebe ich das JAXB-Objekt und will wissen, ob die Pflichtfelder gesetzt sind und wenn nicht, welches Feld nicht gesetzt ist.

    Soviel ich weiß, weiß jede JAXB-Klasse, welche Pflichtfelder (die im Schema definiert wurden) es gibt. In jeder JAXB-Klasse gibt es einen ellenlangen String, in dem vermutlich diese Info steckt. Z.B.:

    schemaFragment = SchemaDeserializer.deserialize("\254\355\000\005sr \000\037com.sun.msv.grammar.SequenceExp\000\000\00 0\000\000\000\000\001\002\000\000xr\000\035com.sun .msv.grammar.BinaryExp\000\000\000\000\000\000\000 \001\002\000\002L\000\004exp1t\000...... (und so weiter...)

    Vielen Dank schon mal im Voraus

    Timo

  • #2
    Hallo nochmals,

    habe die Lösung mittlerweile gefunden. Man muss einfach nur einen JAXBContext erzeugen, daraus einen Validator generieren lassen und die validate()-Methode drüber jagen

    Ciao
    Tim

    Comment

    Working...
    X