Skip to content
Limitations

Known Limitations

goxslt passes over 5000 of the ~14700 W3C XSLT 3.0 conformance tests (~34%). The following areas are not yet implemented or have known gaps.

Not Implemented

Feature Notes
Streaming xsl:stream, streamable modes, and all strm/* test categories
Schema-aware processing Typed values, schema validation, xsl:import-schema
Full package support xsl:use-package, xsl:accept, xsl:exposexsl:package as root element is supported
xsl:merge Merging multiple sorted input sequences
xsl:evaluate Dynamic XPath evaluation
namespace:: axis Namespace node access
Unicode Collation Algorithm xsl:sort and comparisons use codepoint order; lang and collation attributes are accepted but not fully honored
Partial function application contains(?, 'e') syntax
fn:unparsed-entity-uri() Requires DTD processing
fn:unparsed-entity-public-id() Requires DTD processing

Partial Support

xsl:number

The format attribute supports standard numeric tokens (1, 01, a, A, i, I) and grouping separators. Word formatting (Ww, w, W) for spelling out numbers is not supported.

Match Patterns

Most XSLT 3.0 match patterns are supported, including path patterns, predicates, union (| and union), except, intersect, variable references ($var), id(), key(), Q{uri}name, and processing-instruction(name). Not supported:

  • copy-of() and snapshot() in patterns
  • document-node(schema-element(...)) with schema validation
  • Patterns using schema-aware type tests

Sequence Types

Common sequence types are supported: item(), node(), element(), attribute(), text(), comment(), processing-instruction(), document-node(), map(*), array(*), function(*), xs:string, xs:integer, xs:double, xs:boolean, empty-sequence(), and user-defined prefixed types (accepted leniently). Occurrence indicators (?, *, +) work correctly.

Not supported: schema-aware types (schema-element(...), schema-attribute(...)), element(name, type) with type annotation.

Date/Duration Arithmetic

Date and time constructors (xs:date, xs:time, xs:dateTime) work. Duration types (xs:duration, xs:dayTimeDuration, xs:yearMonthDuration) are supported. Arithmetic between dates and durations is partially implemented.

xsl:output

Supported attributes: method (xml, html, text), indent, omit-xml-declaration, version, encoding. The html method produces XML-serialized output (not HTML5 serialization). Character maps, cdata-section-elements, and doctype-* attributes are not implemented.