2015-11-19 1 views
0

Я хочу, чтобы объединить два XSD, принявших такое же пространство имен и элементы имя, но Differnet атрибуты:Можно ли определить xsd с тем же именованным элементом с разными атрибутами, будет ли это действительным xsd?

<s:schema ......> 
<s:element name="CreateStudent"> 
<s:complexType> 
<s:sequence> 
<s:element minOccurs="0" maxOccurs="1" name="ID" type="s:string"/> 
<s:element minOccurs="0" maxOccurs="1" name="FirstName" type="s:string"/> 
<s:element minOccurs="0" maxOccurs="1" name="LastName" type="s:string"/> 
</s:sequence> 
</s:complexType> 
</s:element> 


<s:element name="CreateStudent"> 
<s:complexType> 
<s:sequence> 
<s:element minOccurs="0" maxOccurs="1" name="ID" type="s:string"/> 
<s:element minOccurs="0" maxOccurs="1" name="FirstName" type="s:string"/> 
<s:element minOccurs="0" maxOccurs="1" name="LastName" type="s:string"/> 
<s:element minOccurs="0" maxOccurs="1" name="MiddleName" type="s:string"/> 
</s:sequence> 
</s:complexType> 
</s:element> 
</s:schema> 
+0

В этом случае вы не можете этого сделать, но можете только в том случае, если 'element' будет объявлен в рамках другого сложного типа. – Xstian

+0

На самом деле у меня не может быть никакого дополнения к нему, так как это xsds, сгенерированные двумя различными webservice wsdl – Chaitanya

ответ

1

вы не можете иметь две глобальные объявления элементов с таким же именем и пространства имен, и различным содержанием

... но вы можете имеют один и тот же XML-тег с различным содержанием. Есть, по крайней мере 2 способа, что я могу думать о

  1. сделать MiddleName атрибута опционального
  2. Сделать сложный тип createStudent глобальным. Создайте еще один complexType, который расширяет первый и добавляет дополнительный атрибут «middleName». Затем используйте атрибут xsi: type в XML, чтобы определить, к какому типу вы хотите проверить.

Вариант 1 всегда позволит createStudent без атрибута middleName. Вариант 2 требует изменения XML для идентификации типа. Ваш выбор.

1

Нет, вы не можете иметь две глобальные объявлений элементов с таким же именем и пространством именами, и различным содержанием.

Смежные вопросы