Quantcast
Channel: SQL Server Integration Services forum
Viewing all articles
Browse latest Browse all 24688

Strip DTD out; Help with some XSLT inside of SSIS XML Task

$
0
0

I'm reading over this thread:   http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1884062&SiteID=1

 

and I'm kinda lost as to what to do to strip out the dtd from an XML file I am downloading.   I do NOT know XSLT and for that reason, I can't follow his logic.

 

My SSIS package downloads my XML file just fine, now I need to do a strip of the DTD line in my XML Task.


The person who provided the solution in the above post said to do this...

 

Code Snippet

Operation Type: XSLT

Source Type: Variable

Source: Variable's name containing the xml text

Save Operation Result: True

DestinationType: Variable

OverwriteDestination: True

Destination: Variable's name which is to contain the original xml minus the DTD.

SecondOperandType: Variable

 

 

 

That stuff I understood.  I'll replace variables with my files because they are stored that way, but from what I can tell, that's not my problem.

 

The stuff he says below this comment is going over my head like a ton of bricks.  I can't figure out how to do it.

 

This is the kind of line of my XML that I want to strip out.

 

https://www.myaddy.com/pbdr.dtd"[]>

 

and then he said this...

 

Code Snippet

Since XSL doesn't know about DTDs, telling it to copy everything strips out DTDs.   Then use the Variable specified in the Xml task's SecondOperand as the Source data for the xml source.

Code Snippet

<

xsl:stylesheetversion="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<

xsl:templatematch="/">

<

xsl:copy-ofselect="." />

</< FONT>xsl:template>

</< FONT>xsl:stylesheet>

 

A note on how to paste a multi-line xml document into a Integration Services String variable:

 

Integration Services String variables textboxes are not multi-line, in the Windows sense of a line (CR+LF),

 

So, in order to paste multi-line text (which xml docs almost always are), save a temporary copy with a unix line ending. 

 

That is, create an xml file in visual studio, and paste your sample original xml in there.  Go to File/Advanced Save options, and save the xml with the the settings of Encoding: Unicode (utf-8 without signature) - CodePage 65001, and most importantly, set the Line endings dropdown to "Unix (LF)".

 

After selecting "OK", copy and paste the text from Visual Studio's xml file editor into the IS variable, and you'll note all the xml data appears.

 

 

So can anyone walk me through a dummies version of what he is suggesting to do? 

 

Thanks,

Keith


Viewing all articles
Browse latest Browse all 24688

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>