Specify XMLNAMESPACE in SQL Server Query with For Xml Clause, Explicit mode

xgitta

New Member
I'm trying to query some database using \[code\]FOR XML\[/code\] clause \[code\]EXPLICIT\[/code\] mode but i don't know how to specify the XMLNAMESPACE and schema's while using this mode just like WITH XMLNAMESPACE while using \[code\]AUTO\[/code\] mode or \[code\]RAW\[/code\] This \[code\]MSDN\[/code\] example query, in its result its specifies the \[code\]Schema1\[/code\] as a schema for the result \[code\]XML\[/code\]\[code\]USE AdventureWorks2012;GO SELECT 1 as Tag,0 as Parent,SalesOrderID as [OrderHeader!1!SalesOrderID!id],OrderDate as [OrderHeader!1!OrderDate],CustomerID as [OrderHeader!1!CustomerID],NULL as [SalesPerson!2!SalesPersonID],NULL as [OrderDetail!3!SalesOrderID!idref],NULL as [OrderDetail!3!LineTotal],NULL as [OrderDetail!3!ProductID],NULL as [OrderDetail!3!OrderQty]FROM Sales.SalesOrderHeaderWHERE SalesOrderID=43659 or SalesOrderID=43661....SELECT 3 as Tag, 1 as Parent,SOD.SalesOrderID,NULL,NULL,SalesPersonID,SOH.SalesOrderID,LineTotal,ProductID,OrderQty FROM Sales.SalesOrderHeader SOH,Sales.SalesOrderDetail SOD WHERE SOH.SalesOrderID = SOD.SalesOrderID AND (SOH.SalesOrderID=43659 or SOH.SalesOrderID=43661) ORDER BY [OrderHeader!1!SalesOrderID!id], [SalesPerson!2!SalesPersonID], [OrderDetail!3!SalesOrderID!idref],[OrderDetail!3!LineTotal] FOR XML EXPLICIT, XMLDATA\[/code\]and here is sample result:\[code\] <Schema name="Schema1" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes"> <ElementType name="OrderHeader" content="mixed" model="open"> <AttributeType name="SalesOrderID" dt:type="id" /> <AttributeType name="OrderDate" dt:type="dateTime" /> <AttributeType name="CustomerID" dt:type="i4" /> <attribute type="SalesOrderID" /> <attribute type="OrderDate" /> <attribute type="CustomerID" /> </ElementType> <ElementType name="SalesPerson" content="mixed" model="open"> <AttributeType name="SalesPersonID" dt:type="i4" /> <attribute type="SalesPersonID" /> </ElementType> <ElementType name="OrderDetail" content="mixed" model="open"> <AttributeType name="SalesOrderID" dt:type="idref" /> <AttributeType name="LineTotal" dt:type="number" /> <AttributeType name="ProductID" dt:type="i4" /> <AttributeType name="OrderQty" dt:type="i2" /> <attribute type="SalesOrderID" /> <attribute type="LineTotal" /> <attribute type="ProductID" /> <attribute type="OrderQty" /> </ElementType> </Schema> <OrderHeader xmlns="x-schema:#Schema1" SalesOrderID="43659" OrderDate="2001-07-01T00:00:00" CustomerID="676"> <SalesPerson SalesPersonID="279" /> <OrderDetail SalesOrderID="43659" LineTotal="10.373000" ProductID="712" OrderQty="2" /> ... </OrderHeader> ...\[/code\]
 
Back
Top