A simple wrapper around browser based xslt. Includes some cleanup options to help normalize the output across browsers.
Several options are available to get started:
- Download the latest release.
- Clone the repo:
git clone https://github.com/murrayju/xslt.git
. - Install with Bower:
bower install xslt
. - Install with npm:
npm install xslt
.
// Here are the options with their default values
options = {
fullDocument: false, // Is the output a complete document, or a fragment?
cleanup: true, // false will disable all of the below options
xmlHeaderInOutput: true,
normalizeHeader: true,
encoding: 'UTF-8',
preserveEncoding: false, // When false, always uses the above encoding. When true, keeps whatever the doc says
removeDupNamespace: true,
removeDupAttrs: true,
removeNullNamespace: true,
removeAllNamespaces: false,
removeNamespacedNamespace: true,
moveNamespacesToRoot: false,
// These two are mutually exclusive. Attempting to use both is the same as using neither
collapseEmptyElements: true, // Forces output of self-closing tags
expandCollapsedElements: false, // Forces output of separate closing tags
};
outputXmlString = xslt(inputXmlString, xslString, options);
It is also possible to just run the cleanup function itself. This uses the same options
as above.
outputXmlString = xslt.cleanup(intermediateXmlString, options);