У меня есть вопрос, связанный с плагином jaxb meven и тем, как он генерирует свои классы. У меня есть этот XSD:jax2b maven плагин простой тип
<xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="ContactDetails2"/>
<xs:complexType name="ContactDetails2">
<xs:sequence>
<xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix1Code"/>
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/>
<xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/>
<xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/>
<xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="Othr" type="Max35Text"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="Max2048Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="2048"/>
</xs:restriction>
</xs:simpleType>
это с помощью org.codehaus.mojo, jaxb2-Maven-плагин получает переведенный в:
public class ContactDetails2 {
...
protected String faxNb;
@XmlElement(
name = "EmailAdr"
)
protected String emailAdr;
...
}
Который когда выстраивали он идет преобразуются в:
<CtctDtls>
<EmailAdr/>
</CtctDtls>
Это недопустимо, потому что, если присутствует электронное письмо, оно должно иметь хотя бы один символ. Как я могу это исправить? Могу ли я изменить конфигурацию плагина maven? Или что еще я могу сделать так, чтобы, если письмо является пустой строкой, это не получается?
https://wiki.xmldation.com/General_Information/ISO_20022/pain.008