FasterXML / FasterXML/jackson-dataformat-xml

Support XML element name based on runtime type

Ouverte
#679 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
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.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.