FasterXML / FasterXML/jackson-dataformat-xml
Support XML element name based on runtime type
- 主要语言
- Java
- 星标
- 631
- 派生
- 246
- 平均合并
- 7 天 9 小时
- 30 天内合并 PR
- 13
描述
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?
贡献指南
这个仓库没有索引到贡献指南
评估
这个 Issue 还没有评估数据。