2012-04-18 36 views
0
属性

我有下面这段架构代码:获取的xs:选择的maxOccurs和的minOccurs与XSOM

<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库,Java和我想检索描述的minOccurs和maxOccurs的信息在xsd:choice元素中。我在互联网上浏览过,但只能找到从实际元素中检索这些信息的解决方案,而不是xs:choice元素。

我也发现了地方,我可以“抓住”的xs:choice元素:

public void startElement(XSModelGroup arg0) { 
    if (arg0.getCompositor() == XSModelGroup.CHOICE) { 

    } 
} 

我想在这里实现的是让选择题“选择”之间的区别和那些是单一选择的。如果有人可以帮助,我将不胜感激。

回答

2

如果你从XSComplexType开始,你可以从那里到XSContentType,从XSContentType你可以做asParticle()来获得粒子的内容;并且可以通过粒子getTerm()来获取组件结构层次结构中的子项;对于一个模式组(包括可能是xs:choice)的术语,则可以使用ModelGroup()来获得下一个级别。 XSParticle是minOccurs()和maxOccurs()属性可用的位置。这是一个很奇怪的模型。

+0

谢谢,解决了这个问题! – STT 2012-04-18 16:30:34

+0

您是否碰巧知道如何从中提取此信息? 从这样的事情 – STT 2012-04-18 16:42:44

相关问题