Terry Ofner wrote:
I have a set of standards that need to be aligned with each lesson. The
standards are coded to the page, not the lesson. Here is a snippet of the
current xml of standardDoc.xml:
<standards>
<stand startNum="5" endNum="5">19.A.4</stand>
<stand startNum="11" endNum="11">14.D.2</stand>
<stand startNum="11" endNum="11">14.D.3</stand>
<stand startNum="13" endNum="14">14.A.2</stand>
<stand startNum="15" endNum="15">14.A.1</stand>
<stand startNum="16" endNum="16">14.A.1</stand>
....
</standards>
The following stylesheet works as far as it goes. It only captures the standards that
match the start page of the lesson. What I need is way to address standards with
startNum >= $localStart and <= $localEnd. Is there a way to do this using keys?
<xsl:template match="Chapterlesson">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
<xsl:variable name="localStart" select="startNum"/>
<xsl:variable name="localEnd" select="endNum"/>
<xsl:for-each select="$stand2page">
<stand><xsl:copy-of select="key('standPage',
$localStart)"/></stand>
</xsl:for-each>
I am not sure the a key helps with a less than/greater than condition
but you could certainly use e.g.
<xsl:copy-of
select="$stand2page/standards/stand[(_at_)startNum >= $localStart and @endNum
<= $localEnd]"/>
to simply formulate the condition with XPath.
--
Martin Honnen
http://msmvps.com/blogs/martin_honnen/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--