[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] simple xslt question, retrieved data has no xml tags.


Subject: Re: [xsl] simple xslt question, retrieved data has no xml tags.
From: "Hardy Merrill" <HMerrill@xxxxxxxxxxxxxxxx>
Date: Mon, 23 Jan 2006 08:12:14 -0500

Lizet, I'm certainly no expert and I'm just taking a wild stab at this, but
I think that when you do

  <xsl:apply-templates select="self" />

that is only going to output the text of the context node.  My guess is
that you need to do an xsl:copy or xsl:copy-of.

Hope this helps.

Hardy Merrill

>>> lizet@xxxxxxxxxxxxxxxxx 1/22/2006 10:19 PM >>>

Hello all,
I need to import data from a 35MB xml file into a sql server database. I'm
trying to cut that file in smaller chunks of data that can be more
manageable.
I'm using .NET framework 1.1 for this. I believe the processor is MSXML 4.0.
I can't figure out what I'm doing wrong but each time I apply an xslt to the
file I only get the text inside the nodes and I want to preserve the xml
structure of the nodes I select, in order to create smaller xml files.

Here's the code so far:

Here's the xslt file
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:xdt="http://www.w3.org/2005/xpath-datatypes">
       <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
media-type="xml"/>
       <xsl:template match="//products[equipment/model='MX210']">
            <xsl:apply-templates select="self" />
       </xsl:template>
</xsl:stylesheet>


Dim doc2 As XmlDocument = New XmlDocument
           doc2.Load("DA880data.xml")

           ' Modify the XML file.
           Dim root As XmlElement = doc2.DocumentElement


           ' Create an XPathNavigator to use for the transform.
           Dim nav As XPathNavigator = root.CreateNavigator()

           ' Transform the file.
           Dim xslt As XslTransform = New XslTransform
           xslt.Load("transformdata.xsl")
           Dim writer As XmlTextWriter = New
XmlTextWriter("output.xml", Nothing)
           xslt.Transform(nav, Nothing, writer, Nothing)


Any idea is more than welcome. Thanks a lot for looking into this.

Lizet


Current Thread
Keywords