[xquery-talk] Screen-scraping with XQuery
R. Mark Volkmann
mark at ociweb.com
Thu Mar 31 12:44:12 PST 2005
Quoting Erik Bruchez <ebruchez at orbeon.com>:
> R. Mark Volkmann wrote:
>
> > I don't think it's too hard to learn either XSLT or XQuery. However, I
> have a
> > strong preference for XQuery syntax over XSLT. The main reason is the
> > verbosity of XSLT caused by using XML as a programming language. A good
> > example of the verbosity I'm talking about is the difference between
> defining
> > and invoking a user-defined function in XQuery versus defining and invoking
> a
> > named template in XSLT.
>
> I don't like calling named templates as well, but I believe XQuery 1.0
> should be compared with XSLT 2.0 in all fairness. XSLT 2.0 introduces
> functions, and while the syntax to declare such functions is a little
> heavier in XSLT (especially for parameters), calling them from XPath
> expressions is much lighter than using XSLT 1.0's named templates.
Today is a good day. I learned something new. Thanks!
How widely is this supported now?
I'm guessing that Saxon supports it but Xalan doesn't.
> Compare the declarations:
>
> declare function f:doIt($x as xs:string) as xs:integer {};
>
> <xsl:function name="f:doIt" as="xs:integer">
> <xsl:param name="x" as="xs:string"/>
>
> Then calling the function will be done with:
>
> f:doIt('Hello!')
>
> in both cases (within an XPath 2.0 expression for XSLT, of course). To
> be fair, you will often write <xsl:copy-of select="f:doIt('Hello!')"/>
> in XSLT 2.0, but that remains much lighter than xsl:call-template.
--
R. Mark Volkmann
Partner, Object Computing, Inc.
More information about the talk
mailing list