advxml icon indicating copy to clipboard operation
advxml copied to clipboard

A lightweight, simple and functional DSL library to work with XML in Scala with Cats

Advxml

Build Status codecov Codacy Badge Sonatype Nexus (Releases) javadoc.io Scala Steward badge GitHub license

A lightweight, simple and functional library DSL to work with XML in Scala using native scala xml library and cats core.

How to import

Advxml supports 2.13 and 3

Sbt

  libraryDependencies ++= Seq(
    "com.github.geirolz" %% "advxml-core" % "2.5.0",
    "com.github.geirolz" %% "advxml-xpath" % "2.5.0" //optional, for xpath support
  )

Structure

The idea behind this library is offer a fluent syntax to edit and read xml.

Features:

  • data/Value Data types for value, keys and attributes.
  • data/Convert Allow instances conversion (not automatically yet)
  • transform/Transform Allows to edit the XML document.
  • transform/Zoom Allows to traverse an XML do get nodes, attributes and text.
  • transform/Normalize Allows normalizing xml docs, removing white spaces and collapse empty nodes

Contributors