xsl-list
[Top] [All Lists]

Re: [xsl] read directory and get it as an array

2009-01-16 05:22:14
At 03:36 PM 1/16/2009, Joe Fawcett wrote:
I don't see where collection lets you down given an XSLT scenario.

xmlDir
  a.xml
   b.xml

Template
 <xsl:variable name="x" select="collection('xmlDir/?select=*.xml')"/>
    <xsl:for-each select="$file-collection">
          <navPoint class="chapter">
<navLabel><text><xsl:value-of select="./doc//ti[(_at_)t='d']" /></text></navLabel> <content><xsl:attribute name="src"><!-- Here I need the filename of the xml file--></xsl:attribute>
       </content>
           <xsl:apply-templates select="./doc//sc1/ti" mode="toc"/>
    </navPoint>
   </xsl:for-each>

<xsl:template match="sc1/ti" mode="toc">
   <navPoint class="section1">
     <navLabel><text><xsl:apply-templates/></text></navLabel>
<content><xsl:attribute name="src"><!-- Here I need the filename of the xml file--></xsl:attribute></content>
    </navPoint>
</xsl:template>

output should be

   <navMap>
      <navPoint>
         <navLabel class="chapter">
            <text>Book 1 Title</text>
         </navLabel>
         <content src="a.xml"/>
         <navPoint class="section1">
            <navLabel>
               <text>SECTION I  Book 1</text>
            </navLabel>
            <content src="a.xml#sec1"/>
         </navPoint>
         <navPoint class="section1">
            <navLabel>
               <text>SECTION II  Book 1</text>
            </navLabel>
            <content src="a.xml#sec2"/>
         </navPoint>
      </navPoint>
      <navPoint class="chapter">
         <navLabel>
            <text>Book 2 Title</text>
         </navLabel>
         <content src="b.xml"/>
         <navPoint class="section1">
            <navLabel>
               <text>SECTION I  Book 2 </text>
            </navLabel>
            <content src="b.xml#sec1"/>
         </navPoint>
      </navPoint>
   </navMap>



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