簡體   English   中英

Hyperjaxb:按XML屬性排除XML元素

[英]Hyperjaxb: Exclude XML Element by XML property

我有一個預定義的XSD,如下所示:

<xs:element name="JavaClass1">
    <xs:complexType>
        <xs:sequence>
            ...
            <xs:element name="Date1" type="xs:date" minOccurs="0">
            </xs:element>
            <xs:element name="DateList1" type="xs:date" minOccurs="0" maxOccurs="5">
            </xs:element>
            ...
        </xs:sequence>
    </xs:complexType>
</xs:element>

為了從XSD生成Java類,同時用java.util.Date替換XMLGregorianCalendar,我使用了以下外部綁定:

<globalBindings>
    <javaType
        name="java.util.Date"
        xmlType="xs:dateTime"
        parseMethod="XsdDateTimeConverter.unmarshal"
        printMethod="XsdDateTimeConverter.marshalDateTime"
    />
    <javaType
        name="java.util.Date"
        xmlType="xs:date"
        parseMethod="XsdDateTimeConverter.unmarshal"
        printMethod="XsdDateTimeConverter.marshalDate"
    />
</globalBindings>

我在這里找到了解決方案。

現在,我只需要為Date1屬性而不是DateList1執行此操作。 有沒有辦法如何使用它的屬性maxOccurs="5"排除DateList1

您可以在本地將javaType自定義應用於生成的屬性。 就像是:

<bindings node=".../xs:element[@name='Date1']">
    <property>
        <baseType>
            <javaType .../>
        </baseType>
    </property>
</bindings>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM