This function is used to get an understanding of the use of element and attribute names in an XML document. It uses a collection of handler functions to gather the information via a SAX-style parser. The distribution of attribute names is done within each "type" of element (i.e. element name)

xmlElementSummary(url, handlers = xmlElementSummaryHandlers(url))

Arguments

url

the source of the XML content, e.g. a file, a URL, a compressed file, or a character string

handlers

the list of handler functions used to collect the information. These are passed to the function xmlEventParse as the value for the handlers parameter.

Value

A list with two elements

nodeCounts

a named vector of counts where the names are the (XML namespace qualified) element names in the XML content

attributes

a list with as many elements as there are elements in the nodeCounts element of the result. Each element of this sub-list gives the frequency counts for the different attributes seen within the XML elements with that name.

Author

Duncan Temple Lang

See also

Examples

  xmlElementSummary(system.file("exampleData", "eurofxref-hist.xml.gz", package = "XML"))
#> $nodeCounts
#>            Cube gesmes:Envelope  gesmes:subject   gesmes:Sender     gesmes:name 
#>           60086               1               1               1               1 
#> 
#> $attributes
#> $attributes$`gesmes:Envelope`
#> xmlns:gesmes        xmlns 
#>            1            1 
#> 
#> $attributes$Cube
#>     time currency     rate 
#>     1991    58094    58094 
#> 
#>