NsisXML plug-in (by Wizou): Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
(new release of nsisXML)
(Added "insertBefore")
Line 45: Line 45:
nsisXML::appendChild
nsisXML::appendChild
appends node $2 as a child of node $1
appends node $2 as a child of node $1
nsisXML::insertBefore
insert node $2 as a child of node $1, to the left of node $3
($3 must be a reference to a child node of $1)


nsisXML::setAttribute <attribute name> <value>
nsisXML::setAttribute <attribute name> <value>
Line 72: Line 76:


== History ==
== History ==
2006-03-22: Added "insertBefore"
2006-03-13: Modified "load". Added "loadAndValidation"
2006-03-13: Modified "load". Added "loadAndValidation"


[[Category:Plugins]]
[[Category:Plugins]]

Revision as of 23:27, 22 March 2006

Author: Wizou (talk, contrib)


NOTE: The name of this plug-in conflicts with Joel's nsisXML.

Links

nsisXML plug-in homepage

Description

nsisXML -- Small NSIS plugin to manipulate XML data through MSXML written by Olivier Marcoux

The following is taken from the readme file in the downloadable zip file:

You can typically use it to:
- create, read, modify, write XML files
- create, remove, search XML nodes
- set/get nodes content or attributes

Usage
-----
nsisXML::create
	creates an empty XML document in memory and returns its reference in $0 and $1

nsisXML::load <filename>
	load given XML file into document $0
	REQUIRES that an XML document be already created in $0
	(if XML document $0 is not empty, all content will be discarded)
	sets $0 to 0 if an error occurred

nsisXML::loadAndValidate <filename>
	same as load but performs validation on the XML if a schema is present, and
	resolves external definitions (may try to establish an Internet connection)

nsisXML::save <filename>
	saves current document $0 to given file

nsisXML::createProcessingInstruction <target> <data>
	creates a new 'processing instruction' node and return its reference in $2

nsisXML::createElement <tag name>
	creates a new element node with given tag name (initially empty) and return its
	reference in $2

nsisXML::appendChild
	appends node $2 as a child of node $1

nsisXML::insertBefore
	insert node $2 as a child of node $1, to the left of node $3
	($3 must be a reference to a child node of $1)

nsisXML::setAttribute <attribute name> <value>
	sets the given attribute with the given value on node $2

nsisXML::getAttribute <attribute name>
	returns in $3 the value for the given attribute name of node $2
	if attribute is not found, returns an empty string

nsisXML::setText <content text>
	sets the text content of the node $2 (<>the text between the tags</>)

nsisXML::getText
	returns in $3 the text content for node $2

nsisXML::select <XPath expression>
	find the first node matching the given XPath expression and return its
	reference in $1 and $2
	if not found, reference will be 0

nsisXML::parentNode
	returns in $1 the reference on the parent node of node $2

nsisXML::removeChild
	removes node $2 from the childs list of node $1

History

2006-03-22: Added "insertBefore" 2006-03-13: Modified "load". Added "loadAndValidation"