github.com/matislovas/ratago@v0.0.0-20240408115641-cc0857415a7a/README.md (about) 1 ratago 2 ====== 3 4 [![Build Status](https://travis-ci.org/jbowtie/ratago.svg?branch=master)](https://travis-ci.org/jbowtie/ratago) 5 [![codecov](https://codecov.io/gh/jbowtie/ratago/branch/master/graph/badge.svg)](https://codecov.io/gh/jbowtie/ratago) 6 [![Go Report Card](https://goreportcard.com/badge/github.com/jbowtie/ratago)](https://goreportcard.com/report/github.com/jbowtie/ratago) 7 [![GoDoc](https://godoc.org/github.com/jbowtie/ratago?status.svg)](https://godoc.org/github.com/jbowtie/ratago) 8 9 Ratago is a (mostly-compliant) implementation of an XSLT 1.0 processor written in Go and released under an MIT license. 10 11 Currently it should be seen as experimental - it lacks full compliance with the spec. It has been run successfully on a number of scripts of moderate complexity as of the 0.4-pre release. 12 13 The test suite is derived from the test suite used by the libxslt library written by Daniel Veillard. See http://xmlsoft.org/XSLT/ for details on libxslt. 14 15 Installation 16 ---- 17 18 For MacOS: 19 ```sh 20 # Need pkg-config, see https://stackoverflow.com/a/36794452/700471 21 brew install pkg-config 22 # Need libxml2 source, see https://github.com/mitmproxy/mitmproxy/issues/68#issuecomment-120301708 23 brew install libxml2 24 sudo ln -s /usr/local/opt/libxml2/include/libxml2/libxml /usr/local/include/libxml 25 # Install with Go Modules 26 GO111MODULE=on go get github.com/jbowtie/ratago 27 ``` 28 29 Example Usage 30 ---- 31 32 ```sh 33 ratago -indent transform.xslt data.xml > result.xml 34 ``` 35 36 TODO 37 ---- 38 39 There are several tasks remaining to reach full compliance. Until these tasks are complete the API is subject to change. 40 41 * Implement xsl:decimal-format and format-number. 42 * Ensure that errors are properly progogated in Go fashion. 43