这是我的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不显示任何错误或警告。
不幸的是,xsd.exe不支持嵌套属性组。请参阅文档中的以下注释:
该元素不能嵌套在另一个元素中。 Xsd.exe工具将忽略嵌套实例。
http://msdn2.microsoft.com/en-us/library/484632e7.aspx
Liquid XML Data Binder支持他们。如果您的项目不大,您可以使用免费社区版生成它。