J'ai la partie suivante de mon schéma XML:XSD logique conditionnelle et regex
<xs:element minOccurs="0" maxOccurs="unbounded" name="aux_data">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="field_name" type="xs:string" />
<xs:element minOccurs="0" name="field_value" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
"field_name" pourrait avoir l'une des trois valeurs différentes: payment_date, bank_acct et amt_due. "field_value" doit correspondre à une regex différente pour chaque "field_name".
Quel serait l'équivalent du code Java suivant pour ce schéma?
if(field_name.equals("payment_date")) {
field_value.matches(/**regex*/);
}
else if(field_name.equals("bank_acct")) {
field_value.matches(/**another regex*/);
}
Je ne peux pas utiliser xs de type: date, que je ne peux pas avoir des tirets dans le format de date, donc je dois utiliser xs: string.
Il existe parfois des cas où un motif de conception "méta" comme celui-ci est approprié (parfois il facilite la conversion vers et à partir d'autres formats). Mais c'est un modèle de conception qui n'est pas bien supporté par XSD. –