SQL Server XML DML Необъявленный префикс

Я не могу понять, почему я получаю ошибку "Синтаксический анализ XML: строка 2, символ 45, необъявленный префикс" в этой простой строке кода:

DECLARE @ECAS XML;
SET @ECAS = 'declare namespace xs="http://www.w3.org/2001/XMLSchema";
             <xs:element name="ecasData">
               <xs:complexType>
                 <xs:all minOccurs="1" maxOccurs="1"/>
               </xs:complexType>
             </xs:element>';

SELECT @ECAS;

Не объявлено ли пространство имен xs в начале предложения? Любая помощь будет оценена. Благодарю.

2 ответа

Решение
DECLARE @ECAS XML;

SET @ECAS = '<xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="ecasData" >
               <xs:complexType>
                 <xs:all minOccurs="1" maxOccurs="1"/>
               </xs:complexType>
             </xs:element>';
SELECT @ECAS;

В интересах здравомыслия, даже если это не имеет непосредственного отношения к вашему коду, и потому что это популярный пост с гуглом для "необъявленного префикса", также ищите xsi:nil="true" в вашем xml

Другие вопросы по тегам