ich ziemlich neu bei jaxb, hab aber schon öfter xsd-Dateien gemacht und geb mir auch immer Mühe "Restrictions" einzubauen um eine gute Validierung zu haben. Nun hab ich mir mal Jaxb-Code mit xjc erzeugt und schwupps sind alle "Restrictions" weg. Das heißt es ist ein leichtes mit solchem code invalide XML-Dateien zu erzeugen. Da frag ich mich wofür ich aus der xsd überhaupt code generiert hab.
Nun frag ich mich ob ich irgendwas falsch mache oder verpasst habe um auch die entscheidende Information (nicht nur Struktur sondern auch Inhalt) der XSD in den Code zu retten.
Anders gefragt wie erzeuge ich Code mit dem ich Valide xml-Objekte erzeugen kann?
Die setter manuell mit Validierungen aufzumöbeln erscheint mir etwas bekloppt - macht man da Fehler oder ändert sich die xsd-Datei sind diese Arbeiten hinfällig.
Nun bin ich über https://jaxb-verification.dev.java.net/ gestolpert und Frage mich ob das das (einzige) Mittel der Wahl ist um valide Objekte zu bekommen. Amleibsten wäre mir ein JAXB compiler der die Restrictions "versteht" und entsprechende Setter bastelt - gibts sowas?
Muss man das verstehen: das gibts auch noch: https://jaxbvalidation.dev.java.net/
scheint irgendwie das selbe zu sein?!
^^beide scheinen sehr veraltet aber der Ansatz gefällt mir.
Mein Stand ist im Moment: per Schema-Objekt kann man zumindest das (un)marshallig validieren gegen das Schema. Für das marshalling ist das natürlich etwas spät - man baut fleißig Objekte, klebt sie zusammen und erst beim marshalling merkt man, das manche nicht valide sind. Um das zu verhindern müsste man nach jedem setter und jeder Instantiierung den marshaller anwerfen um zu schauen ob man ein valides Objekt im sinne des Schemas hat - irgendwie völlig bescheuert oder?
Nun frag ich mich ob ich irgendwas falsch mache oder verpasst habe um auch die entscheidende Information (nicht nur Struktur sondern auch Inhalt) der XSD in den Code zu retten.
Anders gefragt wie erzeuge ich Code mit dem ich Valide xml-Objekte erzeugen kann?
Die setter manuell mit Validierungen aufzumöbeln erscheint mir etwas bekloppt - macht man da Fehler oder ändert sich die xsd-Datei sind diese Arbeiten hinfällig.
Nun bin ich über https://jaxb-verification.dev.java.net/ gestolpert und Frage mich ob das das (einzige) Mittel der Wahl ist um valide Objekte zu bekommen. Amleibsten wäre mir ein JAXB compiler der die Restrictions "versteht" und entsprechende Setter bastelt - gibts sowas?
Muss man das verstehen: das gibts auch noch: https://jaxbvalidation.dev.java.net/
scheint irgendwie das selbe zu sein?!
^^beide scheinen sehr veraltet aber der Ansatz gefällt mir.
Mein Stand ist im Moment: per Schema-Objekt kann man zumindest das (un)marshallig validieren gegen das Schema. Für das marshalling ist das natürlich etwas spät - man baut fleißig Objekte, klebt sie zusammen und erst beim marshalling merkt man, das manche nicht valide sind. Um das zu verhindern müsste man nach jedem setter und jeder Instantiierung den marshaller anwerfen um zu schauen ob man ein valides Objekt im sinne des Schemas hat - irgendwie völlig bescheuert oder?
Zuletzt bearbeitet: