Пакет XBRL "Ошибка в fileFromCache (файл)" - PullRequest
0 голосов
/ 04 сентября 2018

Я пытаюсь прочитать этот xbrl файл с пакетом R XBRL ...

https://www.cnmv.es/Portal/Consultas/wuc/DescargaXBRLIPP.ashx?t={77853e69-5deb-4bd5-acd4-3fb4715e2664}

... но когда я скачиваю файл и запускаю код

xbrl.vars <- xbrlDoAll(inst, verbose=TRUE)

Я получаю эту ошибку:

ошибка в XBRL :: xbrlParse (файл):
./ipp-enc-ind-2005-06-30.xsd./ipp-enc-con-2005-06-30.xsd не существует. Aborting.

Я предполагаю, что ошибка связана с ULR файла .xsd. Можно ли загрузить файлы xsd в локальный каталог и использовать их для чтения файла .XBRL? Как это можно сделать?

1 Ответ

0 голосов
/ 04 сентября 2018

Вы можете загрузить zip-файл схемы с https://www.xbrl.es/informacion/ipp.html. После попытки проанализировать файл xbrl, используя эти файлы, все равно были получены ошибки, так как было еще несколько других файлов, которые требовались. После загрузки они, похоже, разбираются с предупреждениями! Я не знаю, есть ли более стандартный способ получить эти дополнительные файлы, а не один за другим.

Скачать материалы

# directory for files
dir.create("SOtemp")

# schemas
download.file("http://www.cnmv.es/IPP/taxonomia/2005-06-30/ipp_2005-06-30_v1.22.zip", "SOtemp/scheme.zip")
unzip("SOtemp/scheme.zip", exdir="SOtemp/")

# file
pth = "https://www.cnmv.es/Portal/Consultas/wuc/DescargaXBRLIPP.ashx?t=%7B77853e69-5deb-4bd5-acd4-3fb4715e2664%7D"
download.file(pth, destfile="SOtemp/2005-06-30/testSO.xml")


# extra stuffs that needed downloaded -- from R error messages
morePths <-c("https://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
             "https://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
             "www.xbrl.org/2003/xl-2003-12-31.xsd",
             "https://docs.oasis-open.org/emergency/edxl-have/cs01/xlink-2003-12-31.xsd")                 
mapply(download.file, morePths, destfile=file.path("SOtemp", "2005-06-30", basename(morePths)))

Теперь разбираем

library(XBRL)
out <- xbrlDoAll("SOtemp/2005-06-30/testSO.xml", cache.dir="naughtyCache/", prefix.out=NULL, verbose=TRUE)
...