SAXEntity.R
entities <- new.env(TRUE)
assign(".text", "", entities)
handlers = list(
.entityDeclaration = function(name, type, content, system, public) {
if((length(content) == 0 || nchar(content) == 0) && length(system) > 0) {
#
if(file.exists(system))
content = paste(readLines(system), collapse = "\n")
}
if(length(content))
assign(name, content, entities)
else
warning("Can't resolve entity ", name)
},
.getEntity = function(name) {
if(exists(name, entities))
return(get(name, entities))
return(character())
},
.text = function(txt) {
entities$.text <- paste(entities$.text, txt)
})
xmlEventParse("entity2.xml", handlers, useDotNames = TRUE)