首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在DFDL中创建无序列表?

如何在DFDL中创建无序列表?
EN

Stack Overflow用户
提问于 2013-03-06 22:55:20
回答 2查看 832关注 0票数 0

Data Format Description Language (DFDL1.0)v1.0的当前实现不支持无序列表。有解决办法吗?

EN

回答 2

Stack Overflow用户

发布于 2015-10-09 23:13:32

根据DFDL1.0规范,IBM的实现现在支持dfdl:sequenceKind=“无序”。

票数 1
EN

Stack Overflow用户

发布于 2013-03-06 23:38:18

是的,有一个解决方法。举个简单的例子,假设输入文本只是一组字符(a、b和c),它们可以以任何顺序出现。要创建无序列表,请为每个字符创建一个元素。将它们放在一个包含元素中,这样容器就有一个无限的最大出现次数,而子元素就是所有的选择。

从概念上讲,它看起来像这样:

代码语言:javascript
复制
Container Element
  Choice
    A Element
    B Element
    C Element

使用鉴别器来测试每个字符是否存在。

DFDL模式如下所示(部分)

代码语言:javascript
复制
<xsd:element name="Container" dfdl:occursCountKind="implicit"
    dfdl:terminator="" maxOccurs="unbounded" minOccurs="1" >
    <xsd:complexType>
        <xsd:choice>
            <xsd:element name="a" dfdl:length="1" dfdl:lengthKind="explicit"
                fixed="a" minOccurs="1" type="xsd:string">
                <xsd:annotation>
                    <xsd:appinfo source="http://www.ogf.org/dfdl/">
                        <dfdl:discriminator>{. eq 'a'}</dfdl:discriminator>
                    </xsd:appinfo>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="b" dfdl:length="1" dfdl:lengthKind="explicit"
                fixed="b" minOccurs="1" type="xsd:string">
                <xsd:annotation>
                    <xsd:appinfo source="http://www.ogf.org/dfdl/">
                        <dfdl:discriminator>{. eq 'b'}</dfdl:discriminator>
                    </xsd:appinfo>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="c" dfdl:length="1" dfdl:lengthKind="explicit"
                fixed="c" minOccurs="1" type="xsd:string">
                <xsd:annotation>
                    <xsd:appinfo source="http://www.ogf.org/dfdl/">
                        <dfdl:discriminator>{. eq 'c'}</dfdl:discriminator>
                    </xsd:appinfo>
                </xsd:annotation>
            </xsd:element>
        </xsd:choice>
    </xsd:complexType>
</xsd:element>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15250590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档