【问题标题】:Getting the xs:choice maxOccurs and minOccurs attributes with XSOM使用 XSOM 获取 xs:choice maxOccurs 和 minOccurs 属性
【发布时间】:2012-04-18 23:57:04
【问题描述】:

我有以下一段架构代码:

<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>

我正在使用用于 Java 的 XSOM 库,我想检索有关 xsd:choice 元素中描述的 minOccurs 和 maxOccurs 的信息。我在互联网上环顾四周,但只能找到从实际元素中检索此信息的解决方案,而不是 xs:choice 元素。

我还确定了可以“捕捉” xs:choice 元素的位置:

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

  }
}

我在这里想要实现的是区分多项选择“选择”和单项选择。如果有人可以提供帮助,我将不胜感激。

【问题讨论】:

    标签: java xml xsd schema xsom


    【解决方案1】:

    如果您从 XSComplexType 开始,您可以从 XSContentType 获取,从 XSContentType 您可以执行 asParticle() 以将内容作为粒子获取;并且从一个粒子中,您可以执行 getTerm() 以在组件结构层次结构中获取其子级;对于一个模式组的术语(可能包括一个 xs:choice),您可以执行 asModelGroup() 以获得下一个级别。 XSParticle 是 minOccurs() 和 maxOccurs() 属性可用的地方。这是一个非常奇怪的模型。

    【讨论】:

    • 您是否也知道如何从 中提取此信息? 从这样的事情
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多