Klassen aus XML-Schema generieren und füllen

Status
Nicht offen für weitere Antworten.
T

Tsunamie

Gast
Hallo Ihr lieben,
ich habe da ein kleines Problem. Ich arbeite zurzeit an einem Framework zur Gestalltung von MUDs. Jetzt habe ich mir überlegt alle Beschreibungen (Gegenstände, Räume etc.) als XML-Datei zu speichern und zur Laufzeit einzulesen. Das klappt auch, nur: ich möchte dem Entwickler nicht vorschreiben welche Attribute z.B. seine Gegenstände haben sollen...

Meine Überlegung war nun: Klassenstruktur der Items in einer Schema-Datei zu beschreiben und dann die einzelnen Instanzen aus einer XML-Datei zu erzeugen...

Etwas in der Art:

Item <- Item.xsd

Item item1 = new Item(items.xml);

sehr einfach dargestellt!


Ist sowas überhaupt möglich? Und wenn ja, wie bitte? Ich habe mir schon JAXB angesehen, nur weiß ich nicht ob mir das so unbedingt weiter hilft!

Ach so, die Krönung wäre natürlech wenn es möglich wäre verschiedene Typen von Items noch zu unterscheiden, ihnen auch unterschiedliche Attribute zu zuweisen :lol:


Naja, vielleicht weiß hier ja wer Rat...


MFG
Tsunamie
 

byte

Top Contributor
Du willst also dynamisch zur Laufzeit Code generieren. Was versprichst Du Dir davon?

Wenn es nur um verschiedene (XML-) Attribute geht, kannst Du ja recht einfach eine generische Klasse dafür schreiben, die beliebige Properties (Name-Wert-Paare) über eine Map hält.
 
T

Tsunamie

Gast
Naja, ich kann dann z.B. meine Items nur über XML erweitern und muss dem Anwender nicht aufdrücken selber Java-Klassen zu schreiben...
 

Niki

Top Contributor
Ich glaub nicht dass er Code zur Laufzeit generieren möchte, er möchte zur Laufzeit dynamisch Objekte aus XML-Dateien erzeugen können. JAXB ist da eine Möglichkeit eine andere, die mir mehr gefällt sind die XMLBeans. Wie es da mit Vererbung ausschaut kann ich dir aber nicht sagen. Einfach ausprobieren ob es deinen Ansprüchen genügt.
 

byte

Top Contributor
ich möchte dem Entwickler nicht vorschreiben welche Attribute z.B. seine Gegenstände haben sollen...
Das bedeutet aber, dass sich das XML-Schema verändert, was auch wiederum die gebundene Klasse verändern würde. Es geht also nicht bloß ums Serialisieren von Daten per XML.

@Tsunamie: Was willst Du denn dann mit diesen vom Benutzer angepassten Items machen? Welchen Sinn verfolgst Du damit?
 

ARadauer

Top Contributor
generell ist es sicher nicht falsch wenn man sich mal allgemein in die Reflection einließt
 
T

Tsunamie

Gast
Der Benutzer soll das Spiel seinen Bedürfnissen anpassen können. Wenn er also möchte das ein z.B. ein Stein Schaden machen kann soll er dem Stein maxDam und minDam geben können (wie auf diese unbekannten Werte zugegriffen wird ist ein anderes Thema ;-) ).

Ich denke ich werds erstmal mit der Map versuchen oder einfach den Benutzer etwas einschränken :)


LG
Tsunamie
 

byte

Top Contributor
Ansonsten halt JAXB verwenden. Damit kannst Du aus einem Schema die Java-Klassen automatisch generieren. Diese kannst Du dann mit den Daten aus den XML-Daten füttern.
Zur Laufzeit wird Dir das nur wenig nützen.
 
T

Tsunamie

Gast
Ok, ich danke erstmal allen die geantwortet haben!
Ich werd mal mit JAXB rumspielen oder eben doch alles hardcoden ;-)

Danke nochmal!


LG
Tsunamie
 

Wildcard

Top Contributor
Das funktioniert mit EMF. Du kannst dort ein Model dynamisch zur Laufzeit definieren und damit XML einlesen und auch wieder rausschreiben.

Zweite Möglichkeit:
Den statischen Teil deines Models von EMF generieren zu lassen und dann dynamisch Attribute und Referenzen hinzufügen (EClass erstellen, ESuperType setzen, Feature hinzufügen).

Dritte Möglichkeit:
Ein EMF Modell aus einer XSD generieren und das Schema erweiterbar machen (XS:ANY). Die zur Compile-Zeit unbekannten Werte bekommst du dann in einer Feature Map abgelegt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Klassen mit generischen Attributen mit Jackson lesen XML & JSON 4
W jaxws jaxb wsdl Java-Klassen generieren und binding.xml verwenden XML & JSON 1
S Jackson: Erstellen Sie Klassen für Jackson aus XSD XML & JSON 2
B Xml speichern - müssen alle Klassen deklariert werden? XML & JSON 12
S XML auf Java Klassen Mappen XML & JSON 10
B JAXB - manuell Klassen aus xsd XML & JSON 3
B aus xsd Java Klassen generieren XML & JSON 3
G jdom-Klassen in Eclipse importieren XML & JSON 2
R XSD aus Java Klassen erzeugen?? XML & JSON 2
K JAXB: Klassen mit Annotation Lesen/Schreiben XML XML & JSON 3
O JAXB generierte Klassen sollen Serializable implementieren XML & JSON 1
S Java - Klassen erzeugen aus xsd bzw. wsdl XML & JSON 3
G Welche Klassen zum erzeugen/auslesen eines XML Files verwend XML & JSON 9
Y Welchen XML Parser / Klassen aus XSD generieren lassen XML & JSON 4
H Klassen als XML rausschreiben - Jox XML & JSON 3
K Apache Digester - Vererbung, Abstrakte Klassen ? XML & JSON 4
M Aus DTD's Klassen auslesen XML & JSON 2
E Wie kann ich ein XSD-Schema in einer JSP-Seite verwenden? XML & JSON 7
B XML Schema Validierung des Zahlenbereichs XML & JSON 3
P Eclipse Rinzo - Schema muss mit DOCTYPE "root" übereinstimmen XML & JSON 0
K XML Schema list unique value restriction XML & JSON 0
F.S.WhiTeY JAXB: Schema nicht "erben" XML & JSON 2
Q Konvertierung von json zum Java Objekt nach vorgegebenem Schema XML & JSON 3
A Fehler beim Erzeugen eines XML-Schema XML & JSON 4
G Suche guten freien XML Schema (XSD) Editor XML & JSON 7
X XML Schema Beziehungen validieren XML & JSON 1
F XML-Schema mapping XML & JSON 6
D eine Schema für ein andere Schema XML XML & JSON 14
P Qualifizierung und XML- Schema XML & JSON 2
G mit EMF gegen XML-Schema validieren XML & JSON 7
V JAXB schema 2 java XML & JSON 3
M XML Schema & Attribut Bedingung XML & JSON 2
B Einschränken der Eingabe bei XML SCHEMA XML & JSON 2
H Schema-Validierung mit JDOM XML & JSON 2
S finde den Schema-Compiler "xjc" nicht XML & JSON 4
P XSD Schema: Konstanten mit "fixed" erzeugen geht nicht ??? XML & JSON 3
G Eindeutige Kennnummer Schema XML & JSON 3
C Validierung klappt nicht mit Schema XML & JSON 2
S XML-Schema einlesen um parsen zu erleichtern? XML & JSON 2
T Schema --> GUI (User) --> XML XML & JSON 5
S PDF Erzeugung - Probleme mit der XML Datei bei Schema-Infos XML & JSON 2
G Problem mit XML-Schema Validierung mit Java XML & JSON 12
J XML - schreiben und einlesen (Schema) XML & JSON 14
A xml-schema aus wsdl auslagern in eine eigene xsd-Datei XML & JSON 3
H xml - Schema : warum passen die nicht zueinander XML & JSON 2
J XML-Schema: Beliebige Unterelemente zulassen XML & JSON 4
E XOM setzen von XML-Schema declaration beim erzeugen XML-File XML & JSON 2
J schema-Validierung mit xerces und jdom: bug in java 1.4? XML & JSON 9
J JDOM mit XML-Schema XML & JSON 8
P Datentyp in Schema definieren XML & JSON 2
S XML Schema XML & JSON 7
N Externes Schema inkludieren XML & JSON 7
A XML Dokument aus einem Schema ableiten/generieren? XML & JSON 6
Z beispiel für valides Xml-Dokument durch XML-Schema XML & JSON 5
Z Frage zu XML Schema XML & JSON 3
T XML mit Java gegen Schema validieren XML & JSON 6
A JAXB: XMLMixed generieren XML & JSON 0
N Java Code aus XML Datei generieren XML & JSON 8
B PropertyChangeListener generieren mit JAXB (xjc) XML & JSON 3
M XML File generieren XML & JSON 3
T Möchte JSP Code in Attribut eines HTML Tags hinein generieren XML & JSON 3
S JAXB 2 und Java Annotationen/Interfaces generieren XML & JSON 3
G jaxb Vector (oder ähnliches) von Elementen generieren XML & JSON 6
M Wie kann ich aus ein Document-Tree ein PDF generieren XML & JSON 2
S links aus xml generieren XML & JSON 13

Ähnliche Java Themen

Neue Themen


Oben