# XML Dokument aus einem Schema ableiten/generieren?



## Azmodan (6. Jun 2005)

Hi,
hat irgendjemand eine Idee, wie man aus einem XML-Schema eine Instanz generieren kann. Gibt es zufällig irgendwo eine Bibliothek, die soetwas umgesetzt hat?
Ich weiß, das JAXFront genau dieses Problem gelöst hat. Ich muß aber einen XML Generator mit speziellen Anforderungen umsetzen und brauch daher kein fertiges Tool.

Dank schon mal im voraus.

PS: Ich meine* keine *einfache Validierung gegen Schemas. Das ist einfach.


----------



## Bleiglanz (6. Jun 2005)

JAXB (im Webservice Developers Pack)

JAXMe (von apache)

was soll "aus einem Schema eine Instanz" bedeuten? willst du ein Zufallsdokument??


----------



## Azmodan (6. Jun 2005)

Nein, ich brauche im Prinzip eine Liste mit den Möglichen Elementen. Wobei ich dann zwischen den Pflicht und Optional-Elemten unterscheiden können muß.
Eine zweite Sache wäre z.B. Restriction oder Enumeration. Da brauche ich die Vorgaben, so das der User noch noch die entsprechenden Werte auswählen braucht.
Also faktisch ein leeres Dokument, mit dem ich weiterarbeiten kann.


----------



## Azmodan (6. Jun 2005)

Vielleicht war das nicht ganz verständlich.
Also ich muß einen Editor entwickeln, mit dem ich XML-Dokumente erstellen kann. Dazu sollen aus einem Schema die Dokumenten Strucktur abgeleitet, Attributvorgaben ausgelesen, Wertelisten (Enumeration) für des entsprechende Element erstellt werden und und und...


----------



## Bleiglanz (7. Jun 2005)

versteh ich immer noch nicht!?

Lies doch das Schema einfach als xml Datei ein, dann hast du alle Vorgaben und Informationen zur Hand und kannst dem Benutzer ensprechende Defaultwerte zur Verfügung stellen??

Du willst wohl genau das haben, willst es aber nicht von Hand ausprogrammieren? Kenne leider auch kein Tool, das aus einem Schema so eine Art "Informations-Java-Objekt" generieren könnte

vielleicht lässt du dir mit JAXB Java Klassen bauen und untersuchst dann diese per Reflection? Ist aber bestimmt nicht einfacher, als die .xsd direkt einzulesen


----------



## Azmodan (8. Jun 2005)

Hm, das hatte ich befürchtet. Danke für deine Mühe. Ich werd mich dann mal an die Arbeit machen.


----------



## Azmodan (8. Jun 2005)

Also nach dem ersten überfliegen, denke ich, dass das hier genau das ist was ich suchte. 
 ->XMLBeans<- 

Nachtrag:
Einziger Nachteil ist, dass das Schema kompiliert wird und so eine Bibliothek auf Basis des Schemas erstellt wird.
Zur Laufzeit ist es mit diesem Tool nicht möglich, aber der Sourcecode ist verfügbar und man kann sich das Tool selbst kompilieren, d.h. mit ein bisschen Arbeit sollte man entsprechende Änderungen vornehmenen können, damit eventuell eine allgemeine Bibliothek entsteht, die ein zur Laufzeit generiertes Schemaobjekt benutzt.


----------

