explain home explain home explain home explain homeexplain banner
Explanations - about explain | XML training | Consulting | XML resources | Publications | Open Source Software

LIBX* Compliance

The goal of LIBX* is to be 100% compliant to the XPath 2.0 and XSLT 2.0 W3C recommendations.

LIBX* compliance for version 2.7.6.4 (xpath2 module) and 1.1.26.4 (libxslt2).

XPath 2.0

LIBX* compliance to the XPath 2.0 standard.

Production

Supported

Errors

Notes

XPath

Yes

  • XPDY0002 Dynamic context missing value

Expr

Yes

  • XPST0008 Expression refers to a name or prefix that is not defined in the static context

  • XPST0005 Expression static type is empty-sequence()

ExprSingle

Yes

ForExpr

Yes

Only a single binding variable is currently supported.

SimpleForClause

Yes

QuantifiedExpr

Yes

Only a single binding variable is currently supported.

IfExpr

Yes

OrExpr

Yes

AndExpr

Yes

ComparisonExpr

Yes

RangeExpr

Yes

AdditiveExpr

Yes

MultiplicativeExpr

Partial

idiv not supported.

UnionExpr

Yes

IntersectExceptExpr

Yes

InstanceofExpr

No

TreatExpr

No

CastableExpr

No

CastExpr

No

UnaryExpr

Yes

ValueExpr

Yes

GeneralComp

Yes

ValueComp

Yes

NodeComp

Yes

PathExpr

Yes

  • XPST0003 '//' syntax error

  • XPTY0018 The terminal step evaluates to a node as well as an atomic value

  • XPTY0019 A non-terminal step evaluates to an atomic value

  • XPTY0020 Context item is not a node

  • XPDY0050 Root node is not a document node

RelativePathExpr

Yes

StepExpr

Yes

AxisStep

Yes

ForwardStep

Yes

ForwardAxis

Yes

  • XPST0010 namespace axis not supported

AbbrevForwardStep

Yes

ReverseStep

Yes

ReverseAxis

Yes

AbbrevReverseAxis

Yes

NodeTest

Yes

NameTest

Yes

  • XPST0081 unknown namespace prefix

Wildcard

Yes

FilterExpr

Yes

PredicateList

Yes

Predicate

Yes

PrimaryExpr

Yes

Literal

Yes

NumericLiteral

Yes

VarRef

Yes

VarName

Yes

ParenthesizedExpr

Yes

ContextItemExpr

Yes

FunctionCall

Yes

  • XPST0017 Function call does not match a function signature in the static context

SingleType

Yes

SequenceType

Partial

OccurrenceIndicator not supported.

OccurrenceIndicator

No

ItemType

No

AtomicType

Yes

KindTest

Partial

DocumentTest not supported.

AnyKindTest

Yes

DocumentTest

No

TextTest

Yes

CommentTest

Yes

PITest

Yes

AttributeTest

Yes

AttribNameOrWildcard

Yes

AttributeDeclaration

Yes

ElementTest

Partial

Element types not supported.

SchemaAttributeTest

No

ElementDeclaration

Yes

AttributeName

Yes

ElementName

Yes

TypeName

Yes

  • XPTY0004 Expression static type not appropriate for an operand

leading-lone-slash

Unknown

TBD

reserved-function-names

Yes

occurrence-indicators

No

To be supported when occurrence indicators are implemented.

Comments

No

XPath 2.0 Functions and Operators

LIBX* compliance to the XPath 2.0 Functions and Operators standard.

Name

Supported

Notes

fn:node-name

No

fn:nilled

No

fn:string

Yes

fn:data

No

fn:base-uri

No

fn:document-uri

No

fn:error

No

fn:trace

No

Constructor functions

No

fn:dateTime

No

fn:abs

No

fn:ceiling

Yes

fn:floor

Yes

fn:round

Yes

fn:round-half-to-even

Yes

fn:codepoints-to-string

No

fn:string-to-codepoints

fn:compare

No

fn:codepoint-equal

No

fn:concat

Yes

fn:string-join

No

fn:substring

Yes

fn:string-length

Yes

fn:normalize-space

Yes

fn:normalize-unicode

No

fn:upper-case

No

fn:lower-case

No

fn:translate

Yes

fn:encode-for-uri

No

fn:iri-to-uri

No

fn:escape-html-uri

No

fn:contains

Yes

fn:starts-with

Yes

fn:ends-with

No

fn:substring-before

Yes

fn:substring-after

Yes

fn:matches

No

fn:replace

No

fn:tokenize

No

fn:resolve-uri

No

fn:true

Yes

fn:false

Yes

fn:not

Yes

op:yearMonthDuration-less-than

No

op:yearMonthDuration-greater-than

No

op:dayTimeDuration-less-than

No

op:dayTimeDuration-greater-than

No

op:duration-equal

No

op:dateTime-equal

No

op:dateTime-less-than

No

op:dateTime-greater-than

No

op:date-equal

No

op:date-less-than

No

op:date-greater-than

No

op:time-equal

No

op:time-less-than

No

op:time-greater-than

No

op:gYearMonth-equal

No

op:gYear-equal

No

op:gMonthDay-equal

No

op:gMonth-equal

No

op:gDay-equal

No

fn:years-from-duration

No

fn:months-from-duration

No

fn:days-from-duration

No

fn:hours-from-duration

No

fn:minutes-from-duration

No

fn:seconds-from-duration

No

fn:year-from-dateTime

No

fn:month-from-dateTime

No

fn:day-from-dateTime

No

fn:hours-from-dateTime

No

fn:minutes-from-dateTime

No

fn:seconds-from-dateTime

No

fn:timezone-from-dateTime

No

fn:year-from-date

No

fn:month-from-date

No

fn:day-from-date

No

fn:timezone-from-date

No

fn:hours-from-time

No

fn:minutes-from-time

No

fn:seconds-from-time

No

fn:timezone-from-time

No

op:add-yearMonthDurations

No

op:subtract-yearMonthDurations

No

op:multiply-yearMonthDurations

No

op:divide-yearMonthDurations

No

op:divide-yearMonthDuration-by-yearMonthDuration

No

op:add-dayTimeDurations

No

op:subtract-dayTimeDurations

No

op:multiply-dayTimeDuration

No

op:divide-dayTimeDuration

No

op:divide-dayTimeDuration-by-dayTimeDuration

No

fn:adjust-dateTime-to-timezone

No

fn:adjust-date-to-timezone

No

fn:adjust-time-to-timezone

No

op:subtract-dateTimes

No

op:subtract-dates

No

op:subtract-times

No

op:add-yearMonthDuration-to-dateTime

No

op:add-dayTimeDuration-to-dateTime

No

op:subtract-yearMonthDuration-from-dateTime

No

op:subtract-dayTimeDuration-from-dateTime

No

op:add-yearMonthDuration-to-date

No

op:add-dayTimeDuration-to-date

No

op:subtract-yearMonthDuration-from-date

No

op:subtract-dayTimeDuration-from-date

No

op:add-dayTimeDuration-to-time

No

op:subtract-dayTimeDuration-from-time

No

fn:resolve-QName

No

fn:QName

No

op:QName-equal

No

fn:prefix-from-QName

Yes

fn:local-name-from-QName

Yes

fn:namespace-uri-from-QName

No

fn:namespace-uri-for-prefix

Yes

fn:in-scope-prefixes

Yes

op:hexBinary-equal

No

op:base64Binary-equal

No

op:NOTATION-equal

No

fn:name

Yes

fn:local-name

Yes

fn:namespace-uri

Yes

fn:number

Yes

fn:lang

Yes

op:is-same-node

No

op:before-node

No

op:node-after

No

fn:root

No

fn:boolean

Yes

op:concatenate

Yes

fn:index-of

Yes

fn:empty

Yes

fn:exists

Yes

fn:distinct-values

Yes

fn:insert-before

Yes

fn:remove

Yes

fn:reverse

Yes

fn:subsequence

Yes

fn:unordered

Yes

fn:zero-or-one

No

fn:one-or-more

No

fn:exactly-one

No

fn:deep-equal

No

op:union

Yes

op:intersect

No

op:except

No

fn:count

Yes

fn:avg

No

fn:max

No

fn:min

No

fn:sum

Yes

op:to

No

fn:id

Yes

fn:idref

No

fn:doc

No

fn:doc-available

No

fn:collection

No

fn:position

Yes

fn:last

Yes

fn:current-dateTime

No

fn:current-date

No

fn:current-time

No

fn:implicit-timezone

No

fn:default-collation

No

fn:static-base-uri

No

XSLT 2.0

LIBX* compliance to the XSLT 2.0 standard.

Element

Attributes

Supported

Notes

xsl:analyze-string

select

regex

flags

No

xsl:apply-imports

Partial

xsl:with-param children not supported.

xsl:apply-templates

select

mode

Yes

xsl:attribute

name

namespace

select

separator

type

validation

Partial

separator, type and validation attributes not supported.

xsl:attribute-set

name

use-attribute-sets

Yes

xsl:call-template

name

Yes

Tunnelling parameters not supported.

xsl:character-map

name

use-character-maps

No

xsl:choose

Yes

xsl:comment

select

Partial

select attribute not supported.

xsl:copy

copy-namespaces

inherit-namespaces

use-attribute-sets

type

validation

Partial

copy-namespaces, inherit-namespaces, use-attribute-sets, type and validation attributes not supported.

xsl:copy-of

select

copy-namespaces

type

validation

Partial

copy-namespaces, type and validation attributes not supported.

xsl:decimal-format

name

decimal-separator

grouping-separator

infinity

minus-sign

NaN

percent

per-mille

zero-digit

digit

pattern-separator

Partial

Not all features implemented.

xsl:document

validation

type

No

xsl:element

name

namespace

inherit-namespaces

use-attribute-sets

type

validation

Partial

inherit-namespaces, type and validation attributes not supported.

xsl:fallback

Yes

xsl:for-each

select

Yes

xsl:for-each-group

select

group-by

group-adjacent

group-starting-with

group-ending-with

collation

Partial

collation attribute not supported.

xsl:function

name

as

override

Partial

as and override attributes not supported.

xsl:if

test

Yes

xsl:import

href

Yes

xsl:import-schema

namespace

schema-location

xsl:include

href

Yes

xsl:key

name

match

use

collation

Partial

collation attribute not supported.

xsl:message

select

terminate

Partial

select attribute not supported.

xsl:namespace

name

select

No

xsl:namespace-alias

stylesheet-prefix

result-prefix

Yes

xsl:next-match

No

xsl:non-matching-substring

No

xsl:number

value

select

level

count

from

format

lang

letter-value

ordinal

grouping-separator

grouping-size

Yes

xsl:otherwise

Yes

xsl:output

name

method

byte-order-mark

cdata-section-elements

doctype-pubic

doctype-system

encoding

escape-uri-attributes

include-content-type

indent

media-type

normalization-form

omit-xml-declaration

standalone

undeclare-prefixes

use-character-maps

version

Partial

Not all attributes supported.

xsl:output-character

character

string

No

xsl:param

name

select

as

required

tunnel

Partial

as, required and tunnel attributes not supported.

xsl:perform-sort

select

No

xsl:preserve-space

elements

Yes

xsl:processing-instruction

name

select

Yes

xsl:result-document

format

href

validation

type

method

byte-order-mark

cdata-section-elements

doctype-public

doctype-system

encoding

escape-uri-attributes

include-content-type

indent

media-type

normalization-form

omit-xml-declaration

standalone

undeclare-prefixes

use-character-maps

output-version

No

xsl:sequence

select

No

xsl:sort

select

lang

order

collation

stable

case-order

data-type

Partial

collation, stable and case-order attributes not supported.

xsl:strip-space

elements

Yes

xsl:stylesheet

id

extension-element-prefixes

exclude-result-prefixes

version

xpath-default-namespace

default-validation

default-collation

input-type-annotations

Partial

xpath-default-namespace, default-validation, default-collation and input-type-annotations attributes not supported.

xsl:template

match

name

priority

mode

as

Partial

as attribute not supported.

xsl:text

disable-output-escaping

Yes

xsl:transform

Yes

See xsl:stylesheet.

xsl:value-of

select

separator

disable-output-escaping

Partial

separator attribute not supported.

xsl:variable

name

select

as

Partial

as attribute not supported.

xsl:when

test

Yes

xsl:with-param

name

select

as

tunnel

Partial

as and tunnel attributes not supported.


Copyright © 2005-2011 Explain. All rights reserved.Legal notices. Comments or questions about this website? Contact the webperson.