My bad!
I did not read the error message correctly. I've solved my problem by use 
"node-set" instead of "nodeset" :)

Thanks for your help,
CP

On Monday 31 March 2003 10:21, CP Hennessy wrote:
> Hi Mark,
>       OK, I've tried using this but I get the error :
> XalanXPathException: The specified function is not available:
> http://exslt.org/common:nodeset (file:///home/yamed/tmp/dtd/xvt.xsl,
>  line 70, column 87)
>
> To solve this I think that I need to have common.dtd ( or .mod ) in the
> local directory, but when I download exsl.zip from exsl.org it does not
> contain such a file. What am I doing wrong ?
>
> Thanks
> CPH
>
> On Monday 31 March 2003 01:59, Mark Weaver wrote:
> > Try:
> >
> >  <xsl:transform
> >     ...
> >     xmlns:exsl="http://exslt.org/common";
> >     extension-element-prefixes="exsl"
> >
> > Then:
> >
> > select="exsl:node-set($listTitles)/li[$rowPos = @row]"
> >
> > Mark
> >
> > > -----Original Message-----
> > > From: CP Hennessy [mailto:[EMAIL PROTECTED]
> > > Sent: 30 March 2003 12:57
> > > To: [email protected]
> > > Subject: problem with Xalan & XSLT
> > >
> > >
> > > Hi,
> > >   I'm trying to work on an XSLT to transform an OpenOffice document
> > > with values in rows of a table with the first column contains a
> > > title and the
> > > second column contains a value associated with the title. ( For various
> > > reasons I cannot actually put more structure than this onto the data ).
> > >
> > > Xalan version 1.4.0
> > > Xerces version 2.0.0
> > >
> > > With the xslt ( written by someone else ) from below I'm getting
> > > the error :
> > > XObjectInvalidConversionException: Cannot convert a
> > > #RESULT_TREE_FRAG to a
> > > node set. (, line -1, column -1)
> > > which seems to be caused by the line :
> > >                   <xsl:variable name="ltItem"
> > > select="$listTitles/li[$rowPos = @row]"/>
> > >
> > > Thanks for any help,
> > > CPH
> > >
> > > <xsl:transform
> > >   xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
> > >   xmlns:office="http://openoffice.org/2000/office";
> > >   xmlns:style="http://openoffice.org/2000/style";
> > >   xmlns:text="http://openoffice.org/2000/text";
> > >   xmlns:table="http://openoffice.org/2000/table";
> > >   xmlns:fo="http://www.w3.org/1999/XSL/Format";
> > >   xmlns:xlink="http://www.w3.org/1999/xlink";
> > >   xmlns:number="http://openoffice.org/2000/datastyle";
> > >   xmlns:chart="http://openoffice.org/2000/chart";
> > >   xmlns:dr3d="http://openoffice.org/2000/dr3d";
> > >   xmlns:form="http://openoffice.org/2000/form";
> > >   xmlns:script="http://openoffice.org/2000/script";
> > >   version="1.1">
> > >
> > > <xsl:strip-space elements="*"/>
> > >
> > >
> > > <xsl:template match="/office:document-content/office:body">
> > >
> > >     <xsl:variable name="listTitles">
> > >   <li row="1">name</li>
> > >   <li row="2">info</li>
> > >   <li row="3">action</li>
> > >   <li row="4">supplier</li>
> > >   <li row="5">ooh</li>
> > >   <li row="6">contact</li>
> > >   <li row="7">position</li>
> > >   <li row="8">label</li>
> > >   <li row="9">pc</li>
> > >     </xsl:variable>
> > >
> > >     <products>
> > >
> > >         <xsl:for-each select="table:table">
> > >
> > >       <product>
> > >
> > >           <xsl:for-each select="table:table-row">
> > >
> > >               <!-- if the first cell in the row doesn't
> > > contain text, ignore it -->
> > >
> > >               <xsl:variable name="cellTitle"
> > > select="normalize-space(table:table-cell[1]//*)"/>
> > >               <xsl:variable name="cellData"
> > > select="normalize-space(table:table-cell[2]//*)"/>
> > >               <xsl:variable name="rowPos"    select="position()"/>
> > >
> > >               <xsl:if test="$cellTitle">
> > >
> > >                   <!-- index into the above row table for the
> > > element name -->
> > >
> > >                   <xsl:variable name="ltItem"
> > > select="$listTitles/li[$rowPos = @row]"/>
> > >
> > >                   <xsl:element name="xalan:nodeset($ltItem)">
> > >                       <xsl:value-of select="$cellData"/>
> > >                   </xsl:element>
> > >
> > >               </xsl:if>
> > >
> > >           </xsl:for-each>
> > >
> > >       </product>
> > >
> > >   </xsl:for-each>
> > >
> > >     </products>
> > >
> > > </xsl:template>
> > >
> > > </xsl:transform>

Reply via email to