2012-04-18 66 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

相關問題