Subject: Re: [xsl] combining 2 different XML files within the same XSLT From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> Date: Tue, 27 Aug 2002 14:48:01 -0400 |
<files> <file>file1.xml</file> <file>file2.xml</file> </files>
<xsl:template match="/"> <!-- matching on the root node of your config file --> <apps> <xsl:apply-templates select="$mergedset" mode="process"/> <!-- this mode just bumps you off the default so you can match the roots of your merging documents separately --> <!-- you need to wrap them in your <apps> here since there'll be more than one root and you don't want more than one <apps> --> </apps> </xsl:template>
<xsl:template match="/" mode="process"> <!-- this template will now match your merging documents' roots --> <xsl:apply-templates select="//date"> <!-- since your criterion is your date, we'll go straight to them --> <xsl:sort type="number"/> <!-- let's sort em while we're at it --> </xsl:apply-templates> </xsl:template>
<xsl:template match="date"> <xsl:if test=" ...do your test against your criterion of what to include; it could of course be parameterized "> ... this is where the action will happen: you'll probably go up a step (for-each select=".."), but there's lots of ways to skin this cat: the point is you'll build your <app> here and fill it with whatever you've got ... </xsl:if> </xsl:template>
I am trying to create a NEW list of XML nodes from either file that meet a certain criteria.
Cheers, Wendell
I have 2 different XML files that have different node structure, but similar information (both contain date related information)
I am trying to create a NEW list of XML nodes from either file that meet a certain criteria.
EXAMPLE FILE 1
<events> <event id='1'> <date>20020812</date> <name>event1</name> <fullname>big time event</fullname> </event> <event id='2'> <date>20020813</date> <name>event2</name> <fullname>mid time event</fullname> </event> <event id='3'> <date>20020815</date> <name>event3</name> <fullname>small time event</fullname> </event> </events>
EXAMPLE FILE 2 <games> <game id='1'> <date>20020813</date> <name>game1</name> <opponent>team b</opponent> <time>14:00</time> </game> <game id='2'> <date>20020818</date> <name>game2</name> <opponent>team c</opponent> <time>12:00</time> </game> </games>
is there a way with a single XSLT file to get all the nodes from each file that meet a certain criteria and put their information into a new XML node structure?
EXAMPLE COMBINED CREATED NODELIST (criteria: date between 20020814 and 20020821)
<apps> <app type="event" id="3"> <date>20020815</date> <name>event3</name> <fullname>small time event</fullname> </app> <app type="game" id="2"> <date>20020818</date> <name>game2</name> <opponent>team c</opponent> <time>12:00</time> </app> </apps>
this nodelist could then be sorted and displayed (the display XSLT routine would handle the different @type nodes [game / event] so that even though there would be different information (ie. fullname, opponent, time) the combined list could be sorted and displayed
but I can't figure how to create this COMBINED LIST within the XSLT file
- Todd
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] combining 2 different XML fil, todd binder | Thread | Re: [xsl] combining 2 different XML, Todd Binder |
Re: [xsl] Conditional Import of sty, Mike Brown | Date | Re: [xsl] HTML in an XML tag, Thomas B. Passin |
Month |