FasterXML / FasterXML/jackson-dataformat-xml
Support XML element name based on runtime type
- Langage dominant
- Java
- Étoiles
- 631
- Forks
- 246
- Merge moyen
- 7 j 9 h
- PR mergées (30 j)
- 13
Description
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?
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Évaluation
Cette issue n'a pas encore été évaluée.