| 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 |