Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 根据XSD验证对象的多个版本_Xml_Validation_Xsd_Attributes_Version - Fatal编程技术网

Xml 根据XSD验证对象的多个版本

Xml 根据XSD验证对象的多个版本,xml,validation,xsd,attributes,version,Xml,Validation,Xsd,Attributes,Version,我想根据XSD验证一个对象的多个版本。我正在考虑使用一个属性来声明版本 假设我有第1个版本: <person version="1.0"> <firstname></firstname> <lastname></lastname> </person> 第二个版本: <person version="2.0"> <firstname></firstname> <l

我想根据XSD验证一个对象的多个版本。我正在考虑使用一个属性来声明版本

假设我有第1个版本:

<person version="1.0">
  <firstname></firstname>
  <lastname></lastname>
</person>

第二个版本:

<person version="2.0">
  <firstname></firstname>
  <lastname></lastname>
  <birthdate></birthdate>
</person>


我可以这样做吗?在XSD中为这两个对象建模的最佳解决方案是什么?

在XSD 1.1中,您可以使用条件类型属性(或“类型替代项”),在这里,您可以使用XPath谓词,根据元素的一个属性的值声明元素的类型


XSD 1.0中没有等效项。

在XSD 1.1中,您可以使用条件类型属性(或“类型替代项”),其中您可以使用XPath谓词,根据元素属性之一的值声明元素的类型

XSD1.0中没有等价物