This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: XQuery 1.0 and XPath 2.0 Functions and Operators Version 1.0


"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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]