asXMLTreeNode {XML} | R Documentation

## Convert a regular XML node to one for use in a "flat" tree

### Description

This coerces a regular R-based XML node (i.e. not an internal C-level node) to a form that can be inserted into a flat tree, i.e. one that stores the nodes in a non-hierarchical manner. It is thus used in conjunction with `xmlHashTree` and `xmlFlatListTree`. It adds `id` and `env` fields to the node and specializes the class by prefixing `className` to the class attribute.

This is not used very much anymore as we use the internal nodes for most purposes.

### Usage

    asXMLTreeNode(node, env, id = get(".nodeIdGenerator", env)(xmlName(node)),
                  className = "XMLTreeNode")

### Arguments

`node` | the original XML node
`env` | the `XMLFlatTree` object into which this node will be inserted.
`id` | the identifier for the node in the flat tree. If this is not specified, we consult the tree itself and its built-in identifier generator. By default, the name of the node is used as its identifier unless there is another node with that name.
`className` | a vector of class names to be prefixed to the existing class vector of the node.

### Value

An object of class `className`, i.e. by default `"XMLTreeNode"`.

### Author(s)

Duncan Temple Lang

### References

http://www.w3.org/XML

### See Also

`xmlHashTree` `xmlFlatListTree`

### Examples

      txt = '<foo a="123" b="an attribute"><bar>some text</bar>other text</foo>'
      doc = xmlTreeParse(txt)

      class(xmlRoot(doc))

      as(xmlRoot(doc), "XMLInternalNode")

[Package XML version 3.98-1.5 Index]