我创建了一个如下所示的 XML 文件
<monitor>
<widget name="Widgets/TestWidget1">
<state code="VIC" />
<state code="TAS" />
</widget>
<widget name="Widgets/TestWidget2">
<client code="someclient" />
</widget>
</monitor>
标记的 name 属性<widget>
告诉解析器要加载什么小部件(它们是 asp.net 用户控件)。
我正在尝试为上述创建一个模式文件,问题是<widget>
支持的子标签内部依赖于 name 属性。所以 TestWidget1 支持<state>
标签,TestWidget2 支持<client
标签。
目前我的 XML Schema 文件只显示所有可能的<widget>
子标签,无论它们是否受支持。
如何编写一个仅允许基于名称属性的特定子标签的 XML 模式文件?如果这是不可能的,我有什么选择?