Validation xsd-验证外部字典文件中的值

Validation xsd-验证外部字典文件中的值,validation,xsd,Validation,Xsd,我想为如下文档定义一个架构: ... <car> <make>ford</make> <model>mondeo</model> </car> ... 。。。 河流浅水处 福特 蒙迪欧 ... 问题是,我想从外部数据字典中约束可能的值(因此福特/蒙迪欧或奥迪/a4将是make/model的有效值,但奥迪/蒙迪欧不会)。在需要添加新车型的情况下,只有外部数据文件会更改,但xsd模式将保持不变 这可能吗?我已经研究了

我想为如下文档定义一个架构:

...
<car>
  <make>ford</make>
  <model>mondeo</model>
</car>
...
。。。
河流浅水处
福特 蒙迪欧
...
问题是,我想从外部数据字典中约束可能的值(因此福特/蒙迪欧或奥迪/a4将是make/model的有效值,但奥迪/蒙迪欧不会)。在需要添加新车型的情况下,只有外部数据文件会更改,但xsd模式将保持不变


这可能吗?我已经研究了key/keyref约束,我发现我可以在单个文档中使用它们,但这不是我要寻找的。我不想对每个文档实例重复完整的数据字典,我宁愿让数据文件构成模式的一部分。

这在XML模式1.0中是不可能的

XMLSchema1.1将添加一些支持,允许表达此类约束(尽管AFAIK不在外部文件中),但这还不是W3C的建议

现在可以使用Schematron实现这一点,最终嵌入到XML模式中

然而,在这方面已经开展了工作,并取得了有用的成果。参见OASIS代码列表

更多详细信息可在此处找到:

这在OASIS通用业务语言(UBL)中使用

致以最良好的祝愿, 乔治