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:expose — xsl: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()andsnapshot()in patternsdocument-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.