Package Exports
- xml-formatter
- xml-formatter/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (xml-formatter) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
xml-formatter
Converts XML into a human readable format (pretty print) while respecting the xml:space attribute.
This module can also be used on the browser using the browserified version with a small footprint (8KB file size).
Installation
$ npm install xml-formatter
Example
JavaScript:
var format = require('xml-formatter');
var xml = '<root><content><p xml:space="preserve">This is <b>some</b> content.</content></p>';
var formattedXml = format(xml);
console.log(formattedXml);
Output:
<root>
<content>
<p xml:space="preserve">This is <b>some</b> content.</p>
</content>
</root>
Options
JavaScript:
var format = require('xml-formatter');
var xml = '<root><!-- content --><content><p>This is <b>some</b> content.</content></p>';
var formattedXml = format(xml, {
indentation: ' ',
filter: (node) => node.type !== 'Comment',
collapseContent: true,
lineSeparator: '\n'
});
console.log(formattedXml);
Output:
<root>
<content>
<p>This is <b>some</b> content.</p>
</content>
</root>
filter
(function(node)) Function to filter out unwanted nodes by returning false.indentation
(String, default=' '
) The value used for indentation.collapseContent
(Boolean, default=false
] True to keep content in the same line as the element. Only works if element contains at least one text nodelineSeparator
(String, default=\r\n
) Specify the line separator to usewhiteSpaceAtEndOfSelfclosingTag
(Boolean, default=false) to either end ad self closing tag with<tag/>
or<tag />
On The Browser
The code is transpiled using Babel with @babel/preset-env default values and bundled using browserify.
Using require('xml-formatter')
Page:
<script type="text/javascript" src="dist/browser/xml-formatter.js"></script>
Usage:
var xmlFormatter = require('xml-formatter');
var xml = '<root><content><p xml:space="preserve">This is <b>some</b> content.</content></p>';
var formattedXml = xmlFormatter(xml);
console.log(formattedXml);
Using global function xmlFormatter
<script type="text/javascript" src="dist/browser/xml-formatter-singleton.js"></script>
Usage:
var xml = '<root><content><p xml:space="preserve">This is <b>some</b> content.</content></p>';
var formattedXml = xmlFormatter(xml);
console.log(formattedXml);
Output
<root>
<content>
<p xml:space="preserve">This is <b>some</b> content.</p>
</content>
</root>
License
MIT