XSLT in VB.Net

From: Ram (Ram_at_discussions.microsoft.com)
Date: 07/11/04


Date: Sat, 10 Jul 2004 20:10:02 -0700


I am new to XSLT. AS I was browsing msdn.com for XSLT I found a an example for this. So, I tried to transform XML is DOM in VB.Net. But I am getting the following errors. Please help me.

ERROR
--------
An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in WindowsApplication3.exe

Additional information: The style*** does not contain a document element. The style*** may be empty, or it may not be a well-formed XML document.

VB.NET CODE
---------------

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim xsl, out, str
        Dim doc As New MSXML2.DOMDocument30()
        doc.async = False
        doc.validateOnParse = False
        doc.resolveExternals = False
        doc.load("http://localhost/gxc.xml")

        xsl = doc
        xsl.Load("http://localhost/test.xsl")

        str = doc.transformNode(xsl)
        'DOC.transformNode
        MsgBox("doc.transformNode: " + doc.xml)

        out = doc
        doc.transformNodeToObject(xsl, out)
        MsgBox("doc.transformNodeToObject:" + vbNewLine + out.xml)

    End Sub

test.xsl
--------

<!-- <?xml version="1.0"?> -->
<xsl:style*** xmlns:xsl="http://www.w3.org/TR/WD-xsl">

<!-- Map "root" element to "network" element. -->

  <xsl:template match="GXML">
    <xsl:element name="EMPLOYEES">
       <xsl:apply-templates/>
    </xsl:element>
  </xsl:template>

  <!-- Keep any other elements as-is. -->

  <xsl:template match="/ | @* | node()">
    <xsl:copy>
      <xsl:apply-templates select="@* | node()"/>
    </xsl:copy>
  </xsl:template>

</xsl:style***>

gxc.xml
--------

<?xml version="1.0" encoding="utf-8" ?>
<GXML>
<CONTACTS>

<CONTACTID ID="C001">
<NAME>Ram</NAME>
<AGE>29</AGE>
<EMAIL>vram@sap1.com</EMAIL>
<PHONE>1-800</PHONE>
</CONTACTID>

<CONTACTID ID="C002">
<NAME>Dav</NAME>
<AGE>22</AGE>
<EMAIL>dav@sap1.com</EMAIL>
<PHONE>1-800</PHONE>

</CONTACTID>

</CONTACTS>

<EMPLOYEES>

<EMPID ID="E001">
<NAME>Shiva</NAME>
<AGE>29</AGE>
<EMAIL>com</EMAIL>
<PHONE>1-800</PHONE>
</EMPID>

<EMPId ID="E002">
<NAME>Peter</NAME>
<AGE>27</AGE>
<EMAIL>peter@sap1.com</EMAIL>
<PHONE>1-800</PHONE>
</EMPId>

</EMPLOYEES>
<CLIENTS></CLIENTS>

</GXML>