在定义 XSD 架构时使用属性组而不是属性有什么好处?
好的...所以我可以在其他地方声明它们并引用它们...
还有什么?
您可以跨不同元素重复使用相同的组。
基本上,正如 cbp 所说,您可以重复使用它们。以这种方式修改多个元素的属性也更容易。一般来说,我自己有时会在我有几个合理相似的元素时使用它们,除了名称和其他一些属性。因此,这些元素都共享一个或多个属性组,有时还具有附加属性。
示例:您要导出一个包含 40 个表的数据库。所有表都有一个 ID 作为标识符,一些表有一个开始/结束日期。其他字段也有属性。因此,您可以为 ID 创建一个属性组,并根据需要向该组添加限制。将为包括其限制的日期创建第二个属性组。也许数据库结构甚至允许更多的分组。另一种方法是创建新的复杂类型,但如果您想将子元素添加到您的元素,那么您也需要将它们添加到复杂类型中。而且您可能不希望所有元素都使用相同的复杂类型,因此属性组在您无法使用复杂类型添加相似属性组的情况下很有用。