Socket
Socket
Sign inDemoInstall

libxmljs-builder

Package Overview
Dependencies
15
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

libxmljs-builder

the xml builder that wrap libxmljs


Version published
Maintainers
1
Weekly downloads
4
increased by300%

Weekly downloads

Readme

Source

node-libxmljs-builder

NPM version Build Status Dependency Status Coverage Status

the xml builder that wrap libxmljs

Install

$ npm install --save libxmljs-builder

Usage

Create document and child nodes

var Builder = require('libxmljs-builder');
var xmlBuilder = new Builder
var doc = xmlBuilder.root('root', {attrA: 'valA', attrB: 'valB'}, function(builder) {
  builder.node('nodeA', {attrC: 'valC'}, 'nodeText')
});
console.log(doc.toString());

that will generate following xml:

<root attrA="valA" attrB="valB">
  <nodeA attrC="valC">nodeText<nodeA>
</root>

create document with nameapce

var Builder = require('libxmljs-builder');
var xmlBuilder = new Builder
xmlBuilder.defineNS {nsA: 'namespaceA', nsB: 'namespaceB'}
var doc = xmlBuilder.rootNS('nsA', 'root', {attrA: 'valA', attrB: 'valB'}, function(builder) {
  builder.nodeNS('nsB', 'nodeA', {attrC: 'valC'}, 'nodeText')
});
console.log(doc.toString());

that will generate the following xml:

<nsA:root xmlns:nsA="namespaceA" xmlns:nsB="namespaceB" xmlns:nsC="namespaceC" attrA="valA" attrB="valB">
  <nsB:nodeA attrC="valC">nodeText</nsB:nodeA>
</nsA:root>

API

class XmlBuilder

Methods

  • defineNS(nsobj, href)

    define the namespaces that xml need to use

    • nsObj Object|String

      if is String, it is the namespace prefix, else it's the prefix-href of namespace

    • href String

      namespace href, it's valid only if nsObj is String

    • return Namespace

      the libxmljs Namespace Object

  • getNS(prefix)

    get the namespace object

    • prefix String

      the namespace's prefix

    • return Namespace

  • root(name, attrs, content)

    set the root element

    • name String

      the element's name

    • attrs Object

      key-value of attribute list

    • content String|Function

      if content is String, then it's element's text. if is Function, it can add children node in this function. The function's signature is function(builder), when builder is ChildrenBuilder type.

    • return Document

      The libxmljs Document class.

  • rootNS(ns, name, attrs, content)

    set the root element with namespace

    • ns String

      the namespace prefix. Other parameters are the same with the root(name, attrs, content) method.

class ChildrenBuilder

Methods

  • node(name, attrs, content)

define the new element. The parameters and return value is the same with root(name, attrs, content).

  • nodeNS(ns, name, attrs, content)

define new element with namespace. The parameters and return value is the same with rootNS(ns, name, attrs, content).

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 gulp.

License

Copyright (c) 2015 liuxiong. Licensed under the MIT license.

FAQs

Last updated on 15 Jul 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc