0.0.9 • Published 9 years ago

xmldom-xpath-wrapper v0.0.9

Weekly downloads
6
License
-
Repository
github
Last release
9 years ago

XML.js

What for?

XML.js provides helper functions for XML manipulation, including conversion of documents into JXON objects. It is built on top of xmldom & xpath modules and brings common XML-related features together into a simplistic API.

API

XML#parse

function parse(text) { ... //-> DOMDocument

XML#load

function load(file, [convert:false]) { ... //-> DOMDocument

XML#serialize

function serialize(node) { ... //-> String

XML#query

function query(node, expression, resolver) { ... //-> [Node]

####Example

XML.query(catalog, "//book[1]");
XML.query(response, "//here:contact[1]",  {"here": "http://being.here/"});

JXON

convert

function convert(node, [compact:true]) { ... //-> {Object}

####Example Given document is the following:

<contact firstName="George" lastName="Cartier">
    <notes>
        <![CDATA[
            Will call back tomorrow.
        ]]>
    </notes>
</contact>

Resulting JXON object, converted with JXON.convert(document), would be:

{
	"contact": {
		"firstName": "George",
		"lastName": "Cartier",
		"*": {
			"notes": {
				"*": {
					"#D": "Will call back tomorrow."
				}
			}
		}
	}
}

compact

function compact(object) { ... //-> {Object}

####Example When not compacted, previous result would be the following, which could be compacted afterwards with JXON#compact:

{
	"contact": {
		"@firstName": "George",
		"@lastName": "Cartier",
		"children": [
			{
				"#TEXT": "\n            "
			},
			{
				"notes": {
					"children": [
						{
							"#TEXT": "\n                "
						},
						{
							"#CDATA": "\n                    Will call back tomorrow.\n                "
						},
						{
							"#TEXT": "\n            "
						}
					]
				}
			},
			{
				"#TEXT": "\n        "
			}
		]
	}
}

More?

Please have a look to the test fixtures!