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

[xsl]


Subject: [xsl] <no subject>
From: k.weitzer@xxxxxx
Date: Tue, 6 Nov 2001 11:33:54 +0100

Hi list members!

My case:
Given this XML:

<R>
  <L uri="somexml.xml"/>
  <L uri="otherxml.xml"/>
  <L/>
</R>

i want to do this within a MSXML 3.0b stylesheet:
...
<xsl:template match="/">
...
<xsl:variable name="refxml">
 <xsl:choose>
   <xsl:when test="/R/L/@uri">
      DON'T KNOW HOW TO DO
   </xsl:when>
   <xsl:otherwise>
      <xsl:value-of select="/.." />
   </xsl:otherwise>
 </xsl:choose>
</xsl:variable>
...


<xsl:template ...>
 <xsl:apply-templates select="msxsl:node-set($refxml)"/>
...

the problem is: if i use xsl:variable select="document(/R/L/@uri)"
everything is ok as long as @uri is set. IE crashes if you use
document() with an empty parameter.

I think that setting a variable via the content = result tree fragment
should be something like <xsl:copy-of select="document(/R/L/@uri)"/>
but it doesn't work.

My questions are:
1 what is the missing statement above
2 why
3 what is wrong with this assumtion: if document() returns the root-node
of the referenced document and i copy everything into the tree fragment
of a xsl:variable coerce this afterwards into a node set (msxsl:node-set())
i'd have rather the same as if i would use an entity instead of the 
L element and it's uri - attribute.

tx in advance
Klaus Weitzer

________________________________________________________________
WEB.DE - das grosse Horoskop Gewinnspiel!
http://horoskop.web.de


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



Current Thread