2008-09-19 12 views
1

У меня есть приложение с интерфейсом стиля REST, который принимает XML-документы через POST от клиентов. Это приложение написано на Java и использует XML-компоненты для обработки опубликованного сообщения.Какой XML я отправляю для поля, объявленного как nillable?

Определение схемы XML для поля в сообщении выглядит следующим образом:

<xs:element name="value" type="xs:string" nillable="true" /> 

Как отправить пустое значение, которое соответствует этой спецификации?

Я отправил <value xsi:nil="true" /> , но это привело к тому, что синтаксический анализатор XML был заблокирован.

ответ

0

Это правильный способ отправки всухую значение (в предположении, что пространство имен по умолчанию и xsi имен установлены правильные значения, а именно: "http://www.w3.org/2001/XMLSchema-instance" для xsi.), Так это выглядит, как вы, возможно, столкнулись с ошибкой в CML-парсер, который вы используете. Что такое сообщение об ошибке?

Вы можете попробовать использовать xsi:nil="1" или используя отдельные открытые и закрывающиеся теги (<value xsi:nil="true"></value>), чтобы попытаться обойти ошибку.

+0

Это была именно информация, в которой я нуждался. Я выполнил ваши инструкции и добавил атрибут для пространства имен xsi, а затем смог заставить парсер принять и проверить опубликованный XML-документ. Ницца! –

1

В прошлом, когда я имел XML элементы, которые были пустой я мог или не включать их или отправить их пустыми так, в вашем случае было бы: <value />

вы пробовали что ли?

+0

Учитывая, что элемент '' вводится как 'xs: string', использование' 'даст ему значение пустой строки, а не нулевое значение. Но может быть, что будет пустая строка. – JeniT

+0

JeniT: ваше предсказание было точно правильным. Я получил пустую строку, когда я попробовал это предложение. –

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

  • Нет связанных вопросов^_^