Core functions - implementation status

PreviousNext

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/xml/xpath/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.

Implemented XPath 2.0 core Functions

Table of functions
Name Implemented? Tested? Checked
fn:error Yes No No
fn:trace No No No
fn:node-name No No No
fn:string Yes No No
fn:data No No No
fn:base-uri No No No
fn:document-uri No No No
fn:error No No No
fn:trace No No No
fn:abs Yes Yes No
fn:ceiling Yes Yes No
fn:floor Yes Yes No
fn:round Yes Yes No
fn:round-half-to-even Yes Yes No
fn:codepoints-to-string No No No
fn:string-to-codepoints No No No
fn:compare Yes No No
fn:concat Yes No No
fn:string-join Yes No No
fn:string-length Yes No No
fn:substring Yes Incidentally No
fn:normalize-space Yes No No
fn:normalize-unicode No No No
fn:upper-case Yes No No
fn:lower-case Yes No No
fn:translate Yes Incidentally No
fn:escape-uri Yes Ues No
fn:contains Yes Incidentallly No
fn:starts-with Yes No No
fn:ends-with Yes No No
fn:substring-before Yes Incidentally No
fn:substring-after Yes Incidentally No
fn:matches Yes (but unicode case stuff not implemented yet) Yes No
fn:replace (but unicode case stuff not implemented yet) Yes Yes No
fn:tokenize Yes (but unicode case stuff not implemented yet) Partly No
fn:true Yes Only incidentally No
fn:false Yes Only incidentally No
fn:not Yes Only incidentally No
fn:years-from-yearMonthDuration No No No
fn:months-from-yearMonthDuration No No No
fn:days-from-dayTimeDuration No No No
fn:hours-from-dayTimeDuration No No No
fn:minutes-from-dayTimeDuration No No No
fn:seconds-from-dayTimeDuration No No No
fn:year-from-dateTime No No No
fn:month-from-dateTime No No No
fn:day-from-dateTime No No No
fn:hours-from-dateTime No No No
fn:minutes-from-dateTime No No No
fn:seconds-from-dateTime No No No
fn:timezone-from-dateTime No No No
fn:adjust-dateTime-to-timezone No No No
fn:adjust-date-to-timezone No No No
fn:adjust-time-to-timezone No No No
fn:subtract-dateTimes-yielding-yearMonthDuration No No No
fn:subtract-dateTimes-yielding-dayTimeDuration No No No
fn:resolve-QName No No No
fn:expanded-QName No No No
fn:local-name-from-QName No No No
fn:namespace-uri-from-QName No No No
fn:namespace-uri-for-prefix Yes Incidentally No
fn:in-scope-prefixes Yes Incidentally No
fn:resolve-uri No No No
fn:name Yes Only incidentally No
fn:local-name Yes Incidentally No
fn:namespace-uri Yes Incidentally No
fn:number Yes No No
fn:lang Yes Yes No
fn:root Yes Yes No
fn:zero-or-one Yes Yes No
fn:one-or-more Yes Yes No
fn:exactly-one Yes Yes No
fn:boolean Yes No No
fn:index-of Yes Yes No
fn:empty Yes No No
fn:exists Yes No No
fn:distinct-values Yes Yes No
fn:insert-before Yes No No
fn:remove Yes Yes No
fn:reverse Yes Yes No
fn:subsequence Yes No No
fn:unordered Yes No No
fn:deep-equal Yes No No
fn:count Yes No No
fn:avg Yes Yes No
fn:max Yes No No
fn:min Yes No No
fn:sum Partially No No
fn:id Partially No No
fn:idref No No No
fn:doc Yes Yes No
fn:collection No No No
fn:position Yes Only incidentally No
fn:last Yes No No
fn:current-dateTime Yes No No
fn:current-date Yes No No
fn:current-time Yes No No
fn:default-collation No No No
fn:implicit-timezone No No No

Copyright © 2004, Colin Adams and others
mailto:colin@colina.demon.co.uk
http://www.gobosoft.com
Last Updated: Tuesday, April 13th, 2004
HomeTocPreviousNext