Wie kann man aus einem Pojo ein XSD Schema für zukünftige Validierungen generieren?
Das geht ganz einfach mit JAXB und Eclipse Oxygen.1A.
Wir erstellen dazu erst einmal zwei Klassen, Mindmap und Autor mit ein paar Eigenschaften. Optional annotieren wir die Mindmap Klasse mit @XmlRootElement und die Autor Klasse mit @XmlType.
Dann gehen wir auf das Package de.wenzlaff und rufen das Kontextmenü New – Other auf.
Dann geben wir JAXB ein und wählen „Schema from JAXB Classes“:
Dann vergeben wir einen Namen für das zu generierende Schema und wählen das Ziel-Verzeichnis:
Nun wählen wir noch die Klassen aus, für die wir das Schema generieren lassen wollen. Wir wählen Autor und Mindmap:
Nach klick auf Finish, wurde das XSD-Schema erfolgreich generiert:
Hier noch das Ergebnis, mit den jeweiligen Verbindungen:
Hier das XSD Schema:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="mindmap" type="mindmap"/> <xs:complexType name="mindmap"> <xs:sequence> <xs:element name="autor" type="autor" minOccurs="0"/> <xs:element name="datum" type="xs:dateTime" minOccurs="0"/> <xs:element name="name" type="xs:string" minOccurs="0"/> <xs:element name="version" type="xs:int" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="autor"> <xs:sequence> <xs:element name="id" type="xs:int" minOccurs="0"/> <xs:element name="name" type="xs:string" minOccurs="0"/> <xs:element name="vorname" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:schema> |