[rkward-cvs] SF.net SVN: rkward:[4188] trunk/rkward/packages/rkwarddev

m-eik at users.sourceforge.net m-eik at users.sourceforge.net
Sun Mar 18 16:24:49 UTC 2012


Revision: 4188
          http://rkward.svn.sourceforge.net/rkward/?rev=4188&view=rev
Author:   m-eik
Date:     2012-03-18 16:24:48 +0000 (Sun, 18 Mar 2012)
Log Message:
-----------
rkwarddev: finalized the code transition from new() to XMLNode()/XMLTree() and (mostly) from object at node to slot(object, "node")

Modified Paths:
--------------
    trunk/rkward/packages/rkwarddev/ChangeLog
    trunk/rkward/packages/rkwarddev/DESCRIPTION
    trunk/rkward/packages/rkwarddev/R/rk-internal.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.about.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.attribute.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.browser.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.cbox.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.code.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.col.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.component.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.components.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.connect.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.context.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.convert.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.copy.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.dialog.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.dropdown.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.embed.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.entry.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.external.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.formula.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.frame.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.help.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.hierarchy.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.include.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.input.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.insert.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.logic.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.menu.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.page.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.plugin.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.pluginmap.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.preview.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.radio.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.require.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.row.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.saveobj.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.set.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.snippet.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.snippets.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.spinbox.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.stretch.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.tabbook.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.varselector.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.varslot.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.wizard.R
    trunk/rkward/packages/rkwarddev/R/rk.paste.JS.R
    trunk/rkward/packages/rkwarddev/R/rk.plugin.component.R
    trunk/rkward/packages/rkwarddev/R/rk.plugin.skeleton.R
    trunk/rkward/packages/rkwarddev/R/rk.rkh.related.R
    trunk/rkward/packages/rkwarddev/R/rk.rkh.settings.R
    trunk/rkward/packages/rkwarddev/R/rkwarddev-package.R
    trunk/rkward/packages/rkwarddev/inst/NEWS.Rd
    trunk/rkward/packages/rkwarddev/inst/doc/rkwarddev_vignette.pdf
    trunk/rkward/packages/rkwarddev/man/rk.XML.dropdown.Rd
    trunk/rkward/packages/rkwarddev/man/rkwarddev-package.Rd

Modified: trunk/rkward/packages/rkwarddev/ChangeLog
===================================================================
--- trunk/rkward/packages/rkwarddev/ChangeLog	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/ChangeLog	2012-03-18 16:24:48 UTC (rev 4188)
@@ -2,8 +2,9 @@
 
 changes in version 0.05-3 (2012-03-17)
   - fixed: rk.XML.text() now preserves XML tags in the text value
-  - began to use XiMpLe::XMLNode() and XiMpLe::XMLTree() constructors in functions, and to rename
-    pasteXMLNode() and pasteXMLTree() into pasteXML()
+  - functions now call XiMpLe::XMLNode() and XiMpLe::XMLTree() constructors instead of new(), and
+    pasteXMLNode() and pasteXMLTree() were globally renamed into pasteXML()
+  - internally, replaced object at node with slot(object, "node")
 
 changes in version 0.05-2 (2012-03-10)
   - added missing dependency to package methods
@@ -52,6 +53,7 @@
 
 changes in version 0.04-6 (2011-10-31)
   - added <frame> to the tags which are scanned by rk.JS.scan(), they're considered only if checkable
+  - added <frame> to the tags which are scanned by rk.JS.scan(), they're considered only if checkable
   - improved output of rk.JS.var class objects by rk.paste.JS()
 
 changes in version 0.04-5 (2011-10-28)

Modified: trunk/rkward/packages/rkwarddev/DESCRIPTION
===================================================================
--- trunk/rkward/packages/rkwarddev/DESCRIPTION	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/DESCRIPTION	2012-03-18 16:24:48 UTC (rev 4188)
@@ -15,7 +15,7 @@
 Authors at R: c(person(given="Meik", family="Michalke",
     email="meik.michalke at hhu.de", role=c("aut", "cre")))
 Version: 0.05-3
-Date: 2012-03-17
+Date: 2012-03-18
 Collate:
     'echo.R'
     'id.R'

Modified: trunk/rkward/packages/rkwarddev/R/rk-internal.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk-internal.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk-internal.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -92,11 +92,11 @@
 	cleaned.tags <- list()
 	for(this.tag in child.list(single.tags)){
 		if(inherits(this.tag, "XiMpLe.node")){
-			this.tag.name <- this.tag at name
-			if(this.tag.name %in% relevant.tags & "id" %in% names(this.tag at attributes)){
+			this.tag.name <- slot(this.tag, "name")
+			if(this.tag.name %in% relevant.tags & "id" %in% names(slot(this.tag, "attributes"))){
 				if(isTRUE(only.checkable) & this.tag.name %in% "frame"){
-					if("checkable" %in% names(this.tag at attributes)){
-						if(identical(this.tag at attributes[["checkable"]], "true")){
+					if("checkable" %in% names(slot(this.tag, "attributes"))){
+						if(identical(slot(this.tag, "attributes")[["checkable"]], "true")){
 							cleaned.tags[length(cleaned.tags)+1] <- this.tag
 						} else {}
 					} else {}
@@ -125,8 +125,8 @@
 
 	ids <- t(sapply(cleaned.tags, function(this.tag){
 				if(inherits(this.tag, "XiMpLe.node")){
-					this.tag.name <- this.tag at name
-					this.tag.id <- this.tag at attributes["id"]
+					this.tag.name <- slot(this.tag, "name")
+					this.tag.id <- slot(this.tag, "attributes")["id"]
 				} else {
 					this.tag.name <- XiMpLe:::XML.tagName(this.tag)
 					this.tag.id <- XiMpLe:::parseXMLAttr(this.tag)[["id"]]
@@ -192,7 +192,7 @@
 		if(!is.null(modifiers)){
 			if(identical(modifiers, "all")){
 				if(inherits(XML.var, "XiMpLe.node")){
-					tag.name <- XML.var at name
+					tag.name <- slot(XML.var, "name")
 				} else {
 					tag.name <- XML.var
 				}
@@ -203,7 +203,7 @@
 				}
 			} else {
 				if(inherits(XML.var, "XiMpLe.node")){
-					modif.tag.name <- XML.var at name
+					modif.tag.name <- slot(XML.var, "name")
 				} else {
 					modif.tag.name <- "all"
 				}
@@ -284,7 +284,7 @@
 XML2person <- function(node, eval=FALSE){
 		if(inherits(node, "XiMpLe.node")){
 			# check if this is *really* a about section, otherwise die of boredom
-			if(!identical(node at name, "about")){
+			if(!identical(slot(node, "name"), "about")){
 				stop(simpleError("I don't know what this is, but 'about' is not an about section!"))
 			} else {}
 		} else {
@@ -299,9 +299,9 @@
 		return(value)
 	}
 	all.authors <- c()
-	for (this.child in node at children){
-		if(identical(this.child at name, "author")){
-			attrs <- this.child at attributes
+	for (this.child in slot(node, "children")){
+		if(identical(slot(this.child, "name"), "author")){
+			attrs <- slot(this.child, "attributes")
 			given <- make.vector(attrs[["given"]])
 			family <- make.vector(attrs[["family"]])
 			email <- make.vector(attrs[["email"]])
@@ -331,18 +331,18 @@
 	} else {}
 	if(inherits(node, "XiMpLe.node")){
 		# check if this is *really* a about section, otherwise die of boredom
-		if(!identical(node at name, "about")){
+		if(!identical(slot(node, "name"), "about")){
 			stop(simpleError("I don't know what this is, but 'about' is not an about section!"))
 		} else {}
 	} else {
 		stop(simpleError("'about' must be a XiMpLe.node, see ?rk.XML.about()!"))
 	}
-	check.deps <- sapply(node at children, function(this.child){identical(this.child at name, "dependencies")})
+	check.deps <- sapply(slot(node, "children"), function(this.child){identical(slot(this.child, "name"), "dependencies")})
 	if(any(check.deps)){
-		got.deps <- node at children[[which(check.deps)]]
+		got.deps <- slot(node, "children")[[which(check.deps)]]
 		deps.packages <- list()
 		# first see if RKWard and R versions are given
-		deps.RkR <- got.deps at attributes
+		deps.RkR <- slot(got.deps, "attributes")
 		deps.RkR.options  <- names(deps.RkR)
 		R.min <- ifelse("R_min_version" %in% deps.RkR.options, paste(">= ", deps.RkR[["R_min_version"]], sep=""), "")
 		R.max <- ifelse("R_max_version" %in% deps.RkR.options, paste("< ", deps.RkR[["R_max_version"]], sep=""), "")
@@ -356,10 +356,10 @@
 		if(Rk.version.indices > 0 & identical(mode, "depends")){
 			deps.packages[[length(deps.packages) + 1]] <- paste("rkward (", Rk.min, ifelse(Rk.version.indices > 1, ", ", ""), Rk.max, ")", sep="")
 		} else {}
-		check.deps.pckg <- sapply(got.deps at children, function(this.child){identical(this.child at name, "package")})
+		check.deps.pckg <- sapply(slot(got.deps, "children"), function(this.child){identical(slot(this.child, "name"), "package")})
 		if(any(check.deps.pckg & ((isTRUE(suggest) & identical(mode, "suggest")) | !isTRUE(suggest)))){
 			deps.packages[[length(deps.packages) + 1]] <- paste(sapply(which(check.deps.pckg), function(this.pckg){
-					this.pckg.dep <- got.deps at children[[this.pckg]]@attributes
+					this.pckg.dep <- slot(slot(got.deps, "children")[[this.pckg]], "attributes")
 					pckg.options <- names(this.pckg.dep)
 					pckg.name <- this.pckg.dep[["name"]]
 					pckg.min <- ifelse("min" %in% pckg.options, paste(">= ", this.pckg.dep[["min"]], sep=""), "")
@@ -397,7 +397,7 @@
 	} else {}
 
 	if(inherits(node, "XiMpLe.node")){
-		node.ID <- node at attributes[["id"]]
+		node.ID <- slot(node, "attributes")[["id"]]
 	} else if(is.character(node)){
 		node.ID <- node
 	} else {
@@ -450,7 +450,7 @@
 	} else {}
 
 	if(inherits(source, "XiMpLe.node")){
-		tag.name <- source at name
+		tag.name <- slot(source, "name")
 		# embedded plugins can have all sorts of modifiers
 		if(identical(tag.name, "embed")){
 			if(isTRUE(bool)){
@@ -538,30 +538,30 @@
 
 	# if this is not a single "if" but an "else if", do not indent
 	if(isTRUE(recurse)){
-		ifJS <- paste("if(", object at ifJS, ") {\n", sep="")
+		ifJS <- paste("if(", slot(object, "ifJS"), ") {\n", sep="")
 	} else {
-		ifJS <- paste(main.indent, "if(", object at ifJS, ") {\n", sep="")
+		ifJS <- paste(main.indent, "if(", slot(object, "ifJS"), ") {\n", sep="")
 	}
 
-	if(nchar(object at thenJS) > 0) {
+	if(nchar(slot(object, "thenJS")) > 0) {
 		# chop off beginning indent strings, otherwiese they ruin the code layout
-		thenJS.clean <- gsub(paste("^", indent.by, "*", sep=""), "", object at thenJS)
+		thenJS.clean <- gsub(paste("^", indent.by, "*", sep=""), "", slot(object, "thenJS"))
 		thenJS <- paste(scnd.indent, thenJS.clean, "\n", main.indent, "}", sep="")
 	} else {
 		# if there is another rk.JS.ite object, call with recursion
-		if(length(object at thenifJS) == 1){
-			thenJS <- paste(paste.JS.ite(object at thenifJS[[1]], level=level+1, indent.by=indent.by), "\n", main.indent, "}", sep="")
+		if(length(slot(object, "thenifJS")) == 1){
+			thenJS <- paste(paste.JS.ite(slot(object, "thenifJS")[[1]], level=level+1, indent.by=indent.by), "\n", main.indent, "}", sep="")
 		} else {}
 	}
 
-	if(nchar(object at elseJS) > 0) {
+	if(nchar(slot(object, "elseJS")) > 0) {
 		# chop off beginning indent strings, otherwiese they ruin the code layout
-		elseJS.clean <- gsub(paste("^", indent.by, "*", sep=""), "", object at elseJS)
+		elseJS.clean <- gsub(paste("^", indent.by, "*", sep=""), "", slot(object, "elseJS"))
 		elseJS <- paste(" else {\n", scnd.indent, elseJS.clean, "\n", main.indent, "}", sep="")
 	} else {
 		# if there is another rk.JS.ite object, call with recursion
-		if(length(object at elifJS) == 1){
-			elseJS <- paste(" else ", paste.JS.ite(object at elifJS[[1]], level=level, indent.by=indent.by, recurse=TRUE), sep="")
+		if(length(slot(object, "elifJS")) == 1){
+			elseJS <- paste(" else ", paste.JS.ite(slot(object, "elifJS")[[1]], level=level, indent.by=indent.by, recurse=TRUE), sep="")
 		} else {
 			if(isTRUE(empty.e)){
 				# close for sure with an empty "else"
@@ -585,12 +585,12 @@
 	main.indent <- indent(level, by=indent.by)
 	scnd.indent <- indent(level+1, by=indent.by)
 
-	arr.name  <- object at arr.name
-	opt.name  <- object at opt.name
-	variables <- object at variables
-	option    <- object at option
+	arr.name  <- slot(object, "arr.name")
+	opt.name  <- slot(object, "opt.name")
+	variables <- slot(object, "variables")
+	option    <- slot(object, "option")
 	if(is.null(funct)){
-		funct <- object at funct
+		funct <- slot(object, "funct")
 	} else {}
 	if(is.null(funct) | identical(funct, "")){
 		funct.start <- ""
@@ -630,16 +630,16 @@
 	main.indent <- indent(level, by=indent.by)
 	scnd.indent <- indent(level+1, by=indent.by)
 
-	variable  <- object at var.name
-	option    <- object at opt.name
+	variable  <- slot(object, "var.name")
+	option    <- slot(object, "opt.name")
 	arr.name  <- camelCode(c("arr", variable))
-	collapse  <- object at collapse
-	ifs       <- object at ifs
+	collapse  <- slot(object, "collapse")
+	ifs       <- slot(object, "ifs")
 	if(is.null(array)){
-		array  <- object at array
+		array  <- slot(object, "array")
 	} else {}
 	if(is.null(funct)){
-		funct <- object at funct
+		funct <- slot(object, "funct")
 	} else {}
 	if(is.null(funct) | identical(funct, "")){
 		funct.start <- ""
@@ -651,17 +651,13 @@
 
 	# a function to add the object stuff to ite objects
 	add.opts <- function(this.ite, collapse, array){
-#		# remove quotes, we'll add them ourselves where needed
-#		to.add <-  gsub("(.*)(\")$", "\\1", gsub("(^\")(.*)", "\\2", this.ite at thenJS, perl=TRUE), perl=TRUE)
 		if(isTRUE(array)){
-#			this.ite at thenJS <- paste(arr.name, ".push(\"", to.add,"\");", sep="")
-			this.ite at thenJS <- paste(arr.name, ".push(", this.ite at thenJS,");", sep="")
+			slot(this.ite, "thenJS") <- paste(arr.name, ".push(", slot(this.ite, "thenJS"),");", sep="")
 		} else {
-#			this.ite at thenJS <- paste(variable, " += \"", collapse, to.add,"\";", sep="")
-			this.ite at thenJS <- paste(variable, " += ", collapse, this.ite at thenJS,";", sep="")
+			slot(this.ite, "thenJS") <- paste(variable, " += ", collapse, slot(this.ite, "thenJS"),";", sep="")
 		}
-		if(length(this.ite at elifJS) == 1){
-			this.ite at elifJS <- list(add.opts(this.ite at elifJS[[1]]))
+		if(length(slot(this.ite, "elifJS")) == 1){
+			slot(this.ite, "elifJS") <- list(add.opts(slot(this.ite, "elifJS")[[1]]))
 		} else {}
 		return(this.ite)
 	}
@@ -712,7 +708,7 @@
 ## function paste.JS.var()
 paste.JS.var <- function(object, level=2, indent.by="\t", JS.prefix=NULL, modifiers=NULL, default=NULL, join=NULL, names.only=FALSE, check.modifiers=FALSE){
 	# paste several objects
-	results <- unlist(sapply(object at vars, function(this.obj){
+	results <- unlist(sapply(slot(object, "vars"), function(this.obj){
 			paste.JS.var(this.obj,
 					level=level,
 					indent.by=indent.by,
@@ -732,19 +728,19 @@
 	# check indentation
 	main.indent <- indent(level, by=indent.by)
 
-	JS.var         <- object at JS.var
-	XML.var        <- object at XML.var
+	JS.var         <- slot(object, "JS.var")
+	XML.var        <- slot(object, "XML.var")
 	if(is.null(JS.prefix)){
-		JS.prefix  <- object at prefix
+		JS.prefix  <- slot(object, "prefix")
 	} else {}
 	if(is.null(modifiers)){
-		modifiers  <- object at modifiers
+		modifiers  <- slot(object, "modifiers")
 	} else {}
 	if(is.null(default)){
-		default     <- object at default
+		default     <- slot(object, "default")
 	} else {}
 	if(is.null(join)){
-		join        <- object at join
+		join        <- slot(object, "join")
 	} else {}
 
 	if(!identical(join, "")){

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.about.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.about.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.about.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -108,9 +108,13 @@
 			author.family <- format(this.author, include="family")
 			author.email  <- format(this.author, include="email", braces=list(email=""))
 			author.role   <- format(this.author, include="role", braces=list(role=""), collapse=list(role=", "))
-			result <- new("XiMpLe.node",
-				name="author",
-				attributes=list(given=author.given, family=author.family, email=author.email, role=author.role))
+			result <- XMLNode("author",
+				attrs=list(
+					given=author.given,
+					family=author.family,
+					email=author.email,
+					role=author.role
+				))
 			return(result)
 		}))
 
@@ -121,18 +125,14 @@
 	# - repository
 	# create example, if empty
 	if(is.null(package)){
-		xml.package.example <- new("XiMpLe.node",
-				name="package",
-				attributes=list(
-					name="CHANGE_ME_OR_DELETE_ME",
-					"min_version"="CHANGE_ME_OR_DELETE_ME",
-					"max_version"="CHANGE_ME_OR_DELETE_ME",
-					repository="CHANGE_ME_OR_DELETE_ME"
-					))
-		xml.package <- list(new("XiMpLe.node",
-					name="!--",
-					children=list(xml.package.example)
+		xml.package.example <- XMLNode("package",
+			attrs=list(
+				name="CHANGE_ME_OR_DELETE_ME",
+				"min_version"="CHANGE_ME_OR_DELETE_ME",
+				"max_version"="CHANGE_ME_OR_DELETE_ME",
+				repository="CHANGE_ME_OR_DELETE_ME"
 			))
+		xml.package <- list(XMLNode("!--", xml.package.example))
 	} else {
 		xml.package <- sapply(package, function(this.package){
 				pck.options <- names(this.package)
@@ -142,9 +142,7 @@
 						pck.attributes[[this.option]] <- this.package[[this.option]]
 					} else {}
 				}
-				result <- new("XiMpLe.node",
-					name="package",
-					attributes=pck.attributes)
+				result <- XMLNode("package", attrs=pck.attributes)
 				return(result)
 			})
 	}
@@ -154,26 +152,17 @@
 	# - url
 	# create example, if empty
 	if(is.null(pluginmap)){
-		xml.pluginmap.text <- new("XiMpLe.node",
-					name="",
-					value="If this plugin depends on other pluginmaps, edit this part to your needs:"
-		)
-		xml.pluginmap.example <- new("XiMpLe.node",
-					name="pluginmap",
-					attributes=list(
-						name="CHANGE_ME_OR_DELETE_ME",
-						url="CHANGE_ME_OR_DELETE_ME"
-					)
-			)
-		xml.pluginmap <- list(new("XiMpLe.node",
-					name="!--",
-					children=list(xml.pluginmap.text, xml.pluginmap.example)
+		xml.pluginmap.text <- XMLNode("", "If this plugin depends on other pluginmaps, edit this part to your needs:")
+		xml.pluginmap.example <- XMLNode("pluginmap",
+			attrs=list(
+				name="CHANGE_ME_OR_DELETE_ME",
+				url="CHANGE_ME_OR_DELETE_ME"
 			))
+		xml.pluginmap <- list(XMLNode("!--", xml.pluginmap.text, xml.pluginmap.example))
 	} else {
 		xml.pluginmap <- sapply(pluginmap, function(this.pluginmap){
-				result <- new("XiMpLe.node",
-					name="pluginmap",
-					attributes=list(
+				result <- XMLNode("pluginmap",
+					attrs=list(
 						name=this.pluginmap[["name"]],
 						url=this.pluginmap[["url"]]
 					))
@@ -194,22 +183,16 @@
 	# comment out an example dependency listing if it has no entries
 	if(is.null(dependencies)){
 		R.v <- R.Version()
-		xml.dependencies.text <- new("XiMpLe.node",
-					name="!--",
-					value="If this plugin has dependencies, edit this part to your needs:"
-		)
+		xml.dependencies.text <- XMLNode("!--", "If this plugin has dependencies, edit this part to your needs:")
 		xml.authors[[length(xml.authors)+1]] <- xml.dependencies.text
-		xml.dependencies <- new("XiMpLe.node",
-					name="dependencies",
-					attributes=list(
-						"rkward_min_version"=.rk.app.version,
-						"rkward_max_version"="CHANGE_ME_OR_DELETE_ME",
-						"R_min_version"=paste(R.v$major, R.v$minor, sep="."),
-						"R_max_version"="CHANGE_ME_OR_DELETE_ME"
-					),
-					children=xml.package,
-					value=""
-			)
+		xml.dependencies <- XMLNode("dependencies",
+			attrs=list(
+				"rkward_min_version"=.rk.app.version,
+				"rkward_max_version"="CHANGE_ME_OR_DELETE_ME",
+				"R_min_version"=paste(R.v$major, R.v$minor, sep="."),
+				"R_max_version"="CHANGE_ME_OR_DELETE_ME"
+			),
+			.children=child.list(xml.package, empty=FALSE))
 	} else {
 		dep.options <- names(dependencies)
 		dep.attributes <- list()
@@ -225,12 +208,9 @@
 		if("R.max" %in% dep.options){
 			dep.attributes[["R_max_version"]] <- dependencies[["R.max"]]
 		} else {}
-		xml.dependencies <- new("XiMpLe.node",
-					name="dependencies",
-					attributes=dep.attributes,
-					children=xml.package,
-					value=""
-			)
+		xml.dependencies <- XMLNode("dependencies",
+			attrs=dep.attributes,
+			.children=child.list(xml.package, empty=FALSE))
 	}
 
 	## about
@@ -247,20 +227,18 @@
 	if(is.null(xml.authors)){
 		xml.authors <- list()
 	} else {}
-	xml.about <-  new("XiMpLe.node",
-				name="about",
-				attributes=list(
-					name=name,
-					"shortinfo"=about[["desc"]],
-					"longinfo"=about[["long.desc"]],
-					version=about[["version"]],
-					"releasedate"=about[["date"]],
-					url=about[["url"]],
-					license=about[["license"]],
-					category=about[["category"]]
-				),
-				children=xml.authors
-		)
+	xml.about <-  XMLNode("about",
+		attrs=list(
+			name=name,
+			"shortinfo"=about[["desc"]],
+			"longinfo"=about[["long.desc"]],
+			version=about[["version"]],
+			"releasedate"=about[["date"]],
+			url=about[["url"]],
+			license=about[["license"]],
+			category=about[["category"]]
+		),
+		.children=xml.authors)
 
 	return(xml.about)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.attribute.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.attribute.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.attribute.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -34,10 +34,7 @@
 		attr.list[["label"]] <- label
 	} else {}
 
-	node <- new("XiMpLe.node",
-			name="attribute",
-			attributes=attr.list
-		)
+	node <- XMLNode("attribute", attrs=attr.list)
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.browser.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.browser.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.browser.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -44,9 +44,7 @@
 		attr.list[["required"]] <- "false"
 	} else {}
 
-	node <- new("XiMpLe.node",
-			name="browser",
-			attributes=attr.list)
+	node <- XMLNode("browser", attrs=attr.list)
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.cbox.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.cbox.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.cbox.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -33,9 +33,7 @@
 		attr.list[["checked"]] <- "true"
 	} else {}
 
-	checkbox <- new("XiMpLe.node",
-		name="checkbox",
-		attributes=attr.list)
+	checkbox <- XMLNode("checkbox", attrs=attr.list)
 
 	return(checkbox)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.code.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.code.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.code.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -10,10 +10,6 @@
 #' cat(pasteXML(test.code))
 
 rk.XML.code <- function(file){
-	node <- new("XiMpLe.node",
-			name="code",
-			attributes=list(file=as.character(file))
-		)
-
+	node <- XMLNode("code", attrs=list(file=as.character(file)))
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.col.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.col.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.col.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -25,11 +25,9 @@
 		attr.list <- list(id=id.name)
 	}
 
-	col <- new("XiMpLe.node",
-		name="column",
-		attributes=attr.list,
-		children=child.list(nodes),
-		value="")
+	col <- XMLNode("column",
+		attrs=attr.list,
+		.children=child.list(nodes, empty=FALSE))
 
 	return(col)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.component.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.component.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.component.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -36,10 +36,7 @@
 		attr.list[["file"]] <- file
 	} else {}
 
-	node <- new("XiMpLe.node",
-			name="component",
-			attributes=attr.list
-		)
+	node <- XMLNode("component", attrs=attr.list)
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.components.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.components.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.components.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -19,17 +19,13 @@
 
 	# check the node names and allow only valid ones
 	sapply(child.list(nodes), function(this.node){
-			node.name <- this.node at name
+			node.name <- slot(this.node, "name")
 			if(!identical(node.name, "component")){
 				stop(simpleError(paste("Invalid XML nodes for components section: ", node.name, sep="")))
 			} else {}
 		})
 
-	node <- new("XiMpLe.node",
-			name="components",
-			children=child.list(nodes),
-			value=""
-		)
+	node <- XMLNode("components", .children=child.list(nodes, empty=FALSE))
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.connect.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.connect.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.connect.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -40,7 +40,7 @@
 	governor.id <- check.ID(governor)
 	# if governor is an XML node but not <convert>, append ".state"
 	if(inherits(governor, "XiMpLe.node")){
-		node.name <- governor at name
+		node.name <- slot(governor, "name")
 		if(!identical(node.name, "convert")){
 			# validate get modifier
 			if(modif.validity(governor, modifier=get)){
@@ -63,10 +63,7 @@
 			attr.list[["reconcile"]] <- "true"
 	} else {}
 
-	node <- new("XiMpLe.node",
-			name="connect",
-			attributes=attr.list
-		)
+	node <- XMLNode("connect", attrs=attr.list)
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.context.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.context.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.context.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -24,7 +24,7 @@
 
 	# check the node names and allow only valid ones
 	node.names <- sapply(child.list(nodes), function(this.node){
-			this.node at name
+			slot(this.node, "name")
 		})
 
 	if(!id %in% c("x11", "import")){
@@ -37,11 +37,9 @@
 			paste(node.names[invalid.sets], collapse=", "), sep="")))
 	} else {}
 
-	node <- new("XiMpLe.node",
-			name="context",
-			attributes=list(id=id),
-			children=child.list(nodes),
-			value=""
+	node <- XMLNode("context",
+			attrs=list(id=id),
+			.children=child.list(nodes, empty=FALSE)
 		)
 
 	return(node)

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.convert.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.convert.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.convert.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -117,10 +117,7 @@
 			attr.list[["required_true"]] <- "true"
 	} else {}
 
-	node <- new("XiMpLe.node",
-			name="convert",
-			attributes=attr.list
-		)
+	node <- XMLNode("convert", attrs=attr.list)
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.copy.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.copy.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.copy.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -40,10 +40,7 @@
 		}
 	} else {}
 
-	node <- new("XiMpLe.node",
-			name="copy",
-			attributes=attr.list
-		)
+	node <- XMLNode("copy", attrs=attr.list)
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.dialog.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.dialog.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.dialog.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -25,7 +25,7 @@
 
 	# check the node names and allow only valid ones
 	node.names <- sapply(child.list(nodes), function(this.node){
-			this.node at name
+			slot(this.node, "name")
 		})
 
 	invalid.sets <- !node.names %in% c("browser", "checkbox", "column", "copy",
@@ -42,11 +42,9 @@
 		attr.list <- list()
 	}
 
-	node <- new("XiMpLe.node",
-			name="dialog",
-			attributes=attr.list,
-			children=child.list(nodes),
-			value=""
+	node <- XMLNode("dialog",
+			attrs=attr.list,
+			.children=child.list(nodes, empty=FALSE)
 		)
 
 	return(node)

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.dropdown.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.dropdown.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.dropdown.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -15,7 +15,7 @@
 #'   "Second Option"=c(val="val2", chk=TRUE)))
 #' cat(pasteXML(test.dropdown))
 
-rk.XML.dropdown <- function(label, options=list(label=c(val=NULL, chk=FALSE)), id.name="auto"){
+rk.XML.dropdown <- function(label, options=list(label=c(val="", chk=FALSE)), id.name="auto"){
 	num.opt <- length(options)
 	dd.options <- sapply(1:num.opt, function(this.num){
 			this.element <- names(options)[[this.num]]
@@ -26,9 +26,7 @@
 					attr.list[["checked"]] <- "true"
 				} else {}
 			} else {}
-			new("XiMpLe.node",
-				name="option",
-				attributes=attr.list)
+			return(XMLNode("option", attrs=attr.list))
 		})
 
 	if(identical(id.name, "auto")){
@@ -38,10 +36,9 @@
 	}
 	drp.attr.list <- list(id=id, label=label)
 
-	dropdown <- new("XiMpLe.node",
-			name="dropdown",
-			attributes=drp.attr.list,
-			children=dd.options
+	dropdown <- XMLNode("dropdown",
+			attrs=drp.attr.list,
+			.children=child.list(dd.options, empty=FALSE)
 		)
 
 	return(dropdown)

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.embed.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.embed.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.embed.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -29,10 +29,7 @@
 		attr.list[["id"]] <- id.name
 	}
 
-	node <- new("XiMpLe.node",
-			name="embed",
-			attributes=attr.list
-		)
+	node <- XMLNode("embed", attrs=attr.list)
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.entry.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.entry.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.entry.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -24,7 +24,7 @@
 
 	# check the node names and allow only valid ones
 	if(inherits(component, "XiMpLe.node")){
-		node.name <- component at name
+		node.name <- slot(component ,"name")
 		if(!identical(node.name, "component")){
 			stop(simpleError(paste("Invalid XML node for 'entry': ", node.name, sep="")))
 		} else {}
@@ -36,10 +36,7 @@
 		attr.list[["index"]] <- index
 	} else {}
 
-	node <- new("XiMpLe.node",
-			name="entry",
-			attributes=attr.list
-		)
+	node <- XMLNode("entry", attrs=attr.list)
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.external.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.external.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.external.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -21,9 +21,7 @@
 		attr.list[["default"]] <- as.character(default)
 	} else {}
 
-	node <- new("XiMpLe.node",
-			name="external",
-			attributes=attr.list)
+	node <- XMLNode("external", attrs=attr.list)
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.formula.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.formula.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.formula.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -25,7 +25,7 @@
 	# check if these are actually varslots
 	sapply(list(fixed, dependent), function(this.attr){
 			if(inherits(this.attr, "XiMpLe.node")){
-				this.attr.name <- this.attr at name
+				this.attr.name <- slot(this.attr ,"name")
 				if(!identical(this.attr.name, "varslot")){
 					stop(simpleError(paste("'fixed' and 'dependent' must be <varslot> nodes! You provided: <", this.attr.name, ">", sep="")))
 				} else {}
@@ -46,10 +46,7 @@
 	attr.list[["fixed_factors"]] <- fixed.id
 	attr.list[["dependent"]] <- depnd.id
 
-	node <- new("XiMpLe.node",
-			name="formula",
-			attributes=attr.list
-		)
+	node <- XMLNode("formula", attrs=attr.list)
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.frame.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.frame.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.frame.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -45,11 +45,10 @@
 		attr.list[["id"]] <- id.name
 	} else {}
 
-	frame <- new("XiMpLe.node",
-		name="frame",
-		attributes=attr.list,
-		children=child.list(nodes),
-		value="")
+	frame <- XMLNode("frame",
+			attributes=attr.list,
+			.children=child.list(nodes, empty=FALSE)
+		)
 
 	return(frame)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.help.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.help.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.help.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -10,10 +10,6 @@
 #' cat(pasteXML(test.help))
 
 rk.XML.help <- function(file){
-	node <- new("XiMpLe.node",
-			name="help",
-			attributes=list(file=as.character(file))
-		)
-
+	node <- XMLNode("help", attrs=list(file=as.character(file)))
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.hierarchy.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.hierarchy.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.hierarchy.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -24,7 +24,7 @@
 
 	# check the node names and allow only valid ones
 	node.names <- sapply(child.list(nodes), function(this.node){
-			this.node at name
+			slot(this.node, "name")
 		})
 
 	invalid.sets <- !node.names %in% c("menu", "!--")
@@ -33,11 +33,7 @@
 			paste(node.names[invalid.sets], collapse=", "), sep="")))
 	} else {}
 
-	node <- new("XiMpLe.node",
-			name="hierarchy",
-			children=child.list(nodes),
-			value=""
-		)
+	node <- XMLNode("hierarchy", .children=child.list(nodes, empty=FALSE))
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.include.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.include.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.include.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -10,10 +10,5 @@
 #' cat(pasteXML(test.include))
 
 rk.XML.include <- function(file){
-	node <- new("XiMpLe.node",
-			name="include",
-			attributes=list(file=as.character(file))
-		)
-
-	return(node)
+	return(XMLNode("include", attrs=list(file=as.character(file))))
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.input.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.input.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.input.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -33,9 +33,7 @@
 		attr.list[["required"]] <- "true"
 	} else {}
 
-	node <- new("XiMpLe.node",
-			name="input",
-			attributes=attr.list)
+	node <- XMLNode("input", attrs=attr.list)
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.insert.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.insert.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.insert.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -25,7 +25,7 @@
 	} else {}
 
 	if(inherits(snippet, "XiMpLe.node")){
-		node.name <- snippet at name
+		node.name <- slot(snippet, "name")
 		if(!identical(node.name, "snippet")){
 			stop(simpleError(paste("Invalid XML node, must be a snippet: ", node.name, sep="")))
 		} else {}
@@ -34,10 +34,7 @@
 	# let's see if we need to extract IDs first
 	attr.list <- list(snippet=check.ID(snippet))
 
-	node <- new("XiMpLe.node",
-			name="insert",
-			attributes=attr.list
-		)
+	node <- XMLNode("insert", attrs=attr.list)
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.logic.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.logic.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.logic.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -35,20 +35,16 @@
 
 	# transform "!--" comment nodes into "![CDATA[" for scripting logic
 	nodes <- sapply(child.list(nodes), function(this.node){
-			if(identical(this.node at name, "!--")){
-				this.node at name <- "![CDATA["
-				this.node <- new("XiMpLe.node",
-						name="script",
-						children=child.list(this.node),
-						value=""
-					)
+			if(identical(slot(this.node, "name"), "!--")){
+				slot(this.node, "name") <- "![CDATA["
+				this.node <- XMLNode("script", .children=child.list(this.node, empty=FALSE))
 			} else {}
 			return(this.node)
 		})
 
 	# check the node names and allow only valid ones
 	node.names <- sapply(child.list(nodes), function(this.node){
-			this.node at name
+			slot(this.node, "name")
 		})
 
 	invalid.sets <- !node.names %in% c("connect", "convert","include","insert","external","set","script")
@@ -56,11 +52,7 @@
 		stop(simpleError(paste("Invalid XML nodes for logic section: ", paste(node.names[invalid.sets], collapse=", "), sep="")))
 	} else {}
 
-	node <- new("XiMpLe.node",
-			name="logic",
-			children=child.list(nodes),
-			value=""
-		)
+	node <- XMLNode("logic", .children=child.list(nodes, empty=FALSE))
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.menu.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.menu.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.menu.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -86,7 +86,7 @@
 	# check the node names and allow only valid ones
 	sapply(child.list(nodes), function(this.node){
 			stopifnot(inherits(this.node, "XiMpLe.node"))
-			node.name <- this.node at name
+			node.name <- slot(this.node, "name")
 			if(!node.name %in% c("entry", "menu", "!--")){
 				stop(simpleError(paste("Invalid XML nodes for menu section: ", node.name, sep="")))
 			} else {}
@@ -105,10 +105,9 @@
 		attr.list[["index"]] <- index
 	} else {}
 
-	node <- new("XiMpLe.node",
-			name="menu",
-			attributes=attr.list,
-			children=child.list(nodes)
+	node <- XMLNode("menu",
+			attrs=attr.list,
+			.children=child.list(nodes)
 		)
 
 	return(node)

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.page.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.page.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.page.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -27,7 +27,7 @@
 
 	# check the node names and allow only valid ones
 	node.names <- sapply(child.list(nodes), function(this.node){
-			this.node at name
+			slot(this.node, "name")
 		})
 
 	invalid.sets <- !node.names %in% c("browser", "checkbox", "column", "copy",
@@ -46,11 +46,9 @@
 		attr.list <- list(id=id.name)
 	}
 
-	node <- new("XiMpLe.node",
-			name="page",
-			attributes=attr.list,
-			children=child.list(nodes),
-			value=""
+	node <- XMLNode("page",
+			attrs=attr.list,
+			.children=child.list(nodes, empty=FALSE)
 		)
 
 	return(node)

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.plugin.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.plugin.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.plugin.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -66,7 +66,7 @@
 
 	if(!is.null(about)){
 		if(inherits(about, "XiMpLe.node")){
-			about.node.name <- about at name
+			about.node.name <- slot(about, "name")
 			# check if this is *really* a about section, otherwise quit and go dancing
 			if(!identical(about.node.name, "about")){
 				stop(simpleError("I don't know what this is, but 'about' is not an about section!"))
@@ -81,7 +81,7 @@
 	if(!is.null(snippets)){
 		# check if this is *really* a snippets section, otherwise quit and go dancing
 		if(inherits(snippets, "XiMpLe.node")){
-			snippets.node.name <- snippets at name
+			snippets.node.name <- slot(snippets, "name")
 		} else {
 			snippets.node.name <- "yougottabekiddingme"
 		}
@@ -94,23 +94,16 @@
 	if(is.null(logic)){
 		if("logic" %in% provides){
 			lgc.children <- list(
-					new("XiMpLe.node",
-						# add these as comments because they need editing
-						name="!--",
-						children=list(rk.XML.convert(sources="!edit!", mode=c(equals="!edit!"), id.name="!edit!"))),
-					new("XiMpLe.node",
-						name="!--",
-						children=list(rk.XML.connect(governor="!edit!", client="!edit!")))
+					# add these as comments because they need editing
+					XMLNode("!--", rk.XML.convert(sources="!edit!", mode=c(equals="!edit!"), id.name="!edit!")),
+					XMLNode("!--", rk.XML.connect(governor="!edit!", client="!edit!"))
 				)
-			all.children[[length(all.children)+1]] <- new("XiMpLe.node",
-				name="logic",
-				children=lgc.children
-			)
+			all.children[[length(all.children)+1]] <- XMLNode("logic", .children=lgc.children)
 		} else {}
 	} else {
 		# check if this is *really* a logic section, otherwise quit and go dancing
 		if(inherits(logic, "XiMpLe.node")){
-			logic.node.name <- logic at name
+			logic.node.name <- slot(logic, "name")
 		} else {
 			logic.node.name <- "yougottabekiddingme"
 		}
@@ -127,7 +120,7 @@
 	} else {
 		# check if this is *really* a dialog section
 		if(inherits(dialog, "XiMpLe.node")){
-			dialog.node.name <- dialog at name
+			dialog.node.name <- slot(dialog, "name")
 		} else {
 			dialog.node.name <- "yougottabekiddingme"
 		}
@@ -147,7 +140,7 @@
 	} else {
 		# check if this is *really* a wizard section
 		if(inherits(wizard, "XiMpLe.node")){
-			wizard.node.name <- wizard at name
+			wizard.node.name <- slot(wizard, "name")
 		} else {
 			wizard.node.name <- "yougottabekiddingme"
 		}
@@ -157,15 +150,12 @@
 		all.children[[length(all.children)+1]] <- wizard
 	}
 
-	top.doc <- new("XiMpLe.node",
-		name="document",
-		children=child.list(all.children)
-	)
+	top.doc <- XMLNode("document", .children=child.list(all.children))
 
-	plugin <- new("XiMpLe.doc",
+	plugin <- XMLTree(
 			dtd=list(doctype="rkplugin"),
-			children=child.list(top.doc)
-	)
+			.children=child.list(top.doc)
+		)
 
 	return(plugin)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.pluginmap.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.pluginmap.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.pluginmap.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -60,7 +60,7 @@
 	## about section
 	if(!is.null(about)){
 		if(inherits(about, "XiMpLe.node")){
-			about.node.name <- about at name
+			about.node.name <- slot(about, "name")
 			# check if this is *really* a about section, otherwise quit and go dancing
 			if(!identical(about.node.name, "about")){
 				stop(simpleError("I don't know what this is, but 'about' is not an about section!"))
@@ -73,9 +73,7 @@
 		}
 	} else {
 		if(isTRUE(hints)){
-			about.XML <- new("XiMpLe.node",
-				name="!--",
-				children=list(new("XiMpLe.node", name="about", value="")))
+			about.XML <- XMLNode("!--", XMLNode("about", ""))
 			# initialize all.children list
 			all.children[[length(all.children)+1]] <- about.XML
 		} else {}
@@ -86,7 +84,7 @@
 		# check if this is *really* require nodes
 		for(this.child in child.list(require)){
 				if(inherits(this.child, "XiMpLe.node")){
-					node.name <- this.child at name
+					node.name <- slot(this.child, "name")
 					if(!identical(node.name, "require")){
 						stop(simpleError("I don't know what this is, but 'require' is not made of require nodes!"))
 					} else {
@@ -102,23 +100,23 @@
 			}
 	} else {
 		if(isTRUE(hints)){
-			require.XML <- new("XiMpLe.node",
-				name="!--",
-				children=list(rk.XML.require("path/file.pluginmap")))
+			require.XML <- XMLNode("!--", rk.XML.require("path/file.pluginmap"))
 			all.children[[length(all.children)+1]] <- require.XML
 		} else {}
 	}
 
 	## components section
 	if(inherits(components, "XiMpLe.node")){
-		components.node.name <- components at name
+		components.node.name <- slot(components, "name")
 		# check if this is *really* a components section, otherwise quit and go dancing
 		if(!identical(components.node.name, "components")){
 			stop(simpleError("I don't know what this is, but 'components' is not a components section!"))
 		} else {}
 		all.children[[length(all.children)+1]] <- components
 		# get the IDs for hierarchy section
-		component.IDs <- sapply(components at children, function(this.comp){this.comp at attributes$id})
+		component.IDs <- sapply(slot(components, "children"), function(this.comp){
+				slot(this.comp, "attributes")$id
+			})
 	} else {
 			components.XML.list <- list()
 			num.compos <- length(components)
@@ -147,12 +145,14 @@
 
 		all.children[[length(all.children)+1]] <- components.XML
 		# get the IDs for hierarchy section
-		component.IDs <- sapply(components.XML at children, function(this.comp){this.comp at attributes$id})
+		component.IDs <- sapply(slot(components.XML, "children"), function(this.comp){
+				slot(this.comp, "attributes")$id
+			})
 	}
 
 	## hierachy section
 	if(inherits(hierarchy, "XiMpLe.node")){
-		hierarchy.node.name <- hierarchy at name
+		hierarchy.node.name <- slot(hierarchy, "name")
 		# check if this is *really* a hierarchy section, otherwise quit and go dancing
 		if(!identical(hierarchy.node.name, "hierarchy")){
 			stop(simpleError("I don't know what this is, but 'hierarchy' is not a hierarchy section!"))
@@ -231,8 +231,8 @@
 	if(!is.null(x11.context)){
 		# check if this is *really* a context node for x11
 		if(inherits(x11.context, "XiMpLe.node")){
-			node.name <- x11.context at name
-			ctxt.name <- x11.context at attributes$id
+			node.name <- slot(x11.context, "name")
+			ctxt.name <- slot(x11.context, "attributes")$id
 		} else {
 			node.name <- ctxt.name <- "buhahahahaa"
 		}
@@ -243,9 +243,7 @@
 		}
 	} else {
 		if(isTRUE(hints)){
-			context.x11.XML <- new("XiMpLe.node",
-				name="!--",
-				children=list(rk.XML.context(id="x11")))
+			context.x11.XML <- XMLNode("!--", rk.XML.context(id="x11"))
 			all.children[[length(all.children)+1]] <- context.x11.XML
 		} else {}
 	}
@@ -253,8 +251,8 @@
 	if(!is.null(import.context)){
 		# check if this is *really* a context node for import
 		if(inherits(import.context, "XiMpLe.node")){
-			node.name <- import.context at name
-			ctxt.name <- import.context at attributes$id
+			node.name <- slot(import.context, "name")
+			ctxt.name <- slot(import.context, "attributes")$id
 		} else {
 			node.name <- ctxt.name <- "buhahahahaa"
 		}
@@ -265,22 +263,19 @@
 		}
 	} else {
 		if(isTRUE(hints)){
-			context.import.XML <- new("XiMpLe.node",
-				name="!--",
-				children=list(rk.XML.context(id="import")))
+			context.import.XML <- XMLNode("!--", rk.XML.context(id="import"))
 			all.children[[length(all.children)+1]] <- context.import.XML
 		} else {}
 	}
 
-	top.doc <- new("XiMpLe.node",
-		name="document",
-		attributes=list(base_prefix="", namespace="rkward", id=paste(name, "_rkward", sep="")),
-		children=all.children
+	top.doc <- XMLNode("document",
+		attrs=list(base_prefix="", namespace="rkward", id=paste(name, "_rkward", sep="")),
+		.children=all.children
 	)
 
-	pluginmap <- new("XiMpLe.doc",
-			dtd=list(doctype="rkpluginmap"),
-			children=child.list(top.doc)
+	pluginmap <- XMLTree(
+		dtd=list(doctype="rkpluginmap"),
+		.children=child.list(top.doc)
 	)
 
 	return(pluginmap)

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.preview.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.preview.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.preview.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -15,10 +15,7 @@
 		attr.list <- list()
 	}
 
-	node <- new("XiMpLe.node",
-			name="preview",
-			attributes=attr.list
-		)
+	node <- XMLNode("preview", attrs=attr.list)
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.radio.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.radio.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.radio.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -26,9 +26,7 @@
 					attr.list[["checked"]] <- "true"
 				} else {}
 			} else {}
-			new("XiMpLe.node",
-				name="option",
-				attributes=attr.list)
+			return(XMLNode("option", attrs=attr.list))
 		})
 
 	if(identical(id.name, "auto")){
@@ -38,10 +36,9 @@
 	}
 	rd.attr.list <- list(id=id, label=label)
 
-	radio <- new("XiMpLe.node",
-			name="radio",
-			attributes=rd.attr.list,
-			children=child.list(rd.options)
+	radio <- XMLNode("radio",
+			attrs=rd.attr.list,
+			.children=child.list(rd.options, empty=FALSE)
 		)
 
 	return(radio)

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.require.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.require.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.require.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -15,10 +15,7 @@
 		stop(simpleError("'file' must be a character string!"))
 	} else {}
 
-	node <- new("XiMpLe.node",
-			name="require",
-			attributes=list(file=file)
-		)
+	node <- XMLNode("require", attrs=list(file=file))
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.row.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.row.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.row.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -25,11 +25,10 @@
 		attr.list <- list(id=id.name)
 	}
 
-	row <- new("XiMpLe.node",
-		name="row",
-		attributes=attr.list,
-		children=child.list(nodes),
-		value="")
+	row <- XMLNode("row",
+			attrs=attr.list,
+			.children=child.list(nodes, empty=FALSE)
+		)
 
 	return(row)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.saveobj.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.saveobj.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.saveobj.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -43,9 +43,7 @@
 		attr.list[["id"]] <- id.name
 	} else {}
 
-	node <- new("XiMpLe.node",
-			name="saveobject",
-			attributes=attr.list)
+	node <- XMLNode("saveobject", attrs=attr.list)
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.set.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.set.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.set.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -42,10 +42,7 @@
 		attr.list[["to"]] <- as.character(to)
 	}
 
-	node <- new("XiMpLe.node",
-			name="set",
-			attributes=attr.list
-		)
+	node <- XMLNode("set", attrs=attr.list)
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.snippet.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.snippet.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.snippet.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -28,11 +28,9 @@
 		stop(simpleError("Snippets need an ID!"))
 	} else {}
 
-	node <- new("XiMpLe.node",
-			name="snippet",
-			attributes=list(id=id.name),
-			children=child.list(nodes),
-			value=""
+	node <- XMLNode("snippet",
+			attrs=list(id=id.name),
+			.children=child.list(nodes, empty=FALSE)
 		)
 
 	return(node)

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.snippets.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.snippets.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.snippets.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -23,17 +23,13 @@
 	# check the node names and allow only valid ones
 	sapply(child.list(nodes), function(this.node){
 			stopifnot(inherits(this.node, "XiMpLe.node"))
-			node.name <- this.node at name
+			node.name <- slot(this.node, "name")
 			if(!node.name %in% c("snippet", "!--")){
 				stop(simpleError(paste("Invalid XML nodes for snippets section: ", node.name, sep="")))
 			} else {}
 		})
 
-	node <- new("XiMpLe.node",
-			name="snippets",
-			children=child.list(nodes),
-			value=""
-		)
+	node <- XMLNode("snippets", .children=child.list(nodes, empty=FALSE))
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.spinbox.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.spinbox.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.spinbox.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -50,9 +50,7 @@
 		attr.list[["max.precision"]] <- as.numeric(max.precision)
 	} else {}
 
-	node <- new("XiMpLe.node",
-			name="spinbox",
-			attributes=attr.list)
+	node <- XMLNode("spinbox", attrs=attr.list)
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.stretch.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.stretch.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.stretch.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -15,7 +15,7 @@
 
 #<stretch />
 rk.XML.stretch <- function(before=NULL, after=NULL){
-	strch <- new("XiMpLe.node", name="stretch")
+	strch <- XMLNode("stretch")
 
 	# if called without furter objects, just return the node
 	if(is.null(c(before, after))){

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.tabbook.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.tabbook.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.tabbook.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -47,11 +47,10 @@
 			} else {
 				child <- list()
 			}
-			new("XiMpLe.node",
-				name="tab",
-				attributes=attr.list,
-				children=child.list(child),
-				value="")
+			return(XMLNode("tab",
+					attrs=attr.list,
+					.children=child.list(child, empty=FALSE))
+				)
 		})
 
 
@@ -73,10 +72,9 @@
 		tbk.attr.list[["label"]] <- label
 	} else {}
 
-	tabbook <- new("XiMpLe.node",
-			name="tabbook",
-			attributes=tbk.attr.list,
-			children=child.list(tabs)
+	tabbook <- XMLNode("tabbook",
+			attrs=tbk.attr.list,
+			.children=child.list(tabs, empty=FALSE)
 		)
 
 	return(tabbook)

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.varselector.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.varselector.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.varselector.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -29,9 +29,7 @@
 		} else {}
 	}
 
-	node <- new("XiMpLe.node",
-		name="varselector",
-		attributes=attr.list)
+	node <- XMLNode("varselector", attrs=attr.list)
 
 	return(node)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.varslot.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.varslot.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.varslot.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -39,7 +39,7 @@
 rk.XML.varslot <- function(label, source, required=FALSE, multi=FALSE, min=1, any=1, max=0,
 	dim=0, min.len=0, max.len=NULL, classes=NULL, types=NULL, id.name="auto"){
 	if(inherits(source, "XiMpLe.node")){
-		source.name <- source at name
+		source.name <- slot(source, "name")
 		if(!identical(source.name, "varselector")){
 			stop(simpleError(paste("'source' must be a <varselector> node! You provided: <", source.name, ">", sep="")))
 		} else {}
@@ -95,9 +95,7 @@
 		var.slot.attr[["max_length"]] <- max.len
 	} else {}
 
-	v.slot <- new("XiMpLe.node",
-		name="varslot",
-		attributes=var.slot.attr)
+	v.slot <- XMLNode("varslot", attrs=var.slot.attr)
 
 	return(v.slot)
 }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.wizard.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.wizard.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.wizard.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -26,7 +26,7 @@
 
 	# check the node names and allow only valid ones
 	node.names <- sapply(child.list(nodes), function(this.node){
-			this.node at name
+			slot(this.node, "name")
 		})
 
 	invalid.sets <- !node.names %in% c("browser", "checkbox", "column", "copy",
@@ -43,11 +43,9 @@
 		attr.list <- list()
 	}
 
-	node <- new("XiMpLe.node",
-			name="wizard",
-			attributes=attr.list,
-			children=child.list(nodes),
-			value=""
+	node <- XMLNode("wizard",
+			attrs=attr.list,
+			.children=child.list(nodes, empty=FALSE)
 		)
 
 	return(node)

Modified: trunk/rkward/packages/rkwarddev/R/rk.paste.JS.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.paste.JS.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.paste.JS.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -52,7 +52,7 @@
 			result <- paste.JS.var(this.object, level=level, indent.by=indent.by, JS.prefix=var.prefix,
 				modifiers=modifiers, default=default, join=join)
 		} else if(inherits(this.object, "XiMpLe.node")){
-			if(identical(this.object at name, "!--")){
+			if(identical(slot(this.object, "name"), "!--")){
 				result <- paste(indent(level, by=indent.by),
 					"// ",
 					gsub("\n", paste("\n", indent(level, by=indent.by), "//", sep=""), this.object at value), sep="")

Modified: trunk/rkward/packages/rkwarddev/R/rk.plugin.component.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.plugin.component.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.plugin.component.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -69,13 +69,13 @@
 	pluginmap=NULL, create=c("xml", "js", "rkh"), gen.info=TRUE, indent.by="\t"){
 
 	if(inherits(about, "XiMpLe.node")){
-		about.node.name <- about at name
+		about.node.name <- slot(about, "name")
 		# check if this is *really* a about section, otherwise quit and go dancing
 		if(!identical(about.node.name, "about")){
 			stop(simpleError("I don't know what this is, but 'about' is not an about section!"))
 		} else {
 			# fetch the plugin name
-			name <- about at attributes[["name"]]
+			name <- slot(about, "attributes")[["name"]]
 			about.node <- about
 		}
 	} else if(is.character(about) & length(about) == 1) {
@@ -124,9 +124,9 @@
 			pluginmap=pluginmap,
 			about=about.node,
 			gen.info=gen.info)
-		this.component at xml <- XML.plugin
+		slot(this.component, "xml") <- XML.plugin
 	} else {
-		this.component at xml <- rk.XML.plugin("")
+		slot(this.component, "xml") <- rk.XML.plugin("")
 	}
 
 	## create plugin.js
@@ -167,9 +167,9 @@
 			gen.info=gen.info,
 			load.silencer=js[["load.silencer"]],
 			indent.by=indent.by)
-		this.component at js <- JS.code
+		slot(this.component, "js") <- JS.code
 	} else {
-		this.component at js <- rk.JS.doc()
+		slot(this.component, "js") <- rk.JS.doc()
 	}
 
 	## create plugin.rkh
@@ -197,9 +197,9 @@
 			technical=rkh[["technical"]],
 			title=rk.rkh.title(name.orig),
 			gen.info=gen.info)
-		this.component at rkh <- rkh.doc
+		slot(this.component, "rkh") <- rkh.doc
 	} else {
-		this.component at rkh <- rk.rkh.doc()
+		slot(this.component, "rkh") <- rk.rkh.doc()
 	}
 
 	return(this.component)

Modified: trunk/rkward/packages/rkwarddev/R/rk.plugin.skeleton.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.plugin.skeleton.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.plugin.skeleton.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -135,13 +135,13 @@
 	components=list(), edit=FALSE, load=FALSE, show=FALSE, gen.info=TRUE, indent.by="\t"){
 
 	if(inherits(about, "XiMpLe.node")){
-		about.node.name <- about at name
+		about.node.name <- slot(about, "name")
 		# check if this is *really* a about section, otherwise quit and go dancing
 		if(!identical(about.node.name, "about")){
 			stop(simpleError("I don't know what this is, but 'about' is not an about section!"))
 		} else {
 			# fetch the plugin name
-			name <- about at attributes[["name"]]
+			name <- slot(about, "attributes")[["name"]]
 			about.node <- about
 		}
 	} else if(is.character(about) & length(about) == 1) {
@@ -223,11 +223,11 @@
 		if(!inherits(this.comp, "rk.plug.comp")){
 			warning("An element of list 'components' was not of class rk.plug.comp and ignored!", call.=FALSE)
 		} else {
-			comp.name <- clean.name(this.comp at name)
-			create <- this.comp at create
-			XML.plugin <- this.comp at xml
-			JS.code <- this.comp at js
-			rkh.doc <- this.comp at rkh
+			comp.name <- clean.name(slot(this.comp, "name"))
+			create <- slot(this.comp, "create")
+			XML.plugin <- slot(this.comp, "xml")
+			JS.code <- slot(this.comp, "js")
+			rkh.doc <- slot(this.comp, "rkh")
 
 			# the basic file names
 			plugin.fname.xml <- paste(comp.name, ".xml", sep="")
@@ -281,14 +281,14 @@
 			} else {}
 			# get components and hierarchy info from the components list
 			all.components <- sapply(components, function(this.comp){
-					comp.name <- this.comp at name
+					comp.name <- slot(this.comp, "name")
 					named.compo <- paste("plugins/", clean.name(comp.name), ".xml", sep="")
 					# we'll name the component, to nicen the menu entry
 					names(named.compo) <- comp.name
 					return(named.compo)
 				})
 			all.hierarchies <- lapply(components, function(this.comp){
-					comp.hier <- this.comp at hierarchy
+					comp.hier <- slot(this.comp, "hierarchy")
 					return(comp.hier)
 				})
 
@@ -338,20 +338,20 @@
 			desc <- data.frame(
 				Package=name,
 				Type="Package",
-				Title=about.node at attributes[["shortinfo"]],
-				Version=about.node at attributes[["version"]],
-				Date=about.node at attributes[["releasedate"]],
+				Title=slot(about.node, "attributes")[["shortinfo"]],
+				Version=slot(about.node, "attributes")[["version"]],
+				Date=slot(about.node, "attributes")[["releasedate"]],
 				Author=all.authors,
 				AuthorsR=XML2person(about.node, eval=FALSE),
 				Maintainer=all.maintainers,
 				Depends=XML2dependencies(about.node, suggest=suggest.required, mode="depends"),
 				Suggests=XML2dependencies(about.node, suggest=suggest.required, mode="suggest"),
 				Enhances="rkward",
-				Description=about.node at attributes[["longinfo"]],
-				License=about.node at attributes[["license"]],
+				Description=slot(about.node, "attributes")[["longinfo"]],
+				License=slot(about.node, "attributes")[["license"]],
 #				Encoding="UTF-8",
 				LazyLoad=ifelse(isTRUE(lazyLoad), "yes", "no"),
-				URL=about.node at attributes[["url"]],
+				URL=slot(about.node, "attributes")[["url"]],
 #				# R 2.14 seems to add "Namespace: auto", which invalidates source packages for R < 2.14
 #				Namespace=name,
 				stringsAsFactors=FALSE)

Modified: trunk/rkward/packages/rkwarddev/R/rk.rkh.related.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.rkh.related.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.rkh.related.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -17,7 +17,7 @@
 
 	# check the node names and allow only valid ones
 	li.elements <- sapply(child.list(links), function(this.node){
-			if(!identical(this.node at name, "link")){
+			if(!identical(slot(this.node, "name"), "link")){
 				stop(simpleError(paste("Invalid XML nodes for links section: ", this.node at name, sep="")))
 			} else {
 				li.element <- XMLNode("li", .children=child.list(this.node, empty=FALSE))

Modified: trunk/rkward/packages/rkwarddev/R/rk.rkh.settings.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.rkh.settings.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rk.rkh.settings.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -27,7 +27,7 @@
 
 	# check the node names and allow only valid ones
 	node.names <- sapply(child.list(nodes), function(this.node){
-			this.node at name
+			slot(this.node, "name")
 		})
 
 	invalid.sets <- !node.names %in% c("setting", "caption", "!--")

Modified: trunk/rkward/packages/rkwarddev/R/rkwarddev-package.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rkwarddev-package.R	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/R/rkwarddev-package.R	2012-03-18 16:24:48 UTC (rev 4188)
@@ -4,7 +4,7 @@
 #' Package: \tab rkwarddev\cr
 #' Type: \tab Package\cr
 #' Version: \tab 0.05-3\cr
-#' Date: \tab 2012-03-17\cr
+#' Date: \tab 2012-03-18\cr
 #' Depends: \tab R (>= 2.9.0),methods,XiMpLe (>= 0.03-12),rkward (>= 0.5.6)\cr
 #' Enhances: \tab rkward\cr
 #' Encoding: \tab UTF-8\cr

Modified: trunk/rkward/packages/rkwarddev/inst/NEWS.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/inst/NEWS.Rd	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/inst/NEWS.Rd	2012-03-18 16:24:48 UTC (rev 4188)
@@ -4,8 +4,9 @@
 \section{Changes in rkwarddev version 0.05-3 (2012-03-17)}{
   \itemize{
     \item fixed: \code{rk.XML.text()} now preserves XML tags in the text value
-    \item began to use \code{XiMpLe::XMLNode()} and \code{XiMpLe::XMLTree()} constructors in functions, and to rename
-      \code{pasteXMLNode()} and \code{pasteXMLTree()} into \code{pasteXML()}
+    \item functions now call \code{XiMpLe::XMLNode()} and \code{XiMpLe::XMLTree()} constructors instead of \code{new()}, and
+      \code{pasteXMLNode()} and \code{pasteXMLTree()} were globally renamed into \code{pasteXML()}
+    \item internally, replaced object at node with slot(object, \code{"node"})
   }
 }
 \section{Changes in rkwarddev version 0.05-2 (2012-03-10)}{
@@ -76,6 +77,7 @@
 \section{Changes in rkwarddev version 0.04-6 (2011-10-31)}{
   \itemize{
     \item added <frame> to the tags which are scanned by \code{rk.JS.scan()}, they're considered only if checkable
+    \item added <frame> to the tags which are scanned by \code{rk.JS.scan()}, they're considered only if checkable
     \item improved output of rk.JS.var class objects by \code{rk.paste.JS()}
   }
 }

Modified: trunk/rkward/packages/rkwarddev/inst/doc/rkwarddev_vignette.pdf
===================================================================
(Binary files differ)

Modified: trunk/rkward/packages/rkwarddev/man/rk.XML.dropdown.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rk.XML.dropdown.Rd	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/man/rk.XML.dropdown.Rd	2012-03-18 16:24:48 UTC (rev 4188)
@@ -3,7 +3,7 @@
 \title{Create XML node "dropdown" for RKWard plugins}
 \usage{
   rk.XML.dropdown(label,
-    options = list(label = c(val = NULL, chk = FALSE)),
+    options = list(label = c(val = "", chk = FALSE)),
     id.name = "auto")
 }
 \arguments{

Modified: trunk/rkward/packages/rkwarddev/man/rkwarddev-package.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rkwarddev-package.Rd	2012-03-17 22:44:18 UTC (rev 4187)
+++ trunk/rkward/packages/rkwarddev/man/rkwarddev-package.Rd	2012-03-18 16:24:48 UTC (rev 4188)
@@ -9,7 +9,7 @@
 \details{
   \tabular{ll}{ Package: \tab rkwarddev\cr Type: \tab
   Package\cr Version: \tab 0.05-3\cr Date: \tab
-  2012-03-17\cr Depends: \tab R (>= 2.9.0),methods,XiMpLe
+  2012-03-18\cr Depends: \tab R (>= 2.9.0),methods,XiMpLe
   (>= 0.03-12),rkward (>= 0.5.6)\cr Enhances: \tab
   rkward\cr Encoding: \tab UTF-8\cr License: \tab GPL (>=
   3)\cr LazyLoad: \tab yes\cr URL: \tab

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.





More information about the rkward-tracker mailing list