Реализация теста может быть:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Execute {
public static void main(String args[]) {
List<Student> list = new ArrayList<Student>();
list.add(new Student("TestX"));
list.add(new Student("TestA"));
System.out.println(list);
Collections.sort(list);
System.out.println(list);
}
}
class Student implements Comparable<Student> {
private String name;
public Student() {
super();
}
public Student(String name) {
super();
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int compareTo(Student student) {
if (this.name == null || student.name == null) {
return 0;
}
return name.compareTo(student.name);
}
@Override
public String toString() {
return name;
}
}
<xsd:complexType name="questions">
<xsd:all>
<xsd:element name="location" type="location"/>
<xsd:element name="multipleChoiceInput" type="multipleChoiceInput"/>
<xsd:element name="textInput" type="textInput"/>
<xsd:element name="pictureInput" type="pictureInput"/>
</xsd:all>
</xsd:complexType>
ПРИМЕЧАНИЕ: я заменил "sequence" на "all"
Sequence принуждает к порядку (как определено). если порядок не имеет значения, то используется all.
Если есть вероятность, что элемент встретится более одного раза, то можно использовать xsd:any.
<xsd:complexType name="questions">
<xsd:sequence>
<xsd:any minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
Подробности xsd:any можно найти по следующей ссылке: