xsl-list
[Top] [All Lists]

RE: [xsl] Extracting data from external file

2009-08-31 06:16:46
I want to read value of attribute @n and open its corresponding file. If
value of @n is equal to value of @a than extract the value of child of the
element i.e <y>. Currently the file is load twice. Can we clear that buffer
before loading to another file because it is possible that there may be
differenal external file for every elememt <b>.
 

-----Original Message-----
From: Jingjun Long [mailto:longjingjun(_at_)gmail(_dot_)com] 
Sent: Monday, August 31, 2009 3:33 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Extracting data from external file

By looking into the example data you provided, file_ext.xml is loaded twice.
Your current output is exactly reflect your logic in the XSLT code.

There are many ways to get your expected output but what logic are you going
to put there.


2009/8/31 Joga Singh Rawat <jrawat(_at_)aptaracorp(_dot_)com>:
Hi,
I want to extract data from external file i.e. file_ext.xml but not 
getting the required OUTPUT. Can anyone correct me about my mistake.

dir/file_ext.xml
<xxx>
 <x a="file_1">
   <y>first</y>
 </x>
 <x a="file _2">
   <y>second</y>
 </x>
</xxx>

b.xml
<aaa>
 <b n="file_1">
 <b n="file_2">
</aaa>

XSLT Code
<xsl:template match="b">
 <xsl:variable name="a" select="substring-before(@n, '_')"/>
 <xsl:variable name="file" select="document(concat('dir/', $a, 
'_ext.xml'))"/>
  <found><xsl:value-of select="$file/xxx/x[(_at_)a = @n]/y"/></found> 
</xsl:template>

OUTPUT
<found>first second</found>
<found>first second</found>

Required OUTPUT
<found>first</found>
<found>fsecond</found>

Thanks


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>