.NET XSD.exe缺少属性组引用

时间:2019-03-21 08:12:34

标签: xml xsd

这是我的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没有显示任何错误或警告。

1 个答案:

答案 0 :(得分:0)

不幸的是,xsd.exe不支持嵌套属性组。请参阅文档中的以下说明:

  

该元素不能嵌套在另一个元素中    元件。嵌套实例将被   Xsd.exe工具。

http://msdn2.microsoft.com/en-us/library/484632e7.aspx

Liquid XML Data Binder支持它们。如果您的项目规模不大,则可以使用免费的社区版生成。