Menu

#5 randomizeList hangs system when using XslTransform in .Net

open
1
2006-03-01
2006-02-02
Anonymous
No

Hello,

I have a VB.Net component that uses the XslTransform
object. I am using the FXSL randomizeList function in
my XSL template. When I transform the XML in the
VB.Net component, my system hangs. When I load the
XML in a browser with a reference to the XSL
template, it works fine.

Here is my XML:
<?xml version="1.0" ?>
<Lists>
<List><Item>Item 1</Item></List>
<List><Item>Item 2</Item></List>
<List><Item>Item 3</Item></List>
<List><Item>Item 4</Item></List>
<List><Item>Item 5</Item></List>
<List><Item>Item 6</Item></List>
<List><Item>Item 7</Item></List>
</Lists>

Here is my XSL:
<xsl:stylesheet version = "1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
exclude-result-prefixes = "xsl" >

<xsl:import href = "randomList.xsl" />

<xsl:output method = "html" />

<xsl:template match = "/" >
<xsl:variable name="vRandFunc">
<xsl:call-template
name="randomizeList">
<xsl:with-param
name="pList" select="/Lists/List/Item" />
<xsl:with-param
name="pSeed" select="32768" />
</xsl:call-template>
</xsl:variable>

<table>
<xsl:for-each select="msxsl:node-set
($vRandFunc)/*">
<tr>
<td><xsl:value-of select="." /></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>

</xsl:stylesheet>

Here is my VB.Net code snippet:
' Create the XslTransform and load the stylesheet.
Dim xslt As XslTransform = New XslTransform
xslt.Load(sXslTemplateFile)

' Create an XsltArgumentList.
Dim xslArg As XsltArgumentList = New
XsltArgumentList
' Add parameters
xslArg.AddParam("firstelement", "",
iElement.ToString())
xslArg.AddParam("elementsperpage", "",
m_iElementsPerPage.ToString())

'Create an XmlTextWriter to handle the output, but
put it in a string.
Dim sb As StringBuilder = New StringBuilder
Dim sw As StringWriter = New StringWriter(sb)
Dim xw As XmlTextWriter = New XmlTextWriter(sw)

'Transform the file.
xslt.Transform(m_xmlDom.CreateNavigator(), xslArg,
xw, Nothing)
'Get the output
RenderPage = sb.ToString()

When I execute this code, my system hangs and I
cannot kill the application, which is a browser in
this case. I load my .Net component as an object in
an HTML page in a browser, and inject the results in
RenderPage to a div tag.

All of my other XSL templates work, but they are not
using the FXSL randomizeList function.

Anyone have any ideas, alternatives, etc.?

Rob

Discussion

  • Dimitre Novatchev

    • priority: 5 --> 1
    • assigned_to: nobody --> helgy
     
  • Dimitre Novatchev

    Logged In: YES
    user_id=547596

    This has nothing to do with FXSl and reflects an issue
    with .NET 1.1 XslTransform.

    Nevertheless, I have asked Helgy to investigate.

    Dimitre Novatchev

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.