This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Resetting context to main document with "document()"?



Hi,
I was using the variable before, but it is not a nice solution: the problem
is that then I have the xml filename in the xsl, which is unpractical (what
if I change directories for xml / xsl). I tried also to set the variable to
"/" as shown below, but (MSXML) it outputs trash to the screen...
There is the obvious trick of passing the same name also as parameter, but
it is also not "elegant". I suppose there has to be a way to reset to the
MAIN parsed document without dirty tricks.....


<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="
1.0">
  <xsl:output method="xml" indent="yes"/>
  <!-- remove this declaration (templates.xml is the file I'm parsing, no
need for a variable? -->
<!--  <xsl:variable name="templates" select="'templates.xml'"/>-->
  <xsl:variable name="templates" select="/"/> ---------should I place it
here?

  <xsl:template match="/">
<!--  <xsl:variable name="templates" select="/"/>-->  ---------should I
place it here?


------------------------------

Date: Tue, 05 Mar 2002 12:57:18 +0100
From: Joerg Heinicke <joerg.heinicke@gmx.de>
Subject: Re: [xsl] Resetting context to main document with "document()"?

But this won't solve his problem. He needs a second variable storing the
root of the current document:

<xsl:variable name="doc1" select="/"/>

<xsl:variable name="doc2" select="document(...)"/>

Now you can switch via <xsl:for-each select="$doc1"> or select="$doc2".

Regards,

Joerg


cutlass wrote:
> instead of using xsl:for-each
>
> place the document in a variable
>
> <xsl:variable name="thedoc" select="document('somdoc.xml')"/>
>
> then use $thedoc in your template or for-each
>
> cheers, jim fuller
>
>
> ----- Original Message -----
> From: "Costantino Sertorio" <costantino.sertorio@ams.com>
> To: <xsl-list@lists.mulberrytech.com>
> Sent: Tuesday, March 05, 2002 11:08 AM
> Subject: [xsl] Resetting context to main document with "document()"?
>
>
>
>>Hello,
>>in my XSL, I am parsing a few other documents besides the main one. In
>>several places in the XSL, I need to switch the context to some other
>>document, using:
>><xsl:for-each select="document(...)"/>
>>How can I switch again to the main document?
>>
>>Thanks,
>>Costantino
>>
>>
>> XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>>
>>
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list





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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]