这是我的XSD的一部分:
<xs:attributeGroup name="matches">
<xs:attribute name="min-matches" type="positiveInt" default="1" use="optional" />
<xs:attribute name="max-matches" type="positiveIntUnbounded" default="1" use="optional" />
</xs:attributeGroup>
<xs:attributeGroup name="pathAndMatches">
<xs:attribute name="path" type="xs:string" use="required" />
<xs:attributeGroup ref="matches" />
</xs:attributeGroup>
当我使用.NET FX的xsd.exe
时,仅当我在元素中引用path
时,它才会生成pathAndMatches
属性。为什么不生成最小/最大匹配的属性?我的XSD无效吗? xsd.exe没有显示任何错误或警告。
答案 0 :(得分:0)
不幸的是,xsd.exe不支持嵌套属性组。请参阅文档中的以下说明:
该元素不能嵌套在另一个元素中 元件。嵌套实例将被 Xsd.exe工具。
http://msdn2.microsoft.com/en-us/library/484632e7.aspx
Liquid XML Data Binder支持它们。如果您的项目规模不大,则可以使用免费的社区版生成。