2010-12-04 3 views
0

Ich sehe mir eine Reihe von Parsern an, die für Atom, XAL, Kml usw. erzeugt wurden, scheinbar mit einer automatisierten Technik mit einem Pull-basierten Parser auf XML-Basis. Der Schlüssel zur Automatisierung ist das Vorhandensein von "package.html" in allen XML-zu-Java-Mapped-Klassenordnern. Ich würde gerne eine ähnliche für die ziemlich große Collada 1.4 spec. Mein erster Versuch mit Altova stieß wegen des Schlüsselworts "enum" auf kleine Probleme. Ich bin sicher, dass ich es im nächsten Lauf mit entsprechender Umbenennung beheben kann. Khronos gibt zu, die 1.4-Spezifikation nicht so zu gestalten, dass sie automatisch parsergeneriert wird.Java Collada Parser - XML ​​Pull-basierte Implementierung

Die tatsächlichen Parser, d. H. XAL-Parser, Atom-Parser usw., implementieren die XMLEventParser-Schnittstelle. Ich würde gerne wissen, ob jemand dieses Muster angetroffen hat. Wenn ja, welches Werkzeug kann verwendet werden, um das XSD einem Klassensatz zuzuordnen, der einfach Zugriff auf die Datenkomponenten der Knoten unter Verwendung von Gettern und Sätzen gewährt.

Antwort

0

Ich bin mir nicht sicher, ob ich Ihre Frage verstehe, aber es scheint, dass Sie XML-Formate wie Atom verarbeiten und in Objekten mit Gettern/Setter darstellen wollen. Dies kann leicht mit JAXB durchgeführt werden.

Für ein Beispiel siehe:

+0

Ja JAXB ist eine Option. Aber ich schaue mir eine Beispielimplementierung an, die etwas schickes XmlEvent-basiertes Pull-Parsing verwendet. Die Objekte werden nur zugeordnet, wenn sie aufgerufen werden. Getter sehen typischerweise aus wie - return (String) this.getField ("Scheme") in diesem Klassengenerator. Ich versuche den Klassengenerator aufzuspüren, der hier benutzt wurde. Angesichts der Anzahl der Klassen im Schema kann ich kaum glauben, dass es handgehackt war. – whatnick