Java - Castor XML映射:如何将两个Java字段值连接成一个XML属性值,反之亦然

时间:2017-11-20 16:46:46

标签: java xml mapping concatenation castor

考虑以下时期:2017-11-03至2017-11-06

  • XML有一个元素:TimePeriodCovered:v =“2017-11-03T00:00Z / 2017-11-06T00:00Z”这是两个日期的串联;
  • Java对象使用两个属性(Date)映射此字段:startPeriod& endPeriod

的.java

public class foo implements Serializable {

    private Date startPeriod;

    private Date endPeriod;

    ...
}

的.xsd

<xs:element name="container" >
    <xs:complexType>
        <xs:sequence>
            <xs:element name="foo" type="fooType" />
            ...
        </xs:sequence>
    </xs:complexType>
</xs:element>


<xs:complexType name="fooType">
    <xs:sequence>
        <xs:element name="TimePeriodCovered" minOccurs="0" type="PeriodType" />
        ...
    </xs:sequence>
</xs:complexType>

<xs:complexType name="PeriodType">
    <xs:attribute name="v" use="required">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:pattern value="[1-2][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-6][0-9]Z?/[1-2][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-6][0-9]Z?" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
</xs:complexType>

mapping.xml

我完全不知道。它应该是什么?

0 个答案:

没有答案