Помогите пожалуйста разобраться.
Есть такой xml — ответ от вебсервиса
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xsi:noNamespaceSchemaLocation="my.xsd">
<soapenv:Body>
<getDeviceResponse>
<device/>
</getDeviceResponse>
</soapenv:Body>
</soapenv:Envelope>
Пытаюсь сочинить my.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<xs:import namespace="http://schemas.xmlsoap.org/soap/envelope/"/>
<xs:element name="getDeviceResponse">
<xs:complexType>
<xs:sequence>
<xs:element ref="device"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="device" type="xs:string"/>
</xs:schema>
Не работает
Т.е. наружные элементы
soapenv:Envelope
soapenv:Body
оно валидирует в соответствии с xmlns:soap="
http://schemas.xmlsoap.org/soap/envelope/">, а вот далее для noNamespaceSchemaLocation почему-то игнорируется...
Как заставить преверять, что внутри <soapenv:Body> обязан идти <getDeviceResponse> ?
Заранее благодарен.