Subject: Re: [xsl] Processing on both a document list and referenced documents From: "Mark Peters" <flickrmeister@xxxxxxxxx> Date: Wed, 12 Mar 2008 08:04:07 -0400 |
Hi Brad, everyone. Here's what worked for me: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="html" indent="yes"/> <xsl:template match="hdlg:filesystem" xmlns:hdlg="http://www.hdlg.info/XML/filesystem"> <html> <body> <ul> <xsl:for-each select="hdlg:folder" xmlns:hdlg="http://www.hdlg.info/XML/filesystem"> <li> <xsl:value-of select="@url"/> <ul> <xsl:for-each select="document(hdlg:file/@url)" xmlns:hdlg="http://www.hdlg.info/XML/filesystem"> <ul> <xsl:for-each select="topic"> <li> <xsl:value-of select="title"/> <ul> <xsl:for-each select="topic"> <li> <xsl:value-of select="title"/> <ul> <xsl:for-each select="topic"> <li> <xsl:value-of select="title"/> </li> </xsl:for-each> </ul> </li> </xsl:for-each> </ul> </li> </xsl:for-each> </ul> </xsl:for-each> </ul> </li> </xsl:for-each> </ul> </body> </html> </xsl:template> </xsl:stylesheet> This XSL produced the output I described in my original email. <html> <body> <ul> <!-- The following information comes from files2.xml --> <li xmlns:hdlg="http://www.hdlg.info/XML/filesystem">file:/C:/folder1/> <li xmlns:hdlg="http://www.hdlg.info/XML/filesystem">file:/C:/folder2> <ul> <!-- The following information comes from the referenced DITA files --> <li>topicA <ul> <li>topicB</li> <li>topicC</li> </ul> </li> </ul> <ul> .. </ul> <!-- The following information comes from files2.xml --> <li xmlns:hdlg="http://www.hdlg.info/XML/filesystem">file:/C:/folder3> .. </ul> </body> </html> Thanks, Mark On Tue, Mar 11, 2008 at 9:00 PM, Mark Peters <flickrmeister@xxxxxxxxx> wrote: > Hi Brad, > > I appreciate your efforts. I've studied the stylesheet you wrote, but > haven't been able to parse it mentally. When I apply it against my > sample files, the HTML body element is empty. I've tried passing the > documents to the stylesheet as variables, but without success. > > The HDLG tool (http://hdlg.sourceforge.net/) produced an XML file > containing the directory structure of my XML files. The file is named > files2.xml in my original email. As you noticed the files referenced > by files2.xml are DITA XML files containing nested topic elements. > > What I'm trying to do is produce an HTML listing of the folders and > files in files2.xml, but with the topic titles from the referenced > files appearing as sub-bulleted lists below each folder/file. > > For example: > > <html> > <body> > <ul> > > <!-- The following information comes from files2.xml --> > > <li xmlns:hdlg="http://www.hdlg.info/XML/filesystem">file:/C:/folder1/> > <li xmlns:hdlg="http://www.hdlg.info/XML/filesystem">file:/C:/folder2> > <ul> > <!-- The following information comes from the referenced > DITA files --> > > <li>topicA > <ul> > <li>topicB</li> > <li>topicC</li> > </ul> > </li> > </ul> > <ul> > .. > </ul> > <!-- The following information comes from files2.xml --> > > <li xmlns:hdlg="http://www.hdlg.info/XML/filesystem">file:/C:/folder3> > .. > </ul> > </body> > </html> > > > My current XSL transformation (provided in the original email) pulls > each folder name from files2.xml using a for-each statement. When I > try to retrieve the topic/title values for the files in each specific > folder, the transformation instead retrieves the topic/title values > for *all* of the files referenced in files2.xml. > > Thanks again, > Mark > > > On Tue, Mar 11, 2008 at 6:00 PM, Bjorndahl, Brad > > <brad.bjorndahl@xxxxxxxxxxxxxxxx> wrote: > > > Mark, > > > > I'm still not sure I get all your requirements, but look at this to see if it handles the files the way you want. > > > > > > Hoping this helps or at least gives you more options, > > Brad > > > > > > > > > -- > > > > Mark Peters > Senior Technical Writer > Saba Software > -- Mark Peters Senior Technical Writer Saba Software
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Processing on both a docu, Mark Peters | Thread | RE: [xsl] Processing on both a docu, Bjorndahl, Brad |
[xsl] [XSLT] Asking or Update varia, igutierrez027 | Date | RE: [xsl] Processing on both a docu, Bjorndahl, Brad |
Month |