JSPM

js2xml-fork

1.0.8
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2
  • Score
    100M100P100Q25867F
  • License MIT

Convert arbitary javascript to simple XML. Developed for ApiAxle.

Package Exports

  • js2xml-fork

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 (js2xml-fork) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

About

A very simple library that converts a simple data structure into XML. Doesn't support namespaces or attributes, just very simple output. This allows you to write JSON and XML from the same structure without a middle-man.

It's written in Coffeescript but the JS is included.

Installing

$ npm install js2xml

Usage

var Js2Xml = require("js2xml").Js2Xml;

var person = {
  name: "Phil Jackson",
  mood: "Bored",
  stuff: [ "love, "puppies", 2, 2.3, { one: { two: "three" } } ],
  morestuff: { milkshake: "banana" }
};

var js2xml = new Js2Xml("person", person);
js2xml.toString();

Gives:

<?xml version="1.0" encoding="UTF-8"?>
<person>
  <name>Phil Jackson</name>
  <mood>Bored</mood>
  <stuff>
    <item>love</item>
    <item>puppies</item>
    <item>2</item>
    <item>2.3</item>
    <item>
      <one>
        <two>three</two>
      </one>
    </item>
  </stuff>
  <morestuff>
    <milkshake>banana</milkshake>
  </morestuff>
</person>

Pluralisation of lists

Here's how you might override the pluralisation function to deal with anonymous list items in Coffeescript:

class AppleXml extends Js2Xml
  @map =
    "apples": "apple"

  pluralisation: ( name ) ->
    return @constructor.map[ name ] or "item"