XML (version 3.98-1.9)

processXInclude: 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.

References

libxml2 http://www.xmlsoft.org XInclude

See Also

xmlInternalTreeParse newXMLNode

Examples

Run this code

  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]])

Run the code above in your browser using DataCamp Workspace