我有一段模式代码:
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="ref1"/>
<xsd:element ref="ref2"/>
<xsd:element ref="ref3"/>
<xsd:element ref="ref4"/>
<xsd:element ref="ref5"/>
</xsd:choice>我正在使用XSOM library for Java,我想检索关于xsd: maxOccurs元素中描述的minOccurs和maxOccurs的信息。我在Internet上四处寻找,但只能找到从实际元素中检索此信息的解决方案,而不是xs:choice元素。
我还确定了可以“捕捉”xs:choice元素的位置:
public void startElement(XSModelGroup arg0) {
if (arg0.getCompositor() == XSModelGroup.CHOICE) {
}
}我在这里试图实现的是区分多项选择“选择”和单项选择。如果有人能帮忙,我将不胜感激。
发布于 2012-04-18 23:57:05
如果您从XSComplexType开始,您可以从它转到XSContentType,从XSContentType可以执行asParticle()以获取粒子形式的内容;从粒子可以执行getTerm()以在组件结构层次结构中获取其子项;对于作为模式组的术语(可能包括xs:choice),您可以执行asModelGroup()以获得下一个级别。XSParticle是minOccurs()和maxOccurs()属性可用的地方。这是一个非常奇怪的模型。
https://stackoverflow.com/questions/10211595
复制相似问题