note / xml-lens

XML Optics library for Scala

Website GitHub

XML Optics library for Scala. Documentation available here: https://note.github.io/xml-lens/

Build Status Coverage Status

Motivation

XML scala libraries are kind of neglected. That stands in stark contrast to JSON for which Scala has dozens of projects. Of course, JSON is much more popular and XML at the same time is regarded as a legacy standard but still - there are many situations where you need to work with XML.

Status of project

Some early versions of the project has been released. It's definitely not very mature yet. In next releases I would like to focus on DSL and optics aspects as suprisingly in the first release a lot of time was spent on io module. Don't expect rapid development as it's just side project made in my free time.

Various

How to generate documentation

sbt docs/makeMicrosite

After docs has been successfully generated you can serve it with:

cd docs/target/site
jekyll serve

Pushing documentation to github page

You can push generated documentation with:

docs/ghpagesPushSite

Mind that you have to have access to push to repository defined in build.sbt to make above snippet work.

How to run JMH benchmark

Example:

bench/jmh:run -i 10 -wi 10 -f1 -t1 -prof gc .*Roundtrip*.

Contributing

Contributions are very welcome. All code or documentation that is provided must be licensed with the same license xml-lens is licensed with (MIT license, available here.

License

All code is available to you under the MIT license, available here.

Acknowledgements

Many thanks to scalac that funded early development of xml-lens.