\name{print.XMLAttributeDef} \alias{print.XMLAttributeDef} \alias{print.XMLCDataNode} \alias{print.XMLElementContent} \alias{print.XMLElementDef} \alias{print.XMLEntity} \alias{print.XMLEntityRef} \alias{print.XMLNode} \alias{print.XMLTextNode} \alias{print.XMLComment} \alias{print.XMLOrContent} \alias{print.XMLSequenceContent} \alias{print.XMLProcessingInstruction} \title{Methods for displaying XML objects} \description{ These different methods attempt to provide a convenient way to display R objects representing XML elements when they are printed in the usual manner on the console, files, etc. via the \code{\link{print}} function. Each typically outputs its contents in the way that they would appear in an XML document. } \usage{ \method{print}{XMLNode}(x, ..., indent= "", tagSeparator = "\n") \method{print}{XMLComment}(x, ..., indent = "", tagSeparator = "\n") \method{print}{XMLTextNode}(x, ..., indent = "", tagSeparator = "\n") \method{print}{XMLCDataNode}(x, ..., indent="", tagSeparator = "\n") \method{print}{XMLProcessingInstruction}(x, ..., indent="", tagSeparator = "\n") \method{print}{XMLAttributeDef}(x, ...) \method{print}{XMLElementContent}(x, ...) \method{print}{XMLElementDef}(x, ...) \method{print}{XMLEntity}(x, ...) \method{print}{XMLEntityRef}(x, ..., indent= "", tagSeparator = "\n") \method{print}{XMLOrContent}(x, ...) \method{print}{XMLSequenceContent}(x, ...) } \arguments{ \item{x}{the XML object to be displayed} \item{...}{additional arguments for controlling the output from print. Currently unused.} \item{indent}{a prefix that is emitted before the node to indent it relative to its parent and child nodes. This is appended with a space at each succesive level of the tree. If no indentation is desired (e.g. when \code{\link{xmlTreeParse}} is called with \code{trim} and \code{ignoreBlanks} being \code{FALSE}) and \code{TRUE} respectively, one can pass the value \code{FALSE} for this \code{indent} argument. } \item{tagSeparator}{when printing nodes, successive nodes and children are by default displayed on new lines for easier reading. One can specify a string for this argument to control how the elements are separated in the output. The primary purpose of this argument is to allow no space between the elements, i.e. a value of \code{""}. } } \value{ Currently, \code{NULL}. } \references{\url{https://www.w3.org}, \url{https://www.omegahat.net/RSXML/}} \author{Duncan Temple Lang} \seealso{ \code{\link{xmlTreeParse}} } \note{We could make the node classes self describing with information about whether \code{ignoreBlanks} was \code{TRUE} or \code{FALSE} and if trim was TRUE or FALSE. This could then be used to determine the appropriate values for \code{indent} and \code{tagSeparator}. Adding an S3 class element would allow this to be done without the addition of an excessive number of classes. } \examples{ fileName <- system.file("exampleData", "event.xml", package ="XML") # Example of how to get faithful copy of the XML. doc = xmlRoot(xmlTreeParse(fileName, trim = FALSE, ignoreBlanks = FALSE)) print(doc, indent = FALSE, tagSeparator = "") # And now the default mechanism doc = xmlRoot(xmlTreeParse(fileName)) print(doc) } \keyword{IO} \keyword{file}