20
我使用maven插件maven-jaxb2-plugin從XSD Schema文件生成POJO。 這工作正常。唯一讓我困擾的是,xml模式枚舉沒有映射到Java Enum Type中。如何使用JAXB從XML模式生成Java Enum?
我的Maven插件是從文件我叫schemachooser.xsd
schemachooser.xsd生成Java的POJO:
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:sch="http://www.ascc.net/xml/schematron"
targetNamespace="http://schema.something" elementFormDefault="qualified"
version="1.0" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
jaxb:extensionBindingPrefixes="xjc" jaxb:version="1.0">
<xs:annotation>
<xs:appinfo>
<jaxb:globalBindings generateIsSetMethod="true" fixedAttributeAsConstantProperty="true">
<xjc:serializable />
</jaxb:globalBindings>
<jaxb:schemaBindings>
<jaxb:bindings node="//xsd:element[@name='ElementName']/xsd:simpleType">
<jaxb:typesafeEnumClass name="MyEnumType" />
</jaxb:bindings>
</jaxb:schemaBindings>
</xs:appinfo>
</xs:annotation>
<xs:include schemaLocation="myNormalSchema.xsd" />
</schema>
它生成的文件,而不是 「新」 枚舉類「MyEnumType」。我是否使用綁定錯誤?
是否需要爲這種類型的所有元素進行綁定?是否有一種方法只是爲了所有受限於枚舉的字符串切換此修改?我提供的模式中有287次出現,我無法修改它們。 – 2015-08-13 15:06:01
保存了我的一天,但是驢子有多大的痛苦......應該有更好的方法。 – mhvelplund 2015-12-23 12:11:25