[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: function returning string with string-join()
concat('NO', ('x',$input)[($input = (1,2)) +1], '.html') -- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- Never fight an inanimate object ------------------------------------- You've achieved success in your field when you don't know whether what you're doing is work or play On Fri, Aug 6, 2010 at 5:37 AM, ac <ac@xxxxxxxxxxxxx> wrote: > > Hi, > > I would have done this one simply as > ... > <xsl:sequence select="string-join (('NO', if (string($input)) then string($input) else 'x', ',html'), '')"/> > ... > with the feeling that string-join() is typically faster than concat() and string() faster than set operation with predicates, and that the overall instruction is easier to read and understand > > Am I right? > > Cheers, > ac > > > > >> Am 06.08.2010 um 11:15 schrieb Andrew Welch: >> >> >>> >>> When returning atomics (such as xs:string) you should use xs:sequence >>> and not xsl:value-of, as value-of will create a text node that then >>> gets "atomized" to an atomic. >>> >> >> Thanks for that reminder... xsl:for-each-group and regular expressions are well settled in my XSLT2 mind-set, but xsl:sequence is more or less ignored. >> >> >>> >>> If you didnt have the xsl:message call you could do: >>> >>> B B <xsl:function name="my:filename" as="xs:string"> >>> B B B B <xsl:param name="input" as="xs:integer" /> >>> B B B B <xsl:sequence select="concat(if ($input = (1,2)) then ('NO1', >>> 'NO2')[$input] else 'NOx', '.html')"/> >>> B B </xsl:function> >>> >> >> Yes, if... >> >> I still try to find the best balance between writing some complex, possibly hard to debug multi-line XPath expressions or a tree of XSLT elements. Haven't found a general rule for that, and maybe there isn't. >> >> Thanks a lot, >> >> - Michael
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|