Необходимо получить определение XSD, которое может генерировать вывод, подобный этому. У меня проблемы со ссылками на пространства имен. Я хочу сделать все это в одном файле XSD (не хочу ссылаться на другие файлы).
<?xml version="1.0" encoding="UTF-8"?>
<message>
<Headerinfo>
<Element1>stuff</Element1>
<Element2>things</Element2>
</Headerinfo>
<CreateRequest xmlns="http://schemas.datacontract.org/2004/07/MyOrg.MyApp.DataContracts.MyObject" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Element3>more stuff</Element3>
<Element4>more things</Element4>
<Address xmlns:a="http://schemas.datacontract.org/2004/07/MyOrg.MyApp.DataContracts.Address">
<a:AddressLine1>123 Main Street</a:AddressLine1>
</Address>
</CreateRequest>
</message>
1 - необходимо иметь возможность генерировать xmlns для сложного элемента CreateRequest.
2 - Необходимо иметь возможность генерировать xmlns: a for Address и его простые элементы.
Вот XSD, который у меня есть. Я считаю, что мне нужно добавить запись xs: scehma для записи a :. Не уверен, что еще, не могу заставить его работать.
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
<xs:element name="message">
<xs:complexType>
<xs:sequence>
<xs:element name="Headerinfo">
<xs:complexType>
<xs:sequence>
<xs:element name="Element1" type="xs:string"/>
<xs:element name="Element2" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CreateRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="Element3" type="xs:string"/>
<xs:element name="Element4" type="xs:string"/>
<xs:element name="Address">
<xs:complexType>
<xs:sequence>
<a:element name="AddressLine1" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>