Subject: [xsl] [exsl] EXSL "1.0" RDDL and Implementation From: Uche Ogbuji <uche.ogbuji@xxxxxxxxxxxxxxx> Date: Fri, 09 Mar 2001 22:33:16 -0700 |
I'm sorry I wasn't able to get all this done before my round of conferences. Luckily the Knowledge Tech 2001 and the 9th International Python conference, while quite productive, did provide me some time to keep my promises. I have placed the RDDL resource glosses for the EXSLT 1.0 NSRefs (I scare-quote in the title because I assume there are more iterations to come before a blessed "1.0"). To check them out, just resolve the namespaces http://xmlns.opentechnology.org/xslt-extensions/common http://xmlns.opentechnology.org/xslt-extensions/sets http://xmlns.opentechnology.org/xslt-extensions/math http://xmlns.opentechnology.org/xslt-extensions/functions I have written an extension module for users of 4XSLT 0.10.2 implementing EXSLT 1.0 common, math and sets. Approx total implementation time: 2 hours (I love Python), even though node-set is the only one I had implemented before and even that needed a tweak. Get it from ftp://ftp.fourthought.com/pub/etc/4exslt-20010309.tgz I'll hopefully get functions done tonight and maybe even an on-line demo. Notes from implementation: * Jeni, could you add anchor names for each function in your specs? It would make it easy to provide links from the implementation docs. * "The set:distinct function returns the nodes within the node set passed as the first argument that have different values. The 'value' of a node is calculated by evaluating the expression held in the string passed as the second argument with the current node equal to the node whose value is being calculated." and so on for the set functions. Is the rest of the context (esp. the var bindings) just the context at the time set:distinct is invoked? This is how I implemented it: node position and size = 1, context=node whose value is being computed, all else untouched. * I assumed the string parameters passed to those set functions must be a string and can't just be an object to be coerced. Is this what we want? I now throw an exception if non-string is passed * Just for the sake of consistency, maybe we should use "math" rather than "num" for the example prefix for the Math extensions. * For num:min and num:max, I assumed the ordering is identical to that used by the XPath ">" operator. * What do min and max return for an empty argument node set? I just assumed boolean false, which is so arbitrary I probably should have just raised an exception * I assume for num:sum that all nodes are converted to numbers as if with number() -- Uche Ogbuji Principal Consultant uche.ogbuji@xxxxxxxxxxxxxxx +1 303 583 9900 x 101 Fourthought, Inc. http://Fourthought.com 4735 East Walnut St, Ste. C, Boulder, CO 80301-2537, USA Software-engineering, knowledge-management, XML, CORBA, Linux, Python XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] How to modify xsl:param w, Chris Bayes | Thread | Re: [xsl] [exsl] EXSL "1.0" RDDL an, Jeni Tennison |
[xsl] How to modify xsl:param with , davut karabay | Date | [xsl] -PARAM in XALAN is broken?, Roshan Sharma |
Month |