我在xjb上有以下代码段:
<jaxb:bindings node="xs:complexType[@name='MyType']/xs:sequence/xs:element[@name='field']">
<annox:annotate target="field">
<annox:annotate annox:class="javax.validation.constraints.Pattern" regexp="[A-Za-z0-9&]{1,8}" groups="javax.validation.groups.Default" message="Invalid pattern" />
</annox:annotate>
</jaxb:bindings>
但是,我尝试使用的模式应仅允许使用字母和数字以及“&”号。但是,与号(&)破坏了xjb验证,并出现以下错误:
实体名称必须紧随实体引用中的“&”之后。
如何解决这个问题呢?
最佳答案
您需要在属性值内使用“&”符号使用XML实体:
regexp="[A-Za-z0-9&]{1,8}"
^^^^^