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 還沒有評估資料。