Что означает несколько слов, разделенных двоеточиями в пространстве имен XML? - PullRequest
3 голосов
/ 02 февраля 2012

Я пытаюсь работать с некоторым XML (запросом службы SOAP -> WSDL), в котором у меня есть схема XML с пространством имен, например:

NWMLS: Evernet: ImageQuery: 1,0

<xs:schema id="ImageQuery_1.0" 
    targetNamespace="NWMLS:EverNet:ImageQuery:1.0"
    xmlns="NWMLS:EverNet:ImageQuery:1.0"
    xmlns:mstns="NWMLS:EverNet:ImageQuery:1.0" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    attributeFormDefault="qualified" elementFormDefault="qualified"> ...remainder of xsd...

Я продолжаю получать эту ошибку от веб-службы, которую я запрашиваю:

Could not find schema information for the element 'NWMLS:EverNet:ImageQuery:1.0:ImageQuery'.

Может кто-нибудь помочь мне разобраться в форматировании пространств имен, как это, и, возможно, указать мне на чтение? Я искал несколько часов. Спасибо!

Ответы [ 2 ]

3 голосов
/ 02 февраля 2012

Нет смысла.Это просто строка.Вы получаете ошибку, потому что служба не знает о схеме, соответствующей пространству имен.

1 голос
/ 02 февраля 2012

Конструкция, подобная xmlns: mstns = "NWMLS: EverNet: ImageQuery: 1.0", преобразуется из префикса (mstns) в URI пространства имен (якобы NWMLS: EverNet: ImageQuery: 1.0).

RFC2396 определяет синтаксис или URI. То, что у вас здесь есть, это совершенно правильный неиерархический URI со схемой NWMLS.

Ваше сообщение об ошибке указывает на то, что у вас просто нет XML-схемы W3C с targetNamespace URI. URI - это просто строка, которая однозначно идентифицирует схему.

Это не имеет ничего общего с синтаксисом или форматом. На самом деле, он имеет очень простой синтаксис: NWMLS - это схема, а все остальное - просто непрозрачная шишка.

...