【发布时间】:2014-05-13 15:51:36
【问题描述】:
我使用 XSD 文件生成了 JAXB 类,最后通过这些 JAXB 类进行编组以生成 XML 文件。但是输出是这样的:-
<Central_Case_Id xsi:nil="true" xmlns:xsi="http://www.w3.org/xmls_schema-instance"/>
XML 中每个 should 元素的预期输出应该是这样的:- [code=java][/code]
我在互联网上进行了大量搜索,我将 xsd 属性 elementFormDefault 更改为“不合格”,并将 attributeFormDefault 属性添加到合格和不合格但没有任何效果。
XSD:-
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="ICMS" targetNamespace="ICMS"
elementFormDefault="qualified">
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="Case_Detail" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Case_Detail">
<xs:complexType>
<xs:sequence>
<xs:element ref="Central_Case_ID"/>
<xs:element ref="Agency_Case_ID"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Central_Case_ID" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Agency_Case_ID" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:schema>
每个元素的预期输出是:-
<Central_Case_Id></Central_Case_Id>
您能否建议我 XSD 文件或编组中的哪些属性将帮助我实现这一目标?我的要求是 XML 中的任何元素都不应包含任何命名空间/属性,即使它是空白或空值。
谢谢
【问题讨论】:
-
这是你第三次问同样的问题。
标签: java xml namespaces jaxb marshalling