Przykład: Określanie dyrektywy ELEMENTXSINIL
Po określeniu dyrektywy ELEMENT pobrać zorientowany na element XML, jeśli kolumna ma wartość NULL, odpowiadającego im elementu nie jest generowany przez JAWNE tryb.Opcjonalnie można określić dyrektywy ELEMENTXSINIL na żądanie, gdzie wartości elementu generowania NULL xsi:nil atrybut jest zestaw o wartości TRUE.
Następująca kwerenda konstrukcje XML, który zawiera adres pracownika.Dla AddressLine2 i City kolumnas, kolumna określić nazwy ELEMENTXSINIL dyrektywy.Generuje elementu dla wartości NULL w AddressLine2 i City kolumn w zestawie zestaw wierszy.
USE AdventureWorks2008R2;
GO
SELECT 1 as Tag,
NULL as Parent,
E.BusinessEntityID as [Employee!1!EmpID],
BEA.AddressID as [Employee!1!AddressID],
NULL as [Address!2!AddressID],
NULL as [Address!2!AddressLine1!ELEMENT],
NULL as [Address!2!AddressLine2!ELEMENTXSINIL],
NULL as [Address!2!City!ELEMENTXSINIL]
FROM HumanResources.Employee AS E
INNER JOIN Person.BusinessEntityAddress AS BEA
ON E.BusinessEntityID = BEA.BusinessEntityID
UNION ALL
SELECT 2 as Tag,
1 as Parent,
E.BusinessEntityID,
BEA.AddressID,
A.AddressID,
AddressLine1,
AddressLine2,
City
FROM HumanResources.Employee AS E
INNER JOIN Person.BusinessEntityAddress AS BEA
ON E.BusinessEntityID = BEA.BusinessEntityID
INNER JOIN Person.Address AS A
ON BEA.AddressID = A.AddressID
ORDER BY [Employee!1!EmpID],[Address!2!AddressID]
FOR XML EXPLICIT;
Jest to wynik częściowy:
<Employee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
EmpID="1" AddressID="249">
<Address AddressID="249">
<AddressLine1>4350 Minute Dr.</AddressLine1>
<AddressLine2 xsi:nil="true" />
<City>Minneapolis</City>
</Address>
</Employee>
...