xmlTree {XML} | R Documentation |
This is a mutable object (implemented via a closure)
for representing an XML tree, in the same
spirit as xmlOutputBuffer
and xmlOutputDOM
but that uses the internal structures of
libxml.
This can be used to create a DOM that can be
constructed in R and exported to another system
such as XSLT (http://www.omegahat.org/Sxslt)
xmlTree(tag, attrs = NULL, dtd=NULL, namespaces=list())
tag |
the tagname of the top-level element. This is basically ignored! |
attrs |
attributes for the top-level node, in the form of a named vector or list. |
dtd |
the name of the external DTD for this document. See newXMLDoc |
namespaces |
a named character vector with each element giving the name space identifier and the
corresponding URI, \
e.g c(shelp = "http://www.omegahat.org/XML/SHelp") |
This creates a collection of functions that manipulate a shared state to build and maintain an XML tree in C-level code.
An object of class
XMLInternalDOM
that extends XMLOutputStream
and has the same interface (i.e. ``methods'') as
xmlOutputBuffer
and xmlOutputDOM
.
Each object has methods for
adding a new XML tag,
closing a tag, adding an XML comment,
and retrieving the contents of the tree.
addTag |
create a new tag at the current position, optionally leaving it as the active open tag to which new nodes will be added as children |
closeTag |
close the currently active tag making its parent the active element into which new nodes will be added. |
addComment |
add an XML comment node as a child of the active node in the document. |
value |
retrieve an object representing the
XML tree. See saveXML to serialize the
contents of the tree. |
add |
degenerate method in this context. |
This is an early version of this function and I need to iron out some of the minor details.
Duncan Temple Lang
http://www.w3.org/XML, http://www.xmlsoft.org, http://www.omegahat.org
saveXML
newXMLDoc
newXMLNode
xmlOutputBuffer
xmlOutputDOM
tr <- xmlTree("Duncan") tr$addTag("name", attrs=c(a=1,b="xyz"), close=FALSE) tr$addTag("first", "Larry") tr$addTag("last", "User") tr$closeTag() tr$value() cat(saveXML(tr$value())) tr <- xmlTree("CDataTest") tr$addTag("top", close=FALSE) tr$addCData("x <- list(1, a='&');\nx[[2]]") tr$addPI("S", "plot(1:10)") tr$closeTag() cat(saveXML(tr$value()))