Jaxb Unmarshalling Problem

sagi7

Mitglied
Hallo Zusammen,

ich habe ein Jaxb Problem.
Mein Xml ist valide gegen das XSD.

Folgende Fehlermeldung erscheint:

javax.xml.bind.UnmarshalException: unexpected element (uri:"V3.multiversion.mynamespace.info", local:"Head"). Expected elements are <{}Sheet>,<{}Document>,<{}Head>,<{}Data>,<{}DocumentStore>

Wo ist das Element unexpected? Lt. xsd ist es ok.

Hier ein Snippet der Java Klasse:

Java:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "RootNode", namespace = "V3.multiversion.mynamespace.info")
@XmlType(name = "RootNodeType", propOrder = { "head", "sheets",
		"datas", "documentStore", "documents" })
public class RootNodeTypeV3_0 {

	@XmlElement(name = "Document", type = DocumentImplV3.class)
	protected List<Document> documents;

	@XmlElement(name = "DocumentStore", type = RawDocumentType_V3_0.class)
	protected Map<Integer, RawDocument> documentStore;

	@XmlElement(name = "Head", required = true, type = HeadImplV3.class)
	protected Head head;

schöne Grüße
 
Hier der Ausschnitt der XML:

[XML]<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RootNode xmlns="V3.multiversion.mynamespace.info" xmlns:ns2="http://www.w3.org/1999/xlink"
xmlns:ns3="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="V3.multiversion.mynamespace.info xmlSchema_3.0.xsd">
<Head>
.....[/XML]
 
Hallo Zusammen,

ich habe das Problem gelöst.
Hier die Lösung für nachfolgende Generationen:

package-info.java muss mit der Namespace Annotation in dem Package mit den Datentypen enthalten sein:

Java:
@javax.xml.bind.annotation.XmlSchema(namespace = "v3.multiversion.mynamespace.info", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package info.mynamespace.multiversion.v3;


Dann reicht im XML die Namespace Deklaration im Root Element.
 
Zuletzt bearbeitet:

Zurück
Oben