| NEWS | R Documentation | 
News for Package 'XiMpLe'
Changes in XiMpLe version 0.11-3 (2024-07-18)
fixed
-  XMLNode(): named attributes with NULL value are now removed
Changes in XiMpLe version 0.11-2 (2023-08-22)
changed
- dependencies: an old - paste0()wrapper for R <= 2.15 was removed, the package now requires at least R 3.0
- ChangeLog: removed again the entry from 0.11-1 that the ChangeLog was fixed, because that was actually just caused by a temporary bug in roxyPackage that was quickly found and fixed 
Changes in XiMpLe version 0.11-1 (2023-03-02)
breaking
-  XMLNode(): first argument was renamed from"name"to"tag_name"to improve the newly added feature to add attributes via the dots argument (see below); since"name"is also a very common attribute and most users will likely have omitted the first argument name, this hopefully doesn't break too many scripts. if it does, you'll get an appropriate error message
changed
-  XMLNode(): you can now define attributes in the dots argument as well by using a named character string; the attrs argument can still be used as before, it just doesn't have a NULL default value any more
-  XMLNode(): defining an attribute value ascharacter()will result in an empty attribute
-  parseXMLTree(): is now able to deal with empty attributes; to silently drop empty attributes instead, you can use the new drop="empty_attributes"option
-  pasteXML()/pasteXMLTag(): re-wrote most oft the pasting routine resulting in better formatted output
-  XMLValidity(): constructor function is now directly derived from the class definition instead of a separate function/file
-  XMLNode(): arguments are no longer NULL if unused (formals) code was re-written and cleaned up all over the place
added
- XiMpLe_node/XiMpLe_doc: New object classes inheriting from XiMpLe.node and XiMpLe.doc, respectively, adding two new slots, - "extra"and- "version";- "extra"is currently used to implement the ability to store a- "shine"level on each node individually (see- XMLNode()below); XiMpLe.node and XiMpLe.doc should no longer be used, they are currently still around only for backwards compatibility
-  as_XiMpLe_node()/as_XiMpLe_doc(): methods to recursively update old XiMpLe.node and XiMpLe.doc objects into XiMpLe_node and XiMpLe_doc
-  gen_tag_functions(): generate shortcut functions to create XML tags with less typing and better readability of your code
-  provide_file(): function to keep referenced files up to date in a project directory
-  pasteXML()/pasteXMLTag(): new arguments"as_script","func_name", and"func_rename"; if "as_script=TRUE" you will not get XML code but R script code that can be used together withgen_tag_functions()to re-generate the XiMpLe object. a use case is existing XML code you would like to maintain with XiMpLe: import it withparseXMLTree()and make an initial script with pasteXML(as_script=TRUE) you can now define the default indentation character by setting the global option"XiMpLe_indent"
-  XiMpLe_node()/XiMpLe_doc(): new constructor functions to be used instead of new("XiMpLe_node")/new("XiMpLe_doc")
-  XMLNode(): new argument"shine"now allows to change the shine level from a node onward, overwriting the level set withpasteXML()globally
Changes in XiMpLe version 0.10-3 (2020-09-19)
fixed
- *-package.R/.Rd: use macros like \packageDescription{} - pasteXMLTag(): fixed warning when tag contains only whitespace chars
added
-  pasteXML(): new argument"tidy.omit"to define node names where"tidy"should not replace characters; by default <![CDATA[ ]]> nodes are omitted
Changes in XiMpLe version 0.10-2 (2017-12-12)
fixed
- node<-: somehow - sapply()in R-devel began to return lists where until now vectors were returned, which broke this method
changed
- consequently use USE.NAMES=FALSE in sapply to reduce memory overhead replaced SWeave/PDF vignette with a version in RMarkdown/HTML 
Changes in XiMpLe version 0.10-1 (2017-04-10)
fixed
-  XMLValue()didn't return values in "!value!" special child nodes adjusted internal functionXML.nodes()to work with R 3.3 (embedding S4 objects in lists)
added
- new method - validXML()for some basic validity checks
- new class XiMpLe.validity to define valid child nodes and attributes 
- new function - is.XiMpLe.validity()
- new method - XMLgenerators()for objects of class XiMpLe.validity
- new tests for validity checks 
-  XMLTree()(and hence objects of class XiMpLe.doc) now also accept a list of XiMpLe nodes with <?... ?> style tags as the"xml"slot
changed
- moved documentation of - is.XiMpLe.node()and- is.XiMpLe.doc()to the respective classes
-  pasteXML()gained support for tag names starting with "?" and ends them with "?>" instead of "/>"
-  parseXMLTree()now accepts more than one XML declaration at the beginning of a file
- version number took a big jump only because of the CRAN policies! 
Changes in XiMpLe version 0.03-23 (2015-11-24)
changed
- relocated the unit tests to tests/testthat 
fixed
-  XMLScanDeep()was said to examine node names, children and values as well as attributes, but in fact it was hard-wired on attributes only. removed children from the list and added support for names and values
- corrected internal function - setMinIndent()and- pasteXMLTag()for better indentation for comments
- internal function - indent()can now handle negative levels
Changes in XiMpLe version 0.03-22 (2014-12-02)
fixed
- added curly brackets to the function bodies of all - setGeneric()calls to satisfy roxygen2
changed
- allowing empty attributes (attr= - ""), these were skipped, but only if there was more than one attribute
Changes in XiMpLe version 0.03-21 (2013-12-21)
added
- new attribute - "as.list"added to- XMLScan(), if TRUE forces the return value to be a list of length 1 (default is still to directly return the single node).
- new method - XMLScanDeep()recursively scans for attributes and returns all which were found
changed
- added a proper GPL notice at the beginning of each R file the vignette was moved from inst/doc to inst/vignettes 
- synced names of Author: and Maintainer: in DESCRIPTION with Autors@R: 
Changes in XiMpLe version 0.03-20 (2013-03-30)
changed
- internally replaced paste(..., sep= - "") calls with paste0(...). for R versions older than 2.15 (when- paste0()was introduced), a wrapper function should kick in, so we don't need to change the dependencies.
Changes in XiMpLe version 0.03-19 (2013-02-24)
added
- new methods - XMLScan()and- XMLScan()<- to search an XML tree recursively for appearances of certain node names
Changes in XiMpLe version 0.03-18 (2013-02-11)
changed
- renamed getter methods from getXML*() into the more generic XML*() 
added
- added setter methods XML*()<- to all getter methods 
- added tests for getter/setter methods 
Changes in XiMpLe version 0.03-17 (2013-02-04)
added
- added proper - is.XiMpLe.node()and- is.XiMpLe.doc()functions
- added getter functions for all slots in XiMpLe.node and XiMpLe.doc objects (e.g., - getXMLName()to get the name slot of a XiMpLe.node object)
Changes in XiMpLe version 0.03-16 (2012-11-05)
added
- added examples to all functions 
- added a vignette 
- additional tests for - node()<-
fixed
- fixed dropping of last tag/text value if XML was incomplete, e.g., just an excerpt of a full tree 
- fixed handling of empty tags completely without space, e.g. "<br/>" instead of "<br />" 
- parsing error for DOCTYPE nodes mixed up elements and previously ignored the - "decl"value
-  node()<- now replaces both text values and pseudo tags with a new value. this can still be problematic for child nodes which contain a mix of pseudo and actual tags, so a warning will be given until this is resolved
changed
-  node()now reports text values of nodes which have"value"and a pseudo tag at the same time as one character string, like pasteXML does
Changes in XiMpLe 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 XiMpLe version 0.03-14 (2012-05-11)
added
- 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"
Changes in XiMpLe version 0.03-13 (2012-04-19)
added
- added a LICENSE file 
- 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
-  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- parseXMLTree()now preserves newlines in value tags and comments
Changes in XiMpLe 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.
- fixed dropped text value if node also had child nodes in - pasteXML()
- fixed missing quotes in DOCTYPE id ( - pasteXML())
Changes in XiMpLe 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
- 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()
Changes in XiMpLe 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") 
Changes in XiMpLe version 0.03-9 (2012-03-10)
- re-formatted the ChangeLog so roxyPackage can translate it into a NEWS.Rd file 
Changes in XiMpLe 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
Changes in XiMpLe 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
Changes in XiMpLe 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
Changes in XiMpLe 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) 
Changes in XiMpLe version 0.03-4 (2011-10-01)
- added show methods for objects of class XiMpLe.doc and XiMpLe.node 
Changes in XiMpLe version 0.03-3 (2011-09-27)
- changed default 'shine' value of - pasteXMLNode()and- pasteXMLTree()from 2 to 1
-  pasteXMLNode()andpasteXMLTree()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 XiMpLe version 0.03-2 (2011-09-17)
- added docs for classed XiMpLe.doc and XiMpLe.node 
Changes in XiMpLe version 0.03-1 (2011-09-11)
- fixed outstanding issue with complex value structures 
- changed "Author@R" to "Authors@R" in DESCRIPTION (for R >= 2.14) 
Changes in XiMpLe version 0.02-2 (2011-09-01)
- fixed missing - "methods"dependecy
- adjusted docs a little 
Changes in XiMpLe 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) 
Changes in XiMpLe version 0.01-9 (2011-08-28)
- tiny improvements to XML formatting 
- added functions - rk.XML.tabbook(),- rk.XML.dropdown(),- rk.XML.plugin()rk.- XML.pluginmap()and- rk.plugin.skeleton()[to be moved again]
Changes in XiMpLe version 0.01-8 (2011-08-26)
- improved handling of comments a lot 
Changes in XiMpLe version 0.01-7 (2011-08-24)
- fixed typo bug in - XML.single.tags()
- improved support for comments and CDATA 
- improved XML formatting 
Changes in XiMpLe 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]
Changes in XiMpLe version 0.01-5 (2011-08-22)
- writing new node values with node<-() partly works 
Changes in XiMpLe version 0.01-4 (2011-08-21)
- rewrote and renamed - getNode()to- node()
Changes in XiMpLe version 0.01-3 (2011-08-18)
- checks XML and DTD declaration now 
- added - getNode()method
Changes in XiMpLe version 0.01-2 (2011-08-15)
- iterating through an XML tree actually works now 
Changes in XiMpLe version 0.01-1 (2011-08-14)
- initial release via reaktanz.de