1 <?xml version="1.0"?> 
   2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
   3 
   4 <!-- Filename: MinitestImport.xsl -->
   5 <!-- Author: Paul_Dick@lotus.com -->
   6 
   7 
   8 <xsl:template match="GrandKids" mode="orginal">
   9 They have <xsl:value-of select="count(*)"/> grandchildren: <xsl:text/>
  10         <xsl:for-each select="gkid">
  11                 <xsl:value-of select="key('KidInfo',(.))/Name/@First"/>
  12                 <xsl:if test="not(position()=last())">, </xsl:if>
  13                 <xsl:if test="(position()=last()-1)">and </xsl:if>
  14         </xsl:for-each>
  15 </xsl:template>
  16 
  17 <xsl:template match="GrandKids" mode="document">
  18 They should have <xsl:value-of select="count(document('MinitestDocument.xml')/GrandKids/gkid)"/> grandchildren: <xsl:text/>
  19         <xsl:for-each select="gkid">
  20                 <xsl:value-of select="key('KidInfo',.)/Name/@First"/>
  21                 <xsl:if test="not(position()=last())">, </xsl:if>
  22                 <xsl:if test="(position()=last()-1)">and </xsl:if>
  23         </xsl:for-each>
  24 </xsl:template>
  25 
  26 <xsl:template match="GrandKids" mode="doc">
  27 They got <xsl:value-of select="count(document('MinitestDocument.xml')/GrandKids/gkid)"/> grandchildren: <xsl:text/>
  28         <xsl:for-each select="document('MinitestDocument.xml')/GrandKids/gkid">
  29                 <xsl:value-of select="key('KidInfo',(.))/Name/@First"/>
  30                 <xsl:if test="not(position()=last())">, </xsl:if>
  31                 <xsl:if test="(position()=last()-1)">and </xsl:if>
  32         </xsl:for-each>
  33 </xsl:template>
  34 
  35 </xsl:stylesheet>