--- title: "Example: Constructing Siblings with EXPLICIT Mode | Microsoft Docs" ms.custom: "" ms.date: "03/01/2017" ms.prod: "sql-server-2016" ms.reviewer: "" ms.suite: "" ms.technology: - "dbe-xml" ms.tgt_pltfrm: "" ms.topic: "article" helpviewer_keywords: - "EXPLICIT FOR XML mode" ms.assetid: 8a57b765-a890-46a3-8b5f-5754e921ea6e caps.latest.revision: 10 author: "BYHAM" ms.author: "rickbyh" manager: "jhubbard" --- # Example: Constructing Siblings with EXPLICIT Mode Assume that you want to construct XML that provides sales order information. Note that <`SalesPerson`> and <`OrderDetail`> elements are siblings. Each Order has one <`OrderHeader`> element, one <`SalesPerson`> element, and one or more <`OrderDetail`> elements. ``` ... ``` The following EXPLICIT mode query constructs this XML. Note that the query specifies `Tag` values of 1 for the <`OrderHeader`> element, 2 for the <`SalesPerson`> element, and 3 for the <`OrderDetail`> element. Because <`SalesPerson`> and <`OrderDetail`> are siblings, the query specifies the same `Parent` tag value of 1 identifying the <`OrderHeader`> element. ``` USE AdventureWorks2012; GO SELECT 1 as Tag, 0 as Parent, SalesOrderID as [OrderHeader!1!SalesOrderID], OrderDate as [OrderHeader!1!OrderDate], CustomerID as [OrderHeader!1!CustomerID], NULL as [SalesPerson!2!SalesPersonID], NULL as [OrderDetail!3!SalesOrderID], NULL as [OrderDetail!3!LineTotal], NULL as [OrderDetail!3!ProductID], NULL as [OrderDetail!3!OrderQty] FROM Sales.SalesOrderHeader WHERE SalesOrderID=43659 or SalesOrderID=43661 UNION ALL SELECT 2 as Tag, 1 as Parent, SalesOrderID, NULL, NULL, SalesPersonID, NULL, NULL, NULL, NULL FROM Sales.SalesOrderHeader WHERE SalesOrderID=43659 or SalesOrderID=43661 UNION ALL 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], [SalesPerson!2!SalesPersonID], [OrderDetail!3!SalesOrderID],[OrderDetail!3!LineTotal] FOR XML EXPLICIT; ``` This is the partial result: `` `` `` `` `` `...` `` `` `` `` `` `...` `` ## See Also [Use EXPLICIT Mode with FOR XML](../../relational-databases/xml/use-explicit-mode-with-for-xml.md)