У меня проблема с указанием элементов XML из другого класса.
У меня есть текущий класс полезной нагрузки, и один из элементов имеет тип из другого файла в моей исходной директории.Давайте назовем этот тест.Примечание. Я попытался поместить класс Test в PersonPayload, и он работает нормально.Проблемы возникают только в отдельном классе.
@XmlAccessorType(XmlAccessType.FIELD)
@XmlSeeAlso({Attributes.Test.class})
@XmlType(name = "GeoResponsePayload", propOrder=
{"age", "height", "test"})
@XmlRootElement(name = PersonPayload)
public class PersonPayload implements Payload {
protected int age;
protected int height;
protected Test test = new Test(1,2);
}
Тогда в Attributes.java у меня есть следующее:
public class Attributes extends BaseAttributes{
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Test", propOrder =
{"var1", "var2"})
public static class Test{
Test(){
}
public Test(int var1, int var2){
this.var1 = var1;
this.var2 = var2;
}
@XmlElement(required = true)
protected int var1;
@XmlElement(required = true)
protected int var2;
}
Для схемы, которую я имею:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="namespace1"
xmlns="namespace1"
elementFormDefault="qualified">
<xs:complexType name="Test">
<xs:sequence>
<xs:element name="var1" type="xs:int"/>
<xs:element name="var2" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PersonsPayload">
<xs:sequence>
<xs:element name="age" type="xs:int"/>
<xs:element name="height" type="xs:int"/>
<xs:element name="test" type="Test"/>
</xs:sequence>
</xs:complexType>
Получение следующей ошибки при сортировке:
Invalid content was found starting with element 'var1'. One of '{"namespace1":var1}' is expected.]
Любая помощь приветствуется.Спасибо!