xmlNode {XML} | R Documentation

## Create an XML node

### Description

These functions allow one to create XML nodes as are created in C code when reading XML documents. Trees of XML nodes can be constructed and integrated with other trees generated manually or with via the parser.

### Usage

    xmlNode(name, ..., attrs=NULL, namespace="", .children = list(...))
    xmlTextNode(value, namespace="", entities = XMLEntities)
    xmlPINode(sys, value, namespace="")
    xmlCDataNode(...)
    xmlCommentNode(text)

### Arguments

`name` | The tag or element name of the XML node. This is what appears in the elements as `<name> .. </name>`
`...` | The children nodes of this XML node. These can be objects of class `XMLNode` or arbitrary values that will be converted to a string to form an `XMLTextNode` object.
`.children` | an alternative mechanism to specifying the children which is useful for programmatic use when one has the children in an existing list. The ... mechanism is for use when the children are specified directly and individually.
`attrs` | A named character vector giving the name, value pairs of attributes for this XML node.
`value` | This is the text that is to be used when forming an `XMLTextNode`.
`namespace` | The XML namespace identifier for this node.
`sys` | the name of the system for which the processing instruction is targeted. This is the value that appears in the `<?sys value?>`
`text` | character string giving the contents of the comment.
`entities` | a character vector giving the mapping from special characters to their entity equivalent. This provides the character-expanded entity pairings of 'character = entity' , e.g. '<' = "lt" which are used to make the content valid XML so that it can be used within a text node. The text searched sequentially for instances of each character in the names and each instance is replaced with the corresponding '&entity;'

### Value

An object of class `XMLNode`. In the case of `xmlTextNode`, this also inherits from `XMLTextNode`. The fields or slots that objects of these classes have include `name`, `attributes`, `children` and `namespace`. However, one should the accessor functions `xmlName`, `xmlAttrs`, `xmlChildren` and `xmlNamespace`

### Author(s)

Duncan Temple Lang

### References

http://www.w3.org/XML, http://www.jclark.com/xml, http://www.omegahat.org

### See Also

`addChildren` `xmlTreeParse` `asXMLNode` `newXMLNode` `newXMLPINode` `newXMLCDataNode` `newXMLCommentNode`

### Examples

     # node named arg with two children: name and defaultValue
     # Both of these have a text node as their child.
    a <- xmlNode("arg", attrs = c(default="TRUE"),
                   xmlNode("name", "foo"), xmlNode("defaultValue","1:10"))

      # internal C-level node.
     newXMLNode("arg", attrs = c(default = "TRUE"),
                 newXMLNode("name", "foo"),
                 newXMLNode("defaultValue", "1:10"))

[Package XML version 1.93-2.1 Index]