This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: XQuery 1.0 and XPath 2.0 Functions and Operators Version 1.0
- To: XSL List <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] XQuery 1.0 and XPath 2.0 Functions and Operators Version 1.0
- From: Joerg Pietschmann <joerg dot pietschmann at zkb dot ch>
- Date: Thu, 06 Sep 2001 12:12:12 +0200
- Organization: ZKB
- Reply-To: xsl-list at lists dot mulberrytech dot com
"Chris Bayes" <chris@bayes.co.uk> wrote
> Well it is a good idea to keep it small I'd like to see xsl become all
> pervasive even to handheld devices as well as to mainframe database
> apps.
> As long as the extension mechanism is well defined and standard across
> all xslt 2.0 implementations then things like trig functions can be
> added as needed.
I'd rather have a small core functionality and some well defined,
standardized libraries which implements additional functionality
and may be unavailable on certain platforms/implementations.
Some possible libraries/packages:
calendar
extended math/trig
user information database access
output control
file system access (file existence, modification date...)
extended node set manipulation (sort, uniq, symmetric difference...)
localised string manipulation (upcase...)
unicode character transformations ("uncompose", making characters from
numbers...)
font property access (fit SVG rectangles around a string)
image property access (format/encoding, width, hight, color depth...)
Namespaces woul prevent name clashes, as usual.
It would be interesting whether standardized *XSL* libraries would
not only include XPath extension functions but also built-in
variables (aka constants) and predefined templates. Stuff the processor
knows about could be more efficiently implemented/preoptimized.
For example:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsltrig="http://www.w3.org/1999/XSL/Transform/math/trig"
xmlns:xslposix="http://www.w3.org/1999/XSL/Transform/os/posix">
<xsl:template match="/">
<xsl:if test="not(xslposix:file-accessible('lock'))">
<xsl:call-template name="xslposix:mkdir">
<xsl:param name="name" select="concat('stuff',xsltrig:sin(0.1 * $PI)"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Oh well, i've probably gone much too far...
Regards
J.Pietschmann
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list