XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Maryam ShafieSubject: Reading multiple XML files
Author: Maryam Shafie
Date: 18 Jul 2005 07:30 PM
My stylesheet reads two input XML files. I need to have an opening (eg: <ABC>) and matching ending tag (eg: </ABC>), but I do not want to have the end tag to be written after the first file is transformed, I want to write the end tags after the second file has been read in.

Can anybody help me with that? Thanks.

Postnext
Ivan PedruzziSubject: Reading multiple XML files
Author: Ivan Pedruzzi
Date: 18 Jul 2005 09:19 PM
Hi Maryam,

you didn't post the XSLT so here is a general way to do it

Ivan
Stylus Studio Team

<xsl:template match="/">
<ABC>
<xsl:apply-templates select="document('file:///c:/myfile-1.xml')"/>
<xsl:apply-templates select="document('file:///c:/myfile-2.xml')"/>
</ABC>
</xsl:template>

Postnext
Maryam ShafieSubject: Reading multiple XML files
Author: Maryam Shafie
Date: 19 Jul 2005 10:48 AM
Hi Ivan,

Thanks for your reply. Would it be possible for you to look at the code?

Here it is:
<?xml version='1.0' encoding='utf-8' ?>
<!--Source_XML:XXXX.xml -->
<!--Source_XML:YYYY.xml -->
<!--Target_Filename:AAAA.xml -->
<!--:-->

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" />

<xsl:template match="/">

<xsl:apply-templates select="YYYY_Records" />
<xsl:apply-templates select="XXXX_Records" />
</xsl:template>

<xsl:template match="YYYY_Records">
<xsl:apply-templates select="YYY" />
</xsl:template>


<xsl:template match="XXXX_Records">
<xsl:apply-templates select="XXX" />
</xsl:template>

<xsl:template match="XXX">
These are from XXXX.xml file:
<ABI><xsl:value-of select="ABIValue"/></ABI>
<xsl:text>&#xa;</xsl:text>
<DDBI><xsl:value-of select="DDBIValue"/></DDBI>
<xsl:text>&#xa;</xsl:text>
</xsl:template>

<xsl:template match="YYY">
These are from YYYY.xml file:
<ETSI><xsl:value-of select="ETSIVallue"/></ETSI>
<xsl:text>&#xa;</xsl:text>
<TDFD><xsl:value-of select="TDFDValue"/></TDFD>
<xsl:text>&#xa;</xsl:text>
</xsl:template>
</xsl:stylesheet>

I want the output be like this:

<ABC>
<ABI> .... </ABI> -- From XXXX.xml --
<DDBI> ....</DDBI> -- From XXXX.xml --
<ABI> ....</ABI> -- From YYYY.xml --
<DDBI> ....</DDBI> -- From YYYY.xml --
</ABC>

But no matter where I put the ABC tags, I get an error. Because it wants to see the open and the end tags within the same template.
Thanks for you help.
- Maryam

Postnext
Tony LavinioSubject: Reading multiple XML files
Author: Tony Lavinio
Date: 27 Jul 2005 01:26 AM
Change your root template to look like this, so that the two
apply-template instructions are between <ABC> and </ABC>.

<xsl:template match="/">
<ABC>
<xsl:apply-templates select="YYYY_Records" />
<xsl:apply-templates select="XXXX_Records" />
</ABC>
</xsl:template>

Postnext
Peter WieselquistSubject: Reading multiple XML files
Author: Peter Wieselquist
Date: 28 Jul 2005 10:30 AM
Thanks Tony.

Posttop
William BasabeSubject: Reading multiple XML files
Author: William Basabe
Date: 07 Dec 2009 11:28 AM
How can i do what you are saying here but in a pipeline??

Thanks

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.