[rkward-cvs] SF.net SVN: rkward:[4393] trunk/rkward/packages/XiMpLe

m-eik at users.sourceforge.net m-eik at users.sourceforge.net
Fri Oct 26 21:18:38 UTC 2012


Revision: 4393
          http://rkward.svn.sourceforge.net/rkward/?rev=4393&view=rev
Author:   m-eik
Date:     2012-10-26 21:18:37 +0000 (Fri, 26 Oct 2012)
Log Message:
-----------
XiMpLe: finally tracked down the long outstanding memory bug! that is, parseXMLtree() doesn't choke on large XML documents any longer. it's still very slow (takes about 10 minutes to parse a 1.3MB XML file), but at least it doesn't eat up gigs(!) of RAM in the process any more.

Modified Paths:
--------------
    trunk/rkward/packages/XiMpLe/ChangeLog
    trunk/rkward/packages/XiMpLe/DESCRIPTION
    trunk/rkward/packages/XiMpLe/R/XiMpLe-internal.R
    trunk/rkward/packages/XiMpLe/R/XiMpLe-package.R
    trunk/rkward/packages/XiMpLe/debian/changelog
    trunk/rkward/packages/XiMpLe/debian/control
    trunk/rkward/packages/XiMpLe/debian/copyright
    trunk/rkward/packages/XiMpLe/debian/rules
    trunk/rkward/packages/XiMpLe/inst/CITATION
    trunk/rkward/packages/XiMpLe/inst/NEWS.Rd
    trunk/rkward/packages/XiMpLe/man/XiMpLe-package.Rd

Modified: trunk/rkward/packages/XiMpLe/ChangeLog
===================================================================
--- trunk/rkward/packages/XiMpLe/ChangeLog	2012-10-25 09:23:59 UTC (rev 4392)
+++ trunk/rkward/packages/XiMpLe/ChangeLog	2012-10-26 21:18:37 UTC (rev 4393)
@@ -1,8 +1,17 @@
 ChangeLog for package XiMpLe
 
+changes in version 0.03-15 (2012-10-26)
+fixed:
+  - eliminated a memory problem for large XML trees. calling unlist() with
+    use.names=FALSE really makes a difference...
+changed:
+  - reviewed the garbage collecting and internally moved it out of
+    XML.nodes() into XML.single.tags()
+
 changes in version 0.03-14 (2012-05-11)
 added:
-  - forcing garbage collection gc() in internal function XML.nodes(), which iterates through parsed XML trees
+  - forcing garbage collection gc() in internal function XML.nodes(), which
+    iterates through parsed XML trees
 changed:
   - better handling of text value indentation via "shine" and "tidy"
 
@@ -12,57 +21,70 @@
   - debianized the sources
 changed:
   - parseXMLTree() now takes connections as "file" parameter
-  - commented CDATA tags (like they're used in XHTML) can now be detected and pasted
+  - commented CDATA tags (like they're used in XHTML) can now be detected and
+    pasted
   - pasteXMLTag() adjusts indentation level of value tags and comments
 fixed:
-  - feeding internet addresses to parseXMLTree() no longer throws an error, skipping normalize.path() then now
+  - feeding internet addresses to parseXMLTree() no longer throws an error,
+    skipping normalize.path() then now
   - parseXMLTree() now preserves newlines in value tags and comments
-  
+
 changes in version 0.03-12 (2012-03-18)
-  - node() now also works with single XiMpLe.node objects (not only full trees)
-  - added pasteXML methods to paste objects of classes XiMpLe.node and XiMpLe.doc in a more
-    general manner. the former functions pasteXMLNode() and pasteXMLTree() are replaced by mere
-    wrapper frunctions to pasteXML() and should not be used any longer.
+  - node() now also works with single XiMpLe.node objects (not only full
+    trees)
+  - added pasteXML methods to paste objects of classes XiMpLe.node and
+    XiMpLe.doc in a more general manner. the former functions pasteXMLNode() and
+    pasteXMLTree() are replaced by mere wrapper frunctions to pasteXML() and
+    should not be used any longer.
   - fixed dropped text value if node also had child nodes in pasteXML()
   - fixed missing quotes in DOCTYPE id (pasteXML())
 
 changes in version 0.03-11 (2012-03-14)
-  - added functions XMLNode() and XMLTree() as constructor functions for XML nodes and trees.
-  - added opton "object" to parseXMLTree(), to be able to parse XML trees not only from files, but also character vectors
+  - added functions XMLNode() and XMLTree() as constructor functions for XML
+    nodes and trees.
+  - added opton "object" to parseXMLTree(), to be able to parse XML trees not
+    only from files, but also character vectors
   - output of internal function XML.single.tags() has no colname any more
-  - text values of nodes are no longer followed by an empty newline in pasteXMLNode()
+  - text values of nodes are no longer followed by an empty newline in
+    pasteXMLNode()
 
 changes in version 0.03-10 (2012-03-11)
-  - fixed bug in parsing of attributes, their names are now all quoted by default o not run into issues
-    if they contain R-sensitive characters (like "http-equiv")
+  - fixed bug in parsing of attributes, their names are now all quoted by
+    default o not run into issues if they contain R-sensitive characters (like
+    "http-equiv")
 
 changes in version 0.03-9 (2012-03-10)
-  - re-formatted the ChangeLog so roxyPackage can translate it into a NEWS.Rd file
+  - re-formatted the ChangeLog so roxyPackage can translate it into a NEWS.Rd
+    file
 
 changes in version 0.03-8 (2011-11-17)
-  - rewrote large parts of internal function XML.single.tags() for more efficiency, allthough it's still quite
-    lethargic when handling huge XML trees
+  - rewrote large parts of internal function XML.single.tags() for more
+    efficiency, allthough it's still quite lethargic when handling huge XML trees
 
 changes in version 0.03-7 (2011-10-23)
-  - added "&" to the special characters for "tidy" (only applies if theres space before and after)
-  - "tidy" now also indents text in comments and CDATA if it includes the newline character
+  - added "&" to the special characters for "tidy" (only applies if theres
+    space before and after)
+  - "tidy" now also indents text in comments and CDATA if it includes the
+    newline character
 
 changes in version 0.03-6 (2011-10-09)
-  - added "tidy" option to the paste functions, which is TRUE by default since "<" and ">" are
-    invalid in attributes and text anyway
+  - added "tidy" option to the paste functions, which is TRUE by default
+    since "<" and ">" are invalid in attributes and text anyway
 
 changes in version 0.03-5 (2011-10-07)
-  - fixed tree parsing bug (in rare cases, comment and CDATA entries caused parsing to choke on
-    empty lines)
+  - fixed tree parsing bug (in rare cases, comment and CDATA entries caused
+    parsing to choke on empty lines)
 
 changes in version 0.03-4 (2011-10-01)
   - added show methods for objects of class XiMpLe.doc and XiMpLe.node
 
 changes in version 0.03-3 (2011-09-27)
-  - changed default 'shine' value of pasteXMLNode() and pasteXMLTree() from 2 to 1
-  - pasteXMLNode() and pasteXMLTree() now try to call each other if fed with the wrong class object,
-    but a warning is given
-  - changed handling of 'value' in pasteXMLNode(), now reflects 'shine' setting/indentation
+  - changed default 'shine' value of pasteXMLNode() and pasteXMLTree() from 2
+    to 1
+  - pasteXMLNode() and pasteXMLTree() now try to call each other if fed with
+    the wrong class object, but a warning is given
+  - changed handling of 'value' in pasteXMLNode(), now reflects 'shine'
+    setting/indentation
 
 changes in version 0.03-2 (2011-09-17)
   - added docs for classed XiMpLe.doc and XiMpLe.node
@@ -76,8 +98,10 @@
   - adjusted docs a little
 
 changes in version 0.02-1 (2011-08-30)
-  - added option "indent.by" to the paste functions, in case one prefers space over tab.
-  - moved all rk.* functions out of this package and into its own (rkwardplugdev)
+  - added option "indent.by" to the paste functions, in case one prefers
+    space over tab.
+  - moved all rk.* functions out of this package and into its own
+    (rkwardplugdev)
 
 changes in version 0.01-9 (2011-08-28)
   - tiny improvements to XML formatting
@@ -95,7 +119,8 @@
 changes in version 0.01-6 (2011-08-23)
   - added functions pasteXMLTree() and pasteXMLNode()
   - added validity checks for classes XiMpLe.doc and XiMpLe.node
-  - added function rk.XML.about() [which will probably be moved out of the package]
+  - added function rk.XML.about() [which will probably be moved out of the
+    package]
 
 changes in version 0.01-5 (2011-08-22)
   - writing new node values with node<-() partly works
@@ -112,4 +137,4 @@
 
 changes in version 0.01-1 (2011-08-14)
   - initial release via reaktanz.de
- 
\ No newline at end of file
+

Modified: trunk/rkward/packages/XiMpLe/DESCRIPTION
===================================================================
--- trunk/rkward/packages/XiMpLe/DESCRIPTION	2012-10-25 09:23:59 UTC (rev 4392)
+++ trunk/rkward/packages/XiMpLe/DESCRIPTION	2012-10-26 21:18:37 UTC (rev 4393)
@@ -17,8 +17,8 @@
 URL: http://reaktanz.de/?c=hacking&s=XiMpLe
 Authors at R: c(person(given="Meik", family="Michalke",
     email="meik.michalke at hhu.de", role=c("aut", "cre")))
-Version: 0.03-14
-Date: 2012-05-11
+Version: 0.03-15
+Date: 2012-10-26
 Collate:
     'XiMpLe-internal.R'
     'XiMpLe.node-class.R'

Modified: trunk/rkward/packages/XiMpLe/R/XiMpLe-internal.R
===================================================================
--- trunk/rkward/packages/XiMpLe/R/XiMpLe-internal.R	2012-10-25 09:23:59 UTC (rev 4392)
+++ trunk/rkward/packages/XiMpLe/R/XiMpLe-internal.R	2012-10-26 21:18:37 UTC (rev 4393)
@@ -53,7 +53,7 @@
 					} else {}
 					return(result.match)
 				}
-			}))
+			}), use.names=FALSE)
 		return(result)
 	}
 } ## end function split.chars()
@@ -78,17 +78,20 @@
 	# CDATA or comments can contain stuff which might ruin the outcome. we'll deal with those parts first.
 	tree <- split.chars(txt=tree, pattern="<!\\[CDATA\\[((?s).*?)\\]\\]>|/\\*[[:space:]]*<!\\[CDATA\\[[[:space:]]*\\*/((?s).*?)/\\*[[:space:]]*\\]\\]>[[:space:]]*\\*/|<!--((?s).*?)-->", perl=TRUE)
 	# now do the splitting
-	single.tags <- as.character(unlist(sapply(tree, function(this.tree){
+	single.tags <- sapply(tree, function(this.tree){
 				# exclude the already cut our comments an CDATA entries
 				if(XML.comment(this.tree) | XML.cdata(this.tree) | XML.commcdata(this.tree)){
 					return(this.tree)
 				} else {
-					these.tags <- split.chars(txt=this.tree, "<((?s).*?)>", perl=TRUE)
+					these.tags <- unlist(split.chars(txt=this.tree, "<((?s).*?)>", perl=TRUE), use.names=FALSE)
 					# remove probably troublesome content like newlines
 					these.tags[!XML.value(these.tags)] <- gsub("[[:space:]]+", " ", these.tags[!XML.value(these.tags)])
 					return(these.tags)
 				}
-			})))
+			})
+	single.tags <- unlist(single.tags, use.names=FALSE)
+	single.tags <- as.character(single.tags)
+
 	colnames(single.tags) <- NULL
 	if("comments" %in% drop){
 		single.tags <- single.tags[!XML.comment(single.tags)]
@@ -102,6 +105,8 @@
 	if("cdata" %in% drop){
 		single.tags <- single.tags[!XML.cdata(single.tags)]
 	} else {}
+	# force garbage collection
+	gc()
 	return(single.tags)
 } ## end function XML.single.tags()
 
@@ -113,7 +118,7 @@
 	if(shine > 0){
 		tag <- gsub("\n([^\t])", "\n\t\\1", tag, perl=TRUE)
 	} else {}
-	currentMinIndent <- min(nchar(unlist(strsplit(tag, "[^\t]+"))))
+	currentMinIndent <- min(nchar(unlist(strsplit(tag, "[^\t]+"), use.names=FALSE)))
 	indentDiff <- currentMinIndent - level
 	# if currentMinIndent is greater than level, reduce indentation
 	if(indentDiff > 0){
@@ -419,15 +424,25 @@
 
 ## function XML.nodes()
 XML.nodes <- function(single.tags, end.here=NA, start=1){
+	# to save memory, we'll put the single.tags object into an environment
+	# and pass that on to all iterations
+	if(is.environment(single.tags)){
+		single.tags.env <- single.tags
+		num.all.tags <- length(get("single.tags", envir=single.tags.env))
+	} else {
+		single.tags.env <- new.env()
+		assign("single.tags", single.tags, envir=single.tags.env)
+		num.all.tags <- length(single.tags)
+	}
 	# try to iterate through the single tags
 	children <- list()
 	tag.no <- start
 	## uncomment to debug:
 	# cat(start,"\n")
-	while (tag.no < length(single.tags)){
+	while (tag.no < num.all.tags){
 		## uncomment to debug:
 		# time.spent <- system.time({
-		this.tag <- single.tags[tag.no]
+		this.tag <- get("single.tags", envir=single.tags.env)[tag.no]
 		nxt.child <- length(children) + 1
 		child.name <- XML.tagName(this.tag)
 		child.end.tag <- paste("</[[:space:]]*", end.here,"[[:space:]>]+.*", sep="")
@@ -485,7 +500,7 @@
 		if(!XML.emptyTag(this.tag)){
 		## uncomment to debug:
 		# cat(child.name, ":", tag.no, "-", child.end.tag,"\n")
-			rec.nodes <- XML.nodes(single.tags, end.here=child.name, start=tag.no + 1)
+			rec.nodes <- XML.nodes(single.tags.env, end.here=child.name, start=tag.no + 1)
 			children[nxt.child] <- new("XiMpLe.node",
 				name=child.name,
 				attributes=child.attr,
@@ -504,8 +519,6 @@
 			tag.no <- tag.no + 1
 			next
 		}
-		# force garbage collection
-		gc()
 		## uncomment to debug:
 		# })
 		# cat("system.time:", time.spent, "\n")

Modified: trunk/rkward/packages/XiMpLe/R/XiMpLe-package.R
===================================================================
--- trunk/rkward/packages/XiMpLe/R/XiMpLe-package.R	2012-10-25 09:23:59 UTC (rev 4392)
+++ trunk/rkward/packages/XiMpLe/R/XiMpLe-package.R	2012-10-26 21:18:37 UTC (rev 4393)
@@ -3,8 +3,8 @@
 #' \tabular{ll}{
 #' Package: \tab XiMpLe\cr
 #' Type: \tab Package\cr
-#' Version: \tab 0.03-14\cr
-#' Date: \tab 2012-05-11\cr
+#' Version: \tab 0.03-15\cr
+#' Date: \tab 2012-10-26\cr
 #' Depends: \tab R (>= 2.9.0),methods\cr
 #' Enhances: \tab rkward\cr
 #' Encoding: \tab UTF-8\cr
@@ -22,6 +22,6 @@
 #' @name XiMpLe-package
 #' @docType package
 #' @title A simple XML tree parser and generator.
-#' @author m.eik michalke \email{meik.michalke@@hhu.de}
+#' @author Meik Michalke \email{meik.michalke@@hhu.de}
 #' @keywords package
 NULL

Modified: trunk/rkward/packages/XiMpLe/debian/changelog
===================================================================
--- trunk/rkward/packages/XiMpLe/debian/changelog	2012-10-25 09:23:59 UTC (rev 4392)
+++ trunk/rkward/packages/XiMpLe/debian/changelog	2012-10-26 21:18:37 UTC (rev 4393)
@@ -1,3 +1,9 @@
+r-other-reaktanz-ximple (0.03-15-1) unstable; urgency=low
+
+  * new upstream release
+
+ -- m.eik michalke <meik.michalke at hhu.de>  Fri, 26 Oct 2012 22:48:36 +0000
+
 r-other-reaktanz-ximple (0.03-14-1) unstable; urgency=low
 
   * new upstream release

Modified: trunk/rkward/packages/XiMpLe/debian/control
===================================================================
--- trunk/rkward/packages/XiMpLe/debian/control	2012-10-25 09:23:59 UTC (rev 4392)
+++ trunk/rkward/packages/XiMpLe/debian/control	2012-10-26 21:18:37 UTC (rev 4393)
@@ -1,4 +1,4 @@
-Source: r-other-rkward-ximple
+Source: r-other-reaktanz-ximple
 Section: math
 Priority: optional
 Maintainer: m.eik michalke <meik.michalke at hhu.de>
@@ -6,7 +6,7 @@
 Standards-Version: 3.9.3.1
 Homepage: http://reaktanz.de/?c=hacking&s=XiMpLe
 
-Package: r-other-rkward-ximple
+Package: r-other-reaktanz-ximple
 Architecture: all
 Section: math
 Depends: r-base (>= 2.15.0)

Modified: trunk/rkward/packages/XiMpLe/debian/copyright
===================================================================
--- trunk/rkward/packages/XiMpLe/debian/copyright	2012-10-25 09:23:59 UTC (rev 4392)
+++ trunk/rkward/packages/XiMpLe/debian/copyright	2012-10-26 21:18:37 UTC (rev 4393)
@@ -3,7 +3,7 @@
 This Debian package was put together m.eik michalke <meik.michalke at hhu.de>.
 
 The package was renamed from its upstream name 'XiMpLe' to
-'r-other-rkward-ximple' in harmony with the R packaging policy to indicate
+'r-other-reaktanz-ximple' in harmony with the R packaging policy to indicate
 that the package is external to the CRAN or BioC repositories.
 
 XiMpLe Copyright (C) 2012 Meik Michalke, released under the

Modified: trunk/rkward/packages/XiMpLe/debian/rules
===================================================================
--- trunk/rkward/packages/XiMpLe/debian/rules	2012-10-25 09:23:59 UTC (rev 4392)
+++ trunk/rkward/packages/XiMpLe/debian/rules	2012-10-26 21:18:37 UTC (rev 4393)
@@ -1,9 +1,9 @@
 #!/usr/bin/make -f
 #								-*- makefile -*-
-# debian/rules file for the Debian/GNU Linux r-other-rkward-ximple package
+# debian/rules file for the Debian/GNU Linux r-other-reaktanz-ximple package
 # Copyright 2012 by m.eik michalke <meik.michalke at hhu.de>
 
-debRreposname := other-rkward
+debRreposname := other-reaktanz
 
 include /usr/share/R/debian/r-cran.mk
 

Modified: trunk/rkward/packages/XiMpLe/inst/CITATION
===================================================================
--- trunk/rkward/packages/XiMpLe/inst/CITATION	2012-10-25 09:23:59 UTC (rev 4392)
+++ trunk/rkward/packages/XiMpLe/inst/CITATION	2012-10-26 21:18:37 UTC (rev 4393)
@@ -2,12 +2,12 @@
 		title="XiMpLe: A simple XML tree parser and generator",
 		author="Meik Michalke",
 		year="2012",
-		note="(Version 0.03-14)",
+		note="(Version 0.03-15)",
 		url="http://reaktanz.de/?c=hacking&s=XiMpLe",
 
 		textVersion =
 		paste("Michalke, M. (2012). ",
-				"XiMpLe: A simple XML tree parser and generator (Version 0.03-14). ",
+				"XiMpLe: A simple XML tree parser and generator (Version 0.03-15). ",
 				"Available from http://reaktanz.de/?c=hacking&s=XiMpLe",
 				sep=""),
 

Modified: trunk/rkward/packages/XiMpLe/inst/NEWS.Rd
===================================================================
--- trunk/rkward/packages/XiMpLe/inst/NEWS.Rd	2012-10-25 09:23:59 UTC (rev 4392)
+++ trunk/rkward/packages/XiMpLe/inst/NEWS.Rd	2012-10-26 21:18:37 UTC (rev 4393)
@@ -1,10 +1,25 @@
 \name{NEWS}
 \title{News for Package 'XiMpLe'}
 \encoding{UTF-8}
+\section{Changes in XiMpLe version 0.03-15 (2012-10-26)}{
+  \subsection{fixed}{
+    \itemize{
+      \item eliminated a memory problem for large XML trees. calling \code{unlist()} with
+        use.names=FALSE really makes a difference...
+    }
+  }
+  \subsection{changed}{
+    \itemize{
+      \item reviewed the garbage collecting and internally moved it out of
+        \code{XML.nodes()} into \code{XML.single.tags()}
+    }
+  }
+}
 \section{Changes in XiMpLe version 0.03-14 (2012-05-11)}{
   \subsection{added}{
     \itemize{
-      \item forcing garbage collection \code{gc()} in internal function \code{XML.nodes()}, which iterates through parsed XML trees
+      \item forcing garbage collection \code{gc()} in internal function \code{XML.nodes()}, which
+        iterates through parsed XML trees
     }
   }
   \subsection{changed}{
@@ -23,68 +38,79 @@
   \subsection{changed}{
     \itemize{
       \item \code{parseXMLTree()} now takes connections as \code{"file"} parameter
-      \item commented CDATA tags (like they're used in XHTML) can now be detected and pasted
+      \item commented CDATA tags (like they're used in XHTML) can now be detected and
+        pasted
       \item \code{pasteXMLTag()} adjusts indentation level of value tags and comments
     }
   }
   \subsection{fixed}{
     \itemize{
-      \item feeding internet addresses to \code{parseXMLTree()} no longer throws an error, skipping \code{normalize.path()} then now
+      \item feeding internet addresses to \code{parseXMLTree()} no longer throws an error,
+        skipping \code{normalize.path()} then now
       \item \code{parseXMLTree()} now preserves newlines in value tags and comments
     }
   }
 }
 \section{Changes in XiMpLe version 0.03-12 (2012-03-18)}{
   \itemize{
-    \item \code{node()} now also works with single XiMpLe.node objects (not only full trees)
-    \item added pasteXML methods to paste objects of classes XiMpLe.node and XiMpLe.doc in a more
-      general manner. the former functions \code{pasteXMLNode()} and \code{pasteXMLTree()} are replaced by mere
-      wrapper frunctions to \code{pasteXML()} and should not be used any longer.
+    \item \code{node()} now also works with single XiMpLe.node objects (not only full
+      trees)
+    \item added pasteXML methods to paste objects of classes XiMpLe.node and
+      XiMpLe.doc in a more general manner. the former functions \code{pasteXMLNode()} and
+      \code{pasteXMLTree()} are replaced by mere wrapper frunctions to \code{pasteXML()} and
+      should not be used any longer.
     \item fixed dropped text value if node also had child nodes in \code{pasteXML()}
     \item fixed missing quotes in DOCTYPE id (\code{pasteXML()})
   }
 }
 \section{Changes in XiMpLe version 0.03-11 (2012-03-14)}{
   \itemize{
-    \item added functions \code{XMLNode()} and \code{XMLTree()} as constructor functions for XML nodes and trees.
-    \item added opton \code{"object"} to \code{parseXMLTree()}, to be able to parse XML trees not only from files, but also character vectors
+    \item added functions \code{XMLNode()} and \code{XMLTree()} as constructor functions for XML
+      nodes and trees.
+    \item added opton \code{"object"} to \code{parseXMLTree()}, to be able to parse XML trees not
+      only from files, but also character vectors
     \item output of internal function \code{XML.single.tags()} has no colname any more
-    \item text values of nodes are no longer followed by an empty newline in \code{pasteXMLNode()}
+    \item text values of nodes are no longer followed by an empty newline in
+      \code{pasteXMLNode()}
   }
 }
 \section{Changes in XiMpLe version 0.03-10 (2012-03-11)}{
   \itemize{
-    \item fixed bug in parsing of attributes, their names are now all quoted by default o not run into issues
-      if they contain R-sensitive characters (like "http-equiv")
+    \item fixed bug in parsing of attributes, their names are now all quoted by
+      default o not run into issues if they contain R-sensitive characters (like
+      "http-equiv")
   }
 }
 \section{Changes in XiMpLe version 0.03-9 (2012-03-10)}{
   \itemize{
-    \item re-formatted the ChangeLog so roxyPackage can translate it into a NEWS.Rd file
+    \item re-formatted the ChangeLog so roxyPackage can translate it into a NEWS.Rd
+      file
   }
 }
 \section{Changes in XiMpLe version 0.03-8 (2011-11-17)}{
   \itemize{
-    \item rewrote large parts of internal function \code{XML.single.tags()} for more efficiency, allthough it's still quite
-      lethargic when handling huge XML trees
+    \item rewrote large parts of internal function \code{XML.single.tags()} for more
+      efficiency, allthough it's still quite lethargic when handling huge XML trees
   }
 }
 \section{Changes in XiMpLe version 0.03-7 (2011-10-23)}{
   \itemize{
-    \item added "&" to the special characters for \code{"tidy"} (only applies if theres space before and after)
-    \item \code{"tidy"} now also indents text in comments and CDATA if it includes the newline character
+    \item added "&" to the special characters for \code{"tidy"} (only applies if theres
+      space before and after)
+    \item \code{"tidy"} now also indents text in comments and CDATA if it includes the
+      newline character
   }
 }
 \section{Changes in XiMpLe version 0.03-6 (2011-10-09)}{
   \itemize{
-    \item added \code{"tidy"} option to the paste functions, which is TRUE by default since "<" and ">" are
-      invalid in attributes and text anyway
+    \item added \code{"tidy"} option to the paste functions, which is TRUE by default
+      since "<" and ">" are invalid in attributes and text anyway
   }
 }
 \section{Changes in XiMpLe version 0.03-5 (2011-10-07)}{
   \itemize{
-    \item fixed tree parsing bug (in rare cases, comment and CDATA entries caused parsing to choke on
-      empty lines)
+    \item fixed tree parsing bug (in rare cases, comment and CDATA entries caused
+      parsing to choke on empty lines)
   }
 }
 \section{Changes in XiMpLe version 0.03-4 (2011-10-01)}{
@@ -94,10 +120,12 @@
 }
 \section{Changes in XiMpLe version 0.03-3 (2011-09-27)}{
   \itemize{
-    \item changed default 'shine' value of \code{pasteXMLNode()} and \code{pasteXMLTree()} from 2 to 1
-    \item \code{pasteXMLNode()} and \code{pasteXMLTree()} now try to call each other if fed with the wrong class object,
-      but a warning is given
-    \item changed handling of 'value' in \code{pasteXMLNode()}, now reflects 'shine' setting/indentation
+    \item changed default 'shine' value of \code{pasteXMLNode()} and \code{pasteXMLTree()} from 2
+      to 1
+    \item \code{pasteXMLNode()} and \code{pasteXMLTree()} now try to call each other if fed with
+      the wrong class object, but a warning is given
+    \item changed handling of 'value' in \code{pasteXMLNode()}, now reflects 'shine'
+      setting/indentation
   }
 }
 \section{Changes in XiMpLe version 0.03-2 (2011-09-17)}{
@@ -119,8 +147,10 @@
 }
 \section{Changes in XiMpLe version 0.02-1 (2011-08-30)}{
   \itemize{
-    \item added option \code{"indent.by"} to the paste functions, in case one prefers space over tab.
-    \item moved all rk.* functions out of this package and into its own (rkwardplugdev)
+    \item added option \code{"indent.by"} to the paste functions, in case one prefers
+      space over tab.
+    \item moved all rk.* functions out of this package and into its own
+      (rkwardplugdev)
   }
 }
 \section{Changes in XiMpLe version 0.01-9 (2011-08-28)}{
@@ -146,7 +176,8 @@
   \itemize{
     \item added functions \code{pasteXMLTree()} and \code{pasteXMLNode()}
     \item added validity checks for classes XiMpLe.doc and XiMpLe.node
-    \item added function \code{rk.XML.about()} [which will probably be moved out of the package]
+    \item added function \code{rk.XML.about()} [which will probably be moved out of the
+      package]
   }
 }
 \section{Changes in XiMpLe version 0.01-5 (2011-08-22)}{

Modified: trunk/rkward/packages/XiMpLe/man/XiMpLe-package.Rd
===================================================================
--- trunk/rkward/packages/XiMpLe/man/XiMpLe-package.Rd	2012-10-25 09:23:59 UTC (rev 4392)
+++ trunk/rkward/packages/XiMpLe/man/XiMpLe-package.Rd	2012-10-26 21:18:37 UTC (rev 4393)
@@ -8,8 +8,8 @@
 }
 \details{
   \tabular{ll}{ Package: \tab XiMpLe\cr Type: \tab
-  Package\cr Version: \tab 0.03-14\cr Date: \tab
-  2012-05-11\cr Depends: \tab R (>= 2.9.0),methods\cr
+  Package\cr Version: \tab 0.03-15\cr Date: \tab
+  2012-10-26\cr Depends: \tab R (>= 2.9.0),methods\cr
   Enhances: \tab rkward\cr Encoding: \tab UTF-8\cr License:
   \tab GPL (>= 3)\cr LazyLoad: \tab yes\cr URL: \tab
   http://reaktanz.de/?c=hacking&s=XiMpLe\cr }
@@ -23,7 +23,7 @@
   for RKWard.
 }
 \author{
-  m.eik michalke \email{meik.michalke at hhu.de}
+  Meik Michalke \email{meik.michalke at hhu.de}
 }
 \keyword{package}
 

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