Subject: RE: [xsl] XSL Processing to avoid repetitions - Part 2 From: "Fabien Tillier" <f.tillier@xxxxxxxx> Date: Thu, 17 Jun 2010 11:21:55 +0200 |
Hi Michael. I am impressed, it does work like a charm... For readers, I had to correct a few things (empirically, replacing ? by ") <xsl:function name="exslt:node-set" xmlns:exslt="http://exslt.org/common" as="node()"> <xsl:param name="node" as="node()"/> <xsl:sequence select="$node"/> </xsl:function> And that fixes it ! Thanks a million Best regards, Fabien -----Message d'origine----- De : Michael Kay [mailto:mike@xxxxxxxxxxxx] Envoyi : jeudi 17 juin 2010 11:06 @ : xsl-list@xxxxxxxxxxxxxxxxxxxxxx Objet : Re: [xsl] XSL Processing to avoid repetitions - Part 2 Saxon-HE 9.2 doesn't recognize the function exslt:node-set(). It's actually a no-op in XSLT 2.0, so a workaround is to add the following to your stylesheet: <xsl:function name="exslt:node-set" xmlns:exslt="http://exslt.org/common" as="node()?> <xsl:param name="node" as="node()?/> <xsl:sequence select="$node"/> </xsl:function> If you don't want to modify the docbook stylesheets you could put this in a stylesheet that imports docbook.xsl, and then use your importing stylesheet as the entry point. I don't have detailed knowledge of the status, but although the XSLT 2.0 docbook stylesheets are still described as expermental, I get the impression that many people are using them without problems. Michael Kay Saxonica On 17/06/2010 09:48, Fabien Tillier wrote: > Hi. > So, now I have an XSL Stylesheet that did work nicely. > My problem is that I am using the docbook stylesheets, which are expecting an XSLT processor 1.0. > I have used Kernow for testing (so Saxon) and then added Saxon (9) to my java app. > Sadly, my app failed when transforming my docbook xml to html because my XSLT processor is now saxon, and not the default 1.0 one (or so I assume it is the case). > I know the XSLT 2.0 version of the DB stylesheets are experimental, thus I cannot use them (or so it seems). > I have two options. > - change the XSL provided to a version 1.0 (thus, as I just understood the 2.0 fashion, and version 1.0 seems a lot more complicated, I am a bit afraid) > - use a different processor "on demand" (which seems complicated too), either Java internal Xalan or saxon. > > Or I may be completely wrong (when using saxon in my app, the message I get is > Error on line 357 of docbook.xsl: > Cannot find a matching 1-argument function named {http://exslt.org/common}node-set() > ; SystemID: jndi:/localhost/CerepWeb/xsl/docBook/xsl/html/docbook.xsl; Line#: 357; Column#: -1 > net.sf.saxon.trans.XPathException: Cannot find a matching 1-argument function named {http://exslt.org/common}node-set() > ) > > Any help from you, guys ? > Best regards, > Fabien > > > -----Message d'origine----- > De : Fabien Tillier [mailto:f.tillier@xxxxxxxx] > Envoyi : mercredi 16 juin 2010 16:37 > @ : xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Objet : RE: [xsl] XSL Processing to avoid repetitions > > Yes ! > Sorry for being so blind. > Your code works. It is just (I think) that I was messing with the way to set the "fields" > Thanks a lot > Best regards, > Fabien > > > -----Message d'origine----- > De : Martin Honnen [mailto:Martin.Honnen@xxxxxx] > Envoyi : mercredi 16 juin 2010 16:30 > @ : xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Objet : Re: [xsl] XSL Processing to avoid repetitions > > Fabien Tillier wrote: > > >> Thanks for your answer, but it doesn't work for me. >> I have resent a message with my real data. >> Maybe your solution would work if I don't change it to fit my data :) >> > Andrew already suggested what to do, you simply can nest for-each-group e.g. > > <ol> > <xsl:for-each-group select="/Results/Row" group-by="CONTRACT"> > <li> > <xsl:value-of select="current-grouping-key()"/> > <ol> > <xsl:for-each-group select="current-group()" group-by="CODE"> > <li> > <xsl:value-of select="current-grouping-key()"/> > <ol> > <xsl:for-each select="current-group()/NUMERO"> > <li> > <xsl:value-of select="."/> > </li> > </xsl:for-each> > </ol> > </li> > </xsl:for-each-group> > </ol> > </li> > </xsl:for-each-group> > </ol>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XSL Processing to avoid r, Michael Kay | Thread | Re: [xsl] XSL Processing to avoid r, Dave Pawson |
Re: [xsl] filtering problem, Michael Kay | Date | Re: [xsl] XSL Processing to avoid r, Dave Pawson |
Month |