Subject: Re: Extracting data from external file
From: Jingjun Long <longjingjun@xxxxxxxxx>
Date: Mon, 31 Aug 2009 18:12:59 +0800
|
hi Joga,
Try this:
<xsl:template match="b">
<xsl:variable name="a" select="substring-before(@n, '_')"/>
<xsl:variable name="file" select="document(concat('dir/', $a,'_ext.xml'))"/>
<xsl:variable name="v_n" select="@n"/>
<found><xsl:value-of select="$file/xxx/x[@a = $v_n]/y"/></found>
</xsl:template>
Jingjun
2009/8/31 Jingjun Long <longjingjun@xxxxxxxxx>:
> 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@xxxxxxxxxxxxxx>:
>> 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[@a = @n]/y"/></found>
>> </xsl:template>
>>
>> OUTPUT
>> <found>first second</found>
>> <found>first second</found>
>>
>> Required OUTPUT
>> <found>first</found>
>> <found>fsecond</found>
>>
>> Thanks
|