4

タイトルはおそらくすべてを物語っています。たとえば、xsd-patternsを@Pattern注釈として追加するようにcxf-codegen-pluginに指示できるかどうか疑問に思いました。スキーマの検証は素晴らしく、すべてですが、無限の数のxml行ではなく、単一の要素をチェックしたい場合があります。

そのため、私は自分が向きを変えるのに役立つトリック/オプション/ダーティハックがあるかどうか疑問に思っていました

<xs:simpleType name="string2000">
    <xs:restriction base="xs:string">
        <xs:maxLength value="2000"/>
        <xs:minLength value="1"/>
        <xs:pattern value="[\p{IsBasicLatin}\p{IsLatin-1Supplement}-[ \t\r\n]][\p{IsBasicLatin}\p{IsLatin-1Supplement}-[\t\r\n]]*"/>
    </xs:restriction>
</xs:simpleType>

の中へ

@Pattern(regexp = "\\p{IsBasicLatin}\\p{IsLatin-1Supplement}-[ \\t\\r\\n]][\\p{IsBasicLatin}\\p{IsLatin-1Supplement}-[\\t\\r\\n]]*")
@Size(min = 1, max = 2000)

手動で追加するのは、この量のxmlを使用する必要がないため、非常に簡単になります。

4

1 に答える 1

1

私はcxf-codegen-pluginを直接使用した経験はありませんが、 XSDから派生した、、、およびその他のアノテーションをJAXBで生成されたクラスに含める必要があり@Pattern、最終的にはこれを行うkrasa-jaxb-toolを使用しました。@Size<xs:restriction />

include-xsrestrictions-as-annotations-in-moxy-generated-java-classesのBlaiseDoughan回答を参照してください。

于 2012-11-18T18:05:54.310 に答える