Как упомянуть XS:MaxLength в xml simpleType из Java XML Binding с использованием аннотаций
Я хочу показать свойство maxLength в приведенном ниже XML-коде. Что мне нужно в моем классе Java.
JAVA Class need to modified occording the below xml:
public class xxxx{
protected String directionsToSite;
}
===========================================================
XML Expected will be like this:
<element name="accessToAntennas" minOccurs="0">
<simpleType>
<restriction base="{http://www.w3.org/2001/XMLSchema}string">
<maxLength value="500"/>
<restriction>
<simpleType>
</element>
1 ответ
Попробуйте использовать аннотацию @Size(min=..., max=...)
Или вы можете попробовать:
public class TheClazz {
@XmlJavaTypeAdapter(value = MyXmlAdapter.class, type = String.class)
private String myString;
}
public class MyXmlAdapter extends XmlAdapter<String, String> {
private final int MAX = 500;
@Override
public String unmarshal(String s) throws Exception {
return s.size() > MAX ? throw new Exception() : s;
}
@Override
public String marshal(String s) throws Exception {
return s.substring(0, MAX);
}
}