#' @title parserXML
#'
#' @description This function convert a set of Lattes CV XML files to a hash table indexed by #'id_LATTES each researcher
#'
#' @param files a list of Lattes CV XML files
#'
#' @return a hash table indexed by id_LATTES of each researcher where each element corresponds to a data struct AUTOR_DO_CURRICULO containing all the academic production of the researcher.
#'
#'
#'
#' @export ParserXML
ParserXML<-function(files=list()){
out.table <- hash()
# This loop extracts for each researcher its academic production from its Lattes CV XML file
for (file in files) {
#id.lattes<-gsub(".xml", "", file)
#cat("\n", id.lattes)
doc=xmlParse(file)
root<- xmlRoot(doc)
data<- root[["DADOS-GERAIS"]]
resume<- root[["DADOS-GERAIS"]][["RESUMO-CV"]]
address <- root[["DADOS-GERAIS"]][["ENDERECO"]][["ENDERECO-PROFISSIONAL"]]
ENDERECO_PROFISSIONAL<-new.env(parent=emptyenv())
ENDERECO_PROFISSIONAL$CODIGO_INSTITUICAO_EMPRESA <- Validate( address, 'CODIGO-INSTITUICAO-EMPRESA' )
ENDERECO_PROFISSIONAL$NOME_INSTITUICAO_EMPRESA<-Validate(address, 'NOME-INSTITUICAO-EMPRESA' )
ENDERECO_PROFISSIONAL$CODIGO_ORGAO<-Validate(address, 'CODIGO-ORGAO' )
ENDERECO_PROFISSIONAL$NOME_ORGAO<- Validate(address, 'NOME-ORGAO' )
ENDERECO_PROFISSIONAL$CODIGO_UNIDADE<- Validate(address, 'CODIGO-UNIDADE' )
ENDERECO_PROFISSIONAL$NOME_UNIDADE<-Validate(address, 'NOME-UNIDADE' )
ENDERECO_PROFISSIONAL$LOGRADOURO_COMPLEMENTO<- Validate(address, 'LOGRADOURO-COMPLEMENTO' )
ENDERECO_PROFISSIONAL$PAIS<-Validate(address, 'PAIS' )
ENDERECO_PROFISSIONAL$PAIS<-Validate(address, 'UF' )
ENDERECO_PROFISSIONAL$CEP<-Validate(address, 'CEP' )
ENDERECO_PROFISSIONAL$CIDADE<-Validate(address, 'CIDADE' )
ENDERECO_PROFISSIONAL$BAIRRO<-Validate(address, 'BAIRRO' )
ENDERECO_PROFISSIONAL$DDD<- Validate(address, 'DDD' )
ENDERECO_PROFISSIONAL$TELEFONE<- Validate(address, 'TELEFONE' )
DADOS_GERAIS<-new.env(parent=emptyenv())
DADOS_GERAIS$NUMERO_IDENTIFICADOR<-gsub(".xml", "", file)
DADOS_GERAIS$NOME_COMPLETO <- Validate(data, 'NOME-COMPLETO' )
DADOS_GERAIS$TEXTO_RESUMO_CV_RH<- Validate(resume, 'TEXTO-RESUMO-CV-RH' )
DADOS_GERAIS$ENDERECO_PROFISSIONAL<-ENDERECO_PROFISSIONAL
DADOS_GERAIS$DATA_ATUALIZACAO <-Validate(elemento_raiz, 'DATA-ATUALIZACAO' )
DADOS_GERAIS$NOME_EM_CITACOES_BIBLIOGRAFICAS <-Validate(data, 'NOME-EM-CITACOES-BIBLIOGRAFICAS' )
DADOS_GERAIS$AREAS_DE_ATUACAO <- BUSCAR_AREAS_DE_ATUACAO(doc)
LIVROS_E_CAPITULOS<-new.env(parent=emptyenv())
LIVROS_E_CAPITULOS$LIVROS_PUBLICADOS_OU_ORGANIZADOS<-BUSCAR_LIVROS_PUBLICADOS_OU_ORGANIZADOS(doc)
LIVROS_E_CAPITULOS$CAPITULOS_DE_LIVROS_PUBLICADOS<-BUSCAR_CAPITULOS_DE_LIVROS_PUBLICADOS(doc)
PRODUCAO_BIBLIOGRAFICA<-new.env(parent=emptyenv())
PRODUCAO_BIBLIOGRAFICA$ARTIGOS_PUBLICADOS<-BUSCAR_ARTIGOS_PUBLICADOS(doc)
PRODUCAO_BIBLIOGRAFICA$TRABALHOS_EM_EVENTOS<-BUSCAR_TRABALHOS_EM_EVENTOS(doc)
PRODUCAO_BIBLIOGRAFICA$LIVROS_E_CAPITULOS<-LIVROS_E_CAPITULOS
PRODUCAO_BIBLIOGRAFICA$TEXTOS_EM_JORNAIS_OU_REVISTAS<-BUSCAR_TEXTOS_EM_JORNAIS_OU_REVISTAS(doc)
PRODUCAO_BIBLIOGRAFICA$DEMAIS_TIPOS_DE_PRODUCAO_BIBLIOGRAFICA<-BUSCAR_DEMAIS_TIPOS_DE_PRODUCAO_BIBLIOGRAFICA(doc)
PRODUCAO_BIBLIOGRAFICA$ARTIGOS_ACEITOS_PARA_PUBLICACAO<-BUSCAR_ARTIGOS_ACEITOS_PARA_PUBLICACAO(doc)
ORIENTACOES<-new.env(parent=emptyenv())
ORIENTACOES$ORIENTACOES_EM_ANDAMENTO_MESTRADO <- BUSCAR_ORIENTACOES_EM_ANDAMENTO_MESTRADO(doc)
ORIENTACOES$ORIENTACOES_EM_ANDAMENTO_DOUTORADO <- BUSCAR_ORIENTACOES_EM_ANDAMENTO_DOUTORADO(doc)
ORIENTACOES$ORIENTACOES_EM_ANDAMENTO_DE_POS_DOUTORADO <- BUSCAR_ORIENTACAO_EM_ANDAMENTO_DE_POS_DOUTORADO(doc)
ORIENTACOES$ORIENTACOES_EM_ANDAMENTO_DE_GRADUACAO <- BUSCAR_ORIENTACOES_EM_ANDAMENTO_GRADUACAO(doc)
ORIENTACOES$ORIENTACOES_EM_ANDAMENTO_DE_INICIACAO_CIENTIFICA <- BUSCAR_ORIENTACOES_EM_ANDAMENTO_DE_INICIACAO_CIENTIFICA(doc)
ORIENTACOES$ORIENTACOES_CONCLUIDAS_DE_MESTRADO <- BUSCAR_ORIENTACOES_CONCLUIDAS_DE_MESTRADO(doc)
ORIENTACOES$ORIENTACOES_CONCLUIDAS_DE_DOUTORADO <- BUSCAR_ORIENTACOES_CONCLUIDAS_DE_DOUTORADO(doc)
ORIENTACOES$ORIENTACOES_CONCLUIDAS_PARA_POS_DOUTORADO <- BUSCAR_ORIENTACOES_CONCLUIDAS_PARA_POS_DOUTORADO(doc)
ORIENTACOES$OUTRAS_ORIENTACOES_CONCLUIDAS <- BUSCAR_OUTRAS_ORIENTACOES_CONCLUIDAS(doc)
AUTOR_DO_CURRICULO<-new.env(parent=emptyenv())
AUTOR_DO_CURRICULO$DADOS_GERAIS<-DADOS_GERAIS
AUTOR_DO_CURRICULO$PRODUCAO_BIBLIOGRAFICA<-PRODUCAO_BIBLIOGRAFICA
AUTOR_DO_CURRICULO$ORIENTACOES <- ORIENTACOES
.set(out.table , AUTOR_DO_CURRICULO$DADOS_GERAIS$NUMERO_IDENTIFICADOR, AUTOR_DO_CURRICULO)
}
return(out.table)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.