Data Format Description Language(DFDL)v 1.0的當前實現不支持無序列表。有沒有解決方法?如何在DFDL中創建無序列表?
0
A
回答
0
是的,有一個解決方法。作爲一個簡單的例子,假設輸入文本只是一組字符(a,b和c),它們可以以任何順序出現。要創建無序列表,請爲每個字符創建一個元素。將它們放在一個包含元素中,這樣容器的最大發生次數是無限的,並且子元素都是可選項。
在概念上,它看起來像這樣:
Container Element
Choice
A Element
B Element
C Element
使用鑑別,以測試每個字符的存在。
的DFDL模式看起來是這樣的(部分)
<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>
:
1
IBM的實現目前支持DFDL:sequenceKind = 「無序」 爲每DFDL 1.0規範。
相關問題
- 1. 如何在列表菜單中的無序列表中創建無序列表?
- 2. 如何在actionscript 3中創建有序和無序的列表?
- 3. 在CKEDITOR中創建無序列表
- 4. 在無序列表中創建元素
- 5. 如何在序言中創建列表
- 6. 創建HTML無序列表
- 7. 如何使用子箭頭在html中創建無序列表?
- 8. 如何在JavaScript中動態創建無序列表?
- 9. ng-repeat沒有在無序列表中創建列表項
- 10. 如何從單個無序列表創建多列?
- 11. 如何使用行列創建無序列表
- 12. 如何從列表中創建列表?
- 13. 在創建時創建排序列表
- 14. 如何在Swift中創建序列?
- 15. 如何在SQLite中創建序列?
- 16. 如何在jquery中創建序列號
- 17. 如何在MySQL中創建序列?
- 18. 如何在sql server中創建序列
- 19. 無法在NetLogo中創建「列表」
- 20. 如何在Android中創建列表
- 21. 如何在AngularJS中創建列表?
- 22. 如何在Ruby中創建列表?
- 23. 如何在列表DDL中創建VARCHAR?
- 24. 如何在lisp中創建對列表?
- 25. 如何在Oz中創建列表?
- 26. 如何在mysql中創建x列表?
- 27. 如何在xml中創建子列表
- 28. 如何在xaml中創建列表?
- 29. 如何在javascript中創建列表
- 30. jQuery創建多級無序列表