Java 如何在不更改xds文件的情况下从CDA模式创建POJO类?

Java 如何在不更改xds文件的情况下从CDA模式创建POJO类?,java,xsd,maven-jaxb2-plugin,cda,Java,Xsd,Maven Jaxb2 Plugin,Cda,我有一个很大的CDA模式文件,用于生成CDA xml文档。我想在编译代码期间使用xds模式生成POJO类。 我正尝试使用jaxb2 maven插件实现这一点,如下所示: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>jaxb2-maven-plugin</artifactId>

我有一个很大的CDA模式文件,用于生成CDA xml文档。我想在编译代码期间使用xds模式生成POJO类。 我正尝试使用jaxb2 maven插件实现这一点,如下所示:

           <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>jaxb2-maven-plugin</artifactId>
                <version>1.6</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>xjc</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <schemaDirectory>myDirectoryName</schemaDirectory>
                    <schemaFiles>myxsdFile</schemaFiles>
                </configuration>
            </plugin>
<xs:complexType name="POCD_MT000040.ObservationMedia">
        <xs:sequence>
            <xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0" />
            <xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="languageCode" type="CS" minOccurs="0" />
            <xs:element name="value" type="ED" />
            <xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0" />
            <xs:element name="specimen" type="POCD_MT000040.Specimen" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="performer" type="POCD_MT000040.Performer2" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="participant" type="POCD_MT000040.Participant2" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="entryRelationship" type="POCD_MT000040.EntryRelationship" minOccurs="0"
                maxOccurs="unbounded" />
            <xs:element name="reference" type="POCD_MT000040.Reference" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="precondition" type="POCD_MT000040.Precondition" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
        <xs:attribute name="ID" type="xs:ID" />
        <xs:attribute name="nullFlavor" type="NullFlavor" use="optional" />
        <xs:attribute name="classCode" type="ActClassObservation" use="required" />
        <xs:attribute name="moodCode" type="ActMood" use="required" />
    </xs:complexType>

org.codehaus.mojo

)建议对xds进行更改,这不是我的选择。除了更改xds或使用其他实用程序之外,还有其他方法吗?

不确定您的需求,但HL7中的CDA模式不能作为典型XML/java技术的一部分使用-此外,序列化符合规范(如Console)的CDA的能力也不小

我建议使用支持控制台的MDHT api


不确定您的需求,但HL7中的CDA模式不能作为典型的XML/java技术的一部分使用-此外,序列化符合规范(如Console)的CDA的能力也不是微不足道的

我建议使用支持控制台的MDHT api


只要重新阅读您的问题-简短的回答是您不能-每个人都必须修改XSD,因为它的设计方式。谢谢您的回答。那么,当你说“每个人都必须修改XSD,因为它的设计方式”时,你是说XSD有缺陷吗?或者你的意思是设计我们是为了修改它?只需重新阅读你的问题-简短的回答是你不能-每个人都必须修改XSD,因为它的设计方式。谢谢你的回答。那么,当你说“每个人都必须修改XSD,因为它的设计方式”时,你是说XSD有缺陷吗?或者你的意思是说我们被要求修改它?