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