Skip to content

egh/xjslt

Repository files navigation

XJSLT - An incomplete XSLT processor in pure TypeScript

XJSLT is an incomplete implementation of an XSLT 2.0 processor written in native TypeScript.

XJSLT compiles stylesheets to runnable JavaScript, so it should be possible to create pure-javascript runnable transforms for use in a browser.

Tested with node 20

Use:

  • npm install && npm run build
  • xjslt test/simple2.xslt test/simple.xml

Supported features

  • if/choose/when/otherwise - conditional evaluation
  • template - named templates, priority, mode, and params are not yet support
  • apply-templates/for-each - recursive evaluation
  • element/attribute/value-of - dynamic elements, attributes, and text
  • literal text and xml element output
  • variable

Incompletely supported features

  • ??

TODO (not yet implemented)

  • include
  • strip-space/preserve-space
  • output
  • key
  • sort
  • attribute-set
  • template priority
  • webpack compilation for browsers
  • namespaces

About

No description, website, or topics provided.

Resources

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published