我正在尝试实现一个 XML Schema,它将强制执行以下 XML;
<databases>
<database>
<name>"Test A"</name>
<host>"192.168.0.100"</host>
<default>yes</default>
</database>
<database>
<name>"Test B"</name>
<host>"192.168.0.200"</host>
<default>no</default>
</database>
<database>
<name>"Test C"</name>
<host>"localhost"</host>
<default>no</default>
</database>
</databases>
除了一个关键问题外,我能够自己实现 XML Schema;也就是最多只能将一个数据库标记为默认值。这意味着零数据库可以被标记为默认值,这也应该被认为是有效的。
例如,以下 XML 应被 XML Schema 视为无效,因为多个数据库被标记为默认值。
<databases>
<database>
<name>"Test A"</name>
<host>"192.168.0.100"</host>
<default>yes</default>
</database>
<database>
<name>"Test B"</name>
<host>"192.168.0.200"</host>
<default>no</default>
</database>
<database>
<name>"Test C"</name>
<host>"localhost"</host>
<default>yes</default>
</database>
鉴于以下 XML 应被 XML Schema 视为有效,因为没有(零)数据库被标记为默认值;
<databases>
<database>
<name>"Test A"</name>
<host>"192.168.0.100"</host>
<default>no</default>
</database>
<database>
<name>"Test B"</name>
<host>"192.168.0.200"</host>
<default>no</default>
</database>
<database>
<name>"Test C"</name>
<host>"localhost"</host>
<default>no</default>
</database>
有谁知道是否可以使用 XML 模式强制执行这样的约束?我觉得它应该是,但我不知道如何去实施它。
对于此事的任何帮助将不胜感激。
提前致谢。