Determine the location - file & line number of an (internal) XML node
The getLineNumber
function is used to query the location of an internal/C-level
XML node within its original "file". This gives us the line number.
getNodeLocation
gives both the line number and the name of the
file in which the node is located, handling XInclude files in a
top-level document and identifying the included file, as appropriate.
getNodePosition
returns a simplified version of
getNodeLocation
,
combining the file and line number into a string and ignoring the
XPointer
component.
This is useful when we identify a node with a particular charactestic and want to view/edit the original document, e.g. when authoring an Docbook article.
getLineNumber(node, ...) getNodeLocation(node, recursive = TRUE, fileOnly = FALSE)
node |
the node whose location or line number is of interest |
... |
additional parameters for methods should they be defined. |
recursive |
a logical value that controls whether the full path of the nested includes is returned or just the path in the immediate XInclude element. |
fileOnly |
a logical value which if |
getLineNumber
returns an integer.
getNodeLocation
returns a list with two elements -
file
and line
which are a character string
and the integer line number.
For text nodes, the line number is taken from the previous sibling nodes or the parent node.
Duncan Temple Lang
libxml2
f = system.file("exampleData", "xysize.svg", package = "XML") doc = xmlParse(f) e = getNodeSet(doc, "//ellipse") sapply(e, getLineNumber)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.