[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: XSL Processing to avoid repetitions - Part 2

Subject: RE: XSL Processing to avoid repetitions - Part 2
From: "Fabien Tillier" <f.tillier@xxxxxxxx>
Date: Thu, 17 Jun 2010 11:21:55 +0200
RE:  XSL Processing to avoid repetitions - Part 2
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 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 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 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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.