Una curiosa trasposición legal (hecha, manifiestamente, a malagana)
El parlamento de la Unión Europea aprueba directivas. Los parlamentos nacionales las trasponen, es decir, las convierten en leyes nacionales (véase el enlace anterior).
No sé hasta qué punto la trasposición tiene que ser literal. La única experiencia seria que tengo es con esta y sus trasposiciones nacionales a España y el RU. Y era notorio cómo cada país, aprovechando las ambigüedades del texto original, arrimaba el ascua a su sardina.
He perdido el rato comparando la ley de reutilización de datos del sector público con la directiva que traspone (los enlaces, debajo). Que se parecen, por cierto, como un huevo a una castaña. En particular, la ley española añade provisiones que no aparecen en la directiva para asegurarse de que las administraciones públicas no se obligan ni comprometen a nada. Por lo que si en lugar de haber ley, no la hubiera, las cosas no cambiarían en absoluto. Pero esa es otra historia.
La que me ocupa hoy es la de ver si automáticamente (y cómo) uno puede detectar diferencias entre ambas. El código que sigue implementa la siguiente idea: descargar el texto de ambas normas, tabular las palabras y estudiar (vía prop.test
) cuáles aparecen con distinta frecuencia en ambos textos:
library(XML)
library(<a href="http://inside-r.org/packages/cran/tm">tm)
procesar.html <- function(url){
tmp <- htmlParse(url)
tmp <- xpathApply(tmp, "//div[@id='DOdocText']/*/p", xmlValue, encoding = "UTF-8")
tmp <- tolower(paste(unlist(tmp), collapse = " "))
tmp <- gsub("[[:punct:]]", " ", tmp)
tmp <- gsub("\\n", " ", tmp)
tmp <- as.data.frame(table(strsplit(tmp, " ")[[1]]))
tmp
}
directiva <- procesar.html("http://www.boe.es/buscar/doc.php?id=DOUE-L-2003-82244")
ley <- procesar.html("http://www.boe.es/diario_boe/txt.php?id=BOE-A-2007-19814")
res <- merge(directiva, ley, by.x = "Var1", by.y = "Var1", all = T)
colnames(res) <- c("palabra", "n.directiva", "n.ley")
res$n.directiva[is.na(res$n.directiva)] <- 0
res$n.ley[is.na(res$n.ley)] <- 0
res <- res[!res$palabra %in% stopwords("es"),]
res <- res[res$palabra != "",]
res <- res[nchar(as.character(res$palabra)) > 2,]
n.directiva <- sum(res$n.directiva)
n.ley <- sum(res$n.ley)
res$p.value <- mapply(function(a,b)
prop.test(c(a,b), n = c(n.directiva, n.ley),
alternative = "less")$p.value,
res$n.directiva, res$n.ley)
res <- res[order(-res$p.value),]
head(res[order(res$p.value),], 20)
# palabra n.directiva n.ley p.value
# 1408 ley 0 52 5.675306e-13
# 1139 administraciones 0 42 1.032037e-10
# 1487 previsto 0 16 8.555007e-05
# 1402 jurídico 0 12 7.332989e-04
# 929 régimen 4 20 1.063194e-03
# 1434 normativa 0 10 2.181090e-03
# 1392 infracciones 0 8 6.597088e-03
# 1479 precios 0 8 6.597088e-03
# 1587 tasas 0 8 6.597088e-03
# 1598 título 0 8 6.597088e-03
# 896 públicas 3 14 7.511123e-03
# 868 procedimiento 1 10 7.831983e-03
# 899 públicos 1 9 1.328995e-02
# 153 aplicación 3 12 1.918311e-02
# 217 carácter 3 12 1.918311e-02
# 1358 graves 0 6 2.048236e-02
# 1536 resolución 0 6 2.048236e-02
# 1568 sentido 0 6 2.048236e-02
# 618 información 23 40 2.102190e-02
# 17 1992 1 8 2.255991e-02
head(res[order(-res$p.value),], 20)
# palabra n.directiva n.ley p.value
# 403 directiva 45 3 1.0000000
# 716 miembros 26 1 0.9999982
# 1030 tarifas 11 0 0.9987211
# 852 presente 34 13 0.9982876
# 898 público 88 56 0.9955184
# 343 debe 11 1 0.9953266
# 344 deben 18 5 0.9938776
# 24 2001 7 0 0.9883289
# 248 comunidad 7 0 0.9883289
# 847 prácticas 7 0 0.9883289
# 274 consejo 9 1 0.9865824
# 798 parlamento 9 1 0.9865824
# 903 pueden 9 1 0.9865824
# 593 importante 6 0 0.9793747
# 638 interior 6 0 0.9793747
# 502 europeo 10 2 0.9783636
# 711 mercado 10 2 0.9783636
# 972 sector 67 45 0.9772597
# 784 organismo 17 7 0.9670106
# 801 particular 9 2 0.9647799
Diferencias apreciables:
- Ya he dicho que la ley española trata de no obligar a la administración: Debe y deben abundan en la directiva pero no en la ley. Aunque a lo mejor, simplemente, formulan la obligación de otra manera. No obstante, aunque tal fuese el caso, compárense las frases “[l]os Estados miembros alentarán a todos los organismos del sector público a que utilicen las licencias modelo” con “[l]as Administraciones y organismos del sector público podrán facilitar licencias-tipo para la reutilización de documentos[…]” y que juzgue el lector por sí mismo.
- La directiva habla de tarifas y la ley de tasas. Pequeña cosa.
- La directiva habla del mercados y en la ley parece importar más las administraciones; pero eso era adivinable: ¡estamos es España y quienes redactaron la ley crecieron viendo esto en la tele!
- En la ley aparece una sección de infracciones. La palabra grave, de hecho, se refiere ellas. ¡Por supuesto! Los ciudadanos tenemos que exigir que la administración persiga y castigue a los perversos reutilizadores de información pública que aviesamente omitan la fecha de última actualización de esos datos encasquetándoles una infracción (leve en este caso), con multa asociada de 1000 a 10000 euracos.