Private Sub GetXSLT()

Try

Dim parms As Specialized.HybridDictionary = New Specialized.HybridDictionary

Dim df As New DataFactory

Dim dataset As DataSet = df.GetDataSet("storedProc_GetBusinessUnitsAndEmployees", parms)

'--------------------------------------------------------------------

'Get the primary key column from the master table

'--------------------------------------------------------------------

Dim primarykey As DataColumn = dataset.Tables("Table").Columns("CODE_LIST_ID")

'--------------------------------------------------------------------

'Get the foreign key column from the detail table

'--------------------------------------------------------------------

Dim foreignkey As DataColumn = dataset.Tables("Table1").Columns("CODE_LIST_ID")

'--------------------------------------------------------------------

'Assign a relation

'--------------------------------------------------------------------

Dim relation As DataRelation = dataset.Relations.Add(primarykey, foreignkey)

'--------------------------------------------------------------------

'Alternative code when multiple columns in keys:

'--------------------------------------------------------------------

'--------------------------------------------------------------------

'Get the primary key column from the master table

'--------------------------------------------------------------------

Dim primaryColumns() As DataColumn

Dim foreignColumns() As DataColumn

primaryColumns = New DataColumn() {dataset.Tables("Table").Columns("EMPLOYEE_ID"), dataset.Tables("Table").Columns("CODE_LIST_ID")}

foreignColumns = New DataColumn() {dataset.Tables("Table1").Columns("EMPLOYEE_ID"), dataset.Tables("Table1").Columns("CODE_LIST_ID")}

'--------------------------------------------------------------------

'Assign a relation

'--------------------------------------------------------------------

Dim relation As DataRelation = dataset.Relations.Add(primaryColumns, foreignColumns)

'--------------------------------------------------------------------

'Ask ADO.NET to generate nested XML nodes

'--------------------------------------------------------------------

relation.Nested = True

'--------------------------------------------------------------------

'Create a virtual XML document on top of the DataSet

'--------------------------------------------------------------------

Dim doc As XmlDataDocument = New XmlDataDocument(dataset)

'--------------------------------------------------------------------

'debug - write doc to string

'--------------------------------------------------------------------

Dim docString As String = doc.InnerXml

'--------------------------------------------------------------------

'Load the XSLT file.

'NOTE: Here it is compiled as an embedded resource file

'--------------------------------------------------------------------

Dim myAssembly As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()

Dim xslTransform As New Xsl.XslTransform

Dim xslStream As Stream = myAssembly.GetManifestResourceStream("myAssembly.BusinessUnitSummary.xslt")

Dim xmlTextReader As New XmlTextReader(xslStream)

xslTransform.Load(xmlTextReader, Nothing, Nothing)

'--------------------------------------------------------------------

'Transform the results to stringWriter

'--------------------------------------------------------------------

Dim stringWriter As New System.IO.StringWriter

xslTransform.Transform(doc.CreateNavigator(), Nothing, stringWriter, Nothing)

'--------------------------------------------------------------------

'convert stringWriter to html string

'--------------------------------------------------------------------

Dim html As String = stringWriter.ToString()

'--------------------------------------------------------------------

'load string (HTML) into Label1

'--------------------------------------------------------------------

Label1.Text = html

Catch ex As Exception

Dim x As String = ex.ToString

Throw ex

End Try

End Sub