FasterXML / FasterXML/jackson-dataformat-xml
Support XML element name based on runtime type
- Ngôn ngữ chính
- Java
- Star
- 631
- Fork
- 246
- Merge trung bình
- 7 ngày 9 giờ
- Pull request đã merge (30 ngày)
- 13
Mô tả
XSD schema's support a way to name an element based on its runtime type through [*substitution groups*](https://www.w3.org/TR/xmlschema-1/#key-equivalenceClass). I'm trying to deserialise such a substitution group. Is this supported in some way?
Example. Suppose there is two types of `Animal`s: `Cow`s and `Goat`s. Based on their type, I want their element to be named either `cow` or `goat`. This would be modelled as follows:
XSD:
``` xml
```
XML example instances:
``` xml
```
``` xml
```
Java model:
``` java
@XmlRootElement(name="document")
public class Document {
private Animal animal;
public Animal getAnimal() {
return animal;
}
public void setAnimal(Animal animal) {
this.animal = animal;
}
}
public class Animal {
@JacksonXmlProperty(isAttribute = true)
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class Cow extends Animal {}
public class Goat extends Animal {}
```
Is there a way of annotating the classes to get the desired behaviour?
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.