ПредишенСледващото

В клаузата за XML ЗА, можете да заявите, че заявката се връща на вградената верига, заедно с резултатите от запитването. Ако искате да получите най-XDR-веригата, на клаузата XML, използвайте XMLDATA ключова дума. Ако искате да получите най-XSD схема, тогава трябва да използвате XMLSCHEMA ключова дума.

Този раздел описва XMLSCHEMA дума обяснява структурата на получения интегриран XSD-веригата. Освен това, като се имат предвид ограниченията на искането вградени вериги.

параметър XMLSCHEMA може да се настрои само в RAW режим и AUTO, това не може да се направи в EXPLICIT режим.

Ако вложени ЗА XML заявка директива дефиниран тип, резултатният ще има вида на XML данни и да се прехвърлят например на типизиран XML-данни. За повече информация, вижте. В раздел XML-данни (SQL Server).

В настоящото верига в резултат може да бъде множество схеми документи, описващи различни именни пространства. Трябва ли да се върна, като минимум следните две схеми.

Една схема за документ пространство типове SQLTYPE имена. за които основните типове са върнати SQL.

Друг документ схема, описваща формата на ЗА резултат XML заявка.

Освен това, ако резултатът от заявката включва всеки напечатан тип данни XML. след това се върнете схеми, свързани с тези видове XML данни.

Целева пространство от имена от документа за схема, която описва формата на резултата от ЗА XML, се състои от фиксирана част и цифрова част, която автоматично увеличава. По-долу е форматът на пространството име, където п е цяло положително число. Например, предишната заявка е мишена на пространство от имена урна: Схеми-Microsoft-ком: SQL: SqlRowSet1.

Промени в целевите именни пространства в резултат, които настъпват между две изпълнения може да е нежелателно. Например, ако резултатът е поискано XML, че промяна е необходимо да се актуализира заявката в целевата пространство от имена. Ако е необходимо, можете да определите целевата пространство от имена, когато клаузата за XML ЗА добавен параметър XMLSCHEMA. Получената XML ще съдържа определен пространство от имена и да остане същата, независимо от това колко пъти на искането.

Поради факта, че искането се добавя директива ЕЛЕМЕНТИ, XML-резултат се генерира посредством елементите. следователно Също така в тази заявка е дадена директива XMLSCHEMA върна вграден XSD-схема. Комплектът за резултат:

Имайте предвид следното от предишната заявка.

, и не са елементи на природата, тъй като те нанесени колони. Благодарение на елементите на директивата данни колона се връща под формата на елементи в XML. Те сравнили местните елементи на една сложна тип обект елемент. Имайте предвид, че ако директивата за ЕЛЕМЕНТИ не е уточнено, SalesOrderID на стойност. ProductID OrderQty и съпоставена с местните атрибути, съответстващи комплекс тип обект елемент.

Следните аргументи се използват CustOrder маса и CustOrderDetail. За да тествате следните проби, създаване на една маса и да добавите свои собствени данни проба:

Това е в резултат на XML. Показва само част от вградения XSD:

Моля, имайте предвид следното вграден XSD-схемата.

И двете стойности, ListPrice и DealerPrice, имат един и същ тип данни, пари. и двамата могат да имат стойност, равна на нула в таблицата. По този начин, се дължи на факта, че те не могат да се върнат в резултат на XML, декларацията от комплекс тип елемент може да бъде само едно дете елемент с параметри minOccurs = maxOccurs = 0 и 2.

В резултат на факта, че стойността в NULL на маса, равна DealerPrice, като елемент връща само стойността на ListPrice. При добавяне на параметър към директивата XSINIL ЕЛЕМЕНТИ двата елемента ще се получават със стойност XSi: нула. равна вярно, за елемент , съответния DealerPrice. Също така, ще се получат две дъщерни елементи в дефиницията на комплекс вид вградената схема XSD. И за двете nillable атрибут е настроен да е вярно. Това междинно съединение резултат:

Случай 2. Един от ключовите колона и един не-ключов колона от същия тип

Следната заявка е един ключов колона и един не-ключов колона от същия тип.

Резултати. Показва само част от вградения XSD-схема:

Имайте предвид, че вградената XSD-схема елемент Col2 колона съответства minOccurs на параметрите, равни на 0.

Случай 3. И двата елемента от различни видове и съответните колони могат да бъдат настроени да NULL

За случай 2 показва друг заявка дадена проба в сравнение с таблицата:

Тази заявка Col2 и Col3 има същия псевдоним. Това води до появата на два елемента със същото име, е дете на елементите като резултат. Двете колони принадлежат към различни видове и могат да бъдат настроени да NULL. Резултати. Показва само част от вградения XSD-схемата.

IgnoreKanaType IgnoreWidth "типове SQLTYPE: sqlSortId =" 52 ">

Моля, имайте предвид следното вграден XSD-схемата.

В резултат на това всеки случай елемент Тя се отнася до вид, например чрез използване на атрибута XSi: тип.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!