Core functions - implementation status |
This chapter lists all the core functions (functions provided by host lanages such as XSLT are not listed here) along with their implementation status.
The first column of the table gives the function's name, from XQuery 1.0 and XPath 2.0 Functions and Operators. The fn prefix represents the namespace uri http://www.w3.org/2004/10/xpath-functions.
To translate the function name into it's implementation class (which can be found in $GOBO/library/xpath/src/functions/), remove the leading fn:, uppercase the remaining part of the name, and translate any hyphens into underscores. Then prefix it with XM_XPATH_. For example, the function fn:normalize-space, is implemented by XM_XPATH_NORMALIZE_SPACE.
All such classes are descendants of XM_XPATH_SYSTEM_FUNCTION. They also each have an entry in XM_XPATH_SYSTEM_FUNCTION_FACTORY.
The second column says whether or not the function has been implemented yet. The third column indicates whether there is a testing class set up for the function. If so, it will be in $GOBO/test/xml/xpath/, and will be named xm_xpath_test_<function-name>.e .
The final column gives a link to the W3C draft or recommendation against which the tests have been checked, or "None", if this has not been done.
Name | Implemented? | Tested? | Checked |
fn:abs | Yes | Yes | None |
fn:adjust-date-to-timezone | Yes | Yes | None |
fn:adjust-dateTime-to-timezone | Yes | Yes | None |
fn:adjust-time-to-timezone | Yes | Yes | None |
fn:avg | Yes | Yes | None |
fn:base-uri | Yes | Yes | None |
fn:boolean | Yes | No | None |
fn:ceiling | Yes | Yes | None |
fn:codepoint-equal | Yes | Yes | None |
fn:codepoints-to-string | Yes | Yes | None |
fn:collection | Yes | Yes | None |
fn:compare | Yes | No | None |
fn:concat | Yes | No | None |
fn:contains | Yes | Incidentallly | None |
fn:count | Yes | No | None |
fn:current-date | Yes | No | None |
fn:current-dateTime | Yes | No | None |
fn:current-time | Yes | No | None |
fn:data | Yes | No | None |
fn:dateTime | Yes | No | None |
fn:day-from-date | Yes | Yes | None |
fn:day-from-dateTime | Yes | Yes | None |
fn:days-from-duration | Yes | Yes | None |
fn:deep-equal | Yes | No | None |
fn:default-collation | Yes | No | None |
fn:distinct-values | Yes | Yes | None |
fn:doc | Yes | Yes | None |
fn:doc-available | Yes | Yes | None |
fn:document-uri | Yes | No | None |
fn:empty | Yes | No | None |
fn:encode-for-uri | Yes | Yes | None |
fn:ends-with | Yes | No | None |
fn:error | Yes | No | None |
fn:escape-html-uri | Yes | Yes | None |
fn:exactly-one | Yes | Yes | None |
fn:exists | Yes | No | None |
fn:false | Yes | Only incidentally | None |
fn:floor | Yes | Yes | None |
fn:hours-from-dateTime | Yes | Yes | None |
fn:hours-from-duration | Yes | Yes | None |
fn:hours-from-time | Yes | Yes | None |
fn:id | Yes | Yes | None |
fn:idref | Yes | Yes | None |
fn:implicit-timezone | Yes | No | None |
fn:in-scope-prefixes | Yes | Incidentally | None |
fn:index-of | Yes | Yes | None |
fn:insert-before | Yes | No | None |
fn:iri-to-uri | Yes | Yes | None |
fn:lang | Yes | Yes | None |
fn:last | Yes | No | None |
fn:local-name | Yes | Incidentally | None |
fn:local-name-from-QName | Yes | Yes | None |
fn:lower-case | Yes | No | None |
fn:matches | Yes (but unicode case stuff not implemented yet) | Yes | None |
fn:max | Yes | Yes | None |
fn:min | Yes | Yes | None |
fn:minutes-from-dateTime | Yes | Yes | None |
fn:minutes-from-duration | Yes | Yes | None |
fn:minutes-from-time | Yes | Yes | None |
fn:month-from-date | Yes | Yes | None |
fn:month-from-dateTime | Yes | Yes | None |
fn:months-from-duration | Yes | Yes | None |
fn:name | Yes | Only incidentally | None |
fn:namespace-uri | Yes | Incidentally | None |
fn:namespace-uri-for-prefix | Yes | Incidentally | None |
fn:namespace-uri-from-QName | Yes | Yes | None |
fn:nilled | Yes | No | None |
fn:node-name | Yes | Yes | None |
fn:normalize-space | Yes | No | None |
fn:normalize-unicode | Yes | Yes | None |
fn:not | Yes | Only incidentally | None |
fn:number | Yes | No | None |
fn:one-or-more | Yes | Yes | None |
fn:position | Yes | Incidentally, but extensively | None |
fn:prefix-from-QName | Yes | Yes | None |
fn:QName | Yes | Yes | None |
fn:remove | Yes | Yes | None |
fn:replace | Yes (but unicode case stuff not implemented yet) | Yes | None |
fn:resolve-QName | Yes | Yes | None |
fn:resolve-uri | Yes | Yes | None |
fn:reverse | Yes | Yes | None |
fn:root | Yes | Yes | None |
fn:round | Yes | Yes | None |
fn:round-half-to-even | Yes | Yes | None |
fn:seconds-from-dateTime | Yes | Yes | None |
fn:seconds-from-duration | Yes | Yes | None |
fn:seconds-from-time | Yes | Yes | None |
fn:starts-with | Yes | No | None |
fn:static-base-uri | Yes | No | None |
fn:string | Yes | No | None |
fn:string-join | Yes | No | None |
fn:string-length | Yes | No | None |
fn:string-to-codepoints | Yes | Yes | None |
fn:subsequence | Yes | No | None |
fn:substring | Yes | Incidentally | None |
fn:substring-after | Yes | Incidentally | None |
fn:substring-before | Yes | Incidentally | None |
fn:sum | Yes | Yes | None |
fn:timezone-from-date | Yes | Yes | None |
fn:timezone-from-dateTime | Yes | Yes | None |
fn:timezone-from-time | Yes | Yes | None |
fn:tokenize | Yes (but unicode case stuff not implemented yet) | Partly | None |
fn:trace | Yes | Only by personal use | None |
fn:translate | Yes | Incidentally | None |
fn:true | Yes | Only incidentally | None |
fn:unordered | Yes | No | None |
fn:upper-case | Yes | No | None |
fn:year-from-date | Yes | Yes | None |
fn:year-from-dateTime | Yes | Yes | None |
fn:years-from-duration | Yes | Yes | None |
fn:zero-or-one | Yes | Yes | None |
Copyright © 2004-2016, Colin Adams and others mailto:colin@colina.demon.co.uk http://www.gobosoft.com Last Updated: 27 December 2016 |