从XSD生成XML中的自定义属性

时间:2015-10-28 04:25:19

标签: xml xsd jaxb schema marshalling

我正在尝试使用JAXB编组xml。

我的要求

如果任何元素值为null,那么xml应该将该元素的属性设置为 nullable =" true"

我尝试在XSD中输入 minoccurs =" 1",nillable =" true" ,但它给了我nil =" true&#34 ;在我的xml中,但我希望在我的xml中显示为 nullable =" true"

     <xs:sequence>
     <xs:element name="itemName" type="xs:string" />
     <xs:element name="purchasedOn" type="xs:date" minOccurs="1" nillable="true"/>
     <xs:element name="amount" type="xs:decimal" />
    </xs:sequence>

在我的XML中:

 <purchasedOn xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>

如果我错了,请纠正我。

1 个答案:

答案 0 :(得分:0)

<xs:complexType name="CustomDate">
<xs:simpleContent>
<xs:extension base="xs:date">
<xs:attribute name="nullable" type="xs:string">
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>