fre*_*iew 2 java xml validation xsd
我有一个元素A,它可以是简单的元素,也可以是动态创建的复杂元素.
示例xml在这里:
<A>john</A>
<A>
<B>kathy</B>
<C> bat </C>
</A>
Run Code Online (Sandbox Code Playgroud)
我的xsd是这样的:
<xsd:element name="A">
<xsd:complexType>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:sequence>
<xsd:element name="B" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="C" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:choice>
</xsd:complexType>
</xsd:element>
Run Code Online (Sandbox Code Playgroud)
但在这里我面临一个例外,它说:
元素'A'不能包含字符[children],因为类型的内容类型仅为元素
您需要在类型中指定混合内容:
<xsd:element name="A">
<xs:complexType mixed="true">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:sequence>
<xsd:element name="B" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="C" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:choice>
</xsd:complexType>
Run Code Online (Sandbox Code Playgroud)
在选择中有一个序列也有点多余.你要么想要一个序列.
希望有所帮助.