Blame | Last modification | View Log | Download | RSS feed
xmlInitializeCatalog =function().C("R_xmlInitializeCatalog", PACKAGE = "XML")catalogResolve =function(id, type = "uri", asIs = FALSE, debug = FALSE){xmlInitializeCatalog()type = rep(type, length = length(id))types = c("uri", "public", "system")i = pmatch(tolower(type), types, duplicates.ok = TRUE)if(any(is.na(i)))stop("don't recognize type. Must be one of ", paste(types, collapse = ", "))ans = .Call("R_xmlCatalogResolve", as.character(id), i, as.logical(debug), PACKAGE = "XML")if(asIs)ans[is.na(ans)] = id[is.na(ans)]ans}catalogLoad =function(fileNames){.Call("RS_XML_loadCatalog", path.expand(fileNames), PACKAGE = "XML")}catalogClearTable =function(){.Call("RS_XML_clearCatalog", PACKAGE = "XML")}XMLCatalogTypes = c("public", "system", "rewriteSystem", "rewriteURI", "uri", "delegateSystem", "delegatePublic", "delegateURI", "nextCatalog", "catalog")catalogAdd =function(orig, replace, type = "rewriteURI"){if(missing(replace)) {replace = origorig = names(replace)}elselength(replace) = length(orig)idx = pmatch(type, XMLCatalogTypes)if(any(is.na(idx))) {stop("unrecognized XML catalog type(s) ", type[is.na(idx)], ". Must be one of ",paste("'", XMLCatalogTypes, "'", sep = "", collapse = ", "))}type = XMLCatalogTypes[idx]type = rep(as.character(type), length = length(orig))xmlInitializeCatalog().Call("RS_XML_catalogAdd", as.character(orig), as.character(replace), as.character(type), PACKAGE = "XML")}catalogDump =## Get a snapshot of the current contents of the global catalog table# parsing it or writing it to a file for further use# If asText = TRUE and you don't specify a value for fileName,# it returns the XML content as a string for easier viewing.function(fileName = tempfile(), asText = TRUE){xmlInitializeCatalog()ans = .Call("RS_XML_catalogDump", as.character(fileName), PACKAGE = "XML")if(missing(fileName)) {ans = xmlParse(fileName)if(asText)ans = saveXML(ans)unlink(fileName)}ans}