Sorry, I replied only to klmccarthy with the resolution. Here it is for anyone else who needs it!

Thanks again for everyones help,
- John


Begin forwarded message:

Thanks for everyones help. I got it working using this method... the changes have been highlighted in bold.

-----
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xalan="http://xml.apache.org/xslt">


<!-- Import external XSL -->
<xsl:import href="event_xml_format.xsl" />


<xsl:output method="xml"
indent="yes"
xalan:indent-amount="4" />

<xsl:template match="/">
<calendar>
<xsl:apply-templates />
</calendar>
</xsl:template>


<xsl:template match="calendar">
<xsl:for-each select="event">
<xsl:choose>
<xsl:when test="number(substring(date,6,2)) &gt; 2
and number(substring(date,9,2)) &gt; 1
and number(substring(date,9,2)) &lt; 5">


<!-- call out a named template imported above -->
<xsl:call-template name="event" />
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:template>

</xsl:stylesheet>
-----

Finally here is event_xml_format.xsl
-----
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xalan="http://xml.apache.org/xslt">


<!-- our named template -->
<xsl:template name="event">
<event>
<date> <xsl:value-of select="date" /> </date>
<name> <xsl:value-of select="name" /> </name>
<type> <xsl:value-of select="type" /> </type>
<theme> <xsl:value-of select="theme" /> </theme>
<description> <xsl:value-of select="description" /> </description>
</event>
</xsl:template>


</xsl:stylesheet>
-----

- John


On Wednesday, March 5, 2003, at 06:28 PM, [EMAIL PROTECTED] wrote:

For your second question, to handle the
duplicated piece of <event>
...
</event>
elements, one way to handle this would be to
write a named template which spit out this set
of elements. Put this in the separate
stylesheet which gets included at the top of
the other two stylesheets (like a C header
file). Then use call-template to invoke this
at the correct spots. You may have to pass the
current node (.) as a parameter.



Reply via email to