dellermann / grunt-xsltproc

Apply XSLT stylesheets to XML documents.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

grunt-xsltproc

Apply XSLT stylesheets to XML documents.

Getting Started

This plugin requires Grunt ~0.4.1

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-xsltproc --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-xsltproc');

The "xsltproc" task

Overview

In your project's Gruntfile, add a section named xsltproc to the data object passed into grunt.initConfig().

grunt.initConfig({
  xsltproc: {
    options: {
      // Task-specific options go here.
    },
    your_target: {
      // Target-specific file lists and/or options go here.
    },
  },
})

Options

options.stylesheet

Type: String

Path to the XSLT stylesheet to apply to the files.

options.params

Type: Object

Pass an object of parameter name/value pairs to the stylesheet. Parameters are passed directly to the xsltproc call with the --param flag.

options.stringparams

Type: Object

Pass an object of string parameter name/value pairs to the stylesheet. Parameters are passed directly to the xsltproc call with the --stringparam flag.

Usage Examples

Single file

grunt.initConfig({
  xsltproc: {
    options: {
      stylesheet: 'test/fixtures/compiler.xsl'
    },
    compile: {
      files: {
        'tmp/compile.html': ['test/fixtures/compile.xml']
      }
    }
  }
})

Directory of files

grunt.initConfig({
  xsltproc: {
    options: {
      stylesheet: 'test/fixtures/compiler.xsl'
    },
    compile: {
      files: [{
        expand: true,
        cwd: 'test/fixtures',
        src: '*.xml',
        dest: 'tmp',
        ext: '.html'
      }]
    }
  }
})

Passing parameters

grunt.initConfig({
  xsltproc: {
    options: {
      stylesheet: 'test/fixtures/compiler.xsl',
      params: {
        'fav': '/catalogue/album[@id="3"]/title'
      }
    },
    compile: {
      files: {
        'tmp/compile.html': ['test/fixtures/compile.xml']
      }
    }
  }
})

Passing string parameters

grunt.initConfig({
  xsltproc: {
    options: {
      stylesheet: 'test/fixtures/compiler.xsl',
      stringparams: {
        'title': 'My Music'
      }
    },
    compile: {
      files: {
        'tmp/compile.html': ['test/fixtures/compile.xml']
      }
    }
  }
})

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

  • 2013-09-13   v0.2.1   Add documentation for passing in parameters. Update package.json.
  • 2013-09-13   v0.2.0   Pass params to the stylesheet via the options object.
  • 2013-09-08   v0.1.0   Initial release.

About

Apply XSLT stylesheets to XML documents.

License:MIT License


Languages

Language:JavaScript 100.0%