processXInclude {XML} | R Documentation

## Perform the XInclude substitutions

### Description

This function and its methods process the XInclude directives within the document of the form `<xi:include href="..." xpointer=".."` and perform the actual substitution.

These are only relevant for "internal nodes" as generated via `xmlInternalTreeParse` and `newXMLNode` and their related functions. When dealing with XML documents via `xmlTreeParse` or `xmlEventParse`, the XInclude nodes are controlled during the parsing.

### Usage

    processXInclude(node, flags = 0L)

### Arguments

`node` | an XMLInternalDocument object or an XMLInternalElement node or a list of such internal nodes, e.g. returned from `xpathApply`.
`flags` | an integer value that provides information to control how the XInclude substitutions are done, i.e. how they are parsed. This is a bitwise OR'ing of some or all of the xmlParserOption values. This will be turned into an enum in R in the future.

### Value

These functions are used for their side-effect to modify the document and its nodes.

### Author(s)

Duncan Temple Lang

### References

libxml2 http://www.xmlsoft.org XInclude

### See Also

`xmlInternalTreeParse` `newXMLNode`

### Examples

      f = system.file("exampleData", "include.xml", package = "XML")
      doc = xmlInternalTreeParse(f, xinclude = FALSE)

      cat(saveXML(doc))
      sects = getNodeSet(doc, "//section")
      sapply(sects, function(x) xmlName(x[[2]]))
      processXInclude(doc)

      cat(saveXML(doc))

      f = system.file("exampleData", "include.xml", package = "XML")
      doc = xmlInternalTreeParse(f, xinclude = FALSE)
      section1 = getNodeSet(doc, "//section")[[1]]

         # process
      processXInclude(section1[[2]])

[Package XML version 3.98-1.5 Index]